LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - insn-recog-4.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 93.5 % 3715 3474
Test Date: 2026-07-11 15:47:05 Functions: 97.2 % 177 172
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        75812 : pattern3 (rtx x1, machine_mode i1)
      57              : {
      58        75812 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
      59        75812 :   int res ATTRIBUTE_UNUSED;
      60        75812 :   if (!register_operand (operands[0], i1)
      61        74514 :       || GET_MODE (x1) != i1
      62        74514 :       || !nonimmediate_operand (operands[1], i1)
      63       144438 :       || !nonimmediate_operand (operands[2], i1))
      64        25136 :     return -1;
      65              :   return 0;
      66              : }
      67              : 
      68              : int
      69       224233 : pattern13 (rtx x1, int *pnum_clobbers)
      70              : {
      71       224233 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
      72       224233 :   rtx x2, x3, x4, x5;
      73       224233 :   int res ATTRIBUTE_UNUSED;
      74       224233 :   if (pnum_clobbers == NULL)
      75              :     return -1;
      76       224233 :   x2 = XEXP (x1, 0);
      77       224233 :   operands[0] = x2;
      78       224233 :   x3 = XEXP (x1, 1);
      79       224233 :   x4 = XEXP (x3, 0);
      80       224233 :   operands[1] = x4;
      81       224233 :   x5 = XEXP (x3, 1);
      82       224233 :   operands[2] = x5;
      83       224233 :   switch (GET_MODE (operands[0]))
      84              :     {
      85        43267 :     case E_SImode:
      86        43267 :       return pattern12 (x3, 
      87        43267 : E_SImode); /* [-1, 0] */
      88              : 
      89       180966 :     case E_DImode:
      90       180966 :       if (pattern12 (x3, 
      91              : E_DImode) != 0)
      92              :         return -1;
      93              :       return 1;
      94              : 
      95              :     default:
      96              :       return -1;
      97              :     }
      98              : }
      99              : 
     100              : int
     101       355592 : pattern20 (rtx x1, int *pnum_clobbers)
     102              : {
     103       355592 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     104       355592 :   rtx x2, x3;
     105       355592 :   int res ATTRIBUTE_UNUSED;
     106       355592 :   if (pnum_clobbers == NULL)
     107              :     return -1;
     108       352181 :   x2 = XEXP (x1, 0);
     109       352181 :   operands[0] = x2;
     110       352181 :   x3 = XEXP (x1, 1);
     111       352181 :   return pattern19 (x3); /* [-1, 1] */
     112              : }
     113              : 
     114              : int
     115      3166466 : pattern24 (rtx x1)
     116              : {
     117      3166466 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     118      3166466 :   int res ATTRIBUTE_UNUSED;
     119      3166466 :   switch (GET_MODE (operands[0]))
     120              :     {
     121       640343 :     case E_SImode:
     122       640343 :       if (!register_operand (operands[0], E_SImode)
     123       640343 :           || GET_MODE (x1) != E_SImode)
     124              :         return -1;
     125              :       return 0;
     126              : 
     127      2060468 :     case E_DImode:
     128      2060468 :       if (!register_operand (operands[0], E_DImode)
     129      2060468 :           || GET_MODE (x1) != E_DImode)
     130              :         return -1;
     131              :       return 1;
     132              : 
     133              :     default:
     134              :       return -1;
     135              :     }
     136              : }
     137              : 
     138              : int
     139         1095 : pattern31 (rtx x1)
     140              : {
     141         1095 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     142         1095 :   int res ATTRIBUTE_UNUSED;
     143         1095 :   if (!register_operand (operands[0], E_V1TImode)
     144         1080 :       || GET_MODE (x1) != E_V1TImode
     145         1080 :       || !register_operand (operands[1], E_V1TImode)
     146         2163 :       || !const_0_to_255_operand (operands[2], E_SImode))
     147           27 :     return -1;
     148              :   return 0;
     149              : }
     150              : 
     151              : int
     152        20223 : pattern33 (rtx x1)
     153              : {
     154        20223 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     155        20223 :   rtx x2, x3, x4, x5;
     156        20223 :   int res ATTRIBUTE_UNUSED;
     157        20223 :   x2 = XEXP (x1, 0);
     158        20223 :   operands[0] = x2;
     159        20223 :   x3 = XEXP (x1, 1);
     160        20223 :   x4 = XEXP (x3, 0);
     161        20223 :   operands[1] = x4;
     162        20223 :   x5 = XEXP (x3, 1);
     163        20223 :   operands[2] = x5;
     164        20223 :   switch (GET_CODE (operands[2]))
     165              :     {
     166        14708 :     case CONST_INT:
     167        14708 :       switch (GET_MODE (operands[0]))
     168              :         {
     169          248 :         case E_V1TImode:
     170          248 :           return pattern31 (x3); /* [-1, 0] */
     171              : 
     172          142 :         case E_V16SImode:
     173          142 :           if (pattern32 (x3, 
     174              : E_V16SImode) != 0)
     175              :             return -1;
     176              :           return 1;
     177              : 
     178          186 :         case E_V8SImode:
     179          186 :           if (pattern32 (x3, 
     180              : E_V8SImode) != 0)
     181              :             return -1;
     182              :           return 2;
     183              : 
     184          712 :         case E_V4SImode:
     185          712 :           if (!register_operand (operands[0], E_V4SImode)
     186          632 :               || GET_MODE (x3) != E_V4SImode
     187         1344 :               || !nonimmediate_operand (operands[1], E_V4SImode))
     188          105 :             return -1;
     189              :           return 3;
     190              : 
     191          132 :         case E_V8DImode:
     192          132 :           if (pattern32 (x3, 
     193              : E_V8DImode) != 0)
     194              :             return -1;
     195              :           return 4;
     196              : 
     197          132 :         case E_V4DImode:
     198          132 :           if (pattern32 (x3, 
     199              : E_V4DImode) != 0)
     200              :             return -1;
     201              :           return 5;
     202              : 
     203          378 :         case E_V2DImode:
     204          378 :           if (!register_operand (operands[0], E_V2DImode)
     205          343 :               || GET_MODE (x3) != E_V2DImode
     206          721 :               || !nonimmediate_operand (operands[1], E_V2DImode))
     207           35 :             return -1;
     208              :           return 6;
     209              : 
     210          532 :         case E_V16QImode:
     211          532 :           if (!register_operand (operands[0], E_V16QImode)
     212          439 :               || GET_MODE (x3) != E_V16QImode
     213          439 :               || !nonimmediate_operand (operands[1], E_V16QImode)
     214          971 :               || !const_0_to_7_operand (operands[2], E_SImode))
     215           93 :             return -1;
     216              :           return 7;
     217              : 
     218          188 :         case E_V8HImode:
     219          188 :           if (!register_operand (operands[0], E_V8HImode)
     220          157 :               || GET_MODE (x3) != E_V8HImode
     221          157 :               || !nonimmediate_operand (operands[1], E_V8HImode)
     222          345 :               || !const_0_to_15_operand (operands[2], E_SImode))
     223           31 :             return -1;
     224              :           return 8;
     225              : 
     226              :         default:
     227              :           return -1;
     228              :         }
     229              : 
     230         5330 :     case REG:
     231         5330 :     case SUBREG:
     232         5330 :     case MEM:
     233         5330 :       switch (GET_MODE (operands[0]))
     234              :         {
     235          154 :         case E_V16SImode:
     236          154 :           if (pattern12 (x3, 
     237              : E_V16SImode) != 0)
     238              :             return -1;
     239              :           return 9;
     240              : 
     241          154 :         case E_V8SImode:
     242          154 :           if (pattern12 (x3, 
     243              : E_V8SImode) != 0)
     244              :             return -1;
     245              :           return 10;
     246              : 
     247          137 :         case E_V4SImode:
     248          137 :           if (pattern12 (x3, 
     249              : E_V4SImode) != 0)
     250              :             return -1;
     251              :           return 11;
     252              : 
     253          148 :         case E_V8DImode:
     254          148 :           if (pattern12 (x3, 
     255              : E_V8DImode) != 0)
     256              :             return -1;
     257              :           return 12;
     258              : 
     259          148 :         case E_V4DImode:
     260          148 :           if (pattern12 (x3, 
     261              : E_V4DImode) != 0)
     262              :             return -1;
     263              :           return 13;
     264              : 
     265          120 :         case E_V2DImode:
     266          120 :           if (pattern12 (x3, 
     267              : E_V2DImode) != 0)
     268              :             return -1;
     269              :           return 14;
     270              : 
     271              :         default:
     272              :           return -1;
     273              :         }
     274              : 
     275              :     default:
     276              :       return -1;
     277              :     }
     278              : }
     279              : 
     280              : int
     281       495252 : pattern55 (rtx x1)
     282              : {
     283       495252 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     284       495252 :   rtx x2, x3, x4, x5;
     285       495252 :   int res ATTRIBUTE_UNUSED;
     286       495252 :   x2 = XEXP (x1, 0);
     287       495252 :   operands[0] = x2;
     288       495252 :   x3 = XEXP (x1, 1);
     289       495252 :   x4 = XEXP (x3, 0);
     290       495252 :   operands[1] = x4;
     291       495252 :   x5 = XEXP (x3, 1);
     292       495252 :   operands[2] = x5;
     293       495252 :   if (!const_int_operand (operands[2], E_VOIDmode))
     294              :     return -1;
     295       474742 :   switch (GET_MODE (operands[0]))
     296              :     {
     297         2575 :     case E_QImode:
     298         2575 :       if (!mask_reg_operand (operands[0], E_QImode)
     299            0 :           || GET_MODE (x3) != E_QImode
     300         2575 :           || !mask_reg_operand (operands[1], E_QImode))
     301         2575 :         return -1;
     302              :       return 0;
     303              : 
     304         3065 :     case E_HImode:
     305         3065 :       if (!mask_reg_operand (operands[0], E_HImode)
     306            0 :           || GET_MODE (x3) != E_HImode
     307         3065 :           || !mask_reg_operand (operands[1], E_HImode))
     308         3065 :         return -1;
     309              :       return 1;
     310              : 
     311        40787 :     case E_SImode:
     312        40787 :       if (!mask_reg_operand (operands[0], E_SImode)
     313            0 :           || GET_MODE (x3) != E_SImode
     314        40787 :           || !mask_reg_operand (operands[1], E_SImode))
     315        40787 :         return -1;
     316              :       return 2;
     317              : 
     318       149291 :     case E_DImode:
     319       149291 :       if (!mask_reg_operand (operands[0], E_DImode)
     320            0 :           || GET_MODE (x3) != E_DImode
     321       149291 :           || !mask_reg_operand (operands[1], E_DImode))
     322       149291 :         return -1;
     323              :       return 3;
     324              : 
     325              :     default:
     326              :       return -1;
     327              :     }
     328              : }
     329              : 
     330              : int
     331       151633 : pattern68 (rtx x1)
     332              : {
     333       151633 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     334       151633 :   rtx x2, x3, x4, x5;
     335       151633 :   int res ATTRIBUTE_UNUSED;
     336       151633 :   x2 = XEXP (x1, 0);
     337       151633 :   operands[0] = x2;
     338       151633 :   x3 = XEXP (x1, 1);
     339       151633 :   x4 = XVECEXP (x3, 0, 0);
     340       151633 :   operands[1] = x4;
     341       151633 :   x5 = XVECEXP (x3, 0, 1);
     342       151633 :   operands[2] = x5;
     343       151633 :   switch (GET_MODE (operands[0]))
     344              :     {
     345        13252 :     case E_V8QImode:
     346        13252 :       return pattern67 (x3, 
     347        13252 : E_V8QImode); /* [-1, 0] */
     348              : 
     349         2398 :     case E_V4HImode:
     350         2398 :       if (!register_operand (operands[0], E_V4HImode)
     351         2384 :           || GET_MODE (x3) != E_V4HImode
     352         2384 :           || !register_operand (operands[1], E_V2SImode)
     353         4107 :           || !register_operand (operands[2], E_V2SImode))
     354         1153 :         return -1;
     355              :       return 1;
     356              : 
     357              :     default:
     358              :       return -1;
     359              :     }
     360              : }
     361              : 
     362              : int
     363         1485 : pattern78 (rtx x1, int *pnum_clobbers)
     364              : {
     365         1485 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     366         1485 :   rtx x2, x3, x4;
     367         1485 :   int res ATTRIBUTE_UNUSED;
     368         1485 :   if (pnum_clobbers == NULL)
     369              :     return -1;
     370         1485 :   x2 = XEXP (x1, 0);
     371         1485 :   x3 = XEXP (x2, 0);
     372         1485 :   operands[0] = x3;
     373         1485 :   switch (GET_MODE (operands[0]))
     374              :     {
     375          236 :     case E_QImode:
     376          236 :       x4 = XEXP (x1, 1);
     377          236 :       return pattern77 (x4, 
     378          236 : E_QImode); /* [-1, 0] */
     379              : 
     380         1249 :     case E_HImode:
     381         1249 :       x4 = XEXP (x1, 1);
     382         1249 :       if (pattern77 (x4, 
     383              : E_HImode) != 0)
     384              :         return -1;
     385              :       return 1;
     386              : 
     387              :     default:
     388              :       return -1;
     389              :     }
     390              : }
     391              : 
     392              : int
     393         2991 : pattern86 (rtx x1)
     394              : {
     395         2991 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     396         2991 :   rtx x2, x3;
     397         2991 :   int res ATTRIBUTE_UNUSED;
     398         2991 :   x2 = XEXP (x1, 0);
     399         2991 :   if (GET_MODE (x2) != E_QImode
     400          810 :       || !register_operand (operands[0], E_HImode)
     401         3184 :       || GET_MODE (x1) != E_HImode)
     402         2798 :     return -1;
     403          193 :   x3 = XEXP (x2, 0);
     404          193 :   operands[1] = x3;
     405          193 :   if (!nonimmediate_operand (operands[1], E_QImode))
     406              :     return -1;
     407              :   return 0;
     408              : }
     409              : 
     410              : int
     411     13786410 : pattern89 (rtx x1, machine_mode i1, int i2, int i3)
     412              : {
     413     13786410 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     414     13786410 :   int res ATTRIBUTE_UNUSED;
     415     13786410 :   if (GET_CODE (x1) != UNSPEC
     416        25810 :       || XVECLEN (x1, 0) != i3
     417        19704 :       || XINT (x1, 1) != i2
     418        17666 :       || GET_MODE (x1) != i1)
     419     13768744 :     return -1;
     420              :   return 0;
     421              : }
     422              : 
     423              : int
     424        29493 : pattern96 (rtx x1, int *pnum_clobbers)
     425              : {
     426        29493 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     427        29493 :   rtx x2, x3, x4, x5, x6, x7;
     428        29493 :   int res ATTRIBUTE_UNUSED;
     429        29493 :   if (pnum_clobbers == NULL)
     430              :     return -1;
     431        29493 :   x2 = XEXP (x1, 1);
     432        29493 :   x3 = XEXP (x2, 0);
     433        29493 :   x4 = XEXP (x3, 1);
     434        29493 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     435              :     return -1;
     436        22483 :   x5 = XEXP (x1, 0);
     437        22483 :   operands[0] = x5;
     438        22483 :   x6 = XEXP (x3, 0);
     439        22483 :   operands[2] = x6;
     440        22483 :   if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
     441              :     return -1;
     442         1685 :   x7 = XEXP (x2, 1);
     443         1685 :   operands[1] = x7;
     444         1685 :   switch (GET_MODE (operands[0]))
     445              :     {
     446           38 :     case E_QImode:
     447           38 :       return pattern95 (x2, 
     448           38 : E_QImode); /* [-1, 0] */
     449              : 
     450           11 :     case E_HImode:
     451           11 :       if (pattern95 (x2, 
     452              : E_HImode) != 0)
     453              :         return -1;
     454              :       return 1;
     455              : 
     456              :     default:
     457              :       return -1;
     458              :     }
     459              : }
     460              : 
     461              : int
     462          867 : pattern105 (rtx x1, machine_mode i1)
     463              : {
     464          867 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     465          867 :   rtx x2;
     466          867 :   int res ATTRIBUTE_UNUSED;
     467          867 :   if (!memory_operand (operands[0], i1)
     468          867 :       || GET_MODE (x1) != i1)
     469              :     return -1;
     470          867 :   x2 = XEXP (x1, 0);
     471          867 :   if (GET_MODE (x2) != i1)
     472              :     return -1;
     473          867 :   switch (GET_MODE (operands[1]))
     474              :     {
     475          452 :     case E_V4SImode:
     476          452 :       if (!register_operand (operands[1], E_V4SImode))
     477              :         return -1;
     478              :       return 0;
     479              : 
     480          415 :     case E_V4DImode:
     481          415 :       if (!register_operand (operands[1], E_V4DImode))
     482              :         return -1;
     483              :       return 1;
     484              : 
     485              :     default:
     486              :       return -1;
     487              :     }
     488              : }
     489              : 
     490              : int
     491        29464 : pattern112 (rtx x1, int *pnum_clobbers)
     492              : {
     493        29464 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     494        29464 :   rtx x2, x3, x4, x5;
     495        29464 :   int res ATTRIBUTE_UNUSED;
     496        29464 :   if (pnum_clobbers == NULL)
     497              :     return -1;
     498        29464 :   x2 = XEXP (x1, 0);
     499        29464 :   x3 = XEXP (x2, 1);
     500        29464 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     501              :     return -1;
     502        22454 :   x4 = XEXP (x2, 0);
     503        22454 :   operands[2] = x4;
     504        22454 :   if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
     505              :     return -1;
     506         1656 :   x5 = XEXP (x1, 1);
     507         1656 :   operands[1] = x5;
     508         1656 :   switch (GET_MODE (operands[0]))
     509              :     {
     510          961 :     case E_SImode:
     511          961 :       return pattern111 (x1, 
     512          961 : E_SImode); /* [-1, 0] */
     513              : 
     514          671 :     case E_DImode:
     515          671 :       if (pattern111 (x1, 
     516              : E_DImode) != 0)
     517              :         return -1;
     518              :       return 1;
     519              : 
     520              :     default:
     521              :       return -1;
     522              :     }
     523              : }
     524              : 
     525              : int
     526       704747 : pattern121 (rtx x1)
     527              : {
     528       704747 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     529       704747 :   rtx x2;
     530       704747 :   int res ATTRIBUTE_UNUSED;
     531       704747 :   x2 = XEXP (x1, 0);
     532       704747 :   operands[1] = x2;
     533       704747 :   switch (GET_MODE (operands[0]))
     534              :     {
     535       401891 :     case E_DImode:
     536       401891 :       if (!nonimmediate_operand (operands[0], E_DImode)
     537       401543 :           || GET_MODE (x1) != E_DImode
     538       803434 :           || !nonimmediate_operand (operands[1], E_DImode))
     539          432 :         return -1;
     540              :       return 0;
     541              : 
     542       234687 :     case E_SImode:
     543       234687 :       if (!nonimmediate_operand (operands[0], E_SImode)
     544       234026 :           || GET_MODE (x1) != E_SImode
     545       468713 :           || !nonimmediate_operand (operands[1], E_SImode))
     546         1431 :         return -1;
     547              :       return 1;
     548              : 
     549              :     default:
     550              :       return -1;
     551              :     }
     552              : }
     553              : 
     554              : int
     555         1771 : pattern131 (rtx x1)
     556              : {
     557         1771 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     558         1771 :   rtx x2, x3, x4, x5, x6, x7;
     559         1771 :   int res ATTRIBUTE_UNUSED;
     560         1771 :   x2 = XEXP (x1, 1);
     561         1771 :   x3 = XVECEXP (x2, 0, 0);
     562         1771 :   if (GET_CODE (x3) != VEC_SELECT)
     563              :     return -1;
     564          234 :   x4 = XEXP (x3, 1);
     565          234 :   if (GET_CODE (x4) != PARALLEL
     566          234 :       || XVECLEN (x4, 0) != 1)
     567              :     return -1;
     568          234 :   x5 = XVECEXP (x4, 0, 0);
     569          234 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     570              :     return -1;
     571          234 :   x6 = XEXP (x1, 0);
     572          234 :   operands[0] = x6;
     573          234 :   x7 = XEXP (x3, 0);
     574          234 :   operands[1] = x7;
     575          234 :   switch (GET_MODE (operands[0]))
     576              :     {
     577          134 :     case E_SImode:
     578          134 :       return pattern130 (x2, 
     579          134 : E_SImode); /* [-1, 1] */
     580              : 
     581          100 :     case E_DImode:
     582          100 :       res = pattern130 (x2, 
     583              : E_DImode);
     584          100 :       if (res >= 0)
     585           76 :         return res + 2; /* [2, 3] */
     586              :       return -1;
     587              : 
     588              :     default:
     589              :       return -1;
     590              :     }
     591              : }
     592              : 
     593              : int
     594         9546 : pattern142 (rtx x1, machine_mode i1, machine_mode i2)
     595              : {
     596         9546 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     597         9546 :   rtx x2;
     598         9546 :   int res ATTRIBUTE_UNUSED;
     599         9546 :   if (!register_operand (operands[0], i1)
     600         9546 :       || GET_MODE (x1) != i1)
     601              :     return -1;
     602         8924 :   x2 = XEXP (x1, 0);
     603         8924 :   if (GET_MODE (x2) != i1
     604         8924 :       || !nonimm_or_0_operand (operands[2], i1)
     605        17402 :       || !register_operand (operands[3], i2))
     606          815 :     return -1;
     607              :   return 0;
     608              : }
     609              : 
     610              : int
     611         2556 : pattern149 (rtx x1, machine_mode i1, machine_mode i2)
     612              : {
     613         2556 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     614         2556 :   rtx x2;
     615         2556 :   int res ATTRIBUTE_UNUSED;
     616         2556 :   if (!register_operand (operands[0], i1)
     617         2556 :       || GET_MODE (x1) != i1)
     618              :     return -1;
     619         2426 :   x2 = XEXP (x1, 0);
     620         2426 :   if (GET_MODE (x2) != i1
     621         2426 :       || !nonimmediate_operand (operands[1], i1)
     622         2426 :       || !nonimm_or_0_operand (operands[3], i1)
     623         4776 :       || !register_operand (operands[4], i2))
     624          236 :     return -1;
     625              :   return 0;
     626              : }
     627              : 
     628              : int
     629          673 : pattern153 (rtx x1, machine_mode i1)
     630              : {
     631          673 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     632          673 :   rtx x2;
     633          673 :   int res ATTRIBUTE_UNUSED;
     634          673 :   if (!register_operand (operands[0], E_V16HImode)
     635          673 :       || GET_MODE (x1) != E_V16HImode)
     636              :     return -1;
     637          638 :   x2 = XEXP (x1, 0);
     638          638 :   if (GET_MODE (x2) != E_V16HImode
     639          638 :       || !nonimmediate_operand (operands[1], i1)
     640          626 :       || !nonimm_or_0_operand (operands[2], E_V16HImode)
     641         1246 :       || !register_operand (operands[3], E_HImode))
     642           78 :     return -1;
     643              :   return 0;
     644              : }
     645              : 
     646              : int
     647            9 : pattern156 (rtx x1, machine_mode i1, machine_mode i2)
     648              : {
     649            9 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     650            9 :   rtx x2;
     651            9 :   int res ATTRIBUTE_UNUSED;
     652            9 :   if (!register_operand (operands[0], i1)
     653            9 :       || GET_MODE (x1) != i1)
     654              :     return -1;
     655            6 :   x2 = XEXP (x1, 0);
     656            6 :   if (GET_MODE (x2) != i1
     657            6 :       || !memory_operand (operands[1], i2)
     658            6 :       || !nonimm_or_0_operand (operands[2], i1)
     659           12 :       || !register_operand (operands[3], E_QImode))
     660            0 :     return -1;
     661              :   return 0;
     662              : }
     663              : 
     664              : int
     665         1618 : pattern160 (rtx x1, machine_mode i1)
     666              : {
     667         1618 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     668         1618 :   int res ATTRIBUTE_UNUSED;
     669         1618 :   if (!register_operand (operands[0], i1)
     670         1410 :       || GET_MODE (x1) != i1
     671         1410 :       || !vector_operand (operands[1], i1)
     672         3005 :       || !vector_operand (operands[2], i1))
     673          239 :     return -1;
     674              :   return 0;
     675              : }
     676              : 
     677              : int
     678          116 : pattern162 (rtx x1)
     679              : {
     680          116 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     681          116 :   rtx x2, x3, x4, x5;
     682          116 :   int res ATTRIBUTE_UNUSED;
     683          116 :   x2 = XEXP (x1, 1);
     684          116 :   if (GET_MODE (x2) != E_V32HImode)
     685              :     return -1;
     686          116 :   x3 = XEXP (x1, 0);
     687          116 :   operands[0] = x3;
     688          116 :   if (!register_operand (operands[0], E_V32HImode))
     689              :     return -1;
     690          108 :   x4 = XVECEXP (x2, 0, 0);
     691          108 :   operands[1] = x4;
     692          108 :   if (!nonimmediate_operand (operands[1], E_V32HImode))
     693              :     return -1;
     694          108 :   x5 = XVECEXP (x2, 0, 1);
     695          108 :   operands[2] = x5;
     696          108 :   if (!const_0_to_255_operand (operands[2], E_SImode))
     697              :     return -1;
     698              :   return 0;
     699              : }
     700              : 
     701              : int
     702         7314 : pattern166 (rtx x1, machine_mode i1)
     703              : {
     704         7314 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     705         7314 :   rtx x2, x3, x4, x5;
     706         7314 :   int res ATTRIBUTE_UNUSED;
     707         7314 :   x2 = XEXP (x1, 1);
     708         7314 :   if (GET_MODE (x2) != i1)
     709              :     return -1;
     710         7314 :   x3 = XEXP (x1, 0);
     711         7314 :   operands[0] = x3;
     712         7314 :   if (!register_operand (operands[0], i1))
     713              :     return -1;
     714         6988 :   x4 = XVECEXP (x2, 0, 0);
     715         6988 :   operands[1] = x4;
     716         6988 :   if (!register_operand (operands[1], i1))
     717              :     return -1;
     718         5422 :   x5 = XVECEXP (x2, 0, 1);
     719         5422 :   operands[2] = x5;
     720         5422 :   if (!vector_operand (operands[2], i1))
     721              :     return -1;
     722              :   return 0;
     723              : }
     724              : 
     725              : int
     726           18 : pattern174 (rtx x1, machine_mode i1)
     727              : {
     728           18 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     729           18 :   int res ATTRIBUTE_UNUSED;
     730           18 :   if (!register_operand (operands[0], i1)
     731           18 :       || GET_MODE (x1) != i1
     732           18 :       || !vector_operand (operands[1], i1)
     733           18 :       || !bcst_vector_operand (operands[2], i1)
     734           36 :       || !vector_operand (operands[3], i1))
     735            0 :     return -1;
     736              :   return 0;
     737              : }
     738              : 
     739              : int
     740         4729 : pattern180 (rtx x1)
     741              : {
     742         4729 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     743         4729 :   rtx x2, x3, x4, x5, x6;
     744         4729 :   int res ATTRIBUTE_UNUSED;
     745         4729 :   x2 = XEXP (x1, 0);
     746         4729 :   operands[0] = x2;
     747         4729 :   x3 = XEXP (x1, 1);
     748         4729 :   x4 = XVECEXP (x3, 0, 0);
     749         4729 :   operands[1] = x4;
     750         4729 :   x5 = XVECEXP (x3, 0, 1);
     751         4729 :   operands[2] = x5;
     752         4729 :   x6 = XVECEXP (x3, 0, 2);
     753         4729 :   operands[3] = x6;
     754         4729 :   if (!const_0_to_255_operand (operands[3], E_VOIDmode))
     755              :     return -1;
     756         4729 :   switch (GET_MODE (operands[0]))
     757              :     {
     758         1627 :     case E_V64QImode:
     759         1627 :       return pattern158 (x3, 
     760         1627 : E_V64QImode); /* [-1, 0] */
     761              : 
     762          342 :     case E_V32QImode:
     763          342 :       if (pattern158 (x3, 
     764              : E_V32QImode) != 0)
     765              :         return -1;
     766              :       return 1;
     767              : 
     768         2760 :     case E_V16QImode:
     769         2760 :       if (pattern158 (x3, 
     770              : E_V16QImode) != 0)
     771              :         return -1;
     772              :       return 2;
     773              : 
     774              :     default:
     775              :       return -1;
     776              :     }
     777              : }
     778              : 
     779              : int
     780         1011 : pattern188 (rtx x1)
     781              : {
     782         1011 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     783         1011 :   rtx x2, x3, x4;
     784         1011 :   int res ATTRIBUTE_UNUSED;
     785         1011 :   x2 = XEXP (x1, 0);
     786         1011 :   if (GET_MODE (x2) != E_DImode)
     787              :     return -1;
     788          910 :   x3 = XEXP (x1, 1);
     789          910 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
     790          857 :       || !register_operand (operands[0], E_V2DImode)
     791         1765 :       || GET_MODE (x1) != E_V2DImode)
     792           55 :     return -1;
     793          855 :   x4 = XEXP (x2, 0);
     794          855 :   operands[1] = x4;
     795          855 :   switch (GET_MODE (operands[1]))
     796              :     {
     797           25 :     case E_HImode:
     798           25 :       if (!nonimmediate_operand (operands[1], E_HImode))
     799              :         return -1;
     800              :       return 0;
     801              : 
     802          808 :     case E_SImode:
     803          808 :       if (!nonimmediate_operand (operands[1], E_SImode))
     804              :         return -1;
     805              :       return 1;
     806              : 
     807              :     default:
     808              :       return -1;
     809              :     }
     810              : }
     811              : 
     812              : int
     813          807 : pattern197 (rtx x1, machine_mode i1, machine_mode i2)
     814              : {
     815          807 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     816          807 :   rtx x2, x3, x4, x5;
     817          807 :   int res ATTRIBUTE_UNUSED;
     818          807 :   if (!register_operand (operands[0], i2)
     819          807 :       || GET_MODE (x1) != i2)
     820              :     return -1;
     821          778 :   x2 = XEXP (x1, 0);
     822          778 :   if (GET_MODE (x2) != i2)
     823              :     return -1;
     824          778 :   x3 = XEXP (x2, 0);
     825          778 :   if (GET_MODE (x3) != i1
     826          778 :       || !register_operand (operands[1], i2)
     827         1486 :       || !vector_operand (operands[2], i2))
     828           70 :     return -1;
     829          708 :   x4 = XEXP (x1, 1);
     830          708 :   if (GET_MODE (x4) != i2)
     831              :     return -1;
     832          708 :   x5 = XEXP (x4, 0);
     833          708 :   if (GET_MODE (x5) != i1)
     834              :     return -1;
     835              :   return 0;
     836              : }
     837              : 
     838              : int
     839       450804 : pattern202 (rtx x1, rtx_code i1)
     840              : {
     841       450804 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     842       450804 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
     843       450804 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
     844       450804 :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
     845       450804 :   int res ATTRIBUTE_UNUSED;
     846       450804 :   x2 = XEXP (x1, 0);
     847       450804 :   x3 = XEXP (x2, 0);
     848       450804 :   if (GET_CODE (x3) != VEC_SELECT)
     849              :     return -1;
     850       206601 :   x4 = XEXP (x3, 1);
     851       206601 :   if (GET_CODE (x4) != PARALLEL)
     852              :     return -1;
     853       206601 :   x5 = XEXP (x1, 1);
     854       206601 :   if (GET_CODE (x5) != i1)
     855              :     return -1;
     856       172134 :   x6 = XEXP (x5, 0);
     857       172134 :   if (GET_CODE (x6) != VEC_SELECT)
     858              :     return -1;
     859       172094 :   x7 = XEXP (x6, 1);
     860       172094 :   if (GET_CODE (x7) != PARALLEL)
     861              :     return -1;
     862       172094 :   x8 = XEXP (x3, 0);
     863       172094 :   operands[1] = x8;
     864       172094 :   x9 = XEXP (x6, 0);
     865       172094 :   operands[2] = x9;
     866       172094 :   switch (XVECLEN (x4, 0))
     867              :     {
     868         5946 :     case 8:
     869         5946 :       x10 = XVECEXP (x4, 0, 0);
     870         5946 :       if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     871              :         return -1;
     872         5946 :       x11 = XVECEXP (x4, 0, 1);
     873         5946 :       if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
     874              :         return -1;
     875         5802 :       x12 = XVECEXP (x4, 0, 2);
     876         5802 :       if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
     877              :         return -1;
     878         5802 :       x13 = XVECEXP (x4, 0, 3);
     879         5802 :       if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
     880              :         return -1;
     881         5802 :       x14 = XVECEXP (x4, 0, 4);
     882         5802 :       if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
     883              :         return -1;
     884         5802 :       x15 = XVECEXP (x4, 0, 5);
     885         5802 :       if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
     886              :         return -1;
     887         5802 :       x16 = XVECEXP (x4, 0, 6);
     888         5802 :       if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
     889              :         return -1;
     890         5802 :       x17 = XVECEXP (x4, 0, 7);
     891         5802 :       if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
     892         5802 :           || XVECLEN (x7, 0) != 8)
     893              :         return -1;
     894         5802 :       x18 = XVECEXP (x7, 0, 0);
     895         5802 :       if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     896              :         return -1;
     897         5802 :       x19 = XVECEXP (x7, 0, 1);
     898         5802 :       if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
     899              :         return -1;
     900         5802 :       x20 = XVECEXP (x7, 0, 2);
     901         5802 :       if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
     902              :         return -1;
     903         5802 :       x21 = XVECEXP (x7, 0, 3);
     904         5802 :       if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
     905              :         return -1;
     906         5802 :       x22 = XVECEXP (x7, 0, 4);
     907         5802 :       if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
     908              :         return -1;
     909         5802 :       x23 = XVECEXP (x7, 0, 5);
     910         5802 :       if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
     911              :         return -1;
     912         5802 :       x24 = XVECEXP (x7, 0, 6);
     913         5802 :       if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
     914              :         return -1;
     915         5802 :       x25 = XVECEXP (x7, 0, 7);
     916         5802 :       if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
     917         5802 :           || pattern201 (x1, 
     918              : E_V16SImode, 
     919              : E_V8SImode, 
     920              : E_V8DImode) != 0)
     921          716 :         return -1;
     922              :       return 0;
     923              : 
     924         9961 :     case 4:
     925         9961 :       x10 = XVECEXP (x4, 0, 0);
     926         9961 :       if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     927              :         return -1;
     928         9961 :       x11 = XVECEXP (x4, 0, 1);
     929         9961 :       if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
     930              :         return -1;
     931         9957 :       x12 = XVECEXP (x4, 0, 2);
     932         9957 :       if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
     933              :         return -1;
     934         9957 :       x13 = XVECEXP (x4, 0, 3);
     935         9957 :       if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
     936         9957 :           || XVECLEN (x7, 0) != 4)
     937              :         return -1;
     938         9957 :       x18 = XVECEXP (x7, 0, 0);
     939         9957 :       if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     940              :         return -1;
     941         9957 :       x19 = XVECEXP (x7, 0, 1);
     942         9957 :       if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
     943              :         return -1;
     944         9957 :       x20 = XVECEXP (x7, 0, 2);
     945         9957 :       if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
     946              :         return -1;
     947         9957 :       x21 = XVECEXP (x7, 0, 3);
     948         9957 :       if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
     949         9957 :           || pattern201 (x1, 
     950              : E_V8SImode, 
     951              : E_V4SImode, 
     952              : E_V4DImode) != 0)
     953         1825 :         return -1;
     954              :       return 1;
     955              : 
     956       156173 :     case 2:
     957       156173 :       x10 = XVECEXP (x4, 0, 0);
     958       156173 :       if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     959              :         return -1;
     960       156072 :       x11 = XVECEXP (x4, 0, 1);
     961       156072 :       if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
     962       156060 :           || XVECLEN (x7, 0) != 2)
     963              :         return -1;
     964       156060 :       x18 = XVECEXP (x7, 0, 0);
     965       156060 :       if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     966              :         return -1;
     967       156060 :       x19 = XVECEXP (x7, 0, 1);
     968       156060 :       if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
     969       156060 :           || !register_operand (operands[0], E_V2DImode)
     970       155948 :           || GET_MODE (x1) != E_V2DImode
     971       155948 :           || GET_MODE (x2) != E_V2DImode
     972       155948 :           || GET_MODE (x3) != E_V2SImode
     973       155948 :           || !vector_operand (operands[1], E_V4SImode)
     974       128311 :           || GET_MODE (x5) != E_V2DImode
     975       128311 :           || GET_MODE (x6) != E_V2SImode
     976       284371 :           || !vector_operand (operands[2], E_V4SImode))
     977        43135 :         return -1;
     978              :       return 2;
     979              : 
     980              :     default:
     981              :       return -1;
     982              :     }
     983              : }
     984              : 
     985              : int
     986       907078 : pattern232 (rtx x1)
     987              : {
     988       907078 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     989       907078 :   rtx x2, x3, x4, x5, x6;
     990       907078 :   int res ATTRIBUTE_UNUSED;
     991       907078 :   x2 = XVECEXP (x1, 0, 0);
     992       907078 :   x3 = XEXP (x2, 1);
     993       907078 :   x4 = XEXP (x3, 1);
     994       907078 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     995              :     return -1;
     996       252949 :   x5 = XEXP (x2, 0);
     997       252949 :   if (GET_CODE (x5) != REG
     998       252949 :       || REGNO (x5) != 17)
     999              :     return -1;
    1000       252949 :   x6 = XVECEXP (x1, 0, 1);
    1001       252949 :   if (GET_CODE (x6) != SET)
    1002        13743 :     return -1;
    1003              :   return 0;
    1004              : }
    1005              : 
    1006              : int
    1007       376238 : pattern241 (rtx x1)
    1008              : {
    1009       376238 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1010       376238 :   rtx x2, x3;
    1011       376238 :   int res ATTRIBUTE_UNUSED;
    1012       376238 :   x2 = XEXP (x1, 0);
    1013       376238 :   operands[1] = x2;
    1014       376238 :   x3 = XEXP (x1, 1);
    1015       376238 :   operands[2] = x3;
    1016       376238 :   switch (GET_MODE (operands[0]))
    1017              :     {
    1018         4591 :     case E_V4HImode:
    1019         4591 :       return pattern203 (x1, 
    1020         4591 : E_V4HImode); /* [-1, 0] */
    1021              : 
    1022         3626 :     case E_V2SImode:
    1023         3626 :       if (pattern203 (x1, 
    1024              : E_V2SImode) != 0)
    1025              :         return -1;
    1026              :       return 1;
    1027              : 
    1028          158 :     case E_V2HImode:
    1029          158 :       if (pattern203 (x1, 
    1030              : E_V2HImode) != 0)
    1031              :         return -1;
    1032              :       return 2;
    1033              : 
    1034              :     default:
    1035              :       return -1;
    1036              :     }
    1037              : }
    1038              : 
    1039              : int
    1040       381781 : pattern251 (rtx x1)
    1041              : {
    1042       381781 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1043       381781 :   int res ATTRIBUTE_UNUSED;
    1044       381781 :   switch (GET_MODE (operands[0]))
    1045              :     {
    1046       250243 :     case E_DImode:
    1047       250243 :       if (!register_operand (operands[0], E_DImode)
    1048       249710 :           || GET_MODE (x1) != E_DImode
    1049       499953 :           || !register_operand (operands[1], E_DImode))
    1050         2135 :         return -1;
    1051              :       return 0;
    1052              : 
    1053         4422 :     case E_TImode:
    1054         4422 :       if (!register_operand (operands[0], E_TImode)
    1055         4421 :           || GET_MODE (x1) != E_TImode
    1056         8843 :           || !register_operand (operands[1], E_TImode))
    1057           31 :         return -1;
    1058              :       return 1;
    1059              : 
    1060              :     default:
    1061              :       return -1;
    1062              :     }
    1063              : }
    1064              : 
    1065              : int
    1066          138 : pattern258 (rtx x1)
    1067              : {
    1068          138 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1069          138 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1070          138 :   rtx x10;
    1071          138 :   int res ATTRIBUTE_UNUSED;
    1072          138 :   x2 = XEXP (x1, 0);
    1073          138 :   if (GET_CODE (x2) != ZERO_EXTRACT)
    1074              :     return -1;
    1075          138 :   x3 = XEXP (x2, 1);
    1076          138 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    1077              :     return -1;
    1078          138 :   x4 = XEXP (x2, 2);
    1079          138 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    1080              :     return -1;
    1081          138 :   x5 = XEXP (x2, 0);
    1082          138 :   operands[0] = x5;
    1083          138 :   if (!int248_register_operand (operands[0], E_VOIDmode))
    1084              :     return -1;
    1085          138 :   x6 = XEXP (x1, 1);
    1086          138 :   x7 = XEXP (x6, 0);
    1087          138 :   x8 = XEXP (x7, 0);
    1088          138 :   x9 = XEXP (x8, 0);
    1089          138 :   x10 = XEXP (x9, 0);
    1090          138 :   operands[1] = x10;
    1091          138 :   if (!int248_register_operand (operands[1], E_VOIDmode))
    1092              :     return -1;
    1093              :   return 0;
    1094              : }
    1095              : 
    1096              : int
    1097         2125 : pattern273 (rtx x1)
    1098              : {
    1099         2125 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1100         2125 :   rtx x2, x3, x4, x5;
    1101         2125 :   int res ATTRIBUTE_UNUSED;
    1102         2125 :   x2 = XEXP (x1, 0);
    1103         2125 :   x3 = XEXP (x2, 0);
    1104         2125 :   operands[1] = x3;
    1105         2125 :   x4 = XEXP (x1, 1);
    1106         2125 :   x5 = XEXP (x4, 0);
    1107         2125 :   operands[2] = x5;
    1108         2125 :   switch (GET_MODE (operands[0]))
    1109              :     {
    1110          429 :     case E_V8QImode:
    1111          429 :       return pattern272 (x1, 
    1112              : E_V4HImode, 
    1113              : E_V4QImode, 
    1114          429 : E_V8QImode); /* [-1, 0] */
    1115              : 
    1116          658 :     case E_V4HImode:
    1117          658 :       if (pattern272 (x1, 
    1118              : E_V2SImode, 
    1119              : E_V2HImode, 
    1120              : E_V4HImode) != 0)
    1121              :         return -1;
    1122              :       return 1;
    1123              : 
    1124              :     default:
    1125              :       return -1;
    1126              :     }
    1127              : }
    1128              : 
    1129              : int
    1130          943 : pattern283 (rtx x1)
    1131              : {
    1132          943 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1133          943 :   rtx x2;
    1134          943 :   int res ATTRIBUTE_UNUSED;
    1135          943 :   if (!register_operand (operands[0], E_SImode)
    1136          943 :       || GET_MODE (x1) != E_SImode)
    1137              :     return -1;
    1138          938 :   x2 = XEXP (x1, 0);
    1139          938 :   switch (GET_MODE (x2))
    1140              :     {
    1141          432 :     case E_QImode:
    1142          432 :       if (!nonimmediate_operand (operands[1], E_QImode))
    1143              :         return -1;
    1144              :       return 0;
    1145              : 
    1146          506 :     case E_HImode:
    1147          506 :       if (!nonimmediate_operand (operands[1], E_HImode))
    1148              :         return -1;
    1149              :       return 1;
    1150              : 
    1151              :     default:
    1152              :       return -1;
    1153              :     }
    1154              : }
    1155              : 
    1156              : int
    1157          720 : pattern291 (rtx x1, rtx_code i1)
    1158              : {
    1159          720 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1160          720 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1161          720 :   rtx x10, x11, x12;
    1162          720 :   int res ATTRIBUTE_UNUSED;
    1163          720 :   x2 = XEXP (x1, 0);
    1164          720 :   x3 = XEXP (x2, 1);
    1165          720 :   if (GET_MODE (x3) != E_QImode)
    1166              :     return -1;
    1167          656 :   x4 = XEXP (x3, 1);
    1168          656 :   if (GET_CODE (x4) != CONST_INT)
    1169              :     return -1;
    1170          656 :   x5 = XEXP (x1, 1);
    1171          656 :   if (GET_CODE (x5) != SUBREG
    1172          656 :       || maybe_ne (SUBREG_BYTE (x5), 0))
    1173              :     return -1;
    1174          589 :   x6 = XEXP (x5, 0);
    1175          589 :   if (GET_CODE (x6) != i1)
    1176              :     return -1;
    1177          589 :   x7 = XEXP (x6, 0);
    1178          589 :   if (GET_CODE (x7) != ZERO_EXTEND)
    1179              :     return -1;
    1180          589 :   x8 = XEXP (x6, 1);
    1181          589 :   if (GET_CODE (x8) != MINUS
    1182          589 :       || GET_MODE (x8) != E_QImode)
    1183              :     return -1;
    1184          589 :   x9 = XEXP (x8, 0);
    1185          589 :   if (GET_CODE (x9) != CONST_INT)
    1186              :     return -1;
    1187          589 :   x10 = XEXP (x8, 1);
    1188          589 :   if (GET_CODE (x10) != AND
    1189          589 :       || GET_MODE (x10) != E_QImode)
    1190              :     return -1;
    1191          589 :   x11 = XEXP (x10, 1);
    1192          589 :   if (GET_CODE (x11) != CONST_INT)
    1193              :     return -1;
    1194          589 :   x12 = XEXP (x3, 0);
    1195          589 :   if (!nonmemory_operand (x12, E_QImode))
    1196              :     return -1;
    1197          585 :   switch (XWINT (x4, 0))
    1198              :     {
    1199          576 :     case 63L:
    1200          576 :       if (XWINT (x9, 0) != 64L
    1201          576 :           || XWINT (x11, 0) != 63L
    1202         1152 :           || pattern290 (x1, 
    1203              : E_DImode, 
    1204              : E_TImode) != 0)
    1205           32 :         return -1;
    1206              :       return 0;
    1207              : 
    1208            6 :     case 31L:
    1209            6 :       if (XWINT (x9, 0) != 32L
    1210            6 :           || XWINT (x11, 0) != 31L)
    1211              :         return -1;
    1212              :       return 1;
    1213              : 
    1214              :     default:
    1215              :       return -1;
    1216              :     }
    1217              : }
    1218              : 
    1219              : int
    1220         1194 : pattern311 (rtx x1)
    1221              : {
    1222         1194 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1223         1194 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1224         1194 :   int res ATTRIBUTE_UNUSED;
    1225         1194 :   x2 = XEXP (x1, 2);
    1226         1194 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    1227              :     return -1;
    1228         1170 :   x3 = XEXP (x1, 0);
    1229         1170 :   x4 = XEXP (x3, 0);
    1230         1170 :   x5 = XEXP (x4, 0);
    1231         1170 :   operands[1] = x5;
    1232         1170 :   x6 = XEXP (x4, 1);
    1233         1170 :   operands[2] = x6;
    1234         1170 :   x7 = XEXP (x3, 1);
    1235         1170 :   operands[3] = x7;
    1236         1170 :   x8 = XEXP (x3, 2);
    1237         1170 :   operands[4] = x8;
    1238         1170 :   if (!register_operand (operands[4], E_QImode))
    1239              :     return -1;
    1240         1134 :   x9 = XEXP (x1, 1);
    1241         1134 :   if (!rtx_equal_p (x9, operands[1]))
    1242              :     return -1;
    1243         1134 :   switch (GET_MODE (operands[0]))
    1244              :     {
    1245          698 :     case E_V8HFmode:
    1246          698 :       return pattern310 (x1, 
    1247          698 : E_V8HFmode); /* [-1, 0] */
    1248              : 
    1249          218 :     case E_V4SFmode:
    1250          218 :       if (pattern310 (x1, 
    1251              : E_V4SFmode) != 0)
    1252              :         return -1;
    1253              :       return 1;
    1254              : 
    1255          218 :     case E_V2DFmode:
    1256          218 :       if (pattern310 (x1, 
    1257              : E_V2DFmode) != 0)
    1258              :         return -1;
    1259              :       return 2;
    1260              : 
    1261              :     default:
    1262              :       return -1;
    1263              :     }
    1264              : }
    1265              : 
    1266              : int
    1267            0 : pattern321 (rtx x1, machine_mode i1, machine_mode i2)
    1268              : {
    1269            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1270            0 :   rtx x2, x3;
    1271            0 :   int res ATTRIBUTE_UNUSED;
    1272            0 :   if (!register_operand (operands[0], i1)
    1273            0 :       || GET_MODE (x1) != i1
    1274            0 :       || !vector_all_ones_operand (operands[1], i1)
    1275            0 :       || !const0_operand (operands[2], i1))
    1276            0 :     return -1;
    1277            0 :   x2 = XEXP (x1, 2);
    1278            0 :   if (GET_MODE (x2) != i2)
    1279              :     return -1;
    1280            0 :   x3 = XEXP (x2, 0);
    1281            0 :   if (GET_MODE (x3) != i2
    1282            0 :       || !nonimmediate_operand (operands[3], i1)
    1283            0 :       || !nonimmediate_operand (operands[4], i1)
    1284            0 :       || !const_0_to_7_operand (operands[5], E_SImode))
    1285            0 :     return -1;
    1286              :   return 0;
    1287              : }
    1288              : 
    1289              : int
    1290          470 : pattern329 (rtx x1)
    1291              : {
    1292          470 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1293          470 :   rtx x2;
    1294          470 :   int res ATTRIBUTE_UNUSED;
    1295          470 :   x2 = XVECEXP (x1, 0, 0);
    1296          470 :   operands[1] = x2;
    1297          470 :   switch (GET_MODE (operands[0]))
    1298              :     {
    1299          228 :     case E_V16QImode:
    1300          228 :       if (!register_operand (operands[0], E_V16QImode)
    1301          224 :           || GET_MODE (x1) != E_V16QImode
    1302          452 :           || !nonimmediate_operand (operands[1], E_V16HFmode))
    1303            8 :         return -1;
    1304              :       return 0;
    1305              : 
    1306          234 :     case E_V32QImode:
    1307          234 :       if (!register_operand (operands[0], E_V32QImode)
    1308          226 :           || GET_MODE (x1) != E_V32QImode
    1309          460 :           || !nonimmediate_operand (operands[1], E_V32HFmode))
    1310           12 :         return -1;
    1311              :       return 1;
    1312              : 
    1313              :     default:
    1314              :       return -1;
    1315              :     }
    1316              : }
    1317              : 
    1318              : int
    1319          981 : pattern333 (rtx x1, rtx_code i1)
    1320              : {
    1321          981 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1322          981 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1323          981 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    1324          981 :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
    1325          981 :   rtx x26, x27, x28, x29, x30, x31, x32, x33;
    1326          981 :   rtx x34, x35, x36, x37, x38, x39;
    1327          981 :   int res ATTRIBUTE_UNUSED;
    1328          981 :   x2 = XEXP (x1, 0);
    1329          981 :   x3 = XEXP (x2, 0);
    1330          981 :   x4 = XEXP (x3, 0);
    1331          981 :   if (GET_CODE (x4) != VEC_SELECT)
    1332              :     return -1;
    1333          454 :   x5 = XEXP (x4, 1);
    1334          454 :   if (GET_CODE (x5) != PARALLEL
    1335          454 :       || XVECLEN (x5, 0) != 1)
    1336              :     return -1;
    1337          454 :   x6 = XVECEXP (x5, 0, 0);
    1338          454 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1339              :     return -1;
    1340          454 :   x7 = XEXP (x3, 1);
    1341          454 :   if (GET_CODE (x7) != VEC_SELECT)
    1342              :     return -1;
    1343          454 :   x8 = XEXP (x7, 1);
    1344          454 :   if (GET_CODE (x8) != PARALLEL
    1345          454 :       || XVECLEN (x8, 0) != 1)
    1346              :     return -1;
    1347          454 :   x9 = XVECEXP (x8, 0, 0);
    1348          454 :   if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    1349              :     return -1;
    1350          454 :   x10 = XEXP (x2, 1);
    1351          454 :   if (GET_CODE (x10) != i1)
    1352              :     return -1;
    1353          428 :   x11 = XEXP (x10, 0);
    1354          428 :   if (GET_CODE (x11) != VEC_SELECT)
    1355              :     return -1;
    1356          428 :   x12 = XEXP (x11, 1);
    1357          428 :   if (GET_CODE (x12) != PARALLEL
    1358          428 :       || XVECLEN (x12, 0) != 1)
    1359              :     return -1;
    1360          428 :   x13 = XVECEXP (x12, 0, 0);
    1361          428 :   if (GET_CODE (x13) != CONST_INT)
    1362              :     return -1;
    1363          428 :   x14 = XEXP (x10, 1);
    1364          428 :   if (GET_CODE (x14) != VEC_SELECT)
    1365              :     return -1;
    1366          428 :   x15 = XEXP (x14, 1);
    1367          428 :   if (GET_CODE (x15) != PARALLEL
    1368          428 :       || XVECLEN (x15, 0) != 1)
    1369              :     return -1;
    1370          428 :   x16 = XVECEXP (x15, 0, 0);
    1371          428 :   if (GET_CODE (x16) != CONST_INT)
    1372              :     return -1;
    1373          428 :   x17 = XEXP (x1, 1);
    1374          428 :   if (GET_CODE (x17) != VEC_CONCAT)
    1375              :     return -1;
    1376          428 :   x18 = XEXP (x17, 0);
    1377          428 :   if (GET_CODE (x18) != i1)
    1378              :     return -1;
    1379          428 :   x19 = XEXP (x18, 0);
    1380          428 :   if (GET_CODE (x19) != VEC_SELECT)
    1381              :     return -1;
    1382          428 :   x20 = XEXP (x19, 1);
    1383          428 :   if (GET_CODE (x20) != PARALLEL
    1384          428 :       || XVECLEN (x20, 0) != 1)
    1385              :     return -1;
    1386          428 :   x21 = XVECEXP (x20, 0, 0);
    1387          428 :   if (GET_CODE (x21) != CONST_INT)
    1388              :     return -1;
    1389          428 :   x22 = XEXP (x18, 1);
    1390          428 :   if (GET_CODE (x22) != VEC_SELECT)
    1391              :     return -1;
    1392          428 :   x23 = XEXP (x22, 1);
    1393          428 :   if (GET_CODE (x23) != PARALLEL
    1394          428 :       || XVECLEN (x23, 0) != 1)
    1395              :     return -1;
    1396          428 :   x24 = XVECEXP (x23, 0, 0);
    1397          428 :   if (GET_CODE (x24) != CONST_INT)
    1398              :     return -1;
    1399          428 :   x25 = XEXP (x17, 1);
    1400          428 :   if (GET_CODE (x25) != i1)
    1401              :     return -1;
    1402          428 :   x26 = XEXP (x25, 0);
    1403          428 :   if (GET_CODE (x26) != VEC_SELECT)
    1404              :     return -1;
    1405          428 :   x27 = XEXP (x26, 1);
    1406          428 :   if (GET_CODE (x27) != PARALLEL
    1407          428 :       || XVECLEN (x27, 0) != 1)
    1408              :     return -1;
    1409          428 :   x28 = XVECEXP (x27, 0, 0);
    1410          428 :   if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    1411              :     return -1;
    1412          428 :   x29 = XEXP (x25, 1);
    1413          428 :   if (GET_CODE (x29) != VEC_SELECT)
    1414              :     return -1;
    1415          428 :   x30 = XEXP (x29, 1);
    1416          428 :   if (GET_CODE (x30) != PARALLEL
    1417          428 :       || XVECLEN (x30, 0) != 1)
    1418              :     return -1;
    1419          428 :   x31 = XVECEXP (x30, 0, 0);
    1420          428 :   if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    1421              :     return -1;
    1422          428 :   x32 = XEXP (x4, 0);
    1423          428 :   operands[1] = x32;
    1424          428 :   x33 = XEXP (x7, 0);
    1425          428 :   if (!rtx_equal_p (x33, operands[1]))
    1426              :     return -1;
    1427          428 :   switch (XWINT (x13, 0))
    1428              :     {
    1429          208 :     case 0L:
    1430          208 :       if (XWINT (x16, 0) != 1L
    1431          208 :           || XWINT (x21, 0) != 2L
    1432          208 :           || XWINT (x24, 0) != 3L
    1433          208 :           || !register_operand (operands[0], E_V4DFmode)
    1434          204 :           || GET_MODE (x1) != E_V4DFmode
    1435          204 :           || GET_MODE (x2) != E_V2DFmode
    1436          204 :           || GET_MODE (x3) != E_DFmode
    1437          204 :           || GET_MODE (x4) != E_DFmode
    1438          204 :           || !register_operand (operands[1], E_V4DFmode)
    1439          180 :           || GET_MODE (x7) != E_DFmode
    1440          180 :           || GET_MODE (x10) != E_DFmode
    1441          388 :           || GET_MODE (x11) != E_DFmode)
    1442           28 :         return -1;
    1443          180 :       x34 = XEXP (x11, 0);
    1444          180 :       operands[2] = x34;
    1445          180 :       if (!nonimmediate_operand (operands[2], E_V4DFmode)
    1446          156 :           || GET_MODE (x14) != E_DFmode
    1447          156 :           || GET_MODE (x17) != E_V2DFmode
    1448          156 :           || GET_MODE (x18) != E_DFmode
    1449          156 :           || GET_MODE (x19) != E_DFmode
    1450          156 :           || GET_MODE (x22) != E_DFmode
    1451          156 :           || GET_MODE (x25) != E_DFmode
    1452          156 :           || GET_MODE (x26) != E_DFmode
    1453          336 :           || GET_MODE (x29) != E_DFmode)
    1454              :         return -1;
    1455          156 :       x35 = XEXP (x14, 0);
    1456          156 :       if (!rtx_equal_p (x35, operands[2]))
    1457              :         return -1;
    1458          156 :       x36 = XEXP (x19, 0);
    1459          156 :       if (!rtx_equal_p (x36, operands[1]))
    1460              :         return -1;
    1461          156 :       x37 = XEXP (x22, 0);
    1462          156 :       if (!rtx_equal_p (x37, operands[1]))
    1463              :         return -1;
    1464          156 :       x38 = XEXP (x26, 0);
    1465          156 :       if (!rtx_equal_p (x38, operands[2]))
    1466              :         return -1;
    1467          156 :       x39 = XEXP (x29, 0);
    1468          156 :       if (!rtx_equal_p (x39, operands[2]))
    1469              :         return -1;
    1470              :       return 0;
    1471              : 
    1472          220 :     case 2L:
    1473          220 :       if (XWINT (x16, 0) != 3L
    1474          220 :           || XWINT (x21, 0) != 0L
    1475          220 :           || XWINT (x24, 0) != 1L
    1476          220 :           || !register_operand (operands[0], E_V4SFmode)
    1477          220 :           || GET_MODE (x1) != E_V4SFmode
    1478          220 :           || GET_MODE (x2) != E_V2SFmode
    1479          220 :           || GET_MODE (x3) != E_SFmode
    1480          220 :           || GET_MODE (x4) != E_SFmode
    1481          220 :           || !register_operand (operands[1], E_V4SFmode)
    1482          198 :           || GET_MODE (x7) != E_SFmode
    1483          198 :           || GET_MODE (x10) != E_SFmode
    1484          198 :           || GET_MODE (x11) != E_SFmode
    1485          198 :           || GET_MODE (x14) != E_SFmode
    1486          198 :           || GET_MODE (x17) != E_V2SFmode
    1487          198 :           || GET_MODE (x18) != E_SFmode
    1488          418 :           || GET_MODE (x19) != E_SFmode)
    1489           22 :         return -1;
    1490          198 :       x36 = XEXP (x19, 0);
    1491          198 :       operands[2] = x36;
    1492          198 :       if (!vector_operand (operands[2], E_V4SFmode)
    1493          198 :           || GET_MODE (x22) != E_SFmode
    1494          198 :           || GET_MODE (x25) != E_SFmode
    1495          198 :           || GET_MODE (x26) != E_SFmode
    1496          396 :           || GET_MODE (x29) != E_SFmode)
    1497              :         return -1;
    1498          198 :       x34 = XEXP (x11, 0);
    1499          198 :       if (!rtx_equal_p (x34, operands[1]))
    1500              :         return -1;
    1501          198 :       x35 = XEXP (x14, 0);
    1502          198 :       if (!rtx_equal_p (x35, operands[1]))
    1503              :         return -1;
    1504          198 :       x37 = XEXP (x22, 0);
    1505          198 :       if (!rtx_equal_p (x37, operands[2]))
    1506              :         return -1;
    1507          198 :       x38 = XEXP (x26, 0);
    1508          198 :       if (!rtx_equal_p (x38, operands[2]))
    1509              :         return -1;
    1510          198 :       x39 = XEXP (x29, 0);
    1511          198 :       if (!rtx_equal_p (x39, operands[2]))
    1512              :         return -1;
    1513              :       return 1;
    1514              : 
    1515              :     default:
    1516              :       return -1;
    1517              :     }
    1518              : }
    1519              : 
    1520              : int
    1521          193 : pattern381 (rtx x1, machine_mode i1)
    1522              : {
    1523          193 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1524          193 :   rtx x2;
    1525          193 :   int res ATTRIBUTE_UNUSED;
    1526          193 :   if (!register_operand (operands[0], i1)
    1527          193 :       || GET_MODE (x1) != i1)
    1528              :     return -1;
    1529          193 :   x2 = XEXP (x1, 0);
    1530          193 :   if (GET_MODE (x2) != i1
    1531          193 :       || !general_operand (operands[1], i1))
    1532           10 :     return -1;
    1533              :   return 0;
    1534              : }
    1535              : 
    1536              : int
    1537       187260 : pattern385 (rtx x1)
    1538              : {
    1539       187260 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1540       187260 :   rtx x2, x3, x4;
    1541       187260 :   int res ATTRIBUTE_UNUSED;
    1542       187260 :   x2 = XVECEXP (x1, 0, 1);
    1543       187260 :   if (GET_CODE (x2) != CLOBBER)
    1544              :     return -1;
    1545       169201 :   x3 = XEXP (x2, 0);
    1546       169201 :   if (GET_CODE (x3) != REG
    1547       169201 :       || REGNO (x3) != 17
    1548       338402 :       || GET_MODE (x3) != E_CCmode)
    1549              :     return -1;
    1550       169201 :   x4 = XVECEXP (x1, 0, 0);
    1551       169201 :   return pattern384 (x4); /* [-1, 1] */
    1552              : }
    1553              : 
    1554              : int
    1555         3975 : pattern391 (rtx x1)
    1556              : {
    1557         3975 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1558         3975 :   int res ATTRIBUTE_UNUSED;
    1559         3975 :   switch (GET_MODE (operands[0]))
    1560              :     {
    1561          105 :     case E_SFmode:
    1562          105 :       if (!register_operand (operands[0], E_SFmode)
    1563          105 :           || GET_MODE (x1) != E_SFmode)
    1564              :         return -1;
    1565              :       return 0;
    1566              : 
    1567         1509 :     case E_DFmode:
    1568         1509 :       if (!register_operand (operands[0], E_DFmode)
    1569         1509 :           || GET_MODE (x1) != E_DFmode)
    1570              :         return -1;
    1571              :       return 1;
    1572              : 
    1573         2361 :     case E_XFmode:
    1574         2361 :       if (!register_operand (operands[0], E_XFmode)
    1575         2361 :           || GET_MODE (x1) != E_XFmode)
    1576              :         return -1;
    1577              :       return 2;
    1578              : 
    1579              :     default:
    1580              :       return -1;
    1581              :     }
    1582              : }
    1583              : 
    1584              : int
    1585          168 : pattern400 ()
    1586              : {
    1587          168 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1588          168 :   int res ATTRIBUTE_UNUSED;
    1589          168 :   switch (GET_MODE (operands[0]))
    1590              :     {
    1591           84 :     case E_SImode:
    1592           84 :       if (!register_operand (operands[0], E_SImode)
    1593           84 :           || !memory_operand (operands[1], E_SImode))
    1594            0 :         return -1;
    1595              :       return 0;
    1596              : 
    1597           84 :     case E_DImode:
    1598           84 :       if (!register_operand (operands[0], E_DImode)
    1599           84 :           || !memory_operand (operands[1], E_DImode))
    1600            0 :         return -1;
    1601              :       return 1;
    1602              : 
    1603              :     default:
    1604              :       return -1;
    1605              :     }
    1606              : }
    1607              : 
    1608              : int
    1609        29962 : pattern409 (rtx x1)
    1610              : {
    1611        29962 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1612        29962 :   rtx x2, x3, x4, x5, x6, x7, x8;
    1613        29962 :   int res ATTRIBUTE_UNUSED;
    1614        29962 :   x2 = XVECEXP (x1, 0, 1);
    1615        29962 :   if (GET_CODE (x2) != CLOBBER)
    1616              :     return -1;
    1617        29962 :   x3 = XEXP (x2, 0);
    1618        29962 :   if (GET_CODE (x3) != REG
    1619        29962 :       || REGNO (x3) != 17
    1620        56954 :       || GET_MODE (x3) != E_CCmode)
    1621              :     return -1;
    1622        26992 :   x4 = XVECEXP (x1, 0, 0);
    1623        26992 :   x5 = XEXP (x4, 1);
    1624        26992 :   x6 = XEXP (x5, 1);
    1625        26992 :   switch (GET_CODE (x6))
    1626              :     {
    1627           63 :     case AND:
    1628           63 :       if (GET_MODE (x6) != E_QImode)
    1629              :         return -1;
    1630           63 :       x7 = XEXP (x4, 0);
    1631           63 :       operands[0] = x7;
    1632           63 :       x8 = XEXP (x5, 0);
    1633           63 :       operands[1] = x8;
    1634           63 :       return pattern209 (x5); /* [-1, 3] */
    1635              : 
    1636           19 :     case PLUS:
    1637           19 :       if (GET_MODE (x6) != E_QImode)
    1638              :         return -1;
    1639           19 :       x7 = XEXP (x4, 0);
    1640           19 :       operands[0] = x7;
    1641           19 :       x8 = XEXP (x5, 0);
    1642           19 :       operands[1] = x8;
    1643           19 :       res = pattern210 (x5);
    1644           19 :       if (res >= 0)
    1645            8 :         return res + 4; /* [4, 7] */
    1646              :       return -1;
    1647              : 
    1648            7 :     case MINUS:
    1649            7 :       if (GET_MODE (x6) != E_QImode)
    1650              :         return -1;
    1651            7 :       x7 = XEXP (x4, 0);
    1652            7 :       operands[0] = x7;
    1653            7 :       x8 = XEXP (x5, 0);
    1654            7 :       operands[1] = x8;
    1655            7 :       res = pattern211 (x5);
    1656            7 :       if (res >= 0)
    1657            5 :         return res + 8; /* [8, 11] */
    1658              :       return -1;
    1659              : 
    1660              :     case CONST_INT:
    1661              :     case CONST_WIDE_INT:
    1662              :     case CONST_POLY_INT:
    1663              :     case CONST_FIXED:
    1664              :     case CONST_DOUBLE:
    1665              :     case CONST_VECTOR:
    1666              :     case CONST:
    1667              :     case REG:
    1668              :     case SUBREG:
    1669              :     case LABEL_REF:
    1670              :     case SYMBOL_REF:
    1671              :     case HIGH:
    1672              :       return 12;
    1673              : 
    1674              :     default:
    1675              :       return -1;
    1676              :     }
    1677              : }
    1678              : 
    1679              : int
    1680         3693 : pattern426 (rtx x1)
    1681              : {
    1682         3693 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1683         3693 :   rtx x2, x3, x4;
    1684         3693 :   int res ATTRIBUTE_UNUSED;
    1685         3693 :   if (GET_CODE (x1) != ZERO_EXTRACT)
    1686              :     return -1;
    1687         2217 :   x2 = XEXP (x1, 1);
    1688         2217 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    1689              :     return -1;
    1690          368 :   x3 = XEXP (x1, 2);
    1691          368 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    1692              :     return -1;
    1693          368 :   x4 = XEXP (x1, 0);
    1694          368 :   operands[0] = x4;
    1695          368 :   if (!int248_register_operand (operands[0], E_VOIDmode))
    1696              :     return -1;
    1697              :   return 0;
    1698              : }
    1699              : 
    1700              : int
    1701      2025101 : pattern433 (rtx x1)
    1702              : {
    1703      2025101 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1704      2025101 :   rtx x2, x3, x4, x5;
    1705      2025101 :   int res ATTRIBUTE_UNUSED;
    1706      2025101 :   x2 = XEXP (x1, 0);
    1707      2025101 :   x3 = XEXP (x2, 0);
    1708      2025101 :   operands[1] = x3;
    1709      2025101 :   x4 = XEXP (x2, 1);
    1710      2025101 :   operands[2] = x4;
    1711      2025101 :   x5 = XEXP (x1, 1);
    1712      2025101 :   operands[3] = x5;
    1713      2025101 :   switch (GET_MODE (operands[0]))
    1714              :     {
    1715         2984 :     case E_QImode:
    1716         2984 :       return pattern432 (x1, 
    1717         2984 : E_QImode); /* [-1, 0] */
    1718              : 
    1719         2923 :     case E_HImode:
    1720         2923 :       if (pattern432 (x1, 
    1721              : E_HImode) != 0)
    1722              :         return -1;
    1723              :       return 1;
    1724              : 
    1725              :     default:
    1726              :       return -1;
    1727              :     }
    1728              : }
    1729              : 
    1730              : int
    1731         9481 : pattern440 (rtx x1, int *pnum_clobbers)
    1732              : {
    1733         9481 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1734         9481 :   rtx x2, x3, x4, x5, x6;
    1735         9481 :   int res ATTRIBUTE_UNUSED;
    1736         9481 :   if (pnum_clobbers == NULL)
    1737              :     return -1;
    1738         9481 :   x2 = XEXP (x1, 1);
    1739         9481 :   x3 = XEXP (x2, 1);
    1740         9481 :   x4 = XEXP (x3, 1);
    1741         9481 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1742              :     return -1;
    1743         7836 :   x5 = XEXP (x1, 0);
    1744         7836 :   operands[0] = x5;
    1745         7836 :   x6 = XEXP (x3, 0);
    1746         7836 :   operands[2] = x6;
    1747         7836 :   if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
    1748              :     return -1;
    1749         3970 :   switch (GET_MODE (operands[0]))
    1750              :     {
    1751          116 :     case E_QImode:
    1752          116 :       return pattern439 (x2, 
    1753          116 : E_QImode); /* [-1, 0] */
    1754              : 
    1755            3 :     case E_HImode:
    1756            3 :       if (pattern439 (x2, 
    1757              : E_HImode) != 0)
    1758              :         return -1;
    1759              :       return 1;
    1760              : 
    1761              :     default:
    1762              :       return -1;
    1763              :     }
    1764              : }
    1765              : 
    1766              : int
    1767       115010 : pattern453 (rtx x1, machine_mode i1)
    1768              : {
    1769       115010 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1770       115010 :   rtx x2, x3, x4, x5, x6, x7;
    1771       115010 :   int res ATTRIBUTE_UNUSED;
    1772       115010 :   x2 = XEXP (x1, 1);
    1773       115010 :   x3 = XEXP (x2, 1);
    1774       115010 :   if (maybe_ne (SUBREG_BYTE (x3), 0)
    1775       115010 :       || GET_MODE (x3) != E_QImode)
    1776              :     return -1;
    1777       113086 :   x4 = XEXP (x1, 0);
    1778       113086 :   operands[0] = x4;
    1779       113086 :   if (!nonimmediate_operand (operands[0], i1)
    1780        51268 :       || GET_MODE (x2) != i1
    1781       164354 :       || !nonimmediate_operand (operands[1], i1))
    1782       102670 :     return -1;
    1783        10416 :   x5 = XEXP (x3, 0);
    1784        10416 :   switch (GET_CODE (x5))
    1785              :     {
    1786         2346 :     case AND:
    1787         2346 :       x6 = XEXP (x5, 0);
    1788         2346 :       operands[2] = x6;
    1789         2346 :       if (!int248_register_operand (operands[2], E_VOIDmode))
    1790              :         return -1;
    1791          611 :       x7 = XEXP (x5, 1);
    1792          611 :       operands[3] = x7;
    1793          611 :       if (!const_int_operand (operands[3], E_VOIDmode))
    1794              :         return -1;
    1795              :       return 0;
    1796              : 
    1797            0 :     case PLUS:
    1798            0 :       x6 = XEXP (x5, 0);
    1799            0 :       operands[2] = x6;
    1800            0 :       if (!int248_register_operand (operands[2], E_VOIDmode))
    1801              :         return -1;
    1802            0 :       x7 = XEXP (x5, 1);
    1803            0 :       operands[3] = x7;
    1804            0 :       if (!const_int_operand (operands[3], E_VOIDmode))
    1805              :         return -1;
    1806              :       return 1;
    1807              : 
    1808            0 :     case MINUS:
    1809            0 :       x6 = XEXP (x5, 0);
    1810            0 :       operands[3] = x6;
    1811            0 :       if (!const_int_operand (operands[3], E_VOIDmode))
    1812              :         return -1;
    1813            0 :       x7 = XEXP (x5, 1);
    1814            0 :       operands[2] = x7;
    1815            0 :       if (!int248_register_operand (operands[2], E_VOIDmode))
    1816              :         return -1;
    1817              :       return 2;
    1818              : 
    1819              :     default:
    1820              :       return -1;
    1821              :     }
    1822              : }
    1823              : 
    1824              : int
    1825         2084 : pattern470 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
    1826              : {
    1827         2084 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1828         2084 :   rtx x2;
    1829         2084 :   int res ATTRIBUTE_UNUSED;
    1830         2084 :   if (!register_operand (operands[0], i2)
    1831         2084 :       || GET_MODE (x1) != i2)
    1832              :     return -1;
    1833         2028 :   x2 = XEXP (x1, 0);
    1834         2028 :   if (GET_MODE (x2) != i2
    1835         2028 :       || !register_operand (operands[1], i4)
    1836         2028 :       || !nonimmediate_operand (operands[2], i3)
    1837         2028 :       || !nonimm_or_0_operand (operands[3], i2)
    1838         4000 :       || !register_operand (operands[4], i1))
    1839          144 :     return -1;
    1840              :   return 0;
    1841              : }
    1842              : 
    1843              : int
    1844         1992 : pattern478 (rtx x1, machine_mode i1)
    1845              : {
    1846         1992 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1847         1992 :   rtx x2, x3, x4, x5, x6, x7;
    1848         1992 :   int res ATTRIBUTE_UNUSED;
    1849         1992 :   x2 = XEXP (x1, 0);
    1850         1992 :   x3 = XVECEXP (x2, 0, 0);
    1851         1992 :   operands[1] = x3;
    1852         1992 :   x4 = XVECEXP (x2, 0, 1);
    1853         1992 :   operands[2] = x4;
    1854         1992 :   x5 = XVECEXP (x2, 0, 2);
    1855         1992 :   operands[3] = x5;
    1856         1992 :   if (!const_0_to_255_operand (operands[3], i1))
    1857              :     return -1;
    1858         1992 :   x6 = XEXP (x1, 1);
    1859         1992 :   operands[4] = x6;
    1860         1992 :   x7 = XEXP (x1, 2);
    1861         1992 :   operands[5] = x7;
    1862         1992 :   switch (GET_MODE (operands[0]))
    1863              :     {
    1864          688 :     case E_V64QImode:
    1865          688 :       return pattern477 (x1, 
    1866              : E_V64QImode, 
    1867          688 : E_DImode); /* [-1, 0] */
    1868              : 
    1869          669 :     case E_V32QImode:
    1870          669 :       if (pattern477 (x1, 
    1871              : E_V32QImode, 
    1872              : E_SImode) != 0)
    1873              :         return -1;
    1874              :       return 1;
    1875              : 
    1876          635 :     case E_V16QImode:
    1877          635 :       if (pattern477 (x1, 
    1878              : E_V16QImode, 
    1879              : E_HImode) != 0)
    1880              :         return -1;
    1881              :       return 2;
    1882              : 
    1883              :     default:
    1884              :       return -1;
    1885              :     }
    1886              : }
    1887              : 
    1888              : int
    1889         3840 : pattern487 (rtx x1)
    1890              : {
    1891         3840 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1892         3840 :   rtx x2, x3, x4, x5, x6, x7;
    1893         3840 :   int res ATTRIBUTE_UNUSED;
    1894         3840 :   x2 = XEXP (x1, 0);
    1895         3840 :   x3 = XVECEXP (x2, 0, 0);
    1896         3840 :   operands[1] = x3;
    1897         3840 :   x4 = XVECEXP (x2, 0, 1);
    1898         3840 :   operands[2] = x4;
    1899         3840 :   x5 = XVECEXP (x2, 0, 2);
    1900         3840 :   operands[3] = x5;
    1901         3840 :   x6 = XEXP (x1, 1);
    1902         3840 :   switch (GET_CODE (x6))
    1903              :     {
    1904         1900 :     case REG:
    1905         1900 :     case SUBREG:
    1906         1900 :       if (!rtx_equal_p (x6, operands[1]))
    1907              :         return -1;
    1908         1900 :       x7 = XEXP (x1, 2);
    1909         1900 :       operands[4] = x7;
    1910         1900 :       switch (GET_MODE (operands[0]))
    1911              :         {
    1912          216 :         case E_V32HImode:
    1913          216 :           return pattern484 (x1, 
    1914              : E_V32HImode, 
    1915          216 : E_SImode); /* [-1, 0] */
    1916              : 
    1917          210 :         case E_V16SImode:
    1918          210 :           if (pattern484 (x1, 
    1919              : E_V16SImode, 
    1920              : E_HImode) != 0)
    1921              :             return -1;
    1922              :           return 1;
    1923              : 
    1924          216 :         case E_V8DImode:
    1925          216 :           if (pattern484 (x1, 
    1926              : E_V8DImode, 
    1927              : E_QImode) != 0)
    1928              :             return -1;
    1929              :           return 2;
    1930              : 
    1931          216 :         case E_V16HImode:
    1932          216 :           if (pattern484 (x1, 
    1933              : E_V16HImode, 
    1934              : E_HImode) != 0)
    1935              :             return -1;
    1936              :           return 3;
    1937              : 
    1938          210 :         case E_V8SImode:
    1939          210 :           if (pattern484 (x1, 
    1940              : E_V8SImode, 
    1941              : E_QImode) != 0)
    1942              :             return -1;
    1943              :           return 4;
    1944              : 
    1945          216 :         case E_V4DImode:
    1946          216 :           if (pattern484 (x1, 
    1947              : E_V4DImode, 
    1948              : E_QImode) != 0)
    1949              :             return -1;
    1950              :           return 5;
    1951              : 
    1952          210 :         case E_V8HImode:
    1953          210 :           if (pattern484 (x1, 
    1954              : E_V8HImode, 
    1955              : E_QImode) != 0)
    1956              :             return -1;
    1957              :           return 6;
    1958              : 
    1959          200 :         case E_V4SImode:
    1960          200 :           if (pattern484 (x1, 
    1961              : E_V4SImode, 
    1962              : E_QImode) != 0)
    1963              :             return -1;
    1964              :           return 7;
    1965              : 
    1966          206 :         case E_V2DImode:
    1967          206 :           if (pattern484 (x1, 
    1968              : E_V2DImode, 
    1969              : E_QImode) != 0)
    1970              :             return -1;
    1971              :           return 8;
    1972              : 
    1973              :         default:
    1974              :           return -1;
    1975              :         }
    1976              : 
    1977         1908 :     case CONST_INT:
    1978         1908 :     case CONST_DOUBLE:
    1979         1908 :     case CONST_VECTOR:
    1980         1908 :       operands[4] = x6;
    1981         1908 :       x7 = XEXP (x1, 2);
    1982         1908 :       operands[5] = x7;
    1983         1908 :       switch (GET_MODE (operands[0]))
    1984              :         {
    1985          216 :         case E_V32HImode:
    1986          216 :           if (pattern486 (x1, 
    1987              : E_V32HImode, 
    1988              : E_SImode) != 0)
    1989              :             return -1;
    1990              :           return 9;
    1991              : 
    1992          214 :         case E_V16SImode:
    1993          214 :           if (pattern486 (x1, 
    1994              : E_V16SImode, 
    1995              : E_HImode) != 0)
    1996              :             return -1;
    1997              :           return 10;
    1998              : 
    1999          220 :         case E_V8DImode:
    2000          220 :           if (pattern486 (x1, 
    2001              : E_V8DImode, 
    2002              : E_QImode) != 0)
    2003              :             return -1;
    2004              :           return 11;
    2005              : 
    2006          214 :         case E_V16HImode:
    2007          214 :           if (pattern486 (x1, 
    2008              : E_V16HImode, 
    2009              : E_HImode) != 0)
    2010              :             return -1;
    2011              :           return 12;
    2012              : 
    2013          212 :         case E_V8SImode:
    2014          212 :           if (pattern486 (x1, 
    2015              : E_V8SImode, 
    2016              : E_QImode) != 0)
    2017              :             return -1;
    2018              :           return 13;
    2019              : 
    2020          218 :         case E_V4DImode:
    2021          218 :           if (pattern486 (x1, 
    2022              : E_V4DImode, 
    2023              : E_QImode) != 0)
    2024              :             return -1;
    2025              :           return 14;
    2026              : 
    2027          206 :         case E_V8HImode:
    2028          206 :           if (pattern486 (x1, 
    2029              : E_V8HImode, 
    2030              : E_QImode) != 0)
    2031              :             return -1;
    2032              :           return 15;
    2033              : 
    2034          202 :         case E_V4SImode:
    2035          202 :           if (pattern486 (x1, 
    2036              : E_V4SImode, 
    2037              : E_QImode) != 0)
    2038              :             return -1;
    2039              :           return 16;
    2040              : 
    2041          206 :         case E_V2DImode:
    2042          206 :           if (pattern486 (x1, 
    2043              : E_V2DImode, 
    2044              : E_QImode) != 0)
    2045              :             return -1;
    2046              :           return 17;
    2047              : 
    2048              :         default:
    2049              :           return -1;
    2050              :         }
    2051              : 
    2052              :     default:
    2053              :       return -1;
    2054              :     }
    2055              : }
    2056              : 
    2057              : int
    2058         5935 : pattern513 (rtx x1)
    2059              : {
    2060         5935 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2061         5935 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2062         5935 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    2063         5935 :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
    2064         5935 :   rtx x26, x27, x28, x29, x30, x31, x32, x33;
    2065         5935 :   rtx x34, x35, x36, x37, x38, x39;
    2066         5935 :   int res ATTRIBUTE_UNUSED;
    2067         5935 :   x2 = XEXP (x1, 1);
    2068         5935 :   if (GET_CODE (x2) != CONST_VECTOR)
    2069              :     return -1;
    2070         5935 :   x3 = XEXP (x1, 0);
    2071         5935 :   x4 = XEXP (x3, 0);
    2072         5935 :   x5 = XEXP (x4, 0);
    2073         5935 :   operands[1] = x5;
    2074         5935 :   x6 = XEXP (x3, 1);
    2075         5935 :   switch (GET_CODE (x6))
    2076              :     {
    2077         4114 :     case VEC_SELECT:
    2078         4114 :       x7 = XEXP (x6, 1);
    2079         4114 :       if (GET_CODE (x7) != PARALLEL)
    2080              :         return -1;
    2081         4114 :       x8 = XEXP (x6, 0);
    2082         4114 :       operands[2] = x8;
    2083         4114 :       x9 = XEXP (x3, 2);
    2084         4114 :       operands[3] = x9;
    2085         4114 :       switch (XVECLEN (x7, 0))
    2086              :         {
    2087         1228 :         case 2:
    2088         1228 :           x10 = XVECEXP (x7, 0, 0);
    2089         1228 :           if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2090              :             return -1;
    2091         1228 :           x11 = XVECEXP (x7, 0, 1);
    2092         1228 :           if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
    2093         1228 :               || !register_operand (operands[1], E_V2DImode))
    2094            0 :             return -1;
    2095         1228 :           switch (XVECLEN (x2, 0))
    2096              :             {
    2097          411 :             case 14:
    2098          411 :               if (GET_MODE (x2) != E_V14QImode)
    2099              :                 return -1;
    2100          411 :               x12 = XVECEXP (x2, 0, 0);
    2101          411 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2102              :                 return -1;
    2103          411 :               x13 = XVECEXP (x2, 0, 1);
    2104          411 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2105              :                 return -1;
    2106          411 :               x14 = XVECEXP (x2, 0, 2);
    2107          411 :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2108              :                 return -1;
    2109          411 :               x15 = XVECEXP (x2, 0, 3);
    2110          411 :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2111              :                 return -1;
    2112          411 :               x16 = XVECEXP (x2, 0, 4);
    2113          411 :               if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2114              :                 return -1;
    2115          411 :               x17 = XVECEXP (x2, 0, 5);
    2116          411 :               if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2117              :                 return -1;
    2118          411 :               x18 = XVECEXP (x2, 0, 6);
    2119          411 :               if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2120              :                 return -1;
    2121          411 :               x19 = XVECEXP (x2, 0, 7);
    2122          411 :               if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2123              :                 return -1;
    2124          411 :               x20 = XVECEXP (x2, 0, 8);
    2125          411 :               if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2126              :                 return -1;
    2127          411 :               x21 = XVECEXP (x2, 0, 9);
    2128          411 :               if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2129              :                 return -1;
    2130          411 :               x22 = XVECEXP (x2, 0, 10);
    2131          411 :               if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2132              :                 return -1;
    2133          411 :               x23 = XVECEXP (x2, 0, 11);
    2134          411 :               if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2135              :                 return -1;
    2136          411 :               x24 = XVECEXP (x2, 0, 12);
    2137          411 :               if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2138              :                 return -1;
    2139          411 :               x25 = XVECEXP (x2, 0, 13);
    2140          411 :               if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2141          411 :                   || pattern508 (x1, 
    2142              : E_V16QImode, 
    2143              : E_V2QImode) != 0)
    2144           11 :                 return -1;
    2145              :               return 0;
    2146              : 
    2147          424 :             case 6:
    2148          424 :               if (GET_MODE (x2) != E_V6HImode)
    2149              :                 return -1;
    2150          424 :               x12 = XVECEXP (x2, 0, 0);
    2151          424 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2152              :                 return -1;
    2153          424 :               x13 = XVECEXP (x2, 0, 1);
    2154          424 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2155              :                 return -1;
    2156          424 :               x14 = XVECEXP (x2, 0, 2);
    2157          424 :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2158              :                 return -1;
    2159          424 :               x15 = XVECEXP (x2, 0, 3);
    2160          424 :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2161              :                 return -1;
    2162          424 :               x16 = XVECEXP (x2, 0, 4);
    2163          424 :               if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2164              :                 return -1;
    2165          424 :               x17 = XVECEXP (x2, 0, 5);
    2166          424 :               if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2167          424 :                   || pattern508 (x1, 
    2168              : E_V8HImode, 
    2169              : E_V2HImode) != 0)
    2170           23 :                 return -1;
    2171              :               return 1;
    2172              : 
    2173          393 :             case 2:
    2174          393 :               if (GET_MODE (x2) != E_V2SImode)
    2175              :                 return -1;
    2176          393 :               x12 = XVECEXP (x2, 0, 0);
    2177          393 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2178              :                 return -1;
    2179          393 :               x13 = XVECEXP (x2, 0, 1);
    2180          393 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2181          393 :                   || pattern508 (x1, 
    2182              : E_V4SImode, 
    2183              : E_V2SImode) != 0)
    2184            3 :                 return -1;
    2185              :               return 2;
    2186              : 
    2187              :             default:
    2188              :               return -1;
    2189              :             }
    2190              : 
    2191         1662 :         case 4:
    2192         1662 :           x10 = XVECEXP (x7, 0, 0);
    2193         1662 :           if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2194              :             return -1;
    2195         1662 :           x11 = XVECEXP (x7, 0, 1);
    2196         1662 :           if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    2197              :             return -1;
    2198         1662 :           x26 = XVECEXP (x7, 0, 2);
    2199         1662 :           if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    2200              :             return -1;
    2201         1662 :           x27 = XVECEXP (x7, 0, 3);
    2202         1662 :           if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    2203              :             return -1;
    2204         1662 :           switch (XVECLEN (x2, 0))
    2205              :             {
    2206          828 :             case 12:
    2207          828 :               if (GET_MODE (x2) != E_V12QImode)
    2208              :                 return -1;
    2209          828 :               x12 = XVECEXP (x2, 0, 0);
    2210          828 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2211              :                 return -1;
    2212          828 :               x13 = XVECEXP (x2, 0, 1);
    2213          828 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2214              :                 return -1;
    2215          828 :               x14 = XVECEXP (x2, 0, 2);
    2216          828 :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2217              :                 return -1;
    2218          828 :               x15 = XVECEXP (x2, 0, 3);
    2219          828 :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2220              :                 return -1;
    2221          828 :               x16 = XVECEXP (x2, 0, 4);
    2222          828 :               if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2223              :                 return -1;
    2224          828 :               x17 = XVECEXP (x2, 0, 5);
    2225          828 :               if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2226              :                 return -1;
    2227          828 :               x18 = XVECEXP (x2, 0, 6);
    2228          828 :               if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2229              :                 return -1;
    2230          828 :               x19 = XVECEXP (x2, 0, 7);
    2231          828 :               if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2232              :                 return -1;
    2233          828 :               x20 = XVECEXP (x2, 0, 8);
    2234          828 :               if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2235              :                 return -1;
    2236          828 :               x21 = XVECEXP (x2, 0, 9);
    2237          828 :               if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2238              :                 return -1;
    2239          828 :               x22 = XVECEXP (x2, 0, 10);
    2240          828 :               if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2241              :                 return -1;
    2242          828 :               x23 = XVECEXP (x2, 0, 11);
    2243          828 :               if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2244              :                 return -1;
    2245          828 :               res = pattern509 (x1, 
    2246              : E_V16QImode, 
    2247              : E_V4QImode);
    2248          828 :               if (res >= 0)
    2249          805 :                 return res + 3; /* [3, 4] */
    2250              :               return -1;
    2251              : 
    2252          834 :             case 4:
    2253          834 :               if (GET_MODE (x2) != E_V4HImode)
    2254              :                 return -1;
    2255          834 :               x12 = XVECEXP (x2, 0, 0);
    2256          834 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2257              :                 return -1;
    2258          834 :               x13 = XVECEXP (x2, 0, 1);
    2259          834 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2260              :                 return -1;
    2261          834 :               x14 = XVECEXP (x2, 0, 2);
    2262          834 :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2263              :                 return -1;
    2264          834 :               x15 = XVECEXP (x2, 0, 3);
    2265          834 :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2266              :                 return -1;
    2267          834 :               res = pattern509 (x1, 
    2268              : E_V8HImode, 
    2269              : E_V4HImode);
    2270          834 :               if (res >= 0)
    2271          823 :                 return res + 5; /* [5, 6] */
    2272              :               return -1;
    2273              : 
    2274              :             default:
    2275              :               return -1;
    2276              :             }
    2277              : 
    2278         1224 :         case 8:
    2279         1224 :           x10 = XVECEXP (x7, 0, 0);
    2280         1224 :           if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2281              :             return -1;
    2282         1224 :           x11 = XVECEXP (x7, 0, 1);
    2283         1224 :           if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    2284              :             return -1;
    2285         1224 :           x26 = XVECEXP (x7, 0, 2);
    2286         1224 :           if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    2287              :             return -1;
    2288         1224 :           x27 = XVECEXP (x7, 0, 3);
    2289         1224 :           if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    2290              :             return -1;
    2291         1224 :           x28 = XVECEXP (x7, 0, 4);
    2292         1224 :           if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    2293              :             return -1;
    2294         1224 :           x29 = XVECEXP (x7, 0, 5);
    2295         1224 :           if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    2296              :             return -1;
    2297         1224 :           x30 = XVECEXP (x7, 0, 6);
    2298         1224 :           if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    2299              :             return -1;
    2300         1224 :           x31 = XVECEXP (x7, 0, 7);
    2301         1224 :           if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
    2302         1224 :               || XVECLEN (x2, 0) != 8
    2303         1224 :               || GET_MODE (x2) != E_V8QImode)
    2304              :             return -1;
    2305         1224 :           x12 = XVECEXP (x2, 0, 0);
    2306         1224 :           if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2307              :             return -1;
    2308         1224 :           x13 = XVECEXP (x2, 0, 1);
    2309         1224 :           if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2310              :             return -1;
    2311         1224 :           x14 = XVECEXP (x2, 0, 2);
    2312         1224 :           if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2313              :             return -1;
    2314         1224 :           x15 = XVECEXP (x2, 0, 3);
    2315         1224 :           if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2316              :             return -1;
    2317         1224 :           x16 = XVECEXP (x2, 0, 4);
    2318         1224 :           if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2319              :             return -1;
    2320         1224 :           x17 = XVECEXP (x2, 0, 5);
    2321         1224 :           if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2322              :             return -1;
    2323         1224 :           x18 = XVECEXP (x2, 0, 6);
    2324         1224 :           if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2325              :             return -1;
    2326         1224 :           x19 = XVECEXP (x2, 0, 7);
    2327         1224 :           if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2328         1224 :               || !register_operand (operands[0], E_V16QImode)
    2329         1206 :               || GET_MODE (x1) != E_V16QImode
    2330         1206 :               || GET_MODE (x3) != E_V8QImode
    2331         1206 :               || GET_MODE (x4) != E_V8QImode
    2332         1206 :               || GET_MODE (x6) != E_V8QImode
    2333         2430 :               || !nonimm_or_0_operand (operands[2], E_V16QImode))
    2334           18 :             return -1;
    2335         1206 :           res = pattern510 ();
    2336         1206 :           if (res >= 0)
    2337         1206 :             return res + 7; /* [7, 9] */
    2338              :           return -1;
    2339              : 
    2340              :         default:
    2341              :           return -1;
    2342              :         }
    2343              : 
    2344         1821 :     case CONST_VECTOR:
    2345         1821 :       x9 = XEXP (x3, 2);
    2346         1821 :       operands[2] = x9;
    2347         1821 :       switch (XVECLEN (x6, 0))
    2348              :         {
    2349          555 :         case 2:
    2350          555 :           x32 = XVECEXP (x6, 0, 0);
    2351          555 :           if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2352              :             return -1;
    2353          540 :           x33 = XVECEXP (x6, 0, 1);
    2354          540 :           if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2355          540 :               || !register_operand (operands[1], E_V2DImode))
    2356            0 :             return -1;
    2357          540 :           switch (XVECLEN (x2, 0))
    2358              :             {
    2359          180 :             case 14:
    2360          180 :               if (GET_MODE (x2) != E_V14QImode)
    2361              :                 return -1;
    2362          180 :               x12 = XVECEXP (x2, 0, 0);
    2363          180 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2364              :                 return -1;
    2365          180 :               x13 = XVECEXP (x2, 0, 1);
    2366          180 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2367              :                 return -1;
    2368          180 :               x14 = XVECEXP (x2, 0, 2);
    2369          180 :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2370              :                 return -1;
    2371          180 :               x15 = XVECEXP (x2, 0, 3);
    2372          180 :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2373              :                 return -1;
    2374          180 :               x16 = XVECEXP (x2, 0, 4);
    2375          180 :               if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2376              :                 return -1;
    2377          180 :               x17 = XVECEXP (x2, 0, 5);
    2378          180 :               if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2379              :                 return -1;
    2380          180 :               x18 = XVECEXP (x2, 0, 6);
    2381          180 :               if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2382              :                 return -1;
    2383          180 :               x19 = XVECEXP (x2, 0, 7);
    2384          180 :               if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2385              :                 return -1;
    2386          180 :               x20 = XVECEXP (x2, 0, 8);
    2387          180 :               if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2388              :                 return -1;
    2389          180 :               x21 = XVECEXP (x2, 0, 9);
    2390          180 :               if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2391              :                 return -1;
    2392          180 :               x22 = XVECEXP (x2, 0, 10);
    2393          180 :               if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2394              :                 return -1;
    2395          180 :               x23 = XVECEXP (x2, 0, 11);
    2396          180 :               if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2397              :                 return -1;
    2398          180 :               x24 = XVECEXP (x2, 0, 12);
    2399          180 :               if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2400              :                 return -1;
    2401          180 :               x25 = XVECEXP (x2, 0, 13);
    2402          180 :               if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2403          180 :                   || pattern511 (x1, 
    2404              : E_V2QImode, 
    2405              : E_V16QImode) != 0)
    2406            0 :                 return -1;
    2407              :               return 10;
    2408              : 
    2409          180 :             case 6:
    2410          180 :               if (GET_MODE (x2) != E_V6HImode)
    2411              :                 return -1;
    2412          180 :               x12 = XVECEXP (x2, 0, 0);
    2413          180 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2414              :                 return -1;
    2415          180 :               x13 = XVECEXP (x2, 0, 1);
    2416          180 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2417              :                 return -1;
    2418          180 :               x14 = XVECEXP (x2, 0, 2);
    2419          180 :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2420              :                 return -1;
    2421          180 :               x15 = XVECEXP (x2, 0, 3);
    2422          180 :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2423              :                 return -1;
    2424          180 :               x16 = XVECEXP (x2, 0, 4);
    2425          180 :               if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2426              :                 return -1;
    2427          180 :               x17 = XVECEXP (x2, 0, 5);
    2428          180 :               if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2429          180 :                   || pattern511 (x1, 
    2430              : E_V2HImode, 
    2431              : E_V8HImode) != 0)
    2432            0 :                 return -1;
    2433              :               return 11;
    2434              : 
    2435          180 :             case 2:
    2436          180 :               if (GET_MODE (x2) != E_V2SImode)
    2437              :                 return -1;
    2438          180 :               x12 = XVECEXP (x2, 0, 0);
    2439          180 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2440              :                 return -1;
    2441          180 :               x13 = XVECEXP (x2, 0, 1);
    2442          180 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2443          180 :                   || pattern511 (x1, 
    2444              : E_V2SImode, 
    2445              : E_V4SImode) != 0)
    2446            0 :                 return -1;
    2447              :               return 12;
    2448              : 
    2449              :             default:
    2450              :               return -1;
    2451              :             }
    2452              : 
    2453          726 :         case 4:
    2454          726 :           x32 = XVECEXP (x6, 0, 0);
    2455          726 :           if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2456              :             return -1;
    2457          720 :           x33 = XVECEXP (x6, 0, 1);
    2458          720 :           if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2459              :             return -1;
    2460          720 :           x34 = XVECEXP (x6, 0, 2);
    2461          720 :           if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2462              :             return -1;
    2463          720 :           x35 = XVECEXP (x6, 0, 3);
    2464          720 :           if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2465              :             return -1;
    2466          720 :           switch (XVECLEN (x2, 0))
    2467              :             {
    2468          360 :             case 12:
    2469          360 :               if (GET_MODE (x2) != E_V12QImode)
    2470              :                 return -1;
    2471          360 :               x12 = XVECEXP (x2, 0, 0);
    2472          360 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2473              :                 return -1;
    2474          360 :               x13 = XVECEXP (x2, 0, 1);
    2475          360 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2476              :                 return -1;
    2477          360 :               x14 = XVECEXP (x2, 0, 2);
    2478          360 :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2479              :                 return -1;
    2480          360 :               x15 = XVECEXP (x2, 0, 3);
    2481          360 :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2482              :                 return -1;
    2483          360 :               x16 = XVECEXP (x2, 0, 4);
    2484          360 :               if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2485              :                 return -1;
    2486          360 :               x17 = XVECEXP (x2, 0, 5);
    2487          360 :               if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2488              :                 return -1;
    2489          360 :               x18 = XVECEXP (x2, 0, 6);
    2490          360 :               if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2491              :                 return -1;
    2492          360 :               x19 = XVECEXP (x2, 0, 7);
    2493          360 :               if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2494              :                 return -1;
    2495          360 :               x20 = XVECEXP (x2, 0, 8);
    2496          360 :               if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2497              :                 return -1;
    2498          360 :               x21 = XVECEXP (x2, 0, 9);
    2499          360 :               if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2500              :                 return -1;
    2501          360 :               x22 = XVECEXP (x2, 0, 10);
    2502          360 :               if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2503              :                 return -1;
    2504          360 :               x23 = XVECEXP (x2, 0, 11);
    2505          360 :               if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2506              :                 return -1;
    2507          360 :               res = pattern512 (x1, 
    2508              : E_V4QImode, 
    2509              : E_V16QImode);
    2510          360 :               if (res >= 0)
    2511          360 :                 return res + 13; /* [13, 14] */
    2512              :               return -1;
    2513              : 
    2514          360 :             case 4:
    2515          360 :               if (GET_MODE (x2) != E_V4HImode)
    2516              :                 return -1;
    2517          360 :               x12 = XVECEXP (x2, 0, 0);
    2518          360 :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2519              :                 return -1;
    2520          360 :               x13 = XVECEXP (x2, 0, 1);
    2521          360 :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2522              :                 return -1;
    2523          360 :               x14 = XVECEXP (x2, 0, 2);
    2524          360 :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2525              :                 return -1;
    2526          360 :               x15 = XVECEXP (x2, 0, 3);
    2527          360 :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2528              :                 return -1;
    2529          360 :               res = pattern512 (x1, 
    2530              : E_V4HImode, 
    2531              : E_V8HImode);
    2532          360 :               if (res >= 0)
    2533          360 :                 return res + 15; /* [15, 16] */
    2534              :               return -1;
    2535              : 
    2536              :             default:
    2537              :               return -1;
    2538              :             }
    2539              : 
    2540          540 :         case 8:
    2541          540 :           if (GET_MODE (x6) != E_V8QImode)
    2542              :             return -1;
    2543          540 :           x32 = XVECEXP (x6, 0, 0);
    2544          540 :           if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2545              :             return -1;
    2546          540 :           x33 = XVECEXP (x6, 0, 1);
    2547          540 :           if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2548              :             return -1;
    2549          540 :           x34 = XVECEXP (x6, 0, 2);
    2550          540 :           if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2551              :             return -1;
    2552          540 :           x35 = XVECEXP (x6, 0, 3);
    2553          540 :           if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2554              :             return -1;
    2555          540 :           x36 = XVECEXP (x6, 0, 4);
    2556          540 :           if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2557              :             return -1;
    2558          540 :           x37 = XVECEXP (x6, 0, 5);
    2559          540 :           if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2560              :             return -1;
    2561          540 :           x38 = XVECEXP (x6, 0, 6);
    2562          540 :           if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2563              :             return -1;
    2564          540 :           x39 = XVECEXP (x6, 0, 7);
    2565          540 :           if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2566          540 :               || XVECLEN (x2, 0) != 8
    2567          540 :               || GET_MODE (x2) != E_V8QImode)
    2568              :             return -1;
    2569          540 :           x12 = XVECEXP (x2, 0, 0);
    2570          540 :           if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2571              :             return -1;
    2572          540 :           x13 = XVECEXP (x2, 0, 1);
    2573          540 :           if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2574              :             return -1;
    2575          540 :           x14 = XVECEXP (x2, 0, 2);
    2576          540 :           if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2577              :             return -1;
    2578          540 :           x15 = XVECEXP (x2, 0, 3);
    2579          540 :           if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2580              :             return -1;
    2581          540 :           x16 = XVECEXP (x2, 0, 4);
    2582          540 :           if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2583              :             return -1;
    2584          540 :           x17 = XVECEXP (x2, 0, 5);
    2585          540 :           if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2586              :             return -1;
    2587          540 :           x18 = XVECEXP (x2, 0, 6);
    2588          540 :           if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2589              :             return -1;
    2590          540 :           x19 = XVECEXP (x2, 0, 7);
    2591          540 :           if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2592          540 :               || !register_operand (operands[0], E_V16QImode)
    2593          540 :               || GET_MODE (x1) != E_V16QImode
    2594          540 :               || GET_MODE (x3) != E_V8QImode
    2595         1080 :               || GET_MODE (x4) != E_V8QImode)
    2596            0 :             return -1;
    2597          540 :           res = pattern510 ();
    2598          540 :           if (res >= 0)
    2599          540 :             return res + 17; /* [17, 19] */
    2600              :           return -1;
    2601              : 
    2602              :         default:
    2603              :           return -1;
    2604              :         }
    2605              : 
    2606              :     default:
    2607              :       return -1;
    2608              :     }
    2609              : }
    2610              : 
    2611              : int
    2612        43658 : pattern730 (rtx x1, rtx_code i1)
    2613              : {
    2614        43658 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2615        43658 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2616        43658 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    2617        43658 :   rtx x18;
    2618        43658 :   int res ATTRIBUTE_UNUSED;
    2619        43658 :   x2 = XVECEXP (x1, 0, 0);
    2620        43658 :   x3 = XEXP (x2, 1);
    2621        43658 :   x4 = XEXP (x3, 0);
    2622        43658 :   x5 = XEXP (x4, 0);
    2623        43658 :   if (GET_CODE (x5) != SIGN_EXTEND)
    2624              :     return -1;
    2625        37407 :   x6 = XEXP (x3, 1);
    2626        37407 :   if (GET_CODE (x6) != SIGN_EXTEND)
    2627              :     return -1;
    2628        37407 :   x7 = XEXP (x6, 0);
    2629        37407 :   if (GET_CODE (x7) != i1)
    2630              :     return -1;
    2631        37407 :   x8 = XEXP (x2, 0);
    2632        37407 :   if (GET_CODE (x8) != REG
    2633        37407 :       || REGNO (x8) != 17
    2634        74814 :       || GET_MODE (x8) != E_CCOmode)
    2635              :     return -1;
    2636        37407 :   x9 = XVECEXP (x1, 0, 1);
    2637        37407 :   if (GET_CODE (x9) != SET)
    2638              :     return -1;
    2639        37407 :   x10 = XEXP (x9, 1);
    2640        37407 :   if (GET_CODE (x10) != i1
    2641        37407 :       || GET_MODE (x3) != E_CCOmode)
    2642              :     return -1;
    2643        37407 :   x11 = XEXP (x5, 0);
    2644        37407 :   operands[1] = x11;
    2645        37407 :   x12 = XEXP (x9, 0);
    2646        37407 :   operands[0] = x12;
    2647        37407 :   x13 = XEXP (x7, 0);
    2648        37407 :   if (!rtx_equal_p (x13, operands[1]))
    2649              :     return -1;
    2650        37406 :   x14 = XEXP (x10, 0);
    2651        37406 :   if (!rtx_equal_p (x14, operands[1]))
    2652              :     return -1;
    2653        37405 :   x15 = XEXP (x4, 1);
    2654        37405 :   switch (GET_CODE (x15))
    2655              :     {
    2656        25713 :     case SIGN_EXTEND:
    2657        25713 :       x16 = XEXP (x15, 0);
    2658        25713 :       operands[2] = x16;
    2659        25713 :       x17 = XEXP (x7, 1);
    2660        25713 :       if (!rtx_equal_p (x17, operands[2]))
    2661              :         return -1;
    2662        25713 :       x18 = XEXP (x10, 1);
    2663        25713 :       if (!rtx_equal_p (x18, operands[2]))
    2664              :         return -1;
    2665        25713 :       switch (GET_MODE (x4))
    2666              :         {
    2667        11886 :         case E_TImode:
    2668        11886 :           return pattern728 (x1, 
    2669              : E_DImode, 
    2670        11886 : E_TImode); /* [-1, 0] */
    2671              : 
    2672         3384 :         case E_POImode:
    2673         3384 :           if (pattern728 (x1, 
    2674              : E_TImode, 
    2675              : E_POImode) != 0)
    2676              :             return -1;
    2677              :           return 1;
    2678              : 
    2679              :         default:
    2680              :           return -1;
    2681              :         }
    2682              : 
    2683        11692 :     case CONST_INT:
    2684        11692 :     case CONST_WIDE_INT:
    2685        11692 :       operands[3] = x15;
    2686        11692 :       x17 = XEXP (x7, 1);
    2687        11692 :       operands[2] = x17;
    2688        11692 :       x18 = XEXP (x10, 1);
    2689        11692 :       if (!rtx_equal_p (x18, operands[2]))
    2690              :         return -1;
    2691        11692 :       switch (GET_MODE (x4))
    2692              :         {
    2693         3729 :         case E_TImode:
    2694         3729 :           if (pattern729 (x1, 
    2695              : E_DImode, 
    2696              : E_TImode) != 0)
    2697              :             return -1;
    2698              :           return 2;
    2699              : 
    2700         1007 :         case E_POImode:
    2701         1007 :           if (pattern729 (x1, 
    2702              : E_TImode, 
    2703              : E_POImode) != 0)
    2704              :             return -1;
    2705              :           return 3;
    2706              : 
    2707              :         default:
    2708              :           return -1;
    2709              :         }
    2710              : 
    2711              :     default:
    2712              :       return -1;
    2713              :     }
    2714              : }
    2715              : 
    2716              : int
    2717         5579 : pattern760 (rtx x1, machine_mode i1)
    2718              : {
    2719         5579 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2720         5579 :   rtx x2;
    2721         5579 :   int res ATTRIBUTE_UNUSED;
    2722         5579 :   if (!register_operand (operands[0], i1)
    2723         5579 :       || GET_MODE (x1) != i1)
    2724              :     return -1;
    2725         4063 :   x2 = XEXP (x1, 0);
    2726         4063 :   if (GET_MODE (x2) != i1
    2727         4063 :       || !register_operand (operands[1], i1))
    2728         3854 :     return -1;
    2729              :   return 0;
    2730              : }
    2731              : 
    2732              : int
    2733        10790 : pattern764 (rtx x1, machine_mode i1)
    2734              : {
    2735        10790 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2736        10790 :   rtx x2;
    2737        10790 :   int res ATTRIBUTE_UNUSED;
    2738        10790 :   if (!register_operand (operands[0], i1)
    2739        10790 :       || GET_MODE (x1) != i1)
    2740              :     return -1;
    2741        10038 :   x2 = XEXP (x1, 0);
    2742        10038 :   if (GET_MODE (x2) != i1
    2743        10038 :       || !nonimmediate_operand (operands[1], i1))
    2744         3453 :     return -1;
    2745              :   return 0;
    2746              : }
    2747              : 
    2748              : int
    2749            0 : pattern772 (rtx x1, machine_mode i1, machine_mode i2)
    2750              : {
    2751            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2752            0 :   int res ATTRIBUTE_UNUSED;
    2753            0 :   if (!vector_all_ones_operand (operands[3], i1)
    2754            0 :       || !const0_operand (operands[4], i1)
    2755            0 :       || GET_MODE (x1) != i2
    2756            0 :       || !register_operand (operands[1], i1)
    2757            0 :       || !const0_operand (operands[2], i1))
    2758            0 :     return -1;
    2759              :   return 0;
    2760              : }
    2761              : 
    2762              : int
    2763          176 : pattern777 (rtx x1)
    2764              : {
    2765          176 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2766          176 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2767          176 :   rtx x10;
    2768          176 :   int res ATTRIBUTE_UNUSED;
    2769          176 :   x2 = XEXP (x1, 0);
    2770          176 :   x3 = XEXP (x2, 0);
    2771          176 :   if (GET_MODE (x3) != E_V8HFmode)
    2772              :     return -1;
    2773          176 :   x4 = XEXP (x2, 2);
    2774          176 :   if (GET_CODE (x4) != UNSPEC
    2775          176 :       || XVECLEN (x4, 0) != 1
    2776          176 :       || XINT (x4, 1) != 224
    2777          176 :       || GET_MODE (x4) != E_QImode)
    2778              :     return -1;
    2779          176 :   x5 = XEXP (x1, 2);
    2780          176 :   if (XWINT (x5, 0) != 3L
    2781          176 :       || !register_operand (operands[0], E_V8HFmode)
    2782          148 :       || GET_MODE (x1) != E_V8HFmode
    2783          324 :       || GET_MODE (x2) != E_V8HFmode)
    2784           28 :     return -1;
    2785          148 :   x6 = XVECEXP (x3, 0, 0);
    2786          148 :   operands[1] = x6;
    2787          148 :   if (!nonimmediate_operand (operands[1], E_V8HFmode))
    2788              :     return -1;
    2789          148 :   x7 = XVECEXP (x3, 0, 1);
    2790          148 :   operands[2] = x7;
    2791          148 :   if (!vector_operand (operands[2], E_V8HFmode))
    2792              :     return -1;
    2793          148 :   x8 = XEXP (x2, 1);
    2794          148 :   operands[3] = x8;
    2795          148 :   if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
    2796              :     return -1;
    2797          148 :   x9 = XVECEXP (x4, 0, 0);
    2798          148 :   operands[4] = x9;
    2799          148 :   if (!register_operand (operands[4], E_QImode))
    2800              :     return -1;
    2801          132 :   x10 = XEXP (x1, 1);
    2802          132 :   if (!rtx_equal_p (x10, operands[1]))
    2803              :     return -1;
    2804              :   return 0;
    2805              : }
    2806              : 
    2807              : int
    2808         2186 : pattern793 (rtx x1, machine_mode i1)
    2809              : {
    2810         2186 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2811         2186 :   int res ATTRIBUTE_UNUSED;
    2812         2186 :   if (!register_operand (operands[0], i1)
    2813         2174 :       || GET_MODE (x1) != i1
    2814         2174 :       || !register_operand (operands[2], i1)
    2815         3851 :       || !memory_operand (operands[1], i1))
    2816          655 :     return -1;
    2817              :   return 0;
    2818              : }
    2819              : 
    2820              : int
    2821        48998 : pattern802 (rtx x1, machine_mode i1, machine_mode i2)
    2822              : {
    2823        48998 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2824        48998 :   rtx x2;
    2825        48998 :   int res ATTRIBUTE_UNUSED;
    2826        48998 :   if (!register_operand (operands[0], i2)
    2827        47955 :       || GET_MODE (x1) != i2
    2828        96953 :       || !nonimmediate_operand (operands[1], i1))
    2829         6000 :     return -1;
    2830        42998 :   x2 = XEXP (x1, 1);
    2831        42998 :   if (!rtx_equal_p (x2, operands[1]))
    2832              :     return -1;
    2833              :   return 0;
    2834              : }
    2835              : 
    2836              : int
    2837       103742 : pattern808 (machine_mode i1)
    2838              : {
    2839       103742 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2840       103742 :   int res ATTRIBUTE_UNUSED;
    2841       103742 :   if (!register_operand (operands[0], i1)
    2842       100556 :       || !ix86_comparison_uns_operator (operands[1], i1)
    2843       100459 :       || !register_operand (operands[2], i1)
    2844       169500 :       || !nonimmediate_operand (operands[3], i1))
    2845       102555 :     return -1;
    2846              :   return 0;
    2847              : }
    2848              : 
    2849              : int
    2850      1272071 : pattern817 (rtx x1)
    2851              : {
    2852      1272071 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2853      1272071 :   rtx x2, x3, x4, x5, x6;
    2854      1272071 :   int res ATTRIBUTE_UNUSED;
    2855      1272071 :   if (!movq_parallel (operands[3], E_VOIDmode))
    2856              :     return -1;
    2857        99480 :   x2 = XEXP (x1, 0);
    2858        99480 :   x3 = XEXP (x2, 0);
    2859        99480 :   operands[1] = x3;
    2860        99480 :   x4 = XEXP (x2, 1);
    2861        99480 :   operands[2] = x4;
    2862        99480 :   x5 = XEXP (x1, 1);
    2863        99480 :   x6 = XVECEXP (x5, 0, 0);
    2864        99480 :   operands[4] = x6;
    2865        99480 :   if (!const_int_operand (operands[4], E_VOIDmode))
    2866              :     return -1;
    2867        99480 :   switch (GET_MODE (operands[0]))
    2868              :     {
    2869           24 :     case E_V64QImode:
    2870           24 :       return pattern811 (x1, 
    2871              : E_V64QImode, 
    2872           24 : E_V128QImode); /* [-1, 0] */
    2873              : 
    2874           28 :     case E_V32QImode:
    2875           28 :       if (pattern811 (x1, 
    2876              : E_V32QImode, 
    2877              : E_V64QImode) != 0)
    2878              :         return -1;
    2879              :       return 1;
    2880              : 
    2881          254 :     case E_V16QImode:
    2882          254 :       if (pattern811 (x1, 
    2883              : E_V16QImode, 
    2884              : E_V32QImode) != 0)
    2885              :         return -1;
    2886              :       return 2;
    2887              : 
    2888           46 :     case E_V32HImode:
    2889           46 :       if (pattern811 (x1, 
    2890              : E_V32HImode, 
    2891              : E_V64HImode) != 0)
    2892              :         return -1;
    2893              :       return 3;
    2894              : 
    2895           50 :     case E_V16HImode:
    2896           50 :       if (pattern811 (x1, 
    2897              : E_V16HImode, 
    2898              : E_V32HImode) != 0)
    2899              :         return -1;
    2900              :       return 4;
    2901              : 
    2902          399 :     case E_V8HImode:
    2903          399 :       if (pattern811 (x1, 
    2904              : E_V8HImode, 
    2905              : E_V16HImode) != 0)
    2906              :         return -1;
    2907              :       return 5;
    2908              : 
    2909              :     default:
    2910              :       return -1;
    2911              :     }
    2912              : }
    2913              : 
    2914              : int
    2915        12013 : pattern828 (rtx x1)
    2916              : {
    2917        12013 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2918        12013 :   rtx x2;
    2919        12013 :   int res ATTRIBUTE_UNUSED;
    2920        12013 :   if (GET_MODE (x1) != E_SImode)
    2921              :     return -1;
    2922        12013 :   x2 = XVECEXP (x1, 0, 3);
    2923        12013 :   if (GET_CODE (x2) != REG
    2924        12013 :       || REGNO (x2) != 7
    2925        24026 :       || GET_MODE (x2) != E_SImode)
    2926            0 :     return -1;
    2927              :   return 0;
    2928              : }
    2929              : 
    2930              : int
    2931           61 : pattern833 (rtx x1, int *pnum_clobbers)
    2932              : {
    2933           61 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2934           61 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2935           61 :   int res ATTRIBUTE_UNUSED;
    2936           61 :   x2 = XVECEXP (x1, 0, 0);
    2937           61 :   x3 = XEXP (x2, 1);
    2938           61 :   x4 = XEXP (x3, 0);
    2939           61 :   x5 = XEXP (x4, 0);
    2940           61 :   if (GET_MODE (x5) != E_SImode)
    2941              :     return -1;
    2942           39 :   x6 = XEXP (x3, 1);
    2943           39 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
    2944              :     return -1;
    2945            0 :   x7 = XEXP (x2, 0);
    2946            0 :   operands[0] = x7;
    2947            0 :   if (!register_operand (operands[0], E_DImode)
    2948            0 :       || GET_MODE (x3) != E_DImode
    2949            0 :       || GET_MODE (x4) != E_DImode)
    2950              :     return -1;
    2951            0 :   x8 = XEXP (x5, 0);
    2952            0 :   operands[1] = x8;
    2953            0 :   if (!nonimmediate_operand (operands[1], E_SImode))
    2954              :     return -1;
    2955            0 :   x9 = XVECEXP (x1, 0, 1);
    2956            0 :   return pattern832 (x9, pnum_clobbers); /* [-1, 1] */
    2957              : }
    2958              : 
    2959              : int
    2960            8 : pattern841 (rtx x1)
    2961              : {
    2962            8 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2963            8 :   rtx x2, x3, x4, x5;
    2964            8 :   int res ATTRIBUTE_UNUSED;
    2965            8 :   x2 = XVECEXP (x1, 0, 2);
    2966            8 :   if (GET_CODE (x2) != CLOBBER)
    2967              :     return -1;
    2968            8 :   x3 = XEXP (x2, 0);
    2969            8 :   if (GET_CODE (x3) != REG
    2970            8 :       || REGNO (x3) != 17
    2971           16 :       || GET_MODE (x3) != E_CCmode)
    2972              :     return -1;
    2973            8 :   x4 = XVECEXP (x1, 0, 0);
    2974            8 :   x5 = XEXP (x4, 0);
    2975            8 :   operands[0] = x5;
    2976            8 :   return 0;
    2977              : }
    2978              : 
    2979              : int
    2980           56 : pattern845 (rtx x1)
    2981              : {
    2982           56 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2983           56 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2984           56 :   int res ATTRIBUTE_UNUSED;
    2985           56 :   x2 = XEXP (x1, 1);
    2986           56 :   x3 = XEXP (x2, 0);
    2987           56 :   if (GET_MODE (x3) != E_DImode)
    2988              :     return -1;
    2989           56 :   x4 = XEXP (x3, 0);
    2990           56 :   if (GET_CODE (x4) != MINUS
    2991           54 :       || GET_MODE (x4) != E_SImode)
    2992              :     return -1;
    2993           54 :   x5 = XEXP (x4, 0);
    2994           54 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
    2995              :     return -1;
    2996           54 :   x6 = XEXP (x4, 1);
    2997           54 :   if (GET_CODE (x6) != SUBREG
    2998           54 :       || maybe_ne (SUBREG_BYTE (x6), 0)
    2999          108 :       || GET_MODE (x6) != E_SImode)
    3000              :     return -1;
    3001           54 :   x7 = XEXP (x6, 0);
    3002           54 :   if (GET_CODE (x7) != CLZ
    3003           54 :       || GET_MODE (x7) != E_DImode)
    3004              :     return -1;
    3005           54 :   x8 = XEXP (x2, 1);
    3006           54 :   if (XWINT (x8, 0) != 63L
    3007           54 :       || !register_operand (operands[0], E_DImode)
    3008           54 :       || GET_MODE (x1) != E_DImode
    3009           54 :       || !const_int_operand (operands[2], E_DImode)
    3010           92 :       || GET_MODE (x2) != E_DImode)
    3011           16 :     return -1;
    3012           38 :   x9 = XEXP (x7, 0);
    3013           38 :   operands[1] = x9;
    3014           38 :   if (!nonimmediate_operand (operands[1], E_DImode))
    3015              :     return -1;
    3016              :   return 0;
    3017              : }
    3018              : 
    3019              : int
    3020          176 : pattern858 (rtx x1)
    3021              : {
    3022          176 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3023          176 :   rtx x2, x3, x4, x5, x6, x7;
    3024          176 :   int res ATTRIBUTE_UNUSED;
    3025          176 :   x2 = XVECEXP (x1, 0, 0);
    3026          176 :   if (GET_CODE (x2) != VEC_SELECT)
    3027              :     return -1;
    3028          176 :   x3 = XEXP (x2, 1);
    3029          176 :   if (GET_CODE (x3) != PARALLEL
    3030          176 :       || XVECLEN (x3, 0) != 1)
    3031              :     return -1;
    3032          176 :   x4 = XVECEXP (x3, 0, 0);
    3033          176 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    3034              :     return -1;
    3035          176 :   x5 = XVECEXP (x1, 0, 1);
    3036          176 :   if (GET_CODE (x5) != VEC_SELECT)
    3037              :     return -1;
    3038          176 :   x6 = XEXP (x5, 1);
    3039          176 :   if (GET_CODE (x6) != PARALLEL
    3040          176 :       || XVECLEN (x6, 0) != 1)
    3041              :     return -1;
    3042          176 :   x7 = XVECEXP (x6, 0, 0);
    3043          176 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    3044            0 :     return -1;
    3045              :   return 0;
    3046              : }
    3047              : 
    3048              : int
    3049          475 : pattern865 (rtx x1)
    3050              : {
    3051          475 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3052          475 :   rtx x2, x3, x4, x5;
    3053          475 :   int res ATTRIBUTE_UNUSED;
    3054          475 :   x2 = XEXP (x1, 0);
    3055          475 :   x3 = XEXP (x2, 1);
    3056          475 :   x4 = XEXP (x3, 1);
    3057          475 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    3058              :     return -1;
    3059          472 :   x5 = XEXP (x3, 0);
    3060          472 :   operands[3] = x5;
    3061          472 :   if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
    3062              :     return -1;
    3063          469 :   switch (GET_MODE (operands[0]))
    3064              :     {
    3065            0 :     case E_QImode:
    3066            0 :       return pattern864 (x1, 
    3067            0 : E_QImode); /* [-1, 0] */
    3068              : 
    3069            0 :     case E_HImode:
    3070            0 :       if (pattern864 (x1, 
    3071              : E_HImode) != 0)
    3072              :         return -1;
    3073              :       return 1;
    3074              : 
    3075              :     default:
    3076              :       return -1;
    3077              :     }
    3078              : }
    3079              : 
    3080              : int
    3081         3410 : pattern871 (rtx x1, machine_mode i1)
    3082              : {
    3083         3410 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3084         3410 :   rtx x2;
    3085         3410 :   int res ATTRIBUTE_UNUSED;
    3086         3410 :   if (!memory_operand (operands[0], i1)
    3087         3410 :       || GET_MODE (x1) != i1)
    3088              :     return -1;
    3089         1368 :   x2 = XVECEXP (x1, 0, 0);
    3090         1368 :   if (GET_MODE (x2) != i1
    3091         1368 :       || !nonmemory_operand (operands[1], i1))
    3092         1351 :     return -1;
    3093              :   return 0;
    3094              : }
    3095              : 
    3096              : int
    3097         2583 : pattern876 (rtx x1, machine_mode i1, machine_mode i2)
    3098              : {
    3099         2583 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3100         2583 :   rtx x2;
    3101         2583 :   int res ATTRIBUTE_UNUSED;
    3102         2583 :   if (!register_operand (operands[0], i1)
    3103         2583 :       || GET_MODE (x1) != i1)
    3104              :     return -1;
    3105         2456 :   x2 = XEXP (x1, 0);
    3106         2456 :   if (GET_MODE (x2) != i1
    3107         2456 :       || !nonimmediate_operand (operands[2], i2)
    3108         4691 :       || !register_operand (operands[1], i1))
    3109          705 :     return -1;
    3110              :   return 0;
    3111              : }
    3112              : 
    3113              : int
    3114         7732 : pattern884 (rtx x1, machine_mode i1)
    3115              : {
    3116         7732 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3117         7732 :   rtx x2;
    3118         7732 :   int res ATTRIBUTE_UNUSED;
    3119         7732 :   if (!register_operand (operands[0], i1)
    3120         7732 :       || GET_MODE (x1) != i1)
    3121              :     return -1;
    3122         7660 :   x2 = XEXP (x1, 1);
    3123         7660 :   if (GET_MODE (x2) != i1
    3124         7660 :       || !nonimmediate_operand (operands[1], i1))
    3125         1321 :     return -1;
    3126              :   return 0;
    3127              : }
    3128              : 
    3129              : int
    3130         2490 : pattern890 (rtx x1)
    3131              : {
    3132         2490 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3133         2490 :   rtx x2, x3;
    3134         2490 :   int res ATTRIBUTE_UNUSED;
    3135         2490 :   x2 = XVECEXP (x1, 0, 0);
    3136         2490 :   x3 = XVECEXP (x2, 0, 0);
    3137         2490 :   operands[1] = x3;
    3138         2490 :   if (!const48_operand (operands[2], E_SImode))
    3139              :     return -1;
    3140         2490 :   switch (GET_MODE (operands[0]))
    3141              :     {
    3142          796 :     case E_SImode:
    3143          796 :       return pattern889 (x1, 
    3144          796 : E_SImode); /* [-1, 2] */
    3145              : 
    3146          784 :     case E_DImode:
    3147          784 :       res = pattern889 (x1, 
    3148              : E_DImode);
    3149          784 :       if (res >= 0)
    3150          736 :         return res + 3; /* [3, 5] */
    3151              :       return -1;
    3152              : 
    3153              :     default:
    3154              :       return -1;
    3155              :     }
    3156              : }
    3157              : 
    3158              : int
    3159       125379 : pattern898 (rtx x1, machine_mode i1, machine_mode i2)
    3160              : {
    3161       125379 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3162       125379 :   rtx x2, x3;
    3163       125379 :   int res ATTRIBUTE_UNUSED;
    3164       125379 :   if (!register_operand (operands[0], i1)
    3165       125379 :       || GET_MODE (x1) != i1)
    3166              :     return -1;
    3167       125254 :   x2 = XEXP (x1, 0);
    3168       125254 :   if (GET_MODE (x2) != i1)
    3169              :     return -1;
    3170       125254 :   x3 = XEXP (x2, 0);
    3171       125254 :   if (GET_MODE (x3) != i2
    3172       125254 :       || !register_operand (operands[1], i1))
    3173          802 :     return -1;
    3174       124452 :   switch (GET_MODE (operands[2]))
    3175              :     {
    3176        71864 :     case E_SImode:
    3177        71864 :       if (!nonimmediate_operand (operands[2], E_SImode))
    3178              :         return -1;
    3179              :       return 0;
    3180              : 
    3181        52588 :     case E_DImode:
    3182        52588 :       if (!nonimmediate_operand (operands[2], E_DImode))
    3183              :         return -1;
    3184              :       return 1;
    3185              : 
    3186              :     default:
    3187              :       return -1;
    3188              :     }
    3189              : }
    3190              : 
    3191              : int
    3192         1128 : pattern912 (rtx x1, machine_mode i1, machine_mode i2)
    3193              : {
    3194         1128 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3195         1128 :   rtx x2, x3, x4;
    3196         1128 :   int res ATTRIBUTE_UNUSED;
    3197         1128 :   if (!register_operand (operands[0], i1)
    3198         1128 :       || GET_MODE (x1) != i1)
    3199              :     return -1;
    3200         1092 :   x2 = XVECEXP (x1, 0, 0);
    3201         1092 :   if (GET_MODE (x2) != i1)
    3202              :     return -1;
    3203         1092 :   x3 = XEXP (x2, 0);
    3204         1092 :   if (GET_MODE (x3) != i1)
    3205              :     return -1;
    3206         1092 :   x4 = XEXP (x3, 0);
    3207         1092 :   if (GET_MODE (x4) != i2
    3208         1092 :       || !register_operand (operands[1], i1))
    3209           28 :     return -1;
    3210         1064 :   switch (GET_MODE (operands[2]))
    3211              :     {
    3212          532 :     case E_SImode:
    3213          532 :       if (!register_operand (operands[2], E_SImode))
    3214              :         return -1;
    3215              :       return 0;
    3216              : 
    3217          532 :     case E_DImode:
    3218          532 :       if (!register_operand (operands[2], E_DImode))
    3219              :         return -1;
    3220              :       return 1;
    3221              : 
    3222              :     default:
    3223              :       return -1;
    3224              :     }
    3225              : }
    3226              : 
    3227              : int
    3228         2760 : pattern920 (rtx x1, machine_mode i1)
    3229              : {
    3230         2760 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3231         2760 :   int res ATTRIBUTE_UNUSED;
    3232         2760 :   if (!register_operand (operands[0], i1)
    3233         2307 :       || GET_MODE (x1) != i1
    3234         2307 :       || !nonimmediate_operand (operands[1], i1)
    3235         5038 :       || !nonimm_or_0_operand (operands[2], i1))
    3236          761 :     return -1;
    3237              :   return 0;
    3238              : }
    3239              : 
    3240              : int
    3241          376 : pattern925 (rtx x1)
    3242              : {
    3243          376 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3244          376 :   rtx x2;
    3245          376 :   int res ATTRIBUTE_UNUSED;
    3246          376 :   x2 = XEXP (x1, 0);
    3247          376 :   if (GET_MODE (x2) != E_V8QImode
    3248          376 :       || !register_operand (operands[0], E_V16QImode)
    3249          376 :       || GET_MODE (x1) != E_V16QImode
    3250          376 :       || !register_operand (operands[1], E_V16QImode)
    3251          368 :       || !nonimmediate_operand (operands[2], E_V8HFmode)
    3252          710 :       || !const0_operand (operands[3], E_V8QImode))
    3253           42 :     return -1;
    3254              :   return 0;
    3255              : }
    3256              : 
    3257              : int
    3258          232 : pattern929 (rtx x1, machine_mode i1)
    3259              : {
    3260          232 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3261          232 :   rtx x2;
    3262          232 :   int res ATTRIBUTE_UNUSED;
    3263          232 :   if (!register_operand (operands[0], i1)
    3264          232 :       || GET_MODE (x1) != i1)
    3265              :     return -1;
    3266          223 :   x2 = XEXP (x1, 0);
    3267          223 :   if (GET_MODE (x2) != i1
    3268          223 :       || !nonimmediate_operand (operands[1], i1)
    3269          220 :       || !nonimmediate_operand (operands[2], i1)
    3270          443 :       || !nonimmediate_operand (operands[3], i1))
    3271            3 :     return -1;
    3272              :   return 0;
    3273              : }
    3274              : 
    3275              : int
    3276       180121 : pattern934 (rtx x1)
    3277              : {
    3278       180121 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3279       180121 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    3280       180121 :   rtx x10, x11, x12, x13, x14, x15;
    3281       180121 :   int res ATTRIBUTE_UNUSED;
    3282       180121 :   x2 = XVECEXP (x1, 0, 2);
    3283       180121 :   if (GET_CODE (x2) != CONST_INT)
    3284              :     return -1;
    3285       180121 :   x3 = XVECEXP (x1, 0, 3);
    3286       180121 :   if (GET_CODE (x3) != CONST_INT)
    3287              :     return -1;
    3288       180121 :   x4 = XVECEXP (x1, 0, 4);
    3289       180121 :   if (GET_CODE (x4) != CONST_INT)
    3290              :     return -1;
    3291       180121 :   x5 = XVECEXP (x1, 0, 5);
    3292       180121 :   if (GET_CODE (x5) != CONST_INT)
    3293              :     return -1;
    3294       180121 :   x6 = XVECEXP (x1, 0, 6);
    3295       180121 :   if (GET_CODE (x6) != CONST_INT)
    3296              :     return -1;
    3297       180121 :   x7 = XVECEXP (x1, 0, 7);
    3298       180121 :   if (GET_CODE (x7) != CONST_INT)
    3299              :     return -1;
    3300       180121 :   x8 = XVECEXP (x1, 0, 8);
    3301       180121 :   if (GET_CODE (x8) != CONST_INT)
    3302              :     return -1;
    3303       180121 :   x9 = XVECEXP (x1, 0, 9);
    3304       180121 :   if (GET_CODE (x9) != CONST_INT)
    3305              :     return -1;
    3306       180121 :   x10 = XVECEXP (x1, 0, 10);
    3307       180121 :   if (GET_CODE (x10) != CONST_INT)
    3308              :     return -1;
    3309       180121 :   x11 = XVECEXP (x1, 0, 11);
    3310       180121 :   if (GET_CODE (x11) != CONST_INT)
    3311              :     return -1;
    3312       180121 :   x12 = XVECEXP (x1, 0, 12);
    3313       180121 :   if (GET_CODE (x12) != CONST_INT)
    3314              :     return -1;
    3315       180121 :   x13 = XVECEXP (x1, 0, 13);
    3316       180121 :   if (GET_CODE (x13) != CONST_INT)
    3317              :     return -1;
    3318       180121 :   x14 = XVECEXP (x1, 0, 14);
    3319       180121 :   if (GET_CODE (x14) != CONST_INT)
    3320              :     return -1;
    3321       180121 :   x15 = XVECEXP (x1, 0, 15);
    3322       180121 :   if (GET_CODE (x15) != CONST_INT)
    3323            0 :     return -1;
    3324              :   return 0;
    3325              : }
    3326              : 
    3327              : int
    3328         7916 : pattern950 (rtx x1, machine_mode i1)
    3329              : {
    3330         7916 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3331         7916 :   rtx x2;
    3332         7916 :   int res ATTRIBUTE_UNUSED;
    3333         7916 :   if (!register_operand (operands[0], i1)
    3334         7916 :       || GET_MODE (x1) != i1)
    3335              :     return -1;
    3336         7865 :   x2 = XEXP (x1, 0);
    3337         7865 :   if (GET_MODE (x2) != i1
    3338         7865 :       || !register_operand (operands[1], i1))
    3339         3139 :     return -1;
    3340              :   return 0;
    3341              : }
    3342              : 
    3343              : int
    3344          885 : pattern959 (rtx x1, machine_mode i1)
    3345              : {
    3346          885 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3347          885 :   rtx x2;
    3348          885 :   int res ATTRIBUTE_UNUSED;
    3349          885 :   if (!register_operand (operands[0], i1)
    3350          885 :       || GET_MODE (x1) != i1)
    3351              :     return -1;
    3352          877 :   x2 = XEXP (x1, 0);
    3353          877 :   if (GET_MODE (x2) != i1
    3354          877 :       || !register_operand (operands[1], i1)
    3355          297 :       || !const0_operand (operands[2], i1)
    3356          957 :       || !const1_operand (operands[3], i1))
    3357          877 :     return -1;
    3358              :   return 0;
    3359              : }
    3360              : 
    3361              : int
    3362      4583474 : pattern967 (rtx x1, machine_mode i1)
    3363              : {
    3364      4583474 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3365      4583474 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    3366      4583474 :   int res ATTRIBUTE_UNUSED;
    3367      4583474 :   operands[1] = x1;
    3368      4583474 :   if (!general_reg_operand (operands[1], i1))
    3369              :     return -1;
    3370      1094120 :   x2 = PATTERN (peep2_next_insn (2));
    3371      1094120 :   if (GET_CODE (x2) != PARALLEL
    3372       169032 :       || XVECLEN (x2, 0) != 2)
    3373              :     return -1;
    3374       156812 :   x3 = XVECEXP (x2, 0, 0);
    3375       156812 :   if (GET_CODE (x3) != SET)
    3376              :     return -1;
    3377       156676 :   x4 = XEXP (x3, 0);
    3378       156676 :   if (GET_CODE (x4) != REG
    3379       156676 :       || REGNO (x4) != 17)
    3380              :     return -1;
    3381        18079 :   x5 = XVECEXP (x2, 0, 1);
    3382        18079 :   if (GET_CODE (x5) != SET)
    3383              :     return -1;
    3384        17460 :   x6 = XEXP (x3, 1);
    3385        17460 :   operands[5] = x6;
    3386        17460 :   x7 = XEXP (x5, 1);
    3387        17460 :   operands[6] = x7;
    3388        17460 :   x8 = XEXP (x5, 0);
    3389        17460 :   if (!rtx_equal_p (x8, operands[0]))
    3390              :     return -1;
    3391        10629 :   x9 = PATTERN (peep2_next_insn (3));
    3392        10629 :   return pattern966 (x9, 
    3393        10629 : i1); /* [-1, 0] */
    3394              : }
    3395              : 
    3396              : int
    3397         7308 : pattern974 (rtx x1, machine_mode i1)
    3398              : {
    3399         7308 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3400         7308 :   int res ATTRIBUTE_UNUSED;
    3401         7308 :   if (!register_operand (operands[0], i1)
    3402         7301 :       || GET_MODE (x1) != i1
    3403         7301 :       || !register_operand (operands[1], i1)
    3404        14578 :       || !register_operand (operands[2], i1))
    3405           51 :     return -1;
    3406              :   return 0;
    3407              : }
    3408              : 
    3409              : int
    3410          168 : pattern978 (rtx x1)
    3411              : {
    3412          168 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3413          168 :   rtx x2;
    3414          168 :   int res ATTRIBUTE_UNUSED;
    3415          168 :   if (!register_operand (operands[0], E_QImode)
    3416          168 :       || GET_MODE (x1) != E_QImode)
    3417              :     return -1;
    3418          168 :   x2 = XEXP (x1, 0);
    3419          168 :   if (GET_MODE (x2) != E_QImode)
    3420              :     return -1;
    3421          168 :   switch (GET_MODE (operands[1]))
    3422              :     {
    3423            3 :     case E_V8SImode:
    3424            3 :       if (!register_operand (operands[1], E_V8SImode)
    3425            3 :           || !nonimmediate_operand (operands[2], E_V8SImode)
    3426            6 :           || !const_0_to_7_operand (operands[3], E_SImode))
    3427            0 :         return -1;
    3428              :       return 0;
    3429              : 
    3430            0 :     case E_V4SImode:
    3431            0 :       if (!register_operand (operands[1], E_V4SImode)
    3432            0 :           || !nonimmediate_operand (operands[2], E_V4SImode)
    3433            0 :           || !const_0_to_7_operand (operands[3], E_SImode))
    3434            0 :         return -1;
    3435              :       return 1;
    3436              : 
    3437           29 :     case E_V8DImode:
    3438           29 :       if (!register_operand (operands[1], E_V8DImode)
    3439           29 :           || !nonimmediate_operand (operands[2], E_V8DImode)
    3440           58 :           || !const_0_to_7_operand (operands[3], E_SImode))
    3441            0 :         return -1;
    3442              :       return 2;
    3443              : 
    3444            0 :     case E_V4DImode:
    3445            0 :       if (!register_operand (operands[1], E_V4DImode)
    3446            0 :           || !nonimmediate_operand (operands[2], E_V4DImode)
    3447            0 :           || !const_0_to_7_operand (operands[3], E_SImode))
    3448            0 :         return -1;
    3449              :       return 3;
    3450              : 
    3451            0 :     case E_V2DImode:
    3452            0 :       if (!register_operand (operands[1], E_V2DImode)
    3453            0 :           || !nonimmediate_operand (operands[2], E_V2DImode)
    3454            0 :           || !const_0_to_7_operand (operands[3], E_SImode))
    3455            0 :         return -1;
    3456              :       return 4;
    3457              : 
    3458            0 :     case E_V8HFmode:
    3459            0 :       if (!register_operand (operands[1], E_V8HFmode)
    3460            0 :           || !nonimmediate_operand (operands[2], E_V8HFmode)
    3461            0 :           || !const_0_to_31_operand (operands[3], E_SImode))
    3462            0 :         return -1;
    3463              :       return 5;
    3464              : 
    3465            3 :     case E_V8SFmode:
    3466            3 :       if (!register_operand (operands[1], E_V8SFmode)
    3467            3 :           || !nonimmediate_operand (operands[2], E_V8SFmode)
    3468            6 :           || !const_0_to_31_operand (operands[3], E_SImode))
    3469            0 :         return -1;
    3470              :       return 6;
    3471              : 
    3472           21 :     case E_V4SFmode:
    3473           21 :       if (!register_operand (operands[1], E_V4SFmode)
    3474           18 :           || !nonimmediate_operand (operands[2], E_V4SFmode)
    3475           33 :           || !const_0_to_31_operand (operands[3], E_SImode))
    3476            9 :         return -1;
    3477              :       return 7;
    3478              : 
    3479           50 :     case E_V8DFmode:
    3480           50 :       if (!register_operand (operands[1], E_V8DFmode)
    3481           50 :           || !nonimmediate_operand (operands[2], E_V8DFmode)
    3482          100 :           || !const_0_to_31_operand (operands[3], E_SImode))
    3483            0 :         return -1;
    3484              :       return 8;
    3485              : 
    3486           25 :     case E_V4DFmode:
    3487           25 :       if (!register_operand (operands[1], E_V4DFmode)
    3488           25 :           || !nonimmediate_operand (operands[2], E_V4DFmode)
    3489           50 :           || !const_0_to_31_operand (operands[3], E_SImode))
    3490            0 :         return -1;
    3491              :       return 9;
    3492              : 
    3493           34 :     case E_V2DFmode:
    3494           34 :       if (!register_operand (operands[1], E_V2DFmode)
    3495           34 :           || !nonimmediate_operand (operands[2], E_V2DFmode)
    3496           68 :           || !const_0_to_31_operand (operands[3], E_SImode))
    3497            0 :         return -1;
    3498              :       return 10;
    3499              : 
    3500            3 :     case E_V8HImode:
    3501            3 :       if (!register_operand (operands[1], E_V8HImode)
    3502            3 :           || !nonimmediate_operand (operands[2], E_V8HImode)
    3503            6 :           || !const_0_to_7_operand (operands[3], E_SImode))
    3504            0 :         return -1;
    3505              :       return 11;
    3506              : 
    3507              :     default:
    3508              :       return -1;
    3509              :     }
    3510              : }
    3511              : 
    3512              : int
    3513          622 : pattern1001 (rtx x1)
    3514              : {
    3515          622 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3516          622 :   rtx x2;
    3517          622 :   int res ATTRIBUTE_UNUSED;
    3518          622 :   if (!register_operand (operands[0], E_V8DImode)
    3519          622 :       || GET_MODE (x1) != E_V8DImode)
    3520              :     return -1;
    3521          508 :   x2 = XEXP (x1, 0);
    3522          508 :   if (GET_MODE (x2) != E_V8DImode
    3523          508 :       || !nonimm_or_0_operand (operands[2], E_V8DImode)
    3524          972 :       || !register_operand (operands[3], E_QImode))
    3525          108 :     return -1;
    3526          400 :   switch (GET_MODE (operands[1]))
    3527              :     {
    3528          146 :     case E_V8HFmode:
    3529          146 :       if (!vector_operand (operands[1], E_V8HFmode))
    3530              :         return -1;
    3531              :       return 0;
    3532              : 
    3533          126 :     case E_V8DFmode:
    3534          126 :       if (!vector_operand (operands[1], E_V8DFmode))
    3535              :         return -1;
    3536              :       return 1;
    3537              : 
    3538          128 :     case E_V8SFmode:
    3539          128 :       if (!vector_operand (operands[1], E_V8SFmode))
    3540              :         return -1;
    3541              :       return 2;
    3542              : 
    3543              :     default:
    3544              :       return -1;
    3545              :     }
    3546              : }
    3547              : 
    3548              : int
    3549         3351 : pattern1009 (rtx x1, machine_mode i1)
    3550              : {
    3551         3351 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3552         3351 :   rtx x2, x3, x4;
    3553         3351 :   int res ATTRIBUTE_UNUSED;
    3554         3351 :   if (!register_operand (operands[0], i1)
    3555         3351 :       || GET_MODE (x1) != i1)
    3556              :     return -1;
    3557         3239 :   x2 = XEXP (x1, 0);
    3558         3239 :   if (GET_MODE (x2) != i1)
    3559              :     return -1;
    3560         3239 :   x3 = XVECEXP (x2, 0, 0);
    3561         3239 :   if (!register_operand (x3, i1))
    3562              :     return -1;
    3563         3201 :   x4 = XVECEXP (x2, 0, 1);
    3564         3201 :   if (!register_operand (x4, i1))
    3565              :     return -1;
    3566              :   return 0;
    3567              : }
    3568              : 
    3569              : int
    3570            0 : pattern1019 (rtx x1, machine_mode i1, machine_mode i2)
    3571              : {
    3572            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3573            0 :   rtx x2, x3;
    3574            0 :   int res ATTRIBUTE_UNUSED;
    3575            0 :   if (!register_operand (operands[0], i1)
    3576            0 :       || GET_MODE (x1) != i1
    3577            0 :       || !vector_operand (operands[1], i1)
    3578            0 :       || !vector_operand (operands[2], i1))
    3579            0 :     return -1;
    3580            0 :   x2 = XEXP (x1, 2);
    3581            0 :   if (GET_MODE (x2) != i2)
    3582              :     return -1;
    3583            0 :   x3 = XVECEXP (x2, 0, 0);
    3584            0 :   if (GET_MODE (x3) != i1
    3585            0 :       || !register_operand (operands[3], i1)
    3586            0 :       || !const0_operand (operands[4], i1))
    3587            0 :     return -1;
    3588              :   return 0;
    3589              : }
    3590              : 
    3591              : int
    3592          444 : pattern1026 (rtx x1, machine_mode i1)
    3593              : {
    3594          444 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3595          444 :   int res ATTRIBUTE_UNUSED;
    3596          444 :   if (!register_operand (operands[0], i1)
    3597          444 :       || GET_MODE (x1) != i1
    3598          444 :       || !ix86_comparison_uns_operator (operands[1], i1)
    3599          444 :       || !register_operand (operands[2], i1)
    3600          888 :       || !nonimmediate_operand (operands[3], i1))
    3601            0 :     return -1;
    3602              :   return 0;
    3603              : }
    3604              : 
    3605              : int
    3606          213 : pattern1032 (rtx x1, machine_mode i1, machine_mode i2)
    3607              : {
    3608          213 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3609          213 :   rtx x2;
    3610          213 :   int res ATTRIBUTE_UNUSED;
    3611          213 :   x2 = XVECEXP (x1, 0, 0);
    3612          213 :   if (GET_MODE (x2) != i2
    3613          213 :       || !register_operand (operands[0], i2)
    3614          209 :       || GET_MODE (x1) != i2
    3615          209 :       || !register_operand (operands[1], i1)
    3616          418 :       || !const48_operand (operands[2], E_SImode))
    3617            8 :     return -1;
    3618              :   return 0;
    3619              : }
    3620              : 
    3621              : int
    3622        29502 : pattern1038 (rtx x1, machine_mode i1)
    3623              : {
    3624        29502 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3625        29502 :   int res ATTRIBUTE_UNUSED;
    3626        29502 :   if (!register_operand (operands[0], i1)
    3627        28637 :       || GET_MODE (x1) != i1
    3628        28637 :       || !register_operand (operands[1], i1)
    3629        21454 :       || !vector_operand (operands[2], i1)
    3630        48010 :       || !register_operand (operands[3], i1))
    3631        13909 :     return -1;
    3632              :   return 0;
    3633              : }
    3634              : 
    3635              : int
    3636         1312 : pattern1044 (rtx x1, machine_mode i1, machine_mode i2)
    3637              : {
    3638         1312 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3639         1312 :   rtx x2;
    3640         1312 :   int res ATTRIBUTE_UNUSED;
    3641         1312 :   if (!nonimmediate_operand (operands[0], i2)
    3642         1312 :       || GET_MODE (x1) != i2
    3643         2624 :       || !nonimmediate_operand (operands[1], i1))
    3644            0 :     return -1;
    3645         1312 :   x2 = XEXP (x1, 1);
    3646         1312 :   if (GET_MODE (x2) != i1)
    3647              :     return -1;
    3648              :   return 0;
    3649              : }
    3650              : 
    3651              : int
    3652         9623 : pattern1052 (rtx x1)
    3653              : {
    3654         9623 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3655         9623 :   rtx x2, x3, x4;
    3656         9623 :   int res ATTRIBUTE_UNUSED;
    3657         9623 :   x2 = XEXP (x1, 0);
    3658         9623 :   x3 = XEXP (x2, 0);
    3659         9623 :   operands[1] = x3;
    3660         9623 :   x4 = XEXP (x2, 1);
    3661         9623 :   operands[2] = x4;
    3662         9623 :   return pattern1051 (x1); /* [-1, 5] */
    3663              : }
    3664              : 
    3665              : int
    3666          328 : pattern1053 (rtx x1, machine_mode i1)
    3667              : {
    3668          328 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3669          328 :   rtx x2, x3, x4, x5, x6;
    3670          328 :   int res ATTRIBUTE_UNUSED;
    3671          328 :   if (!register_operand (operands[0], i1))
    3672              :     return -1;
    3673          328 :   x2 = XVECEXP (x1, 0, 0);
    3674          328 :   x3 = XEXP (x2, 1);
    3675          328 :   if (GET_MODE (x3) != i1)
    3676              :     return -1;
    3677          328 :   x4 = XEXP (x3, 0);
    3678          328 :   switch (GET_MODE (x4))
    3679              :     {
    3680           70 :     case E_HImode:
    3681           70 :       if (!register_operand (operands[4], E_HImode))
    3682              :         return -1;
    3683           70 :       x5 = XVECEXP (x1, 0, 1);
    3684           70 :       x6 = XEXP (x5, 1);
    3685           70 :       if (GET_MODE (x6) != E_HImode)
    3686              :         return -1;
    3687           70 :       switch (GET_MODE (operands[1]))
    3688              :         {
    3689           14 :         case E_V16SImode:
    3690           14 :           if (!nonimmediate_operand (operands[1], E_V16SImode)
    3691           12 :               || !nonimmediate_operand (operands[2], E_V16SImode)
    3692           26 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3693            2 :             return -1;
    3694              :           return 0;
    3695              : 
    3696           14 :         case E_V16HFmode:
    3697           14 :           if (!nonimmediate_operand (operands[1], E_V16HFmode)
    3698           12 :               || !nonimmediate_operand (operands[2], E_V16HFmode)
    3699           26 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3700            2 :             return -1;
    3701              :           return 1;
    3702              : 
    3703           14 :         case E_V16SFmode:
    3704           14 :           if (!nonimmediate_operand (operands[1], E_V16SFmode)
    3705           12 :               || !nonimmediate_operand (operands[2], E_V16SFmode)
    3706           26 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3707            2 :             return -1;
    3708              :           return 2;
    3709              : 
    3710           14 :         case E_V16QImode:
    3711           14 :           if (!nonimmediate_operand (operands[1], E_V16QImode)
    3712           12 :               || !nonimmediate_operand (operands[2], E_V16QImode)
    3713           26 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3714            2 :             return -1;
    3715              :           return 3;
    3716              : 
    3717           14 :         case E_V16HImode:
    3718           14 :           if (!nonimmediate_operand (operands[1], E_V16HImode)
    3719           12 :               || !nonimmediate_operand (operands[2], E_V16HImode)
    3720           26 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3721            2 :             return -1;
    3722              :           return 4;
    3723              : 
    3724              :         default:
    3725              :           return -1;
    3726              :         }
    3727              : 
    3728          237 :     case E_QImode:
    3729          237 :       if (!register_operand (operands[4], E_QImode))
    3730              :         return -1;
    3731          237 :       x5 = XVECEXP (x1, 0, 1);
    3732          237 :       x6 = XEXP (x5, 1);
    3733          237 :       if (GET_MODE (x6) != E_QImode)
    3734              :         return -1;
    3735          237 :       switch (GET_MODE (operands[1]))
    3736              :         {
    3737           21 :         case E_V8SImode:
    3738           21 :           if (!nonimmediate_operand (operands[1], E_V8SImode)
    3739           18 :               || !nonimmediate_operand (operands[2], E_V8SImode)
    3740           39 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3741            3 :             return -1;
    3742              :           return 5;
    3743              : 
    3744           21 :         case E_V4SImode:
    3745           21 :           if (!nonimmediate_operand (operands[1], E_V4SImode)
    3746           18 :               || !nonimmediate_operand (operands[2], E_V4SImode)
    3747           39 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3748            3 :             return -1;
    3749              :           return 6;
    3750              : 
    3751           21 :         case E_V8DImode:
    3752           21 :           if (!nonimmediate_operand (operands[1], E_V8DImode)
    3753           18 :               || !nonimmediate_operand (operands[2], E_V8DImode)
    3754           39 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3755            3 :             return -1;
    3756              :           return 7;
    3757              : 
    3758           21 :         case E_V4DImode:
    3759           21 :           if (!nonimmediate_operand (operands[1], E_V4DImode)
    3760           18 :               || !nonimmediate_operand (operands[2], E_V4DImode)
    3761           39 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3762            3 :             return -1;
    3763              :           return 8;
    3764              : 
    3765           21 :         case E_V2DImode:
    3766           21 :           if (!nonimmediate_operand (operands[1], E_V2DImode)
    3767           18 :               || !nonimmediate_operand (operands[2], E_V2DImode)
    3768           39 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3769            3 :             return -1;
    3770              :           return 9;
    3771              : 
    3772           15 :         case E_V8HFmode:
    3773           15 :           if (!nonimmediate_operand (operands[1], E_V8HFmode)
    3774           15 :               || !nonimmediate_operand (operands[2], E_V8HFmode)
    3775           30 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3776            0 :             return -1;
    3777              :           return 10;
    3778              : 
    3779           21 :         case E_V8SFmode:
    3780           21 :           if (!nonimmediate_operand (operands[1], E_V8SFmode)
    3781           18 :               || !nonimmediate_operand (operands[2], E_V8SFmode)
    3782           39 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3783            3 :             return -1;
    3784              :           return 11;
    3785              : 
    3786           21 :         case E_V4SFmode:
    3787           21 :           if (!nonimmediate_operand (operands[1], E_V4SFmode)
    3788           18 :               || !nonimmediate_operand (operands[2], E_V4SFmode)
    3789           39 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3790            3 :             return -1;
    3791              :           return 12;
    3792              : 
    3793           21 :         case E_V8DFmode:
    3794           21 :           if (!nonimmediate_operand (operands[1], E_V8DFmode)
    3795           18 :               || !nonimmediate_operand (operands[2], E_V8DFmode)
    3796           39 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3797            3 :             return -1;
    3798              :           return 13;
    3799              : 
    3800           21 :         case E_V4DFmode:
    3801           21 :           if (!nonimmediate_operand (operands[1], E_V4DFmode)
    3802           18 :               || !nonimmediate_operand (operands[2], E_V4DFmode)
    3803           39 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3804            3 :             return -1;
    3805              :           return 14;
    3806              : 
    3807           21 :         case E_V2DFmode:
    3808           21 :           if (!nonimmediate_operand (operands[1], E_V2DFmode)
    3809           18 :               || !nonimmediate_operand (operands[2], E_V2DFmode)
    3810           39 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3811            3 :             return -1;
    3812              :           return 15;
    3813              : 
    3814           12 :         case E_V8HImode:
    3815           12 :           if (!nonimmediate_operand (operands[1], E_V8HImode)
    3816           12 :               || !nonimmediate_operand (operands[2], E_V8HImode)
    3817           24 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3818            0 :             return -1;
    3819              :           return 16;
    3820              : 
    3821              :         default:
    3822              :           return -1;
    3823              :         }
    3824              : 
    3825           21 :     case E_SImode:
    3826           21 :       if (!register_operand (operands[4], E_SImode))
    3827              :         return -1;
    3828           21 :       x5 = XVECEXP (x1, 0, 1);
    3829           21 :       x6 = XEXP (x5, 1);
    3830           21 :       if (GET_MODE (x6) != E_SImode)
    3831              :         return -1;
    3832           21 :       switch (GET_MODE (operands[1]))
    3833              :         {
    3834            7 :         case E_V32HFmode:
    3835            7 :           if (!nonimmediate_operand (operands[1], E_V32HFmode)
    3836            6 :               || !nonimmediate_operand (operands[2], E_V32HFmode)
    3837           13 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3838            1 :             return -1;
    3839              :           return 17;
    3840              : 
    3841            7 :         case E_V32QImode:
    3842            7 :           if (!nonimmediate_operand (operands[1], E_V32QImode)
    3843            6 :               || !nonimmediate_operand (operands[2], E_V32QImode)
    3844           13 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3845            1 :             return -1;
    3846              :           return 18;
    3847              : 
    3848            7 :         case E_V32HImode:
    3849            7 :           if (!nonimmediate_operand (operands[1], E_V32HImode)
    3850            6 :               || !nonimmediate_operand (operands[2], E_V32HImode)
    3851           13 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3852            1 :             return -1;
    3853              :           return 19;
    3854              : 
    3855              :         default:
    3856              :           return -1;
    3857              :         }
    3858              : 
    3859            0 :     case E_DImode:
    3860            0 :       if (!nonimmediate_operand (operands[1], E_V64QImode)
    3861            0 :           || !nonimmediate_operand (operands[2], E_V64QImode)
    3862            0 :           || !const_0_to_7_operand (operands[3], E_SImode)
    3863            0 :           || !register_operand (operands[4], E_DImode))
    3864            0 :         return -1;
    3865            0 :       x5 = XVECEXP (x1, 0, 1);
    3866            0 :       x6 = XEXP (x5, 1);
    3867            0 :       if (GET_MODE (x6) != E_DImode)
    3868              :         return -1;
    3869              :       return 20;
    3870              : 
    3871              :     default:
    3872              :       return -1;
    3873              :     }
    3874              : }
    3875              : 
    3876              : int
    3877        15126 : pattern1132 (rtx x1, machine_mode i1)
    3878              : {
    3879        15126 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3880        15126 :   int res ATTRIBUTE_UNUSED;
    3881        15126 :   if (!register_operand (operands[0], i1)
    3882        15082 :       || GET_MODE (x1) != i1
    3883        15082 :       || !nonimmediate_operand (operands[2], i1)
    3884        12996 :       || !register_operand (operands[1], i1)
    3885        22189 :       || !avx2_pblendw_operand (operands[3], E_SImode))
    3886         8153 :     return -1;
    3887              :   return 0;
    3888              : }
    3889              : 
    3890              : int
    3891          558 : pattern1139 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
    3892              : {
    3893          558 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3894          558 :   rtx x2, x3, x4;
    3895          558 :   int res ATTRIBUTE_UNUSED;
    3896          558 :   if (!register_operand (operands[0], i2)
    3897          558 :       || GET_MODE (x1) != i2)
    3898              :     return -1;
    3899          543 :   x2 = XEXP (x1, 0);
    3900          543 :   if (GET_MODE (x2) != i2)
    3901              :     return -1;
    3902          543 :   x3 = XEXP (x2, 0);
    3903          543 :   if (GET_MODE (x3) != i4
    3904          543 :       || !nonimmediate_operand (operands[2], i3))
    3905            0 :     return -1;
    3906          543 :   x4 = XEXP (x2, 1);
    3907          543 :   return pattern1138 (x4, 
    3908              : i1, 
    3909              : i2, 
    3910              : i3, 
    3911          543 : i4); /* [-1, 0] */
    3912              : }
    3913              : 
    3914              : int
    3915          630 : pattern1145 (rtx x1, machine_mode i1)
    3916              : {
    3917          630 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3918          630 :   rtx x2;
    3919          630 :   int res ATTRIBUTE_UNUSED;
    3920          630 :   if (!register_operand (operands[0], i1)
    3921          630 :       || GET_MODE (x1) != i1)
    3922              :     return -1;
    3923          594 :   x2 = XVECEXP (x1, 0, 0);
    3924          594 :   if (GET_MODE (x2) != i1
    3925          594 :       || !register_operand (operands[1], i1)
    3926         1168 :       || !register_operand (operands[2], i1))
    3927           28 :     return -1;
    3928              :   return 0;
    3929              : }
    3930              : 
    3931              : int
    3932          526 : pattern1152 (rtx x1, machine_mode i1, machine_mode i2)
    3933              : {
    3934          526 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3935          526 :   rtx x2;
    3936          526 :   int res ATTRIBUTE_UNUSED;
    3937          526 :   if (!register_operand (operands[0], i2)
    3938          526 :       || GET_MODE (x1) != i2)
    3939              :     return -1;
    3940          433 :   x2 = XEXP (x1, 0);
    3941          433 :   if (GET_MODE (x2) != i1
    3942          433 :       || !nonimmediate_operand (operands[1], i2)
    3943          785 :       || !const0_operand (operands[2], i1))
    3944           87 :     return -1;
    3945              :   return 0;
    3946              : }
    3947              : 
    3948              : int
    3949         3636 : pattern1160 (rtx x1, machine_mode i1)
    3950              : {
    3951         3636 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3952         3636 :   int res ATTRIBUTE_UNUSED;
    3953         3636 :   if (!memory_operand (operands[0], i1)
    3954         3636 :       || GET_MODE (x1) != i1
    3955         7272 :       || !memory_operand (operands[1], i1))
    3956            0 :     return -1;
    3957         3636 :   switch (GET_MODE (operands[2]))
    3958              :     {
    3959           16 :     case E_SImode:
    3960           16 :       if (!register_operand (operands[2], E_SImode))
    3961              :         return -1;
    3962              :       return 0;
    3963              : 
    3964         3620 :     case E_DImode:
    3965         3620 :       if (!register_operand (operands[2], E_DImode))
    3966              :         return -1;
    3967              :       return 1;
    3968              : 
    3969              :     default:
    3970              :       return -1;
    3971              :     }
    3972              : }
    3973              : 
    3974              : int
    3975        60046 : pattern1169 (rtx x1)
    3976              : {
    3977        60046 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3978        60046 :   rtx x2, x3, x4, x5;
    3979        60046 :   int res ATTRIBUTE_UNUSED;
    3980        60046 :   x2 = XEXP (x1, 0);
    3981        60046 :   x3 = XEXP (x2, 0);
    3982        60046 :   x4 = XEXP (x3, 0);
    3983        60046 :   if (GET_CODE (x4) != ZERO_EXTEND)
    3984              :     return -1;
    3985          159 :   x5 = XEXP (x2, 1);
    3986          159 :   if (GET_CODE (x5) != ZERO_EXTEND)
    3987              :     return -1;
    3988          107 :   return pattern360 (x1); /* [-1, 3] */
    3989              : }
    3990              : 
    3991              : int
    3992            0 : pattern1173 (rtx x1, machine_mode i1)
    3993              : {
    3994            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3995            0 :   rtx x2, x3;
    3996            0 :   int res ATTRIBUTE_UNUSED;
    3997            0 :   if (!nonimmediate_operand (operands[0], i1)
    3998            0 :       || GET_MODE (x1) != i1)
    3999              :     return -1;
    4000            0 :   x2 = XEXP (x1, 0);
    4001            0 :   if (GET_MODE (x2) != i1)
    4002              :     return -1;
    4003            0 :   x3 = XEXP (x2, 0);
    4004            0 :   if (GET_MODE (x3) != i1
    4005            0 :       || !nonimmediate_operand (operands[1], i1)
    4006            0 :       || !immediate_operand (operands[2], i1))
    4007            0 :     return -1;
    4008              :   return 0;
    4009              : }
    4010              : 
    4011              : int
    4012        26772 : pattern1180 (rtx x1)
    4013              : {
    4014        26772 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4015        26772 :   rtx x2, x3, x4;
    4016        26772 :   int res ATTRIBUTE_UNUSED;
    4017        26772 :   x2 = XEXP (x1, 1);
    4018        26772 :   x3 = XEXP (x2, 1);
    4019        26772 :   if (maybe_ne (SUBREG_BYTE (x3), 0)
    4020        26772 :       || GET_MODE (x3) != E_QImode)
    4021              :     return -1;
    4022        26772 :   x4 = XEXP (x1, 0);
    4023        26772 :   operands[0] = x4;
    4024        26772 :   return pattern1179 (x2); /* [-1, 11] */
    4025              : }
    4026              : 
    4027              : int
    4028          517 : pattern1187 (rtx x1, machine_mode i1, machine_mode i2)
    4029              : {
    4030          517 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4031          517 :   rtx x2, x3;
    4032          517 :   int res ATTRIBUTE_UNUSED;
    4033          517 :   x2 = XEXP (x1, 0);
    4034          517 :   if (GET_MODE (x2) != E_SImode
    4035          517 :       || !register_operand (operands[0], i2)
    4036         1034 :       || GET_MODE (x1) != i2)
    4037            0 :     return -1;
    4038          517 :   x3 = XEXP (x2, 0);
    4039          517 :   operands[1] = x3;
    4040          517 :   if (!nonimmediate_operand (operands[1], i1))
    4041              :     return -1;
    4042              :   return 0;
    4043              : }
    4044              : 
    4045              : int
    4046           49 : pattern1193 ()
    4047              : {
    4048           49 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4049           49 :   int res ATTRIBUTE_UNUSED;
    4050           49 :   switch (GET_MODE (operands[4]))
    4051              :     {
    4052           14 :     case E_QImode:
    4053           14 :       if (!register_operand (operands[4], E_QImode))
    4054              :         return -1;
    4055              :       return 0;
    4056              : 
    4057           14 :     case E_HImode:
    4058           14 :       if (!register_operand (operands[4], E_HImode))
    4059              :         return -1;
    4060              :       return 1;
    4061              : 
    4062            7 :     case E_SImode:
    4063            7 :       if (!register_operand (operands[4], E_SImode))
    4064              :         return -1;
    4065              :       return 2;
    4066              : 
    4067           14 :     case E_DImode:
    4068           14 :       if (!register_operand (operands[4], E_DImode))
    4069              :         return -1;
    4070              :       return 3;
    4071              : 
    4072              :     default:
    4073              :       return -1;
    4074              :     }
    4075              : }
    4076              : 
    4077              : int
    4078        38931 : pattern1205 (rtx x1, machine_mode i1)
    4079              : {
    4080        38931 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4081        38931 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    4082        38931 :   rtx x10, x11, x12;
    4083        38931 :   int res ATTRIBUTE_UNUSED;
    4084        38931 :   x2 = XVECEXP (x1, 0, 0);
    4085        38931 :   x3 = XEXP (x2, 1);
    4086        38931 :   if (GET_MODE (x3) != i1)
    4087              :     return -1;
    4088        37438 :   x4 = XEXP (x3, 0);
    4089        37438 :   if (GET_CODE (x4) != PLUS
    4090           16 :       || GET_MODE (x4) != i1)
    4091              :     return -1;
    4092           16 :   x5 = XEXP (x4, 0);
    4093           16 :   if (!ix86_carry_flag_operator (x5, i1))
    4094              :     return -1;
    4095           16 :   operands[4] = x5;
    4096           16 :   x6 = XEXP (x5, 1);
    4097           16 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    4098              :     return -1;
    4099           16 :   x7 = XVECEXP (x1, 0, 1);
    4100           16 :   if (GET_CODE (x7) != CLOBBER)
    4101              :     return -1;
    4102           16 :   x8 = XEXP (x7, 0);
    4103           16 :   if (GET_CODE (x8) != REG
    4104           16 :       || REGNO (x8) != 17
    4105           32 :       || GET_MODE (x8) != E_CCmode)
    4106              :     return -1;
    4107           16 :   x9 = XEXP (x5, 0);
    4108           16 :   operands[3] = x9;
    4109           16 :   if (!flags_reg_operand (operands[3], E_VOIDmode))
    4110              :     return -1;
    4111           16 :   x10 = XEXP (x3, 1);
    4112           16 :   operands[2] = x10;
    4113           16 :   if (!memory_operand (operands[2], i1))
    4114              :     return -1;
    4115            6 :   x11 = XEXP (x4, 1);
    4116            6 :   if (!rtx_equal_p (x11, operands[0]))
    4117              :     return -1;
    4118            6 :   x12 = XEXP (x2, 0);
    4119            6 :   return pattern1204 (x12, 
    4120            6 : i1); /* [-1, 1] */
    4121              : }
    4122              : 
    4123              : int
    4124         1252 : pattern1215 (rtx x1, machine_mode i1)
    4125              : {
    4126         1252 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4127         1252 :   int res ATTRIBUTE_UNUSED;
    4128         1252 :   if (!register_operand (operands[0], i1)
    4129         1252 :       || GET_MODE (x1) != i1)
    4130              :     return -1;
    4131          921 :   return pattern1214 (); /* [-1, 2] */
    4132              : }
    4133              : 
    4134              : int
    4135          197 : pattern1219 (rtx x1, machine_mode i1)
    4136              : {
    4137          197 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4138          197 :   int res ATTRIBUTE_UNUSED;
    4139          197 :   if (!nonimmediate_operand (operands[0], i1)
    4140          197 :       || GET_MODE (x1) != i1
    4141          197 :       || !nonimmediate_operand (operands[1], i1)
    4142          382 :       || !ix86_carry_flag_unset_operator (operands[2], i1))
    4143           41 :     return -1;
    4144              :   return 0;
    4145              : }
    4146              : 
    4147              : int
    4148          116 : pattern1225 (rtx x1, machine_mode i1)
    4149              : {
    4150          116 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4151          116 :   rtx x2, x3;
    4152          116 :   int res ATTRIBUTE_UNUSED;
    4153          116 :   if (!register_operand (operands[0], i1)
    4154          116 :       || GET_MODE (x1) != i1)
    4155              :     return -1;
    4156          104 :   x2 = XEXP (x1, 0);
    4157          104 :   if (GET_MODE (x2) != i1)
    4158              :     return -1;
    4159          104 :   x3 = XEXP (x2, 0);
    4160          104 :   if (GET_MODE (x3) != i1
    4161          104 :       || !nonimmediate_operand (operands[1], i1)
    4162          104 :       || !nonimm_or_0_operand (operands[3], i1)
    4163          208 :       || !register_operand (operands[2], i1))
    4164            0 :     return -1;
    4165              :   return 0;
    4166              : }
    4167              : 
    4168              : int
    4169          652 : pattern1232 (rtx x1)
    4170              : {
    4171          652 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4172          652 :   int res ATTRIBUTE_UNUSED;
    4173          652 :   if (!const48_operand (operands[3], E_SImode))
    4174              :     return -1;
    4175          652 :   switch (GET_MODE (operands[0]))
    4176              :     {
    4177          130 :     case E_V32HFmode:
    4178          130 :       return pattern1231 (x1, 
    4179          130 : E_V32HFmode); /* [-1, 0] */
    4180              : 
    4181            0 :     case E_V16HFmode:
    4182            0 :       if (pattern1231 (x1, 
    4183              : E_V16HFmode) != 0)
    4184              :         return -1;
    4185              :       return 1;
    4186              : 
    4187            0 :     case E_V8HFmode:
    4188            0 :       if (pattern1231 (x1, 
    4189              : E_V8HFmode) != 0)
    4190              :         return -1;
    4191              :       return 2;
    4192              : 
    4193          282 :     case E_V16SFmode:
    4194          282 :       if (pattern1231 (x1, 
    4195              : E_V16SFmode) != 0)
    4196              :         return -1;
    4197              :       return 3;
    4198              : 
    4199            0 :     case E_V8SFmode:
    4200            0 :       if (pattern1231 (x1, 
    4201              : E_V8SFmode) != 0)
    4202              :         return -1;
    4203              :       return 4;
    4204              : 
    4205            0 :     case E_V4SFmode:
    4206            0 :       if (pattern1231 (x1, 
    4207              : E_V4SFmode) != 0)
    4208              :         return -1;
    4209              :       return 5;
    4210              : 
    4211          240 :     case E_V8DFmode:
    4212          240 :       if (pattern1231 (x1, 
    4213              : E_V8DFmode) != 0)
    4214              :         return -1;
    4215              :       return 6;
    4216              : 
    4217            0 :     case E_V4DFmode:
    4218            0 :       if (pattern1231 (x1, 
    4219              : E_V4DFmode) != 0)
    4220              :         return -1;
    4221              :       return 7;
    4222              : 
    4223            0 :     case E_V2DFmode:
    4224            0 :       if (pattern1231 (x1, 
    4225              : E_V2DFmode) != 0)
    4226              :         return -1;
    4227              :       return 8;
    4228              : 
    4229              :     default:
    4230              :       return -1;
    4231              :     }
    4232              : }
    4233              : 
    4234              : int
    4235       161776 : pattern1245 (rtx x1, machine_mode i1)
    4236              : {
    4237       161776 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4238       161776 :   rtx x2, x3;
    4239       161776 :   int res ATTRIBUTE_UNUSED;
    4240       161776 :   if (!nonimmediate_operand (operands[0], i1)
    4241        58345 :       || GET_MODE (x1) != i1
    4242       220121 :       || !nonimmediate_operand (operands[1], i1))
    4243       124078 :     return -1;
    4244        37698 :   x2 = XEXP (x1, 1);
    4245        37698 :   x3 = XEXP (x2, 0);
    4246        37698 :   return pattern1244 (x3); /* [-1, 2] */
    4247              : }
    4248              : 
    4249              : int
    4250           23 : pattern1249 (rtx x1, rtx_code i1)
    4251              : {
    4252           23 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4253           23 :   rtx x2, x3, x4, x5, x6, x7;
    4254           23 :   int res ATTRIBUTE_UNUSED;
    4255           23 :   x2 = XVECEXP (x1, 0, 1);
    4256           23 :   x3 = XEXP (x2, 1);
    4257           23 :   if (GET_MODE (x3) != E_DImode)
    4258              :     return -1;
    4259            9 :   x4 = XEXP (x3, 0);
    4260            9 :   if (GET_CODE (x4) != i1
    4261            0 :       || GET_MODE (x4) != E_SImode)
    4262              :     return -1;
    4263            0 :   x5 = XVECEXP (x1, 0, 0);
    4264            0 :   x6 = XEXP (x5, 1);
    4265            0 :   x7 = XEXP (x6, 0);
    4266            0 :   if (GET_MODE (x7) != E_SImode)
    4267            0 :     return -1;
    4268              :   return 0;
    4269              : }
    4270              : 
    4271              : int
    4272          211 : pattern1254 (rtx x1, machine_mode i1)
    4273              : {
    4274          211 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4275          211 :   rtx x2, x3, x4;
    4276          211 :   int res ATTRIBUTE_UNUSED;
    4277          211 :   if (GET_MODE (x1) != i1)
    4278              :     return -1;
    4279          211 :   x2 = XEXP (x1, 0);
    4280          211 :   if (GET_MODE (x2) != i1)
    4281              :     return -1;
    4282          211 :   x3 = XEXP (x1, 1);
    4283          211 :   if (GET_MODE (x3) != i1)
    4284              :     return -1;
    4285          211 :   x4 = XEXP (x3, 0);
    4286          211 :   if (!register_operand (x4, i1))
    4287              :     return -1;
    4288              :   return 0;
    4289              : }
    4290              : 
    4291              : int
    4292          553 : pattern1259 (rtx x1)
    4293              : {
    4294          553 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4295          553 :   rtx x2, x3, x4, x5;
    4296          553 :   int res ATTRIBUTE_UNUSED;
    4297          553 :   x2 = XEXP (x1, 0);
    4298          553 :   x3 = XEXP (x2, 0);
    4299          553 :   x4 = XEXP (x3, 1);
    4300          553 :   operands[2] = x4;
    4301          553 :   if (!register_operand (operands[2], E_QImode))
    4302              :     return -1;
    4303          474 :   x5 = XEXP (x1, 1);
    4304          474 :   operands[1] = x5;
    4305          474 :   switch (GET_MODE (operands[0]))
    4306              :     {
    4307          277 :     case E_SImode:
    4308          277 :       return pattern1258 (x1, 
    4309          277 : E_SImode); /* [-1, 0] */
    4310              : 
    4311          185 :     case E_DImode:
    4312          185 :       if (pattern1258 (x1, 
    4313              : E_DImode) != 0)
    4314              :         return -1;
    4315              :       return 1;
    4316              : 
    4317              :     default:
    4318              :       return -1;
    4319              :     }
    4320              : }
    4321              : 
    4322              : int
    4323         2079 : pattern1268 (rtx x1)
    4324              : {
    4325         2079 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4326         2079 :   rtx x2, x3;
    4327         2079 :   int res ATTRIBUTE_UNUSED;
    4328         2079 :   if (GET_CODE (x1) != SET)
    4329              :     return -1;
    4330         2061 :   x2 = XEXP (x1, 1);
    4331         2061 :   if (GET_CODE (x2) != PLUS
    4332         2061 :       || GET_MODE (x2) != E_SImode)
    4333              :     return -1;
    4334         2061 :   x3 = XEXP (x2, 0);
    4335         2061 :   if (GET_CODE (x3) != REG
    4336         2061 :       || REGNO (x3) != 7
    4337         4122 :       || GET_MODE (x3) != E_SImode)
    4338            0 :     return -1;
    4339              :   return 0;
    4340              : }
    4341              : 
    4342              : int
    4343            2 : pattern1272 (rtx x1, machine_mode i1, machine_mode i2)
    4344              : {
    4345            2 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4346            2 :   int res ATTRIBUTE_UNUSED;
    4347            2 :   if (!vector_all_ones_operand (operands[3], i1)
    4348            2 :       || !const0_operand (operands[4], i1)
    4349            2 :       || GET_MODE (x1) != i2
    4350            2 :       || !vector_operand (operands[0], i1)
    4351            4 :       || !const0_operand (operands[1], i1))
    4352            0 :     return -1;
    4353              :   return 0;
    4354              : }
    4355              : 
    4356              : int
    4357          325 : pattern1277 (rtx x1, machine_mode i1, machine_mode i2)
    4358              : {
    4359          325 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4360          325 :   rtx x2, x3;
    4361          325 :   int res ATTRIBUTE_UNUSED;
    4362          325 :   if (GET_CODE (x1) != SIGN_EXTEND
    4363          325 :       || GET_MODE (x1) != i2)
    4364              :     return -1;
    4365          325 :   x2 = XEXP (x1, 0);
    4366          325 :   if (GET_CODE (x2) != VEC_SELECT
    4367          325 :       || GET_MODE (x2) != i1)
    4368              :     return -1;
    4369          325 :   x3 = XEXP (x2, 1);
    4370          325 :   if (GET_CODE (x3) != PARALLEL)
    4371            0 :     return -1;
    4372              :   return 0;
    4373              : }
    4374              : 
    4375              : int
    4376          665 : pattern1285 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    4377              : {
    4378          665 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4379          665 :   rtx x2;
    4380          665 :   int res ATTRIBUTE_UNUSED;
    4381          665 :   if (!register_operand (operands[0], i1)
    4382          665 :       || GET_MODE (x1) != i1)
    4383              :     return -1;
    4384          620 :   x2 = XEXP (x1, 0);
    4385          620 :   if (GET_MODE (x2) != i1
    4386          620 :       || !register_operand (operands[1], i3)
    4387         1236 :       || pattern485 (
    4388              : i1, 
    4389              : i2) != 0)
    4390           34 :     return -1;
    4391              :   return 0;
    4392              : }
    4393              : 
    4394              : int
    4395            0 : pattern1291 (rtx x1, machine_mode i1, machine_mode i2)
    4396              : {
    4397            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4398            0 :   rtx x2, x3, x4;
    4399            0 :   int res ATTRIBUTE_UNUSED;
    4400            0 :   if (!register_operand (operands[0], i1)
    4401            0 :       || GET_MODE (x1) != i1)
    4402              :     return -1;
    4403            0 :   x2 = XEXP (x1, 0);
    4404            0 :   if (GET_MODE (x2) != i1)
    4405              :     return -1;
    4406            0 :   x3 = XEXP (x2, 0);
    4407            0 :   if (GET_MODE (x3) != i1)
    4408              :     return -1;
    4409            0 :   x4 = XEXP (x3, 0);
    4410            0 :   if (GET_MODE (x4) != i2
    4411            0 :       || !nonimmediate_operand (operands[1], i2)
    4412            0 :       || !nonimm_or_0_operand (operands[3], i1)
    4413            0 :       || !register_operand (operands[2], i1))
    4414            0 :     return -1;
    4415              :   return 0;
    4416              : }
    4417              : 
    4418              : int
    4419          787 : pattern1302 (rtx x1, machine_mode i1, machine_mode i2)
    4420              : {
    4421          787 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4422          787 :   rtx x2, x3;
    4423          787 :   int res ATTRIBUTE_UNUSED;
    4424          787 :   if (!register_operand (operands[0], i2)
    4425          787 :       || GET_MODE (x1) != i2)
    4426              :     return -1;
    4427          763 :   x2 = XEXP (x1, 0);
    4428          763 :   if (GET_MODE (x2) != i2
    4429          763 :       || !nonimmediate_operand (operands[1], i2))
    4430           27 :     return -1;
    4431          736 :   x3 = XEXP (x2, 2);
    4432          736 :   return pattern1301 (x3, 
    4433              : i1, 
    4434          736 : i2); /* [-1, 0] */
    4435              : }
    4436              : 
    4437              : int
    4438          378 : pattern1308 (rtx x1, machine_mode i1)
    4439              : {
    4440          378 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4441          378 :   rtx x2;
    4442          378 :   int res ATTRIBUTE_UNUSED;
    4443          378 :   if (!register_operand (operands[0], i1)
    4444          378 :       || GET_MODE (x1) != i1)
    4445              :     return -1;
    4446          367 :   x2 = XEXP (x1, 0);
    4447          367 :   if (GET_MODE (x2) != i1
    4448          367 :       || !vector_operand (operands[1], i1))
    4449           28 :     return -1;
    4450              :   return 0;
    4451              : }
    4452              : 
    4453              : int
    4454         1476 : pattern1314 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    4455              : {
    4456         1476 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4457         1476 :   rtx x2, x3;
    4458         1476 :   int res ATTRIBUTE_UNUSED;
    4459         1476 :   x2 = XVECEXP (x1, 0, 0);
    4460         1476 :   x3 = XEXP (x2, 0);
    4461         1476 :   if (GET_MODE (x3) != i2
    4462         1476 :       || !register_operand (operands[0], i2)
    4463         1421 :       || GET_MODE (x1) != i2
    4464         1421 :       || GET_MODE (x2) != i2
    4465         1421 :       || !register_operand (operands[1], i3)
    4466         1421 :       || !nonimm_or_0_operand (operands[2], i2)
    4467         1393 :       || !register_operand (operands[3], i1)
    4468         2817 :       || !const48_operand (operands[4], E_SImode))
    4469          135 :     return -1;
    4470              :   return 0;
    4471              : }
    4472              : 
    4473              : int
    4474          253 : pattern1321 (rtx x1, machine_mode i1)
    4475              : {
    4476          253 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4477          253 :   rtx x2;
    4478          253 :   int res ATTRIBUTE_UNUSED;
    4479          253 :   if (!register_operand (operands[0], i1)
    4480          253 :       || GET_MODE (x1) != i1)
    4481              :     return -1;
    4482          242 :   x2 = XVECEXP (x1, 0, 0);
    4483          242 :   if (GET_MODE (x2) != i1
    4484          242 :       || !register_operand (operands[1], i1)
    4485          481 :       || !nonimmediate_operand (operands[2], i1))
    4486            3 :     return -1;
    4487              :   return 0;
    4488              : }
    4489              : 
    4490              : int
    4491       779410 : pattern1325 (rtx x1, machine_mode i1, machine_mode i2)
    4492              : {
    4493       779410 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4494       779410 :   rtx x2, x3;
    4495       779410 :   int res ATTRIBUTE_UNUSED;
    4496       779410 :   if (!register_operand (operands[0], i1)
    4497       779410 :       || GET_MODE (x1) != i1)
    4498              :     return -1;
    4499       394915 :   x2 = XEXP (x1, 0);
    4500       394915 :   if (GET_MODE (x2) != i2
    4501       394915 :       || !register_operand (operands[1], i1))
    4502        74607 :     return -1;
    4503       320308 :   x3 = XEXP (x2, 1);
    4504       320308 :   operands[2] = x3;
    4505       320308 :   if (!vector_operand (operands[2], i1))
    4506              :     return -1;
    4507              :   return 0;
    4508              : }
    4509              : 
    4510              : int
    4511         4052 : pattern1331 (rtx x1, machine_mode i1)
    4512              : {
    4513         4052 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4514         4052 :   int res ATTRIBUTE_UNUSED;
    4515         4052 :   if (!nonimmediate_operand (operands[1], i1)
    4516         3314 :       || !const_1_to_31_operand (operands[2], E_QImode)
    4517         2080 :       || !nonimmediate_operand (operands[0], i1)
    4518         6132 :       || GET_MODE (x1) != i1)
    4519         1972 :     return -1;
    4520              :   return 0;
    4521              : }
    4522              : 
    4523              : int
    4524          224 : pattern1337 (rtx x1, machine_mode i1)
    4525              : {
    4526          224 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4527          224 :   rtx x2, x3;
    4528          224 :   int res ATTRIBUTE_UNUSED;
    4529          224 :   if (!register_operand (operands[0], i1)
    4530          224 :       || GET_MODE (x1) != i1)
    4531              :     return -1;
    4532          224 :   x2 = XEXP (x1, 0);
    4533          224 :   if (GET_MODE (x2) != i1
    4534          224 :       || !nonimmediate_operand (operands[1], i1))
    4535            0 :     return -1;
    4536          224 :   x3 = XEXP (x1, 1);
    4537          224 :   if (GET_MODE (x3) != i1)
    4538              :     return -1;
    4539              :   return 0;
    4540              : }
    4541              : 
    4542              : int
    4543      1273423 : pattern1343 (rtx x1, int *pnum_clobbers)
    4544              : {
    4545      1273423 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4546      1273423 :   rtx x2, x3;
    4547      1273423 :   int res ATTRIBUTE_UNUSED;
    4548      1273423 :   x2 = XVECEXP (x1, 0, 2);
    4549      1273423 :   switch (GET_CODE (x2))
    4550              :     {
    4551           18 :     case UNSPEC:
    4552           18 :       if (pnum_clobbers == NULL)
    4553              :         return -1;
    4554           18 :       return pattern394 (x1); /* [-1, 1] */
    4555              : 
    4556      1246920 :     case CLOBBER:
    4557      1246920 :       x3 = XEXP (x2, 0);
    4558      1246920 :       if (GET_CODE (x3) != REG
    4559      1246920 :           || REGNO (x3) != 17
    4560      2493840 :           || GET_MODE (x3) != E_CCmode)
    4561              :         return -1;
    4562      1246920 :       switch (GET_MODE (operands[0]))
    4563              :         {
    4564         6882 :         case E_HImode:
    4565         6882 :           if (pattern393 (x1, 
    4566              : E_HImode) != 0)
    4567              :             return -1;
    4568              :           return 2;
    4569              : 
    4570       241903 :         case E_SImode:
    4571       241903 :           if (pattern393 (x1, 
    4572              : E_SImode) != 0)
    4573              :             return -1;
    4574              :           return 3;
    4575              : 
    4576       998135 :         case E_DImode:
    4577       998135 :           if (pattern393 (x1, 
    4578              : E_DImode) != 0)
    4579              :             return -1;
    4580              :           return 4;
    4581              : 
    4582              :         default:
    4583              :           return -1;
    4584              :         }
    4585              : 
    4586            0 :     case USE:
    4587            0 :       res = pattern396 (x1);
    4588            0 :       if (res >= 0)
    4589            0 :         return res + 5; /* [5, 7] */
    4590              :       return -1;
    4591              : 
    4592              :     default:
    4593              :       return -1;
    4594              :     }
    4595              : }
    4596              : 
    4597              : int
    4598        22328 : pattern1362 (rtx x1, machine_mode i1)
    4599              : {
    4600        22328 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4601        22328 :   rtx x2, x3, x4, x5, x6, x7, x8;
    4602        22328 :   int res ATTRIBUTE_UNUSED;
    4603        22328 :   x2 = XVECEXP (x1, 0, 0);
    4604        22328 :   x3 = XEXP (x2, 1);
    4605        22328 :   if (GET_MODE (x3) != i1)
    4606              :     return -1;
    4607        22262 :   x4 = XVECEXP (x1, 0, 1);
    4608        22262 :   if (GET_CODE (x4) != CLOBBER)
    4609              :     return -1;
    4610        22262 :   x5 = XEXP (x4, 0);
    4611        22262 :   if (GET_CODE (x5) != REG
    4612        22262 :       || REGNO (x5) != 17
    4613        44524 :       || GET_MODE (x5) != E_CCmode)
    4614              :     return -1;
    4615        22262 :   x6 = XEXP (x2, 0);
    4616        22262 :   operands[4] = x6;
    4617        22262 :   if (!register_operand (operands[4], i1))
    4618              :     return -1;
    4619        22225 :   x7 = XEXP (x3, 0);
    4620        22225 :   operands[3] = x7;
    4621        22225 :   if (!register_operand (operands[3], i1))
    4622              :     return -1;
    4623        22216 :   x8 = XEXP (x3, 1);
    4624        22216 :   operands[2] = x8;
    4625        22216 :   if (!x86_64_nonmemory_operand (operands[2], i1))
    4626              :     return -1;
    4627              :   return 0;
    4628              : }
    4629              : 
    4630              : int
    4631          827 : pattern1373 (rtx x1)
    4632              : {
    4633          827 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4634          827 :   rtx x2, x3, x4, x5, x6, x7, x8;
    4635          827 :   int res ATTRIBUTE_UNUSED;
    4636          827 :   if (!register_operand (operands[0], E_DImode))
    4637              :     return -1;
    4638          589 :   x2 = XEXP (x1, 0);
    4639          589 :   x3 = XEXP (x2, 0);
    4640          589 :   operands[1] = x3;
    4641          589 :   if (!nonimmediate_operand (operands[1], E_DImode))
    4642              :     return -1;
    4643          589 :   x4 = XEXP (x1, 1);
    4644          589 :   if (GET_MODE (x4) != E_DImode)
    4645              :     return -1;
    4646          589 :   x5 = XEXP (x4, 0);
    4647          589 :   if (GET_MODE (x5) != E_TImode)
    4648              :     return -1;
    4649          589 :   x6 = XEXP (x5, 0);
    4650          589 :   if (GET_MODE (x6) != E_TImode)
    4651              :     return -1;
    4652          589 :   x7 = XEXP (x6, 0);
    4653          589 :   operands[2] = x7;
    4654          589 :   if (!register_operand (operands[2], E_DImode))
    4655              :     return -1;
    4656          589 :   x8 = XEXP (x5, 1);
    4657          589 :   operands[4] = x8;
    4658          589 :   if (!const_0_to_255_operand (operands[4], E_QImode))
    4659              :     return -1;
    4660              :   return 0;
    4661              : }
    4662              : 
    4663              : int
    4664         1814 : pattern1382 (machine_mode i1, machine_mode i2)
    4665              : {
    4666         1814 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4667         1814 :   int res ATTRIBUTE_UNUSED;
    4668         1814 :   if (!bcst_vector_operand (operands[2], i1)
    4669         1808 :       || !bcst_vector_operand (operands[3], i1)
    4670         1808 :       || !const0_operand (operands[4], i1)
    4671         3622 :       || !register_operand (operands[5], i2))
    4672            6 :     return -1;
    4673              :   return 0;
    4674              : }
    4675              : 
    4676              : int
    4677         1294 : pattern1388 (rtx x1, machine_mode i1, machine_mode i2)
    4678              : {
    4679         1294 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4680         1294 :   int res ATTRIBUTE_UNUSED;
    4681         1294 :   if (!bcst_vector_operand (operands[2], i2)
    4682         1290 :       || GET_MODE (x1) != i2
    4683         1290 :       || !bcst_vector_operand (operands[3], i2)
    4684         1290 :       || !const0_operand (operands[4], i2)
    4685         2584 :       || !register_operand (operands[5], i1))
    4686            4 :     return -1;
    4687              :   return 0;
    4688              : }
    4689              : 
    4690              : int
    4691          279 : pattern1396 (rtx x1, machine_mode i1, machine_mode i2)
    4692              : {
    4693          279 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4694          279 :   rtx x2, x3;
    4695          279 :   int res ATTRIBUTE_UNUSED;
    4696          279 :   if (!register_operand (operands[0], i2)
    4697          279 :       || GET_MODE (x1) != i2)
    4698              :     return -1;
    4699          273 :   x2 = XEXP (x1, 0);
    4700          273 :   if (GET_MODE (x2) != i2)
    4701              :     return -1;
    4702          273 :   x3 = XEXP (x2, 0);
    4703          273 :   if (GET_MODE (x3) != i2
    4704          273 :       || !nonimmediate_operand (operands[1], i2)
    4705          546 :       || pattern1384 (
    4706              : i1, 
    4707              : i2) != 0)
    4708            0 :     return -1;
    4709              :   return 0;
    4710              : }
    4711              : 
    4712              : int
    4713         1941 : pattern1405 (rtx x1, machine_mode i1)
    4714              : {
    4715         1941 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4716         1941 :   rtx x2, x3, x4;
    4717         1941 :   int res ATTRIBUTE_UNUSED;
    4718         1941 :   if (!register_operand (operands[0], i1)
    4719         1941 :       || GET_MODE (x1) != i1)
    4720              :     return -1;
    4721         1866 :   x2 = XVECEXP (x1, 0, 0);
    4722         1866 :   if (GET_MODE (x2) != i1)
    4723              :     return -1;
    4724         1866 :   x3 = XEXP (x2, 0);
    4725         1866 :   if (GET_MODE (x3) != i1)
    4726              :     return -1;
    4727         1866 :   x4 = XEXP (x3, 0);
    4728         1866 :   if (GET_MODE (x4) != i1
    4729         1866 :       || !register_operand (operands[1], i1)
    4730         1866 :       || !register_operand (operands[2], i1)
    4731         3732 :       || !nonimm_or_0_operand (operands[4], i1))
    4732            0 :     return -1;
    4733              :   return 0;
    4734              : }
    4735              : 
    4736              : int
    4737         1903 : pattern1415 (rtx x1, machine_mode i1)
    4738              : {
    4739         1903 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4740         1903 :   rtx x2, x3;
    4741         1903 :   int res ATTRIBUTE_UNUSED;
    4742         1903 :   if (!register_operand (operands[0], i1)
    4743         1903 :       || GET_MODE (x1) != i1)
    4744              :     return -1;
    4745         1791 :   x2 = XVECEXP (x1, 0, 0);
    4746         1791 :   if (GET_MODE (x2) != i1)
    4747              :     return -1;
    4748         1791 :   x3 = XEXP (x2, 0);
    4749         1791 :   if (GET_MODE (x3) != i1
    4750         1791 :       || !register_operand (operands[1], i1)
    4751         3489 :       || !register_operand (operands[2], i1))
    4752          149 :     return -1;
    4753              :   return 0;
    4754              : }
    4755              : 
    4756              : int
    4757       102645 : pattern1424 (rtx x1, machine_mode i1, machine_mode i2)
    4758              : {
    4759       102645 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4760       102645 :   rtx x2;
    4761       102645 :   int res ATTRIBUTE_UNUSED;
    4762       102645 :   if (!register_operand (operands[0], i1)
    4763       102645 :       || GET_MODE (x1) != i1)
    4764              :     return -1;
    4765       102235 :   x2 = XEXP (x1, 0);
    4766       102235 :   if (GET_MODE (x2) != i2
    4767       102141 :       || !register_operand (operands[1], i1)
    4768       203096 :       || !nonimmediate_operand (operands[2], i1))
    4769         1955 :     return -1;
    4770              :   return 0;
    4771              : }
    4772              : 
    4773              : int
    4774       108359 : pattern1428 (rtx x1)
    4775              : {
    4776       108359 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4777       108359 :   rtx x2, x3;
    4778       108359 :   int res ATTRIBUTE_UNUSED;
    4779       108359 :   x2 = XEXP (x1, 1);
    4780       108359 :   if (maybe_ne (SUBREG_BYTE (x2), 0)
    4781       108359 :       || GET_MODE (x2) != E_QImode)
    4782              :     return -1;
    4783       108359 :   x3 = XEXP (x2, 0);
    4784       108359 :   if (GET_CODE (x3) != AND)
    4785              :     return -1;
    4786        12198 :   return pattern822 (x1); /* [-1, 1] */
    4787              : }
    4788              : 
    4789              : int
    4790           38 : pattern1434 (rtx x1)
    4791              : {
    4792           38 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4793           38 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    4794           38 :   rtx x10, x11, x12;
    4795           38 :   int res ATTRIBUTE_UNUSED;
    4796           38 :   x2 = XVECEXP (x1, 0, 1);
    4797           38 :   x3 = XEXP (x2, 1);
    4798           38 :   x4 = XEXP (x3, 0);
    4799           38 :   if (!rtx_equal_p (x4, operands[2]))
    4800              :     return -1;
    4801           38 :   x5 = XVECEXP (x1, 0, 0);
    4802           38 :   x6 = XEXP (x5, 1);
    4803           38 :   x7 = XEXP (x6, 0);
    4804           38 :   x8 = XEXP (x7, 0);
    4805           38 :   x9 = XEXP (x8, 0);
    4806           38 :   operands[3] = x9;
    4807           38 :   if (!flags_reg_operand (operands[3], E_VOIDmode))
    4808              :     return -1;
    4809           38 :   x10 = XEXP (x7, 1);
    4810           38 :   operands[1] = x10;
    4811           38 :   x11 = XEXP (x2, 0);
    4812           38 :   operands[0] = x11;
    4813           38 :   x12 = XEXP (x3, 1);
    4814           38 :   if (!rtx_equal_p (x12, operands[1]))
    4815              :     return -1;
    4816           38 :   switch (GET_MODE (x7))
    4817              :     {
    4818              :     case E_QImode:
    4819              :       return 0;
    4820              : 
    4821              :     case E_HImode:
    4822              :       return 1;
    4823              : 
    4824              :     case E_SImode:
    4825              :       return 2;
    4826              : 
    4827              :     case E_DImode:
    4828              :       return 3;
    4829              : 
    4830              :     default:
    4831              :       return -1;
    4832              :     }
    4833              : }
    4834              : 
    4835              : int
    4836       156876 : pattern1451 (rtx x1, machine_mode i1)
    4837              : {
    4838       156876 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4839       156876 :   rtx x2, x3, x4, x5, x6, x7;
    4840       156876 :   int res ATTRIBUTE_UNUSED;
    4841       156876 :   if (!register_operand (operands[2], i1)
    4842       156876 :       || !register_operand (operands[0], i1))
    4843            0 :     return -1;
    4844       156876 :   x2 = XVECEXP (x1, 0, 1);
    4845       156876 :   x3 = XEXP (x2, 1);
    4846       156876 :   if (GET_MODE (x3) != i1)
    4847              :     return -1;
    4848       156876 :   x4 = XEXP (x3, 0);
    4849       156876 :   if (GET_MODE (x4) != i1
    4850       156876 :       || !register_operand (operands[5], i1)
    4851       156851 :       || !register_operand (operands[3], i1)
    4852       310635 :       || !register_operand (operands[1], i1))
    4853         3117 :     return -1;
    4854       153759 :   x5 = XVECEXP (x1, 0, 2);
    4855       153759 :   x6 = XEXP (x5, 1);
    4856       153759 :   if (GET_MODE (x6) != i1)
    4857              :     return -1;
    4858       153759 :   x7 = XEXP (x6, 0);
    4859       153759 :   if (GET_MODE (x7) != i1
    4860       153759 :       || !register_operand (operands[4], i1))
    4861        11596 :     return -1;
    4862              :   return 0;
    4863              : }
    4864              : 
    4865              : int
    4866          678 : pattern1465 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    4867              : {
    4868          678 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4869          678 :   rtx x2, x3;
    4870          678 :   int res ATTRIBUTE_UNUSED;
    4871          678 :   if (!register_operand (operands[0], i1)
    4872          678 :       || GET_MODE (x1) != i1)
    4873              :     return -1;
    4874          647 :   x2 = XEXP (x1, 0);
    4875          647 :   if (GET_MODE (x2) != i1
    4876          647 :       || !register_operand (operands[2], i2)
    4877          647 :       || !register_operand (operands[1], i1)
    4878         1265 :       || !nonimmediate_operand (operands[3], i1))
    4879           29 :     return -1;
    4880          618 :   x3 = XEXP (x1, 1);
    4881          618 :   if (GET_MODE (x3) != i1
    4882          618 :       || !register_operand (operands[4], i3))
    4883           36 :     return -1;
    4884              :   return 0;
    4885              : }
    4886              : 
    4887              : int
    4888         3504 : pattern1473 (rtx x1, machine_mode i1, machine_mode i2)
    4889              : {
    4890         3504 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4891         3504 :   rtx x2;
    4892         3504 :   int res ATTRIBUTE_UNUSED;
    4893         3504 :   if (!register_operand (operands[0], i1)
    4894         3326 :       || GET_MODE (x1) != i1
    4895         3326 :       || !nonimmediate_operand (operands[1], i1)
    4896         6772 :       || !general_operand (operands[2], i1))
    4897          827 :     return -1;
    4898         2677 :   x2 = XEXP (x1, 2);
    4899         2677 :   if (GET_MODE (x2) != i2
    4900         2677 :       || !nonimmediate_operand (operands[3], i1)
    4901         2304 :       || !general_operand (operands[4], i1)
    4902         4981 :       || !const_0_to_31_operand (operands[5], E_SImode))
    4903          373 :     return -1;
    4904              :   return 0;
    4905              : }
    4906              : 
    4907              : int
    4908         2268 : pattern1482 (rtx x1, machine_mode i1, machine_mode i2)
    4909              : {
    4910         2268 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4911         2268 :   rtx x2, x3;
    4912         2268 :   int res ATTRIBUTE_UNUSED;
    4913         2268 :   if (!register_operand (operands[0], i1)
    4914         2268 :       || GET_MODE (x1) != i1)
    4915              :     return -1;
    4916         2178 :   x2 = XEXP (x1, 0);
    4917         2178 :   if (GET_MODE (x2) != i1)
    4918              :     return -1;
    4919         2178 :   x3 = XEXP (x2, 0);
    4920         2178 :   if (GET_MODE (x3) != i2
    4921         2178 :       || !register_operand (operands[1], i1)
    4922         2130 :       || !nonimmediate_operand (operands[2], i2)
    4923         4218 :       || !nonimm_or_0_operand (operands[3], i1))
    4924          174 :     return -1;
    4925              :   return 0;
    4926              : }
    4927              : 
    4928              : int
    4929          232 : pattern1489 (rtx x1, int i1, int i2, int i3, int i4, int i5)
    4930              : {
    4931          232 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4932          232 :   rtx x2, x3, x4, x5, x6;
    4933          232 :   int res ATTRIBUTE_UNUSED;
    4934          232 :   x2 = XVECEXP (x1, 0, 7);
    4935          232 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
    4936              :     return -1;
    4937          232 :   x3 = XVECEXP (x1, 0, 8);
    4938          232 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
    4939              :     return -1;
    4940          232 :   x4 = XVECEXP (x1, 0, 9);
    4941          232 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
    4942              :     return -1;
    4943          232 :   x5 = XVECEXP (x1, 0, 10);
    4944          232 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
    4945              :     return -1;
    4946          232 :   x6 = XVECEXP (x1, 0, 11);
    4947          232 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1]
    4948          232 :       || pattern1481 (x1) != 0)
    4949            0 :     return -1;
    4950              :   return 0;
    4951              : }
    4952              : 
    4953              : int
    4954          723 : pattern1502 (rtx x1)
    4955              : {
    4956          723 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4957          723 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    4958          723 :   int res ATTRIBUTE_UNUSED;
    4959          723 :   x2 = XVECEXP (x1, 0, 1);
    4960          723 :   x3 = XEXP (x2, 1);
    4961          723 :   x4 = XEXP (x3, 0);
    4962          723 :   x5 = XEXP (x4, 0);
    4963          723 :   if (!rtx_equal_p (x5, operands[1]))
    4964              :     return -1;
    4965          723 :   x6 = XEXP (x3, 1);
    4966          723 :   if (!rtx_equal_p (x6, operands[1]))
    4967              :     return -1;
    4968          723 :   x7 = XVECEXP (x1, 0, 0);
    4969          723 :   x8 = XEXP (x7, 1);
    4970          723 :   x9 = XEXP (x8, 0);
    4971          723 :   switch (GET_MODE (x9))
    4972              :     {
    4973          456 :     case E_SImode:
    4974          456 :       return pattern1501 (x1, 
    4975          456 : E_SImode); /* [-1, 0] */
    4976              : 
    4977          132 :     case E_DImode:
    4978          132 :       if (pattern1501 (x1, 
    4979              : E_DImode) != 0)
    4980              :         return -1;
    4981              :       return 1;
    4982              : 
    4983              :     default:
    4984              :       return -1;
    4985              :     }
    4986              : }
    4987              : 
    4988              : int
    4989         5369 : pattern1513 (rtx x1, machine_mode i1)
    4990              : {
    4991         5369 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4992         5369 :   rtx x2;
    4993         5369 :   int res ATTRIBUTE_UNUSED;
    4994         5369 :   if (!mask_reg_operand (operands[0], i1)
    4995         5369 :       || GET_MODE (x1) != i1)
    4996              :     return -1;
    4997            0 :   x2 = XEXP (x1, 0);
    4998            0 :   if (GET_MODE (x2) != i1
    4999            0 :       || !mask_reg_operand (operands[1], i1)
    5000            0 :       || !mask_reg_operand (operands[2], i1))
    5001            0 :     return -1;
    5002              :   return 0;
    5003              : }
    5004              : 
    5005              : int
    5006        29602 : pattern1517 (rtx x1, machine_mode i1)
    5007              : {
    5008        29602 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5009        29602 :   rtx x2, x3, x4, x5, x6, x7, x8;
    5010        29602 :   int res ATTRIBUTE_UNUSED;
    5011        29602 :   x2 = XVECEXP (x1, 0, 0);
    5012        29602 :   x3 = XEXP (x2, 1);
    5013        29602 :   switch (GET_CODE (x3))
    5014              :     {
    5015         3250 :     case COMPARE:
    5016         3250 :       x4 = XEXP (x3, 0);
    5017         3250 :       if (!plusminuslogic_operator (x4, i1))
    5018              :         return -1;
    5019         2353 :       operands[3] = x4;
    5020         2353 :       x5 = XEXP (x3, 1);
    5021         2353 :       if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    5022              :         return -1;
    5023         2345 :       x6 = XEXP (x2, 0);
    5024         2345 :       if (GET_CODE (x6) != REG
    5025         2345 :           || REGNO (x6) != 17)
    5026              :         return -1;
    5027         2345 :       x7 = XVECEXP (x1, 0, 1);
    5028         2345 :       if (GET_CODE (x7) != SET)
    5029              :         return -1;
    5030         2134 :       x8 = XEXP (x4, 1);
    5031         2134 :       operands[2] = x8;
    5032         2134 :       if (!nonmemory_operand (operands[2], i1)
    5033         2134 :           || pattern1516 (x1) != 0)
    5034          164 :         return -1;
    5035              :       return 0;
    5036              : 
    5037        18826 :     case PLUS:
    5038        18826 :     case MINUS:
    5039        18826 :     case AND:
    5040        18826 :     case IOR:
    5041        18826 :     case XOR:
    5042        18826 :       if (peep2_current_count < 4)
    5043              :         return -1;
    5044              :       return 1;
    5045              : 
    5046              :     default:
    5047              :       return -1;
    5048              :     }
    5049              : }
    5050              : 
    5051              : int
    5052        22380 : pattern1534 (rtx x1)
    5053              : {
    5054        22380 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5055        22380 :   rtx x2, x3, x4, x5;
    5056        22380 :   int res ATTRIBUTE_UNUSED;
    5057        22380 :   if (!int248_register_operand (operands[2], E_VOIDmode))
    5058              :     return -1;
    5059        21026 :   x2 = XEXP (x1, 1);
    5060        21026 :   x3 = XEXP (x2, 1);
    5061        21026 :   operands[1] = x3;
    5062        21026 :   if (!nonimmediate_operand (operands[1], E_QImode))
    5063              :     return -1;
    5064        10619 :   x4 = XEXP (x1, 0);
    5065        10619 :   switch (GET_CODE (x4))
    5066              :     {
    5067           35 :     case STRICT_LOW_PART:
    5068           35 :       x5 = XEXP (x4, 0);
    5069           35 :       operands[0] = x5;
    5070           35 :       if (!register_operand (operands[0], E_QImode))
    5071              :         return -1;
    5072           35 :       return pattern1533 (); /* [-1, 2] */
    5073              : 
    5074        10584 :     case REG:
    5075        10584 :     case SUBREG:
    5076        10584 :     case MEM:
    5077        10584 :       operands[0] = x4;
    5078        10584 :       if (!nonimmediate_operand (operands[0], E_QImode))
    5079              :         return -1;
    5080        10584 :       res = pattern1533 ();
    5081        10584 :       if (res >= 0)
    5082          436 :         return res + 3; /* [3, 5] */
    5083              :       return -1;
    5084              : 
    5085              :     default:
    5086              :       return -1;
    5087              :     }
    5088              : }
    5089              : 
    5090              : int
    5091         6432 : pattern1548 (rtx x1)
    5092              : {
    5093         6432 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5094         6432 :   rtx x2, x3;
    5095         6432 :   int res ATTRIBUTE_UNUSED;
    5096         6432 :   if (GET_CODE (x1) != SET)
    5097              :     return -1;
    5098         5734 :   x2 = XEXP (x1, 1);
    5099         5734 :   if (GET_CODE (x2) != COMPARE
    5100         3292 :       || GET_MODE (x2) != E_CCZmode)
    5101              :     return -1;
    5102         3238 :   x3 = XEXP (x1, 0);
    5103         3238 :   if (GET_CODE (x3) != REG
    5104         3238 :       || REGNO (x3) != 17
    5105         6476 :       || GET_MODE (x3) != E_CCZmode)
    5106            0 :     return -1;
    5107              :   return 0;
    5108              : }
    5109              : 
    5110              : int
    5111          757 : pattern1553 (rtx x1, machine_mode i1)
    5112              : {
    5113          757 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5114          757 :   rtx x2, x3;
    5115          757 :   int res ATTRIBUTE_UNUSED;
    5116          757 :   if (!register_operand (operands[0], i1)
    5117          757 :       || GET_MODE (x1) != i1)
    5118              :     return -1;
    5119          739 :   x2 = XEXP (x1, 0);
    5120          739 :   if (GET_MODE (x2) != i1)
    5121              :     return -1;
    5122          739 :   x3 = XEXP (x2, 0);
    5123          739 :   if (GET_MODE (x3) != i1
    5124          739 :       || !nonimmediate_operand (operands[2], i1)
    5125          739 :       || !nonimm_or_0_operand (operands[4], i1)
    5126         1478 :       || !register_operand (operands[1], i1))
    5127            0 :     return -1;
    5128              :   return 0;
    5129              : }
    5130              : 
    5131              : int
    5132         1279 : pattern1561 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    5133              : {
    5134         1279 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5135         1279 :   rtx x2, x3, x4, x5, x6, x7;
    5136         1279 :   int res ATTRIBUTE_UNUSED;
    5137         1279 :   if (!register_operand (operands[0], i2)
    5138         1279 :       || GET_MODE (x1) != i2)
    5139              :     return -1;
    5140         1238 :   x2 = XEXP (x1, 0);
    5141         1238 :   if (GET_MODE (x2) != i2)
    5142              :     return -1;
    5143         1238 :   x3 = XEXP (x2, 0);
    5144         1238 :   if (GET_MODE (x3) != i3)
    5145              :     return -1;
    5146         1238 :   x4 = XEXP (x3, 0);
    5147         1238 :   if (GET_MODE (x4) != i3)
    5148              :     return -1;
    5149         1238 :   x5 = XEXP (x4, 0);
    5150         1238 :   if (GET_MODE (x5) != i3)
    5151              :     return -1;
    5152         1238 :   x6 = XEXP (x5, 0);
    5153         1238 :   if (GET_MODE (x6) != i3
    5154         1238 :       || !vector_operand (operands[1], i2))
    5155            0 :     return -1;
    5156         1238 :   x7 = XEXP (x5, 1);
    5157         1238 :   if (GET_MODE (x7) != i3
    5158         1238 :       || !vector_operand (operands[2], i2)
    5159         1238 :       || !const1_operand (operands[5], i3)
    5160         1238 :       || !nonimm_or_0_operand (operands[3], i2)
    5161         2445 :       || !register_operand (operands[4], i1))
    5162          110 :     return -1;
    5163              :   return 0;
    5164              : }
    5165              : 
    5166              : int
    5167       161125 : pattern1576 (rtx x1)
    5168              : {
    5169       161125 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5170       161125 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5171       161125 :   rtx x10, x11, x12, x13, x14, x15, x16;
    5172       161125 :   int res ATTRIBUTE_UNUSED;
    5173       161125 :   x2 = XVECEXP (x1, 0, 0);
    5174       161125 :   x3 = XEXP (x2, 1);
    5175       161125 :   x4 = XEXP (x3, 0);
    5176       161125 :   x5 = XEXP (x4, 0);
    5177       161125 :   x6 = XEXP (x5, 0);
    5178       161125 :   operands[1] = x6;
    5179       161125 :   x7 = XEXP (x3, 1);
    5180       161125 :   x8 = XEXP (x7, 0);
    5181       161125 :   x9 = XEXP (x8, 0);
    5182       161125 :   if (!rtx_equal_p (x9, operands[1]))
    5183              :     return -1;
    5184       156191 :   x10 = XVECEXP (x1, 0, 1);
    5185       156191 :   x11 = XEXP (x10, 1);
    5186       156191 :   x12 = XEXP (x11, 0);
    5187       156191 :   if (!rtx_equal_p (x12, operands[1]))
    5188              :     return -1;
    5189       152989 :   x13 = XEXP (x4, 1);
    5190       152989 :   switch (GET_CODE (x13))
    5191              :     {
    5192        90457 :     case SIGN_EXTEND:
    5193        90457 :       x14 = XEXP (x13, 0);
    5194        90457 :       operands[2] = x14;
    5195        90457 :       x15 = XEXP (x8, 1);
    5196        90457 :       if (!rtx_equal_p (x15, operands[2]))
    5197              :         return -1;
    5198        90420 :       x16 = XEXP (x11, 1);
    5199        90420 :       if (!rtx_equal_p (x16, operands[2]))
    5200              :         return -1;
    5201        90173 :       switch (GET_MODE (x4))
    5202              :         {
    5203         5089 :         case E_HImode:
    5204         5089 :           return pattern1574 (x1, 
    5205              : E_QImode, 
    5206         5089 : E_HImode); /* [-1, 0] */
    5207              : 
    5208         5994 :         case E_SImode:
    5209         5994 :           if (pattern1574 (x1, 
    5210              : E_HImode, 
    5211              : E_SImode) != 0)
    5212              :             return -1;
    5213              :           return 1;
    5214              : 
    5215        23293 :         case E_DImode:
    5216        23293 :           if (GET_MODE (x5) != E_DImode
    5217        23293 :               || !nonimmediate_operand (operands[1], E_SImode)
    5218        22892 :               || GET_MODE (x13) != E_DImode
    5219        22892 :               || !x86_64_sext_operand (operands[2], E_SImode)
    5220        45878 :               || pattern727 (x1, 
    5221              : E_SImode, 
    5222              : E_DImode) != 0)
    5223          708 :             return -1;
    5224              :           return 2;
    5225              : 
    5226        38584 :         case E_TImode:
    5227        38584 :           if (GET_MODE (x5) != E_TImode
    5228        38584 :               || !nonimmediate_operand (operands[1], E_DImode)
    5229        38232 :               || GET_MODE (x13) != E_TImode
    5230        76816 :               || pattern727 (x1, 
    5231              : E_DImode, 
    5232              : E_TImode) != 0)
    5233          352 :             return -1;
    5234              :           return 3;
    5235              : 
    5236        17213 :         case E_POImode:
    5237        17213 :           if (pattern728 (x1, 
    5238              : E_TImode, 
    5239              : E_POImode) != 0)
    5240              :             return -1;
    5241              :           return 4;
    5242              : 
    5243              :         default:
    5244              :           return -1;
    5245              :         }
    5246              : 
    5247        61536 :     case CONST_INT:
    5248        61536 :     case CONST_WIDE_INT:
    5249        61536 :       operands[3] = x13;
    5250        61536 :       x15 = XEXP (x8, 1);
    5251        61536 :       operands[2] = x15;
    5252        61536 :       x16 = XEXP (x11, 1);
    5253        61536 :       if (!rtx_equal_p (x16, operands[2]))
    5254              :         return -1;
    5255        61170 :       switch (GET_MODE (x4))
    5256              :         {
    5257         5936 :         case E_HImode:
    5258         5936 :           if (pattern1575 (x1, 
    5259              : E_QImode, 
    5260              : E_HImode) != 0)
    5261              :             return -1;
    5262              :           return 5;
    5263              : 
    5264         5928 :         case E_SImode:
    5265         5928 :           if (pattern1575 (x1, 
    5266              : E_HImode, 
    5267              : E_SImode) != 0)
    5268              :             return -1;
    5269              :           return 6;
    5270              : 
    5271        12348 :         case E_DImode:
    5272        12348 :           if (pattern1575 (x1, 
    5273              : E_SImode, 
    5274              : E_DImode) != 0)
    5275              :             return -1;
    5276              :           return 7;
    5277              : 
    5278        24308 :         case E_TImode:
    5279        24308 :           if (GET_MODE (x5) != E_TImode
    5280        24308 :               || !nonimmediate_operand (operands[1], E_DImode)
    5281        48616 :               || pattern727 (x1, 
    5282              : E_DImode, 
    5283              : E_TImode) != 0)
    5284            0 :             return -1;
    5285              :           return 8;
    5286              : 
    5287        12650 :         case E_POImode:
    5288        12650 :           if (pattern729 (x1, 
    5289              : E_TImode, 
    5290              : E_POImode) != 0)
    5291              :             return -1;
    5292              :           return 9;
    5293              : 
    5294              :         default:
    5295              :           return -1;
    5296              :         }
    5297              : 
    5298              :     default:
    5299              :       return -1;
    5300              :     }
    5301              : }
    5302              : 
    5303              : int
    5304          344 : pattern1624 (machine_mode i1)
    5305              : {
    5306          344 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5307          344 :   int res ATTRIBUTE_UNUSED;
    5308          344 :   if (!vsib_address_operand (operands[0], i1))
    5309              :     return -1;
    5310          276 :   switch (GET_MODE (operands[2]))
    5311              :     {
    5312          150 :     case E_V4SImode:
    5313          150 :       if (!register_operand (operands[2], E_V4SImode))
    5314              :         return -1;
    5315              :       return 0;
    5316              : 
    5317          126 :     case E_V2DImode:
    5318          126 :       if (!register_operand (operands[2], E_V2DImode))
    5319              :         return -1;
    5320              :       return 1;
    5321              : 
    5322              :     default:
    5323              :       return -1;
    5324              :     }
    5325              : }
    5326              : 
    5327              : int
    5328          147 : pattern1633 (rtx x1, machine_mode i1, machine_mode i2)
    5329              : {
    5330          147 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5331          147 :   rtx x2, x3;
    5332          147 :   int res ATTRIBUTE_UNUSED;
    5333          147 :   if (!register_operand (operands[0], i2)
    5334          129 :       || GET_MODE (x1) != i2
    5335          129 :       || !register_operand (operands[6], E_QImode)
    5336          182 :       || !vsib_mem_operator (operands[5], i1))
    5337          112 :     return -1;
    5338           35 :   x2 = XVECEXP (x1, 0, 2);
    5339           35 :   x3 = XEXP (x2, 0);
    5340           35 :   switch (GET_MODE (x3))
    5341              :     {
    5342            0 :     case E_SImode:
    5343            0 :       return pattern1632 (
    5344            0 : E_SImode); /* [-1, 1] */
    5345              : 
    5346           35 :     case E_DImode:
    5347           35 :       res = pattern1632 (
    5348              : E_DImode);
    5349           35 :       if (res >= 0)
    5350           17 :         return res + 2; /* [2, 3] */
    5351              :       return -1;
    5352              : 
    5353              :     default:
    5354              :       return -1;
    5355              :     }
    5356              : }
    5357              : 
    5358              : int
    5359          201 : pattern1645 (rtx x1, machine_mode i1)
    5360              : {
    5361          201 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5362          201 :   rtx x2;
    5363          201 :   int res ATTRIBUTE_UNUSED;
    5364          201 :   if (!nonimmediate_operand (operands[0], i1)
    5365          201 :       || GET_MODE (x1) != i1)
    5366              :     return -1;
    5367          201 :   x2 = XEXP (x1, 0);
    5368          201 :   if (GET_MODE (x2) != i1
    5369          201 :       || !nonimmediate_operand (operands[1], i1)
    5370          201 :       || !ix86_carry_flag_operator (operands[4], i1)
    5371          402 :       || !general_operand (operands[2], i1))
    5372            0 :     return -1;
    5373              :   return 0;
    5374              : }
    5375              : 
    5376              : int
    5377         2055 : pattern1653 (rtx x1, machine_mode i1)
    5378              : {
    5379         2055 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5380         2055 :   rtx x2, x3, x4;
    5381         2055 :   int res ATTRIBUTE_UNUSED;
    5382         2055 :   if (!nonmemory_operand (operands[1], i1))
    5383              :     return -1;
    5384         2055 :   operands[3] = x1;
    5385         2055 :   if (!register_operand (operands[3], i1))
    5386              :     return -1;
    5387            8 :   x2 = PATTERN (peep2_next_insn (1));
    5388            8 :   x3 = XEXP (x2, 1);
    5389            8 :   if (!rtx_equal_p (x3, operands[3]))
    5390              :     return -1;
    5391            8 :   x4 = XEXP (x2, 0);
    5392            8 :   if (!rtx_equal_p (x4, operands[0]))
    5393              :     return -1;
    5394              :   return 0;
    5395              : }
    5396              : 
    5397              : int
    5398          440 : pattern1662 (rtx x1, machine_mode i1, machine_mode i2)
    5399              : {
    5400          440 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5401          440 :   rtx x2, x3, x4, x5, x6;
    5402          440 :   int res ATTRIBUTE_UNUSED;
    5403          440 :   if (!register_operand (operands[0], i1)
    5404          440 :       || GET_MODE (x1) != i1)
    5405              :     return -1;
    5406          410 :   x2 = XEXP (x1, 0);
    5407          410 :   if (GET_MODE (x2) != i1)
    5408              :     return -1;
    5409          410 :   x3 = XEXP (x2, 0);
    5410          410 :   if (GET_MODE (x3) != i2
    5411          410 :       || !register_operand (operands[1], i1))
    5412            0 :     return -1;
    5413          410 :   x4 = XEXP (x3, 1);
    5414          410 :   operands[2] = x4;
    5415          410 :   if (!nonimmediate_operand (operands[2], i1))
    5416              :     return -1;
    5417          410 :   x5 = XEXP (x1, 1);
    5418          410 :   operands[3] = x5;
    5419          410 :   if (!nonimm_or_0_operand (operands[3], i1))
    5420              :     return -1;
    5421          396 :   x6 = XEXP (x1, 2);
    5422          396 :   operands[4] = x6;
    5423          396 :   return 0;
    5424              : }
    5425              : 
    5426              : int
    5427          231 : pattern1672 (rtx x1, machine_mode i1)
    5428              : {
    5429          231 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5430          231 :   rtx x2, x3, x4;
    5431          231 :   int res ATTRIBUTE_UNUSED;
    5432          231 :   if (!register_operand (operands[0], i1)
    5433          231 :       || GET_MODE (x1) != i1)
    5434              :     return -1;
    5435          198 :   x2 = XVECEXP (x1, 0, 0);
    5436          198 :   if (GET_MODE (x2) != i1)
    5437              :     return -1;
    5438          198 :   x3 = XEXP (x2, 0);
    5439          198 :   if (GET_MODE (x3) != i1
    5440          198 :       || !nonimmediate_operand (operands[1], i1)
    5441          396 :       || !register_operand (operands[2], i1))
    5442           19 :     return -1;
    5443          179 :   x4 = XEXP (x3, 2);
    5444          179 :   if (GET_MODE (x4) != i1
    5445          179 :       || !register_operand (operands[3], i1))
    5446            6 :     return -1;
    5447              :   return 0;
    5448              : }
    5449              : 
    5450              : int
    5451         4836 : pattern1682 (rtx x1)
    5452              : {
    5453         4836 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5454         4836 :   rtx x2, x3, x4, x5, x6, x7;
    5455         4836 :   int res ATTRIBUTE_UNUSED;
    5456         4836 :   x2 = XVECEXP (x1, 0, 2);
    5457         4836 :   if (XWINT (x2, 0) != 2L)
    5458              :     return -1;
    5459          812 :   x3 = XVECEXP (x1, 0, 3);
    5460          812 :   if (XWINT (x3, 0) != 2L)
    5461              :     return -1;
    5462          812 :   x4 = XVECEXP (x1, 0, 4);
    5463          812 :   if (XWINT (x4, 0) != 4L)
    5464              :     return -1;
    5465          812 :   x5 = XVECEXP (x1, 0, 5);
    5466          812 :   if (XWINT (x5, 0) != 4L)
    5467              :     return -1;
    5468          812 :   x6 = XVECEXP (x1, 0, 6);
    5469          812 :   if (XWINT (x6, 0) != 6L)
    5470              :     return -1;
    5471          812 :   x7 = XVECEXP (x1, 0, 7);
    5472          812 :   if (XWINT (x7, 0) != 6L)
    5473            0 :     return -1;
    5474              :   return 0;
    5475              : }
    5476              : 
    5477              : int
    5478          444 : pattern1692 (machine_mode i1, machine_mode i2)
    5479              : {
    5480          444 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5481          444 :   int res ATTRIBUTE_UNUSED;
    5482          444 :   if (!vector_operand (operands[2], i2)
    5483          328 :       || !register_operand (operands[3], i1)
    5484          238 :       || !const0_operand (operands[4], i1)
    5485          538 :       || !const_0_to_7_operand (operands[5], E_SImode))
    5486          350 :     return -1;
    5487              :   return 0;
    5488              : }
    5489              : 
    5490              : int
    5491          331 : pattern1699 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    5492              : {
    5493          331 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5494          331 :   rtx x2, x3;
    5495          331 :   int res ATTRIBUTE_UNUSED;
    5496          331 :   if (!register_operand (operands[0], i1)
    5497          331 :       || GET_MODE (x1) != i1)
    5498              :     return -1;
    5499          323 :   x2 = XVECEXP (x1, 0, 0);
    5500          323 :   if (GET_MODE (x2) != i1)
    5501              :     return -1;
    5502          323 :   x3 = XEXP (x2, 0);
    5503          323 :   if (GET_MODE (x3) != i1
    5504          323 :       || !register_operand (operands[1], i1)
    5505          323 :       || !register_operand (operands[2], i1)
    5506          323 :       || !nonimmediate_operand (operands[3], i2)
    5507          323 :       || !const0_operand (operands[5], i1)
    5508          646 :       || !register_operand (operands[6], i3))
    5509            2 :     return -1;
    5510              :   return 0;
    5511              : }
    5512              : 
    5513              : int
    5514           18 : pattern1711 (rtx x1, machine_mode i1)
    5515              : {
    5516           18 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5517           18 :   rtx x2, x3, x4, x5;
    5518           18 :   int res ATTRIBUTE_UNUSED;
    5519           18 :   x2 = XVECEXP (x1, 0, 0);
    5520           18 :   x3 = XEXP (x2, 0);
    5521           18 :   if (GET_MODE (x3) != i1
    5522           18 :       || !register_operand (operands[1], i1)
    5523           36 :       || !register_operand (operands[2], i1))
    5524            0 :     return -1;
    5525           18 :   x4 = XVECEXP (x1, 0, 1);
    5526           18 :   if (GET_MODE (x4) != i1)
    5527              :     return -1;
    5528           18 :   x5 = XEXP (x4, 0);
    5529           18 :   if (GET_MODE (x5) != i1)
    5530              :     return -1;
    5531              :   return 0;
    5532              : }
    5533              : 
    5534              : int
    5535           45 : pattern1717 (rtx x1)
    5536              : {
    5537           45 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5538           45 :   rtx x2, x3;
    5539           45 :   int res ATTRIBUTE_UNUSED;
    5540           45 :   x2 = XEXP (x1, 0);
    5541           45 :   switch (GET_MODE (x2))
    5542              :     {
    5543            6 :     case E_HImode:
    5544            6 :       x3 = XEXP (x1, 1);
    5545            6 :       if (GET_MODE (x3) != E_HImode
    5546            6 :           || !extract_high_operator (operands[3], E_HImode))
    5547            0 :         return -1;
    5548              :       return 0;
    5549              : 
    5550           30 :     case E_SImode:
    5551           30 :       x3 = XEXP (x1, 1);
    5552           30 :       if (GET_MODE (x3) != E_SImode
    5553           30 :           || !extract_high_operator (operands[3], E_SImode))
    5554            0 :         return -1;
    5555              :       return 1;
    5556              : 
    5557            9 :     case E_DImode:
    5558            9 :       x3 = XEXP (x1, 1);
    5559            9 :       if (GET_MODE (x3) != E_DImode
    5560            9 :           || !extract_high_operator (operands[3], E_DImode))
    5561            0 :         return -1;
    5562              :       return 2;
    5563              : 
    5564              :     default:
    5565              :       return -1;
    5566              :     }
    5567              : }
    5568              : 
    5569              : int
    5570         5258 : pattern1730 ()
    5571              : {
    5572         5258 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5573         5258 :   int res ATTRIBUTE_UNUSED;
    5574         5258 :   if (!const_0_to_3_operand (operands[2], E_VOIDmode)
    5575         5000 :       || !const_0_to_3_operand (operands[3], E_VOIDmode)
    5576         4955 :       || !const_0_to_3_operand (operands[4], E_VOIDmode)
    5577         4930 :       || !const_0_to_3_operand (operands[5], E_VOIDmode)
    5578         4927 :       || !const_4_to_7_operand (operands[6], E_VOIDmode)
    5579         4731 :       || !const_4_to_7_operand (operands[7], E_VOIDmode)
    5580         4731 :       || !const_4_to_7_operand (operands[8], E_VOIDmode)
    5581         9988 :       || !const_4_to_7_operand (operands[9], E_VOIDmode))
    5582          528 :     return -1;
    5583              :   return 0;
    5584              : }
    5585              : 
    5586              : int
    5587          855 : pattern1740 (machine_mode i1)
    5588              : {
    5589          855 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5590          855 :   int res ATTRIBUTE_UNUSED;
    5591          855 :   if (!vsib_address_operand (operands[3], i1))
    5592              :     return -1;
    5593          851 :   switch (GET_MODE (operands[2]))
    5594              :     {
    5595          442 :     case E_V8SImode:
    5596          442 :       if (!register_operand (operands[2], E_V8SImode))
    5597              :         return -1;
    5598              :       return 0;
    5599              : 
    5600          409 :     case E_V8DImode:
    5601          409 :       if (!register_operand (operands[2], E_V8DImode))
    5602              :         return -1;
    5603              :       return 1;
    5604              : 
    5605              :     default:
    5606              :       return -1;
    5607              :     }
    5608              : }
    5609              : 
    5610              : int
    5611          214 : pattern1746 (machine_mode i1)
    5612              : {
    5613          214 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5614          214 :   int res ATTRIBUTE_UNUSED;
    5615          214 :   if (!vsib_address_operand (operands[3], i1))
    5616              :     return -1;
    5617          214 :   switch (GET_MODE (operands[2]))
    5618              :     {
    5619           68 :     case E_V4SImode:
    5620           68 :       if (!register_operand (operands[2], E_V4SImode))
    5621              :         return -1;
    5622              :       return 0;
    5623              : 
    5624          146 :     case E_V2DImode:
    5625          146 :       if (!register_operand (operands[2], E_V2DImode))
    5626              :         return -1;
    5627              :       return 1;
    5628              : 
    5629              :     default:
    5630              :       return -1;
    5631              :     }
    5632              : }
    5633              : 
    5634              : int
    5635          768 : pattern1755 (rtx x1, machine_mode i1)
    5636              : {
    5637          768 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5638          768 :   rtx x2;
    5639          768 :   int res ATTRIBUTE_UNUSED;
    5640          768 :   if (!register_operand (operands[0], i1)
    5641          768 :       || GET_MODE (x1) != i1)
    5642              :     return -1;
    5643          718 :   x2 = XEXP (x1, 0);
    5644          718 :   if (GET_MODE (x2) != i1
    5645          718 :       || !register_operand (operands[1], i1)
    5646          637 :       || !const_0_to_7_operand (operands[2], E_VOIDmode)
    5647          637 :       || !const_0_to_7_operand (operands[3], E_VOIDmode)
    5648          637 :       || !const_0_to_7_operand (operands[4], E_VOIDmode)
    5649          637 :       || !const_0_to_7_operand (operands[5], E_VOIDmode)
    5650          637 :       || !const_0_to_7_operand (operands[6], E_VOIDmode)
    5651          637 :       || !const_0_to_7_operand (operands[7], E_VOIDmode)
    5652          637 :       || !const_0_to_7_operand (operands[8], E_VOIDmode)
    5653          637 :       || !const_0_to_7_operand (operands[9], E_VOIDmode)
    5654         1355 :       || !nonimm_or_0_operand (operands[10], i1))
    5655          105 :     return -1;
    5656              :   return 0;
    5657              : }
    5658              : 
    5659              : int
    5660          200 : pattern1765 (machine_mode i1)
    5661              : {
    5662          200 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5663          200 :   int res ATTRIBUTE_UNUSED;
    5664          200 :   if (!vsib_address_operand (operands[3], i1))
    5665              :     return -1;
    5666          180 :   switch (GET_MODE (operands[4]))
    5667              :     {
    5668           90 :     case E_V4SImode:
    5669           90 :       if (!register_operand (operands[4], E_V4SImode))
    5670              :         return -1;
    5671              :       return 0;
    5672              : 
    5673           90 :     case E_V4DImode:
    5674           90 :       if (!register_operand (operands[4], E_V4DImode))
    5675              :         return -1;
    5676              :       return 1;
    5677              : 
    5678              :     default:
    5679              :       return -1;
    5680              :     }
    5681              : }
    5682              : 
    5683              : int
    5684         1315 : pattern1773 (rtx x1, machine_mode i1, machine_mode i2)
    5685              : {
    5686         1315 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5687         1315 :   rtx x2, x3;
    5688         1315 :   int res ATTRIBUTE_UNUSED;
    5689         1315 :   if (!register_operand (operands[0], i2)
    5690         1315 :       || GET_MODE (x1) != i2
    5691         1315 :       || !register_operand (operands[1], i2)
    5692         1315 :       || !register_operand (operands[7], E_QImode)
    5693         1308 :       || !vsib_mem_operator (operands[6], i1)
    5694         2623 :       || !scratch_operand (operands[2], E_QImode))
    5695            7 :     return -1;
    5696         1308 :   x2 = XVECEXP (x1, 0, 2);
    5697         1308 :   x3 = XEXP (x2, 0);
    5698         1308 :   switch (GET_MODE (x3))
    5699              :     {
    5700            0 :     case E_SImode:
    5701            0 :       return pattern1772 (
    5702            0 : E_SImode); /* [-1, 1] */
    5703              : 
    5704         1308 :     case E_DImode:
    5705         1308 :       res = pattern1772 (
    5706              : E_DImode);
    5707         1308 :       if (res >= 0)
    5708         1248 :         return res + 2; /* [2, 3] */
    5709              :       return -1;
    5710              : 
    5711              :     default:
    5712              :       return -1;
    5713              :     }
    5714              : }
    5715              : 
    5716              : int
    5717           53 : pattern1788 (rtx x1, machine_mode i1)
    5718              : {
    5719           53 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5720           53 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5721           53 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    5722           53 :   int res ATTRIBUTE_UNUSED;
    5723           53 :   if (!constm1_operand (operands[2], i1))
    5724              :     return -1;
    5725           49 :   x2 = XVECEXP (x1, 0, 0);
    5726           49 :   x3 = XEXP (x2, 1);
    5727           49 :   if (XVECLEN (x3, 0) != 2
    5728           49 :       || XINT (x3, 1) != 110
    5729           49 :       || GET_MODE (x3) != i1)
    5730              :     return -1;
    5731           35 :   x4 = XVECEXP (x1, 0, 1);
    5732           35 :   x5 = XEXP (x4, 1);
    5733           35 :   if (GET_CODE (x5) != PLUS
    5734           35 :       || GET_MODE (x5) != i1)
    5735              :     return -1;
    5736           35 :   x6 = XVECEXP (x1, 0, 2);
    5737           35 :   if (GET_CODE (x6) != CLOBBER)
    5738              :     return -1;
    5739           35 :   x7 = XEXP (x6, 0);
    5740           35 :   if (GET_CODE (x7) != REG
    5741           35 :       || REGNO (x7) != 17
    5742           70 :       || GET_MODE (x7) != E_CCmode)
    5743              :     return -1;
    5744           35 :   x8 = XVECEXP (x3, 0, 0);
    5745           35 :   operands[1] = x8;
    5746           35 :   if (!memory_operand (operands[1], i1))
    5747              :     return -1;
    5748           35 :   x9 = XVECEXP (x3, 0, 1);
    5749           35 :   operands[4] = x9;
    5750           35 :   if (!const_int_operand (operands[4], E_SImode))
    5751              :     return -1;
    5752           35 :   x10 = XEXP (x2, 0);
    5753           35 :   if (!rtx_equal_p (x10, operands[0]))
    5754              :     return -1;
    5755           35 :   x11 = XEXP (x5, 0);
    5756           35 :   if (!rtx_equal_p (x11, operands[1]))
    5757              :     return -1;
    5758           35 :   x12 = XEXP (x5, 1);
    5759           35 :   if (!rtx_equal_p (x12, operands[0]))
    5760              :     return -1;
    5761           35 :   x13 = XEXP (x4, 0);
    5762           35 :   if (!rtx_equal_p (x13, operands[1]))
    5763              :     return -1;
    5764           35 :   x14 = PATTERN (peep2_next_insn (2));
    5765           35 :   x15 = XEXP (x14, 1);
    5766           35 :   x16 = XEXP (x15, 1);
    5767           35 :   operands[3] = x16;
    5768           35 :   if (!const_int_operand (operands[3], i1))
    5769              :     return -1;
    5770           33 :   x17 = XEXP (x15, 0);
    5771           33 :   if (!rtx_equal_p (x17, operands[0]))
    5772              :     return -1;
    5773              :   return 0;
    5774              : }
    5775              : 
    5776              : int
    5777          123 : pattern1812 (machine_mode i1)
    5778              : {
    5779          123 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5780          123 :   int res ATTRIBUTE_UNUSED;
    5781          123 :   if (!vsib_address_operand (operands[2], i1))
    5782              :     return -1;
    5783          111 :   switch (GET_MODE (operands[3]))
    5784              :     {
    5785           73 :     case E_V8SImode:
    5786           73 :       if (!register_operand (operands[3], E_V8SImode)
    5787           73 :           || !register_operand (operands[4], E_V8SImode))
    5788           66 :         return -1;
    5789              :       return 0;
    5790              : 
    5791           38 :     case E_V4DImode:
    5792           38 :       if (!register_operand (operands[3], E_V4DImode)
    5793           38 :           || !register_operand (operands[4], E_V4SImode))
    5794           37 :         return -1;
    5795              :       return 1;
    5796              : 
    5797              :     default:
    5798              :       return -1;
    5799              :     }
    5800              : }
    5801              : 
    5802              : int
    5803          769 : pattern1820 (rtx x1, machine_mode i1, machine_mode i2)
    5804              : {
    5805          769 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5806          769 :   int res ATTRIBUTE_UNUSED;
    5807          769 :   if (!register_operand (operands[0], i1)
    5808          765 :       || GET_MODE (x1) != i1
    5809          765 :       || !vsib_mem_operator (operands[7], i2)
    5810         1534 :       || !scratch_operand (operands[1], i1))
    5811            4 :     return -1;
    5812              :   return 0;
    5813              : }
    5814              : 
    5815              : int
    5816            1 : pattern1825 (rtx x1, machine_mode i1)
    5817              : {
    5818            1 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5819            1 :   rtx x2, x3, x4, x5, x6, x7;
    5820            1 :   int res ATTRIBUTE_UNUSED;
    5821            1 :   x2 = XVECEXP (x1, 0, 0);
    5822            1 :   x3 = XEXP (x2, 1);
    5823            1 :   x4 = XEXP (x3, 0);
    5824            1 :   x5 = XEXP (x4, 0);
    5825            1 :   if (GET_MODE (x5) != i1
    5826            1 :       || !nonimmediate_operand (operands[1], i1)
    5827            2 :       || !ix86_carry_flag_operator (operands[4], i1))
    5828            0 :     return -1;
    5829            1 :   x6 = XVECEXP (x1, 0, 1);
    5830            1 :   x7 = XEXP (x6, 1);
    5831            1 :   return pattern1821 (x7, 
    5832            1 : i1); /* [-1, 0] */
    5833              : }
    5834              : 
    5835              : int
    5836         5703 : pattern1833 (rtx x1, machine_mode i1)
    5837              : {
    5838         5703 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5839         5703 :   rtx x2, x3, x4, x5, x6, x7, x8;
    5840         5703 :   int res ATTRIBUTE_UNUSED;
    5841         5703 :   x2 = XEXP (x1, 1);
    5842         5703 :   if (!rtx_equal_p (x2, operands[4]))
    5843              :     return -1;
    5844          473 :   x3 = XEXP (x1, 0);
    5845          473 :   if (!rtx_equal_p (x3, operands[1]))
    5846              :     return -1;
    5847           34 :   x4 = PATTERN (peep2_next_insn (3));
    5848           34 :   if (GET_CODE (x4) != SET)
    5849              :     return -1;
    5850           27 :   x5 = XEXP (x4, 1);
    5851           27 :   if (GET_CODE (x5) != COMPARE
    5852           11 :       || GET_MODE (x5) != E_CCZmode)
    5853              :     return -1;
    5854            5 :   x6 = XEXP (x4, 0);
    5855            5 :   if (GET_CODE (x6) != REG
    5856            5 :       || REGNO (x6) != 17
    5857           10 :       || GET_MODE (x6) != E_CCZmode)
    5858              :     return -1;
    5859            5 :   x7 = XEXP (x5, 0);
    5860            5 :   operands[5] = x7;
    5861            5 :   if (!register_operand (operands[5], i1))
    5862              :     return -1;
    5863            5 :   x8 = XEXP (x5, 1);
    5864            5 :   operands[6] = x8;
    5865            5 :   if (!x86_64_nonmemory_operand (operands[6], i1))
    5866              :     return -1;
    5867              :   return 0;
    5868              : }
    5869              : 
    5870              : int
    5871          434 : pattern1848 (machine_mode i1)
    5872              : {
    5873          434 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5874          434 :   int res ATTRIBUTE_UNUSED;
    5875          434 :   if (!vsib_address_operand (operands[0], i1))
    5876              :     return -1;
    5877          421 :   switch (GET_MODE (operands[2]))
    5878              :     {
    5879          227 :     case E_V8SImode:
    5880          227 :       if (!register_operand (operands[2], E_V8SImode)
    5881          227 :           || !register_operand (operands[3], E_V8SImode))
    5882           38 :         return -1;
    5883              :       return 0;
    5884              : 
    5885          194 :     case E_V4DImode:
    5886          194 :       if (!register_operand (operands[2], E_V4DImode)
    5887          194 :           || !register_operand (operands[3], E_V4SImode))
    5888           21 :         return -1;
    5889              :       return 1;
    5890              : 
    5891              :     default:
    5892              :       return -1;
    5893              :     }
    5894              : }
    5895              : 
    5896              : int
    5897       428843 : pattern1856 (rtx x1, machine_mode i1)
    5898              : {
    5899       428843 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5900       428843 :   rtx x2, x3, x4, x5;
    5901       428843 :   int res ATTRIBUTE_UNUSED;
    5902       428843 :   if (!register_operand (operands[0], i1))
    5903              :     return -1;
    5904       428843 :   x2 = XVECEXP (x1, 0, 0);
    5905       428843 :   x3 = XEXP (x2, 1);
    5906       428843 :   if (GET_MODE (x3) != i1
    5907       428843 :       || !memory_operand (operands[1], i1)
    5908       427803 :       || !register_operand (operands[2], i1)
    5909       821081 :       || !register_operand (operands[3], i1))
    5910        91881 :     return -1;
    5911       336962 :   x4 = XVECEXP (x1, 0, 1);
    5912       336962 :   x5 = XEXP (x4, 1);
    5913       336962 :   if (GET_MODE (x5) != i1)
    5914              :     return -1;
    5915              :   return 0;
    5916              : }
    5917              : 
    5918              : int
    5919          119 : pattern1863 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    5920              : {
    5921          119 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5922          119 :   rtx x2, x3, x4;
    5923          119 :   int res ATTRIBUTE_UNUSED;
    5924          119 :   if (!register_operand (operands[0], i1)
    5925          119 :       || GET_MODE (x1) != i1)
    5926              :     return -1;
    5927          111 :   x2 = XEXP (x1, 0);
    5928          111 :   if (GET_MODE (x2) != i3
    5929          111 :       || !vsib_mem_operator (operands[6], i2)
    5930          222 :       || !register_operand (operands[4], i1))
    5931           81 :     return -1;
    5932           30 :   x3 = XVECEXP (x2, 0, 1);
    5933           30 :   x4 = XEXP (x3, 0);
    5934           30 :   switch (GET_MODE (x4))
    5935              :     {
    5936            0 :     case E_SImode:
    5937            0 :       if (!vsib_address_operand (operands[2], E_SImode))
    5938              :         return -1;
    5939              :       return 0;
    5940              : 
    5941           30 :     case E_DImode:
    5942           30 :       if (!vsib_address_operand (operands[2], E_DImode))
    5943              :         return -1;
    5944              :       return 1;
    5945              : 
    5946              :     default:
    5947              :       return -1;
    5948              :     }
    5949              : }
    5950              : 
    5951              : int
    5952          715 : pattern1870 (rtx x1, machine_mode i1)
    5953              : {
    5954          715 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5955          715 :   int res ATTRIBUTE_UNUSED;
    5956          715 :   if (!register_operand (operands[5], i1))
    5957              :     return -1;
    5958          644 :   switch (GET_MODE (x1))
    5959              :     {
    5960            0 :     case E_SImode:
    5961            0 :       if (!vsib_address_operand (operands[3], E_SImode))
    5962              :         return -1;
    5963              :       return 0;
    5964              : 
    5965          644 :     case E_DImode:
    5966          644 :       if (!vsib_address_operand (operands[3], E_DImode))
    5967              :         return -1;
    5968              :       return 1;
    5969              : 
    5970              :     default:
    5971              :       return -1;
    5972              :     }
    5973              : }
    5974              : 
    5975              : int
    5976           87 : pattern1878 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    5977              : {
    5978           87 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5979           87 :   rtx x2, x3, x4;
    5980           87 :   int res ATTRIBUTE_UNUSED;
    5981           87 :   if (!register_operand (operands[0], i2)
    5982           87 :       || GET_MODE (x1) != i2)
    5983              :     return -1;
    5984           85 :   x2 = XEXP (x1, 0);
    5985           85 :   if (GET_MODE (x2) != i1
    5986           85 :       || !vsib_mem_operator (operands[6], i3)
    5987           85 :       || !register_operand (operands[4], i2)
    5988          105 :       || !scratch_operand (operands[1], i1))
    5989           65 :     return -1;
    5990           20 :   x3 = XVECEXP (x2, 0, 1);
    5991           20 :   x4 = XEXP (x3, 0);
    5992           20 :   switch (GET_MODE (x4))
    5993              :     {
    5994            0 :     case E_SImode:
    5995            0 :       if (!vsib_address_operand (operands[2], E_SImode))
    5996              :         return -1;
    5997              :       return 0;
    5998              : 
    5999           20 :     case E_DImode:
    6000           20 :       if (!vsib_address_operand (operands[2], E_DImode))
    6001              :         return -1;
    6002              :       return 1;
    6003              : 
    6004              :     default:
    6005              :       return -1;
    6006              :     }
    6007              : }
    6008              : 
    6009              : int
    6010          176 : pattern1888 (rtx x1)
    6011              : {
    6012          176 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6013          176 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6014          176 :   rtx x10, x11, x12, x13, x14, x15;
    6015          176 :   int res ATTRIBUTE_UNUSED;
    6016          176 :   if (GET_CODE (x1) != SET)
    6017              :     return -1;
    6018          176 :   x2 = XEXP (x1, 1);
    6019          176 :   if (GET_CODE (x2) != GTU
    6020          116 :       || GET_MODE (x2) != E_QImode)
    6021              :     return -1;
    6022          116 :   x3 = XEXP (x2, 0);
    6023          116 :   if (GET_CODE (x3) != REG
    6024          116 :       || REGNO (x3) != 17
    6025          232 :       || GET_MODE (x3) != E_CCmode)
    6026              :     return -1;
    6027          116 :   x4 = XEXP (x2, 1);
    6028          116 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6029              :     return -1;
    6030          116 :   x5 = XEXP (x1, 0);
    6031          116 :   operands[7] = x5;
    6032          116 :   if (!register_operand (operands[7], E_QImode))
    6033              :     return -1;
    6034          116 :   x6 = PATTERN (peep2_next_insn (2));
    6035          116 :   if (GET_CODE (x6) != SET)
    6036              :     return -1;
    6037           10 :   x7 = XEXP (x6, 1);
    6038           10 :   if (GET_CODE (x7) != LTU
    6039            0 :       || GET_MODE (x7) != E_QImode)
    6040              :     return -1;
    6041            0 :   x8 = XEXP (x7, 0);
    6042            0 :   if (GET_CODE (x8) != REG
    6043            0 :       || REGNO (x8) != 17
    6044            0 :       || GET_MODE (x8) != E_CCmode)
    6045              :     return -1;
    6046            0 :   x9 = XEXP (x7, 1);
    6047            0 :   if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6048              :     return -1;
    6049            0 :   x10 = XEXP (x6, 0);
    6050            0 :   operands[8] = x10;
    6051            0 :   if (!register_operand (operands[8], E_QImode))
    6052              :     return -1;
    6053            0 :   x11 = PATTERN (peep2_next_insn (3));
    6054            0 :   if (GET_CODE (x11) != SET)
    6055              :     return -1;
    6056            0 :   x12 = XEXP (x11, 1);
    6057            0 :   if (GET_CODE (x12) != COMPARE)
    6058              :     return -1;
    6059            0 :   x13 = XEXP (x11, 0);
    6060            0 :   if (GET_CODE (x13) != REG
    6061            0 :       || REGNO (x13) != 17)
    6062              :     return -1;
    6063            0 :   x14 = XEXP (x12, 0);
    6064            0 :   if (!rtx_equal_p (x14, operands[7]))
    6065              :     return -1;
    6066            0 :   x15 = XEXP (x12, 1);
    6067            0 :   if (!rtx_equal_p (x15, operands[8]))
    6068              :     return -1;
    6069              :   return 0;
    6070              : }
    6071              : 
    6072              : int
    6073          448 : pattern1901 ()
    6074              : {
    6075          448 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6076          448 :   int res ATTRIBUTE_UNUSED;
    6077          448 :   if (!const_0_to_15_operand (operands[4], E_VOIDmode)
    6078          432 :       || !const_0_to_15_operand (operands[5], E_VOIDmode)
    6079          432 :       || !const_0_to_15_operand (operands[6], E_VOIDmode)
    6080          432 :       || !const_0_to_15_operand (operands[7], E_VOIDmode)
    6081          432 :       || !const_0_to_15_operand (operands[8], E_VOIDmode)
    6082          432 :       || !const_0_to_15_operand (operands[9], E_VOIDmode)
    6083          432 :       || !const_0_to_15_operand (operands[10], E_VOIDmode)
    6084          432 :       || !const_16_to_31_operand (operands[11], E_VOIDmode)
    6085          432 :       || !const_16_to_31_operand (operands[12], E_VOIDmode)
    6086          432 :       || !const_16_to_31_operand (operands[13], E_VOIDmode)
    6087          432 :       || !const_16_to_31_operand (operands[14], E_VOIDmode)
    6088          432 :       || !const_16_to_31_operand (operands[15], E_VOIDmode)
    6089          432 :       || !const_16_to_31_operand (operands[16], E_VOIDmode)
    6090          432 :       || !const_16_to_31_operand (operands[17], E_VOIDmode)
    6091          880 :       || !const_16_to_31_operand (operands[18], E_VOIDmode))
    6092           16 :     return -1;
    6093              :   return 0;
    6094              : }
    6095              : 
    6096              : int
    6097           24 : pattern1913 (rtx x1)
    6098              : {
    6099           24 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6100           24 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6101           24 :   int res ATTRIBUTE_UNUSED;
    6102           24 :   if (GET_CODE (x1) != SET)
    6103              :     return -1;
    6104           24 :   x2 = XEXP (x1, 1);
    6105           24 :   switch (GET_CODE (x2))
    6106              :     {
    6107           12 :     case NE:
    6108           12 :     case EQ:
    6109           12 :     case GE:
    6110           12 :     case GT:
    6111           12 :     case LE:
    6112           12 :     case LT:
    6113           12 :       operands[8] = x2;
    6114           12 :       if (!ix86_comparison_int_operator (operands[8], E_QImode))
    6115              :         return -1;
    6116           12 :       x3 = XEXP (x2, 0);
    6117           12 :       if (GET_CODE (x3) != REG
    6118           12 :           || REGNO (x3) != 17)
    6119              :         return -1;
    6120           12 :       x4 = XEXP (x2, 1);
    6121           12 :       if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6122              :         return -1;
    6123           12 :       x5 = XEXP (x1, 0);
    6124           12 :       operands[7] = x5;
    6125           12 :       if (!nonimmediate_operand (operands[7], E_QImode))
    6126              :         return -1;
    6127              :       return 0;
    6128              : 
    6129           12 :     case IF_THEN_ELSE:
    6130           12 :       x3 = XEXP (x2, 0);
    6131           12 :       if (!ix86_comparison_int_operator (x3, E_VOIDmode))
    6132              :         return -1;
    6133           12 :       operands[7] = x3;
    6134           12 :       x6 = XEXP (x3, 0);
    6135           12 :       if (GET_CODE (x6) != REG
    6136           12 :           || REGNO (x6) != 17)
    6137              :         return -1;
    6138           12 :       x7 = XEXP (x3, 1);
    6139           12 :       if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6140              :         return -1;
    6141           12 :       x4 = XEXP (x2, 1);
    6142           12 :       if (GET_CODE (x4) != LABEL_REF)
    6143              :         return -1;
    6144           12 :       x8 = XEXP (x2, 2);
    6145           12 :       if (GET_CODE (x8) != PC)
    6146              :         return -1;
    6147           12 :       x5 = XEXP (x1, 0);
    6148           12 :       if (GET_CODE (x5) != PC)
    6149              :         return -1;
    6150           12 :       x9 = XEXP (x4, 0);
    6151           12 :       operands[8] = x9;
    6152           12 :       return 1;
    6153              : 
    6154              :     default:
    6155              :       return -1;
    6156              :     }
    6157              : }
    6158              : 
    6159              :  int
    6160       103586 : recog_9 (rtx x1 ATTRIBUTE_UNUSED,
    6161              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    6162              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    6163              : {
    6164       103586 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6165       103586 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6166       103586 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    6167       103586 :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
    6168       103586 :   rtx x26, x27, x28, x29, x30, x31, x32, x33;
    6169       103586 :   rtx x34, x35;
    6170       103586 :   int res ATTRIBUTE_UNUSED;
    6171       103586 :   x2 = XEXP (x1, 1);
    6172       103586 :   x3 = XVECEXP (x2, 0, 0);
    6173       103586 :   switch (GET_CODE (x3))
    6174              :     {
    6175        11595 :     case UNSPEC:
    6176        11595 :       x4 = XVECEXP (x2, 0, 1);
    6177        11595 :       if (!const48_operand (x4, E_SImode))
    6178              :         return -1;
    6179        11493 :       switch (XVECLEN (x3, 0))
    6180              :         {
    6181         2226 :         case 3:
    6182         2226 :           if (XINT (x3, 1) != 60)
    6183              :             return -1;
    6184         1004 :           x5 = XEXP (x1, 0);
    6185         1004 :           operands[0] = x5;
    6186         1004 :           x6 = XVECEXP (x3, 0, 0);
    6187         1004 :           operands[1] = x6;
    6188         1004 :           x7 = XVECEXP (x3, 0, 1);
    6189         1004 :           operands[2] = x7;
    6190         1004 :           x8 = XVECEXP (x3, 0, 2);
    6191         1004 :           operands[3] = x8;
    6192         1004 :           if (!const_0_to_31_operand (operands[3], E_SImode))
    6193              :             return -1;
    6194         1004 :           operands[4] = x4;
    6195         1004 :           switch (GET_MODE (operands[0]))
    6196              :             {
    6197          489 :             case E_HImode:
    6198          489 :               if (pattern1463 (x2, 
    6199              : E_V16SFmode, 
    6200              : E_HImode) != 0
    6201          489 :                   || !(
    6202              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6203              : (TARGET_AVX512F) && 
    6204              : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6205              : (TARGET_AVX512F && (V16SFmode == V16SFmode
    6206              :                                                                               || V16SFmode == V8DFmode
    6207              :                                                                               || V16SFmode == V8DImode
    6208              :                                                                               || V16SFmode == V16SImode
    6209              :                                                                               || V16SFmode == V32HFmode))))
    6210              :                 return -1;
    6211              :               return 3341; /* avx512f_cmpv16sf3_round */
    6212              : 
    6213              :             case E_QImode:
    6214              :               if (pattern1463 (x2, 
    6215              : E_V8DFmode, 
    6216              : E_QImode) != 0
    6217              :                   || !(
    6218              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6219              : (TARGET_AVX512F) && 
    6220              : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6221              : (TARGET_AVX512F && (V8DFmode == V16SFmode
    6222              :                                                                               || V8DFmode == V8DFmode
    6223              :                                                                               || V8DFmode == V8DImode
    6224              :                                                                               || V8DFmode == V16SImode
    6225              :                                                                               || V8DFmode == V32HFmode))))
    6226              :                 return -1;
    6227              :               return 3349; /* avx512f_cmpv8df3_round */
    6228              : 
    6229              :             default:
    6230              :               return -1;
    6231              :             }
    6232              : 
    6233              :         case 2:
    6234              :           if (XINT (x3, 1) != 62
    6235              :               || GET_MODE (x3) != E_CCFPmode
    6236              :               || pattern858 (x3) != 0
    6237              :               || pattern46 (x1, 
    6238              : E_CCFPmode) != 0)
    6239              :             return -1;
    6240              :           x6 = XVECEXP (x3, 0, 0);
    6241              :           x9 = XEXP (x6, 0);
    6242              :           operands[0] = x9;
    6243              :           x7 = XVECEXP (x3, 0, 1);
    6244              :           x10 = XEXP (x7, 0);
    6245              :           operands[1] = x10;
    6246              :           operands[2] = x4;
    6247              :           switch (GET_MODE (x6))
    6248              :             {
    6249              :             case E_HFmode:
    6250              :               if (!register_operand (operands[0], E_V8HFmode)
    6251              :                   || GET_MODE (x7) != E_HFmode
    6252              :                   || !register_operand (operands[1], E_V8HFmode)
    6253              :                   || !(
    6254              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6255              : (TARGET_AVX512F) && (
    6256              : #line 5258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6257              : (TARGET_AVX10_2) && 
    6258              : #line 1386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6259              : (TARGET_AVX512FP16))))
    6260              :                 return -1;
    6261              :               return 3747; /* avx10_2_comxhf_round */
    6262              : 
    6263              :             case E_SFmode:
    6264              :               if (!register_operand (operands[0], E_V4SFmode)
    6265              :                   || GET_MODE (x7) != E_SFmode
    6266              :                   || !register_operand (operands[1], E_V4SFmode)
    6267              :                   || !(
    6268              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6269              : (TARGET_AVX512F) && 
    6270              : #line 5258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6271              : (TARGET_AVX10_2)))
    6272              :                 return -1;
    6273              :               return 3751; /* avx10_2_comxsf_round */
    6274              : 
    6275              :             case E_DFmode:
    6276              :               if (!register_operand (operands[0], E_V2DFmode)
    6277              :                   || GET_MODE (x7) != E_DFmode
    6278              :                   || !register_operand (operands[1], E_V2DFmode)
    6279              :                   || !(
    6280              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6281              : (TARGET_AVX512F) && 
    6282              : #line 5258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6283              : (TARGET_AVX10_2)))
    6284              :                 return -1;
    6285              :               return 3755; /* avx10_2_comxdf_round */
    6286              : 
    6287              :             default:
    6288              :               return -1;
    6289              :             }
    6290              : 
    6291              :         case 1:
    6292              :           if (XINT (x3, 1) != 27
    6293              :               || GET_MODE (x3) != E_CCFPmode
    6294              :               || pattern46 (x1, 
    6295              : E_CCFPmode) != 0)
    6296              :             return -1;
    6297              :           x6 = XVECEXP (x3, 0, 0);
    6298              :           if (GET_MODE (x6) != E_CCFPmode)
    6299              :             return -1;
    6300              :           operands[2] = x4;
    6301              :           switch (GET_CODE (x6))
    6302              :             {
    6303              :             case UNSPEC:
    6304              :               if (XVECLEN (x6, 0) != 2
    6305              :                   || XINT (x6, 1) != 62)
    6306              :                 return -1;
    6307              :               x11 = XVECEXP (x6, 0, 0);
    6308              :               if (GET_CODE (x11) != VEC_SELECT)
    6309              :                 return -1;
    6310              :               x12 = XEXP (x11, 1);
    6311              :               if (GET_CODE (x12) != PARALLEL
    6312              :                   || XVECLEN (x12, 0) != 1)
    6313              :                 return -1;
    6314              :               x13 = XVECEXP (x12, 0, 0);
    6315              :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6316              :                 return -1;
    6317              :               x14 = XVECEXP (x6, 0, 1);
    6318              :               if (GET_CODE (x14) != VEC_SELECT)
    6319              :                 return -1;
    6320              :               x15 = XEXP (x14, 1);
    6321              :               if (GET_CODE (x15) != PARALLEL
    6322              :                   || XVECLEN (x15, 0) != 1)
    6323              :                 return -1;
    6324              :               x16 = XVECEXP (x15, 0, 0);
    6325              :               if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6326              :                 return -1;
    6327              :               x17 = XEXP (x11, 0);
    6328              :               operands[0] = x17;
    6329              :               x18 = XEXP (x14, 0);
    6330              :               operands[1] = x18;
    6331              :               switch (GET_MODE (x11))
    6332              :                 {
    6333              :                 case E_HFmode:
    6334              :                   if (!register_operand (operands[0], E_V8HFmode)
    6335              :                       || GET_MODE (x14) != E_HFmode
    6336              :                       || !register_operand (operands[1], E_V8HFmode)
    6337              :                       || !(
    6338              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6339              : (TARGET_AVX512F) && (
    6340              : #line 5258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6341              : (TARGET_AVX10_2) && 
    6342              : #line 1386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6343              : (TARGET_AVX512FP16))))
    6344              :                     return -1;
    6345              :                   return 3749; /* avx10_2_ucomxhf_round */
    6346              : 
    6347              :                 case E_SFmode:
    6348              :                   if (!register_operand (operands[0], E_V4SFmode)
    6349              :                       || GET_MODE (x14) != E_SFmode
    6350              :                       || !register_operand (operands[1], E_V4SFmode)
    6351              :                       || !(
    6352              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6353              : (TARGET_AVX512F) && 
    6354              : #line 5258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6355              : (TARGET_AVX10_2)))
    6356              :                     return -1;
    6357              :                   return 3753; /* avx10_2_ucomxsf_round */
    6358              : 
    6359              :                 case E_DFmode:
    6360              :                   if (!register_operand (operands[0], E_V2DFmode)
    6361              :                       || GET_MODE (x14) != E_DFmode
    6362              :                       || !register_operand (operands[1], E_V2DFmode)
    6363              :                       || !(
    6364              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6365              : (TARGET_AVX512F) && 
    6366              : #line 5258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6367              : (TARGET_AVX10_2)))
    6368              :                     return -1;
    6369              :                   return 3757; /* avx10_2_ucomxdf_round */
    6370              : 
    6371              :                 default:
    6372              :                   return -1;
    6373              :                 }
    6374              : 
    6375              :             case COMPARE:
    6376              :               x9 = XEXP (x6, 0);
    6377              :               if (GET_CODE (x9) != VEC_SELECT)
    6378              :                 return -1;
    6379              :               x19 = XEXP (x9, 1);
    6380              :               if (GET_CODE (x19) != PARALLEL
    6381              :                   || XVECLEN (x19, 0) != 1)
    6382              :                 return -1;
    6383              :               x20 = XVECEXP (x19, 0, 0);
    6384              :               if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6385              :                 return -1;
    6386              :               x21 = XEXP (x6, 1);
    6387              :               if (GET_CODE (x21) != VEC_SELECT)
    6388              :                 return -1;
    6389              :               x22 = XEXP (x21, 1);
    6390              :               if (GET_CODE (x22) != PARALLEL
    6391              :                   || XVECLEN (x22, 0) != 1)
    6392              :                 return -1;
    6393              :               x23 = XVECEXP (x22, 0, 0);
    6394              :               if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6395              :                 return -1;
    6396              :               x24 = XEXP (x9, 0);
    6397              :               operands[0] = x24;
    6398              :               x25 = XEXP (x21, 0);
    6399              :               operands[1] = x25;
    6400              :               switch (GET_MODE (x9))
    6401              :                 {
    6402              :                 case E_HFmode:
    6403              :                   if (!register_operand (operands[0], E_V8HFmode)
    6404              :                       || GET_MODE (x21) != E_HFmode
    6405              :                       || !register_operand (operands[1], E_V8HFmode)
    6406              :                       || !(
    6407              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6408              : (TARGET_AVX512F) && (
    6409              : #line 5273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6410              : (SSE_FLOAT_MODE_P (HFmode) || HFmode == E_HFmode) && 
    6411              : #line 1386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6412              : (TARGET_AVX512FP16))))
    6413              :                     return -1;
    6414              :                   return 3761; /* avx512fp16_ucomi_round */
    6415              : 
    6416              :                 case E_SFmode:
    6417              :                   if (!register_operand (operands[0], E_V4SFmode)
    6418              :                       || GET_MODE (x21) != E_SFmode
    6419              :                       || !register_operand (operands[1], E_V4SFmode)
    6420              :                       || !(
    6421              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6422              : (TARGET_AVX512F) && 
    6423              : #line 5273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6424              : (SSE_FLOAT_MODE_P (SFmode) || SFmode == E_HFmode)))
    6425              :                     return -1;
    6426              :                   return 3765; /* sse_ucomi_round */
    6427              : 
    6428              :                 case E_DFmode:
    6429              :                   if (!register_operand (operands[0], E_V2DFmode)
    6430              :                       || GET_MODE (x21) != E_DFmode
    6431              :                       || !register_operand (operands[1], E_V2DFmode)
    6432              :                       || !(
    6433              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6434              : (TARGET_AVX512F) && 
    6435              : #line 5273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6436              : (SSE_FLOAT_MODE_P (DFmode) || DFmode == E_HFmode)))
    6437              :                     return -1;
    6438              :                   return 3769; /* sse2_ucomi_round */
    6439              : 
    6440              :                 default:
    6441              :                   return -1;
    6442              :                 }
    6443              : 
    6444              :             default:
    6445              :               return -1;
    6446              :             }
    6447              : 
    6448              :         default:
    6449              :           return -1;
    6450              :         }
    6451              : 
    6452              :     case AND:
    6453              :       x26 = XEXP (x3, 0);
    6454              :       if (GET_CODE (x26) != UNSPEC
    6455              :           || XVECLEN (x26, 0) != 3
    6456              :           || XINT (x26, 1) != 60)
    6457              :         return -1;
    6458              :       x5 = XEXP (x1, 0);
    6459              :       operands[0] = x5;
    6460              :       x27 = XVECEXP (x26, 0, 0);
    6461              :       operands[1] = x27;
    6462              :       x28 = XVECEXP (x26, 0, 1);
    6463              :       operands[2] = x28;
    6464              :       x29 = XVECEXP (x26, 0, 2);
    6465              :       operands[3] = x29;
    6466              :       if (!const_0_to_31_operand (operands[3], E_SImode))
    6467              :         return -1;
    6468              :       x4 = XVECEXP (x2, 0, 1);
    6469              :       if (!const48_operand (x4, E_SImode))
    6470              :         return -1;
    6471              :       x30 = XEXP (x3, 1);
    6472              :       switch (GET_CODE (x30))
    6473              :         {
    6474              :         case REG:
    6475              :         case SUBREG:
    6476              :           operands[4] = x30;
    6477              :           operands[5] = x4;
    6478              :           switch (GET_MODE (operands[0]))
    6479              :             {
    6480              :             case E_HImode:
    6481              :               if (pattern1594 (x2, 
    6482              : E_HImode, 
    6483              : E_V16SFmode) != 0
    6484              :                   || !(
    6485              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6486              : (TARGET_AVX512F) && (
    6487              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6488              : (TARGET_AVX512F) && 
    6489              : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6490              : (TARGET_AVX512F && (V16SFmode == V16SFmode
    6491              :                                                                               || V16SFmode == V8DFmode
    6492              :                                                                               || V16SFmode == V8DImode
    6493              :                                                                               || V16SFmode == V16SImode
    6494              :                                                                               || V16SFmode == V32HFmode)))))
    6495              :                 return -1;
    6496              :               return 3343; /* avx512f_cmpv16sf3_mask_round */
    6497              : 
    6498              :             case E_QImode:
    6499              :               if (pattern1594 (x2, 
    6500              : E_QImode, 
    6501              : E_V8DFmode) != 0
    6502              :                   || !(
    6503              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6504              : (TARGET_AVX512F) && (
    6505              : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6506              : (TARGET_AVX512F) && 
    6507              : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6508              : (TARGET_AVX512F && (V8DFmode == V16SFmode
    6509              :                                                                               || V8DFmode == V8DFmode
    6510              :                                                                               || V8DFmode == V8DImode
    6511              :                                                                               || V8DFmode == V16SImode
    6512              :                                                                               || V8DFmode == V32HFmode)))))
    6513              :                 return -1;
    6514              :               return 3351; /* avx512f_cmpv8df3_mask_round */
    6515              : 
    6516              :             default:
    6517              :               return -1;
    6518              :             }
    6519              : 
    6520              :         case CONST_INT:
    6521              :           if (XWINT (x30, 0) != 1L
    6522              :               || pattern1486 (x2, 
    6523              : E_QImode) != 0)
    6524              :             return -1;
    6525              :           operands[4] = x4;
    6526              :           switch (pattern1716 ())
    6527              :             {
    6528              :             case 0:
    6529              :               if (!(
    6530              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6531              : (TARGET_AVX512F) && (
    6532              : #line 5223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6533              : (TARGET_AVX512F) && 
    6534              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6535              : (TARGET_AVX512FP16))))
    6536              :                 return -1;
    6537              :               return 3735; /* avx512f_vmcmpv8hf3_round */
    6538              : 
    6539              :             case 1:
    6540              :               if (!
    6541              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6542              : (TARGET_AVX512F))
    6543              :                 return -1;
    6544              :               return 3737; /* avx512f_vmcmpv4sf3_round */
    6545              : 
    6546              :             case 2:
    6547              :               if (!(
    6548              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6549              : (TARGET_AVX512F) && (
    6550              : #line 5223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6551              : (TARGET_AVX512F) && 
    6552              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6553              : (TARGET_SSE2))))
    6554              :                 return -1;
    6555              :               return 3739; /* avx512f_vmcmpv2df3_round */
    6556              : 
    6557              :             default:
    6558              :               return -1;
    6559              :             }
    6560              : 
    6561              :         case AND:
    6562              :           if (GET_MODE (x30) != E_QImode)
    6563              :             return -1;
    6564              :           x31 = XEXP (x30, 1);
    6565              :           if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
    6566              :               || pattern1486 (x2, 
    6567              : E_QImode) != 0)
    6568              :             return -1;
    6569              :           x32 = XEXP (x30, 0);
    6570              :           operands[4] = x32;
    6571              :           if (!register_operand (operands[4], E_QImode))
    6572              :             return -1;
    6573              :           operands[5] = x4;
    6574              :           switch (pattern1716 ())
    6575              :             {
    6576              :             case 0:
    6577              :               if (!(
    6578              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6579              : (TARGET_AVX512F) && (
    6580              : #line 5241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6581              : (TARGET_AVX512F) && 
    6582              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6583              : (TARGET_AVX512FP16))))
    6584              :                 return -1;
    6585              :               return 3741; /* avx512f_vmcmpv8hf3_mask_round */
    6586              : 
    6587              :             case 1:
    6588              :               if (!
    6589              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6590              : (TARGET_AVX512F))
    6591              :                 return -1;
    6592              :               return 3743; /* avx512f_vmcmpv4sf3_mask_round */
    6593              : 
    6594              :             case 2:
    6595              :               if (!(
    6596              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6597              : (TARGET_AVX512F) && (
    6598              : #line 5241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6599              : (TARGET_AVX512F) && 
    6600              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6601              : (TARGET_SSE2))))
    6602              :                 return -1;
    6603              :               return 3745; /* avx512f_vmcmpv2df3_mask_round */
    6604              : 
    6605              :             default:
    6606              :               return -1;
    6607              :             }
    6608              : 
    6609              :         default:
    6610              :           return -1;
    6611              :         }
    6612              : 
    6613              :     case COMPARE:
    6614              :       if (GET_MODE (x3) != E_CCFPmode)
    6615              :         return -1;
    6616              :       x26 = XEXP (x3, 0);
    6617              :       if (GET_CODE (x26) != VEC_SELECT
    6618              :           || pattern612 (x3) != 0
    6619              :           || pattern46 (x1, 
    6620              : E_CCFPmode) != 0)
    6621              :         return -1;
    6622              :       x33 = XEXP (x26, 0);
    6623              :       operands[0] = x33;
    6624              :       x30 = XEXP (x3, 1);
    6625              :       x32 = XEXP (x30, 0);
    6626              :       operands[1] = x32;
    6627              :       x4 = XVECEXP (x2, 0, 1);
    6628              :       operands[2] = x4;
    6629              :       if (!const48_operand (operands[2], E_SImode))
    6630              :         return -1;
    6631              :       switch (GET_MODE (x26))
    6632              :         {
    6633              :         case E_HFmode:
    6634              :           if (!register_operand (operands[0], E_V8HFmode)
    6635              :               || GET_MODE (x30) != E_HFmode
    6636              :               || !register_operand (operands[1], E_V8HFmode)
    6637              :               || !(
    6638              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6639              : (TARGET_AVX512F) && (
    6640              : #line 5273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6641              : (SSE_FLOAT_MODE_P (HFmode) || HFmode == E_HFmode) && 
    6642              : #line 1386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6643              : (TARGET_AVX512FP16))))
    6644              :             return -1;
    6645              :           return 3759; /* avx512fp16_comi_round */
    6646              : 
    6647              :         case E_SFmode:
    6648              :           if (!register_operand (operands[0], E_V4SFmode)
    6649              :               || GET_MODE (x30) != E_SFmode
    6650              :               || !register_operand (operands[1], E_V4SFmode)
    6651              :               || !(
    6652              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6653              : (TARGET_AVX512F) && 
    6654              : #line 5273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6655              : (SSE_FLOAT_MODE_P (SFmode) || SFmode == E_HFmode)))
    6656              :             return -1;
    6657              :           return 3763; /* sse_comi_round */
    6658              : 
    6659              :         case E_DFmode:
    6660              :           if (!register_operand (operands[0], E_V2DFmode)
    6661              :               || GET_MODE (x30) != E_DFmode
    6662              :               || !register_operand (operands[1], E_V2DFmode)
    6663              :               || !(
    6664              : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6665              : (TARGET_AVX512F) && 
    6666              : #line 5273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6667              : (SSE_FLOAT_MODE_P (DFmode) || DFmode == E_HFmode)))
    6668              :             return -1;
    6669              :           return 3767; /* sse2_comi_round */
    6670              : 
    6671              :         default:
    6672              :           return -1;
    6673              :         }
    6674              : 
    6675              :     case FMA:
    6676              :       x26 = XEXP (x3, 0);
    6677              :       if (GET_CODE (x26) != NEG)
    6678              :         return -1;
    6679              :       x34 = XEXP (x3, 2);
    6680              :       if (GET_CODE (x34) != NEG)
    6681              :         return -1;
    6682              :       x5 = XEXP (x1, 0);
    6683              :       operands[0] = x5;
    6684              :       x33 = XEXP (x26, 0);
    6685              :       operands[1] = x33;
    6686              :       x30 = XEXP (x3, 1);
    6687              :       operands[2] = x30;
    6688              :       x35 = XEXP (x34, 0);
    6689              :       operands[3] = x35;
    6690              :       x4 = XVECEXP (x2, 0, 1);
    6691              :       operands[4] = x4;
    6692              :       if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
    6693              :         return -1;
    6694              :       switch (GET_MODE (operands[0]))
    6695              :         {
    6696              :         case E_SFmode:
    6697              :           if (pattern1367 (x2, 
    6698              : E_SFmode) != 0
    6699              :               || !(
    6700              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6701              : (TARGET_AVX512F) && 
    6702              : #line 6630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6703              : (TARGET_FMA || TARGET_FMA4)))
    6704              :             return -1;
    6705              :           return 4060; /* *fma_fnmsub_sf */
    6706              : 
    6707              :         case E_DFmode:
    6708              :           if (pattern1367 (x2, 
    6709              : E_DFmode) != 0
    6710              :               || !(
    6711              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    6712              : (TARGET_AVX512F) && 
    6713              : #line 6630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6714              : (TARGET_FMA || TARGET_FMA4)))
    6715              :             return -1;
    6716              :           return 4062; /* *fma_fnmsub_df */
    6717              : 
    6718              :         default:
    6719              :           return -1;
    6720              :         }
    6721              : 
    6722              :     default:
    6723              :       return -1;
    6724              :     }
    6725              : }
    6726              : 
    6727              :  int
    6728              : recog_26 (rtx x1 ATTRIBUTE_UNUSED,
    6729              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    6730              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    6731              : {
    6732              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6733              :   rtx x2, x3, x4, x5, x6, x7, x8;
    6734              :   int res ATTRIBUTE_UNUSED;
    6735              :   x2 = XEXP (x1, 1);
    6736              :   switch (GET_CODE (x2))
    6737              :     {
    6738              :     case SIGN_EXTRACT:
    6739              :       res = recog_22 (x1, insn, pnum_clobbers);
    6740              :       if (res >= 0)
    6741              :         return res;
    6742              :       break;
    6743              : 
    6744              :     case ZERO_EXTRACT:
    6745              :       res = recog_23 (x1, insn, pnum_clobbers);
    6746              :       if (res >= 0)
    6747              :         return res;
    6748              :       break;
    6749              : 
    6750              :     case LSHIFTRT:
    6751              :       res = recog_24 (x1, insn, pnum_clobbers);
    6752              :       if (res >= 0)
    6753              :         return res;
    6754              :       break;
    6755              : 
    6756              :     case ASHIFTRT:
    6757              :       res = recog_25 (x1, insn, pnum_clobbers);
    6758              :       if (res >= 0)
    6759              :         return res;
    6760              :       break;
    6761              : 
    6762              :     default:
    6763              :       break;
    6764              :     }
    6765              :   x3 = XEXP (x1, 0);
    6766              :   if (GET_CODE (x3) != ZERO_EXTRACT)
    6767              :     return -1;
    6768              :   x4 = XEXP (x3, 1);
    6769              :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    6770              :     return -1;
    6771              :   x5 = XEXP (x3, 2);
    6772              :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    6773              :     return -1;
    6774              :   x6 = XEXP (x3, 0);
    6775              :   operands[0] = x6;
    6776              :   if (!int248_register_operand (operands[0], E_VOIDmode))
    6777              :     return -1;
    6778              :   x7 = XEXP (x2, 0);
    6779              :   switch (GET_CODE (x7))
    6780              :     {
    6781              :     case REG:
    6782              :     case SUBREG:
    6783              :       operands[1] = x7;
    6784              :       if (int248_register_operand (operands[1], E_VOIDmode))
    6785              :         {
    6786              :           operands[2] = x2;
    6787              :           switch (GET_MODE (x3))
    6788              :             {
    6789              :             case E_HImode:
    6790              :               if (extract_high_operator (operands[2], E_HImode))
    6791              :                 return 138; /* *insvqi_2 */
    6792              :               break;
    6793              : 
    6794              :             case E_SImode:
    6795              :               if (extract_high_operator (operands[2], E_SImode))
    6796              :                 return 139; /* *insvqi_2 */
    6797              :               break;
    6798              : 
    6799              :             case E_DImode:
    6800              :               if (extract_high_operator (operands[2], E_DImode)
    6801              :                   && 
    6802              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6803              : (TARGET_64BIT))
    6804              :                 return 140; /* *insvqi_2 */
    6805              :               break;
    6806              : 
    6807              :             default:
    6808              :               break;
    6809              :             }
    6810              :         }
    6811              :       break;
    6812              : 
    6813              :     case AND:
    6814              :       switch (pattern746 (x1, pnum_clobbers))
    6815              :         {
    6816              :         case 0:
    6817              :           if (
    6818              : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6819              : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
    6820              :             {
    6821              :               *pnum_clobbers = 1;
    6822              :               return 828; /* *andqi_exthi_3 */
    6823              :             }
    6824              :           break;
    6825              : 
    6826              :         case 1:
    6827              :           if (
    6828              : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6829              : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
    6830              :             {
    6831              :               *pnum_clobbers = 1;
    6832              :               return 831; /* *andqi_extsi_3 */
    6833              :             }
    6834              :           break;
    6835              : 
    6836              :         case 2:
    6837              :           if ((
    6838              : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6839              : (GET_MODE (operands[1]) == GET_MODE (operands[2])) && 
    6840              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6841              : (TARGET_64BIT)))
    6842              :             {
    6843              :               *pnum_clobbers = 1;
    6844              :               return 834; /* *andqi_extdi_3 */
    6845              :             }
    6846              :           break;
    6847              : 
    6848              :         default:
    6849              :           break;
    6850              :         }
    6851              :       break;
    6852              : 
    6853              :     case IOR:
    6854              :       switch (pattern746 (x1, pnum_clobbers))
    6855              :         {
    6856              :         case 0:
    6857              :           if (
    6858              : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6859              : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
    6860              :             {
    6861              :               *pnum_clobbers = 1;
    6862              :               return 829; /* *iorqi_exthi_3 */
    6863              :             }
    6864              :           break;
    6865              : 
    6866              :         case 1:
    6867              :           if (
    6868              : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6869              : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
    6870              :             {
    6871              :               *pnum_clobbers = 1;
    6872              :               return 832; /* *iorqi_extsi_3 */
    6873              :             }
    6874              :           break;
    6875              : 
    6876              :         case 2:
    6877              :           if ((
    6878              : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6879              : (GET_MODE (operands[1]) == GET_MODE (operands[2])) && 
    6880              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6881              : (TARGET_64BIT)))
    6882              :             {
    6883              :               *pnum_clobbers = 1;
    6884              :               return 835; /* *iorqi_extdi_3 */
    6885              :             }
    6886              :           break;
    6887              : 
    6888              :         default:
    6889              :           break;
    6890              :         }
    6891              :       break;
    6892              : 
    6893              :     case XOR:
    6894              :       switch (pattern746 (x1, pnum_clobbers))
    6895              :         {
    6896              :         case 0:
    6897              :           if (
    6898              : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6899              : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
    6900              :             {
    6901              :               *pnum_clobbers = 1;
    6902              :               return 830; /* *xorqi_exthi_3 */
    6903              :             }
    6904              :           break;
    6905              : 
    6906              :         case 1:
    6907              :           if (
    6908              : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6909              : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
    6910              :             {
    6911              :               *pnum_clobbers = 1;
    6912              :               return 833; /* *xorqi_extsi_3 */
    6913              :             }
    6914              :           break;
    6915              : 
    6916              :         case 2:
    6917              :           if ((
    6918              : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6919              : (GET_MODE (operands[1]) == GET_MODE (operands[2])) && 
    6920              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6921              : (TARGET_64BIT)))
    6922              :             {
    6923              :               *pnum_clobbers = 1;
    6924              :               return 836; /* *xorqi_extdi_3 */
    6925              :             }
    6926              :           break;
    6927              : 
    6928              :         default:
    6929              :           break;
    6930              :         }
    6931              :       break;
    6932              : 
    6933              :     default:
    6934              :       break;
    6935              :     }
    6936              :   x8 = XEXP (x2, 1);
    6937              :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    6938              :     return -1;
    6939              :   operands[1] = x7;
    6940              :   switch (GET_CODE (x2))
    6941              :     {
    6942              :     case LSHIFTRT:
    6943              :       switch (pattern975 (x1))
    6944              :         {
    6945              :         case 0:
    6946              :           return 141; /* *insvqi_3 */
    6947              : 
    6948              :         case 1:
    6949              :           return 143; /* *insvqi_3 */
    6950              : 
    6951              :         case 2:
    6952              :           if (!
    6953              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6954              : (TARGET_64BIT))
    6955              :             return -1;
    6956              :           return 145; /* *insvqi_3 */
    6957              : 
    6958              :         default:
    6959              :           return -1;
    6960              :         }
    6961              : 
    6962              :     case ASHIFTRT:
    6963              :       switch (pattern975 (x1))
    6964              :         {
    6965              :         case 0:
    6966              :           return 142; /* *insvqi_3 */
    6967              : 
    6968              :         case 1:
    6969              :           return 144; /* *insvqi_3 */
    6970              : 
    6971              :         case 2:
    6972              :           if (!
    6973              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6974              : (TARGET_64BIT))
    6975              :             return -1;
    6976              :           return 146; /* *insvqi_3 */
    6977              : 
    6978              :         default:
    6979              :           return -1;
    6980              :         }
    6981              : 
    6982              :     default:
    6983              :       return -1;
    6984              :     }
    6985              : }
    6986              : 
    6987              :  int
    6988              : recog_29 (rtx x1 ATTRIBUTE_UNUSED,
    6989              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    6990              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    6991              : {
    6992              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6993              :   rtx x2, x3, x4, x5, x6;
    6994              :   int res ATTRIBUTE_UNUSED;
    6995              :   if (!register_operand (operands[0], E_HImode))
    6996              :     return -1;
    6997              :   x2 = XEXP (x1, 1);
    6998              :   if (GET_MODE (x2) != E_HImode)
    6999              :     return -1;
    7000              :   x3 = XEXP (x2, 0);
    7001              :   switch (XVECLEN (x3, 0))
    7002              :     {
    7003              :     case 3:
    7004              :       x4 = XVECEXP (x3, 0, 0);
    7005              :       operands[1] = x4;
    7006              :       x5 = XVECEXP (x3, 0, 1);
    7007              :       operands[2] = x5;
    7008              :       x6 = XVECEXP (x3, 0, 2);
    7009              :       operands[3] = x6;
    7010              :       switch (XINT (x3, 1))
    7011              :         {
    7012              :         case 60:
    7013              :           switch (pattern989 (x3))
    7014              :             {
    7015              :             case 0:
    7016              :               if (!
    7017              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7018              : (TARGET_AVX512F
    7019              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7020              :    && (GET_MODE_NUNITS (V16SImode)
    7021              :       < GET_MODE_PRECISION (HImode))))
    7022              :                 return -1;
    7023              :               return 3356; /* *avx512f_cmpv16si3_zero_extendhi */
    7024              : 
    7025              :             case 1:
    7026              :               if (!(
    7027              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7028              : (TARGET_AVX512F
    7029              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7030              :    && (GET_MODE_NUNITS (V16HFmode)
    7031              :       < GET_MODE_PRECISION (HImode))) && 
    7032              : #line 321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7033              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
    7034              :                 return -1;
    7035              :               return 3377; /* *avx512vl_cmpv16hf3_zero_extendhi */
    7036              : 
    7037              :             case 2:
    7038              :               if (!
    7039              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7040              : (TARGET_AVX512F
    7041              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7042              :    && (GET_MODE_NUNITS (V16SFmode)
    7043              :       < GET_MODE_PRECISION (HImode))))
    7044              :                 return -1;
    7045              :               return 3383; /* *avx512f_cmpv16sf3_zero_extendhi */
    7046              : 
    7047              :             case 3:
    7048              :               if (!(
    7049              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7050              : (TARGET_AVX512BW
    7051              :    && (GET_MODE_NUNITS (V16QImode)
    7052              :        < GET_MODE_PRECISION (HImode))) && 
    7053              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7054              : (TARGET_AVX512VL)))
    7055              :                 return -1;
    7056              :               return 3503; /* *avx512vl_cmpv16qi3_zero_extendhi */
    7057              : 
    7058              :             case 4:
    7059              :               if (!(
    7060              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7061              : (TARGET_AVX512BW
    7062              :    && (GET_MODE_NUNITS (V16HImode)
    7063              :        < GET_MODE_PRECISION (HImode))) && 
    7064              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7065              : (TARGET_AVX512VL)))
    7066              :                 return -1;
    7067              :               return 3512; /* *avx512vl_cmpv16hi3_zero_extendhi */
    7068              : 
    7069              :             case 5:
    7070              :               if (!(
    7071              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7072              : (TARGET_AVX512F
    7073              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7074              :    && (GET_MODE_NUNITS (V8SImode)
    7075              :       < GET_MODE_PRECISION (HImode))) && 
    7076              : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7077              : (TARGET_AVX512VL)))
    7078              :                 return -1;
    7079              :               return 3359; /* *avx512vl_cmpv8si3_zero_extendhi */
    7080              : 
    7081              :             case 6:
    7082              :               if (!(
    7083              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7084              : (TARGET_AVX512F
    7085              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7086              :    && (GET_MODE_NUNITS (V4SImode)
    7087              :       < GET_MODE_PRECISION (HImode))) && 
    7088              : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7089              : (TARGET_AVX512VL)))
    7090              :                 return -1;
    7091              :               return 3362; /* *avx512vl_cmpv4si3_zero_extendhi */
    7092              : 
    7093              :             case 7:
    7094              :               if (!
    7095              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7096              : (TARGET_AVX512F
    7097              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7098              :    && (GET_MODE_NUNITS (V8DImode)
    7099              :       < GET_MODE_PRECISION (HImode))))
    7100              :                 return -1;
    7101              :               return 3365; /* *avx512f_cmpv8di3_zero_extendhi */
    7102              : 
    7103              :             case 8:
    7104              :               if (!(
    7105              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7106              : (TARGET_AVX512F
    7107              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7108              :    && (GET_MODE_NUNITS (V4DImode)
    7109              :       < GET_MODE_PRECISION (HImode))) && 
    7110              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7111              : (TARGET_AVX512VL)))
    7112              :                 return -1;
    7113              :               return 3368; /* *avx512vl_cmpv4di3_zero_extendhi */
    7114              : 
    7115              :             case 9:
    7116              :               if (!(
    7117              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7118              : (TARGET_AVX512F
    7119              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7120              :    && (GET_MODE_NUNITS (V2DImode)
    7121              :       < GET_MODE_PRECISION (HImode))) && 
    7122              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7123              : (TARGET_AVX512VL)))
    7124              :                 return -1;
    7125              :               return 3371; /* *avx512vl_cmpv2di3_zero_extendhi */
    7126              : 
    7127              :             case 10:
    7128              :               if (!(
    7129              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7130              : (TARGET_AVX512F
    7131              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7132              :    && (GET_MODE_NUNITS (V8HFmode)
    7133              :       < GET_MODE_PRECISION (HImode))) && 
    7134              : #line 322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7135              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
    7136              :                 return -1;
    7137              :               return 3380; /* *avx512fp16_cmpv8hf3_zero_extendhi */
    7138              : 
    7139              :             case 11:
    7140              :               if (!(
    7141              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7142              : (TARGET_AVX512F
    7143              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7144              :    && (GET_MODE_NUNITS (V8SFmode)
    7145              :       < GET_MODE_PRECISION (HImode))) && 
    7146              : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7147              : (TARGET_AVX512VL)))
    7148              :                 return -1;
    7149              :               return 3386; /* *avx512vl_cmpv8sf3_zero_extendhi */
    7150              : 
    7151              :             case 12:
    7152              :               if (!(
    7153              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7154              : (TARGET_AVX512F
    7155              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7156              :    && (GET_MODE_NUNITS (V4SFmode)
    7157              :       < GET_MODE_PRECISION (HImode))) && 
    7158              : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7159              : (TARGET_AVX512VL)))
    7160              :                 return -1;
    7161              :               return 3389; /* *avx512vl_cmpv4sf3_zero_extendhi */
    7162              : 
    7163              :             case 13:
    7164              :               if (!
    7165              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7166              : (TARGET_AVX512F
    7167              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7168              :    && (GET_MODE_NUNITS (V8DFmode)
    7169              :       < GET_MODE_PRECISION (HImode))))
    7170              :                 return -1;
    7171              :               return 3392; /* *avx512f_cmpv8df3_zero_extendhi */
    7172              : 
    7173              :             case 14:
    7174              :               if (!(
    7175              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7176              : (TARGET_AVX512F
    7177              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7178              :    && (GET_MODE_NUNITS (V4DFmode)
    7179              :       < GET_MODE_PRECISION (HImode))) && 
    7180              : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7181              : (TARGET_AVX512VL)))
    7182              :                 return -1;
    7183              :               return 3395; /* *avx512vl_cmpv4df3_zero_extendhi */
    7184              : 
    7185              :             case 15:
    7186              :               if (!(
    7187              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7188              : (TARGET_AVX512F
    7189              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7190              :    && (GET_MODE_NUNITS (V2DFmode)
    7191              :       < GET_MODE_PRECISION (HImode))) && 
    7192              : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7193              : (TARGET_AVX512VL)))
    7194              :                 return -1;
    7195              :               return 3398; /* *avx512vl_cmpv2df3_zero_extendhi */
    7196              : 
    7197              :             case 16:
    7198              :               if (!(
    7199              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7200              : (TARGET_AVX512BW
    7201              :    && (GET_MODE_NUNITS (V8HImode)
    7202              :        < GET_MODE_PRECISION (HImode))) && 
    7203              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7204              : (TARGET_AVX512VL)))
    7205              :                 return -1;
    7206              :               return 3515; /* *avx512vl_cmpv8hi3_zero_extendhi */
    7207              : 
    7208              :             case 17:
    7209              :               if (!(
    7210              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7211              : (TARGET_AVX512F
    7212              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7213              :    && (GET_MODE_NUNITS (V32HFmode)
    7214              :       < GET_MODE_PRECISION (HImode))) && 
    7215              : #line 320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7216              : (TARGET_AVX512FP16)))
    7217              :                 return -1;
    7218              :               return 3374; /* *avx512bw_cmpv32hf3_zero_extendhi */
    7219              : 
    7220              :             case 18:
    7221              :               if (!(
    7222              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7223              : (TARGET_AVX512BW
    7224              :    && (GET_MODE_NUNITS (V32QImode)
    7225              :        < GET_MODE_PRECISION (HImode))) && 
    7226              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7227              : (TARGET_AVX512VL)))
    7228              :                 return -1;
    7229              :               return 3506; /* *avx512vl_cmpv32qi3_zero_extendhi */
    7230              : 
    7231              :             case 19:
    7232              :               if (!
    7233              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7234              : (TARGET_AVX512BW
    7235              :    && (GET_MODE_NUNITS (V32HImode)
    7236              :        < GET_MODE_PRECISION (HImode))))
    7237              :                 return -1;
    7238              :               return 3509; /* *avx512bw_cmpv32hi3_zero_extendhi */
    7239              : 
    7240              :             case 20:
    7241              :               if (!
    7242              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7243              : (TARGET_AVX512BW
    7244              :    && (GET_MODE_NUNITS (V64QImode)
    7245              :        < GET_MODE_PRECISION (HImode))))
    7246              :                 return -1;
    7247              :               return 3500; /* *avx512bw_cmpv64qi3_zero_extendhi */
    7248              : 
    7249              :             default:
    7250              :               return -1;
    7251              :             }
    7252              : 
    7253              :         case 158:
    7254              :           if (!const_0_to_7_operand (operands[3], E_SImode))
    7255              :             return -1;
    7256              :           switch (pattern1102 (x3))
    7257              :             {
    7258              :             case 0:
    7259              :               if (!
    7260              : #line 5013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7261              : (TARGET_AVX512BW
    7262              :   && (GET_MODE_NUNITS (V64QImode)
    7263              :       < GET_MODE_PRECISION (HImode))))
    7264              :                 return -1;
    7265              :               return 3596; /* *avx512bw_ucmpv64qi3_zero_extendhi */
    7266              : 
    7267              :             case 1:
    7268              :               if (!(
    7269              : #line 5013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7270              : (TARGET_AVX512BW
    7271              :   && (GET_MODE_NUNITS (V16QImode)
    7272              :       < GET_MODE_PRECISION (HImode))) && 
    7273              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7274              : (TARGET_AVX512VL)))
    7275              :                 return -1;
    7276              :               return 3599; /* *avx512vl_ucmpv16qi3_zero_extendhi */
    7277              : 
    7278              :             case 2:
    7279              :               if (!(
    7280              : #line 5013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7281              : (TARGET_AVX512BW
    7282              :   && (GET_MODE_NUNITS (V16HImode)
    7283              :       < GET_MODE_PRECISION (HImode))) && 
    7284              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7285              : (TARGET_AVX512VL)))
    7286              :                 return -1;
    7287              :               return 3608; /* *avx512vl_ucmpv16hi3_zero_extendhi */
    7288              : 
    7289              :             case 3:
    7290              :               if (!
    7291              : #line 5104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7292              : (TARGET_AVX512F
    7293              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7294              :    && (GET_MODE_NUNITS (V16SImode)
    7295              :       < GET_MODE_PRECISION (HImode))))
    7296              :                 return -1;
    7297              :               return 3680; /* *avx512f_ucmpv16si3_zero_extendhi */
    7298              : 
    7299              :             case 4:
    7300              :               if (!(
    7301              : #line 5013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7302              : (TARGET_AVX512BW
    7303              :   && (GET_MODE_NUNITS (V32QImode)
    7304              :       < GET_MODE_PRECISION (HImode))) && 
    7305              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7306              : (TARGET_AVX512VL)))
    7307              :                 return -1;
    7308              :               return 3602; /* *avx512vl_ucmpv32qi3_zero_extendhi */
    7309              : 
    7310              :             case 5:
    7311              :               if (!
    7312              : #line 5013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7313              : (TARGET_AVX512BW
    7314              :   && (GET_MODE_NUNITS (V32HImode)
    7315              :       < GET_MODE_PRECISION (HImode))))
    7316              :                 return -1;
    7317              :               return 3605; /* *avx512bw_ucmpv32hi3_zero_extendhi */
    7318              : 
    7319              :             case 6:
    7320              :               if (!(
    7321              : #line 5013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7322              : (TARGET_AVX512BW
    7323              :   && (GET_MODE_NUNITS (V8HImode)
    7324              :       < GET_MODE_PRECISION (HImode))) && 
    7325              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7326              : (TARGET_AVX512VL)))
    7327              :                 return -1;
    7328              :               return 3611; /* *avx512vl_ucmpv8hi3_zero_extendhi */
    7329              : 
    7330              :             case 7:
    7331              :               if (!(
    7332              : #line 5104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7333              : (TARGET_AVX512F
    7334              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7335              :    && (GET_MODE_NUNITS (V8SImode)
    7336              :       < GET_MODE_PRECISION (HImode))) && 
    7337              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7338              : (TARGET_AVX512VL)))
    7339              :                 return -1;
    7340              :               return 3681; /* *avx512vl_ucmpv8si3_zero_extendhi */
    7341              : 
    7342              :             case 8:
    7343              :               if (!(
    7344              : #line 5104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7345              : (TARGET_AVX512F
    7346              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7347              :    && (GET_MODE_NUNITS (V4SImode)
    7348              :       < GET_MODE_PRECISION (HImode))) && 
    7349              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7350              : (TARGET_AVX512VL)))
    7351              :                 return -1;
    7352              :               return 3682; /* *avx512vl_ucmpv4si3_zero_extendhi */
    7353              : 
    7354              :             case 9:
    7355              :               if (!
    7356              : #line 5104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7357              : (TARGET_AVX512F
    7358              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7359              :    && (GET_MODE_NUNITS (V8DImode)
    7360              :       < GET_MODE_PRECISION (HImode))))
    7361              :                 return -1;
    7362              :               return 3683; /* *avx512f_ucmpv8di3_zero_extendhi */
    7363              : 
    7364              :             case 10:
    7365              :               if (!(
    7366              : #line 5104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7367              : (TARGET_AVX512F
    7368              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7369              :    && (GET_MODE_NUNITS (V4DImode)
    7370              :       < GET_MODE_PRECISION (HImode))) && 
    7371              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7372              : (TARGET_AVX512VL)))
    7373              :                 return -1;
    7374              :               return 3684; /* *avx512vl_ucmpv4di3_zero_extendhi */
    7375              : 
    7376              :             case 11:
    7377              :               if (!(
    7378              : #line 5104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7379              : (TARGET_AVX512F
    7380              :    && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
    7381              :    && (GET_MODE_NUNITS (V2DImode)
    7382              :       < GET_MODE_PRECISION (HImode))) && 
    7383              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7384              : (TARGET_AVX512VL)))
    7385              :                 return -1;
    7386              :               return 3685; /* *avx512vl_ucmpv2di3_zero_extendhi */
    7387              : 
    7388              :             default:
    7389              :               return -1;
    7390              :             }
    7391              : 
    7392              :         default:
    7393              :           return -1;
    7394              :         }
    7395              : 
    7396              :     case 2:
    7397              :       x4 = XVECEXP (x3, 0, 0);
    7398              :       operands[1] = x4;
    7399              :       x5 = XVECEXP (x3, 0, 1);
    7400              :       operands[2] = x5;
    7401              :       switch (XINT (x3, 1))
    7402              :         {
    7403              :         case 159:
    7404              :           switch (GET_MODE (x3))
    7405              :             {
    7406              :             case E_DImode:
    7407              :               if (!register_operand (operands[1], E_V64QImode)
    7408              :                   || !nonimmediate_operand (operands[2], E_V64QImode)
    7409              :                   || !(
    7410              : #line 19542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7411              : (TARGET_AVX512BW
    7412              :    && (2
    7413              :        > GET_MODE_SIZE (DImode))) && 
    7414              : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7415              : (TARGET_AVX512BW)))
    7416              :                 return -1;
    7417              :               return 8234; /* *avx512bw_testmv64qi3_zext */
    7418              : 
    7419              :             case E_SImode:
    7420              :               switch (pattern882 ())
    7421              :                 {
    7422              :                 case 0:
    7423              :                   if (!(
    7424              : #line 19542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7425              : (TARGET_AVX512BW
    7426              :    && (2
    7427              :        > GET_MODE_SIZE (SImode))) && 
    7428              : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7429              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    7430              :                     return -1;
    7431              :                   return 8237; /* *avx512vl_testmv32qi3_zext */
    7432              : 
    7433              :                 case 1:
    7434              :                   if (!(
    7435              : #line 19542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7436              : (TARGET_AVX512BW
    7437              :    && (2
    7438              :        > GET_MODE_SIZE (SImode))) && 
    7439              : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7440              : (TARGET_AVX512BW)))
    7441              :                     return -1;
    7442              :                   return 8243; /* *avx512bw_testmv32hi3_zext */
    7443              : 
    7444              :                 default:
    7445              :                   return -1;
    7446              :                 }
    7447              : 
    7448              :             case E_HImode:
    7449              :               switch (pattern748 ())
    7450              :                 {
    7451              :                 case 0:
    7452              :                   if (!(
    7453              : #line 19542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7454              : (TARGET_AVX512BW
    7455              :    && (2
    7456              :        > GET_MODE_SIZE (HImode))) && 
    7457              : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7458              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    7459              :                     return -1;
    7460              :                   return 8240; /* *avx512vl_testmv16qi3_zext */
    7461              : 
    7462              :                 case 1:
    7463              :                   if (!(
    7464              : #line 19542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7465              : (TARGET_AVX512BW
    7466              :    && (2
    7467              :        > GET_MODE_SIZE (HImode))) && 
    7468              : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7469              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    7470              :                     return -1;
    7471              :                   return 8246; /* *avx512vl_testmv16hi3_zext */
    7472              : 
    7473              :                 case 2:
    7474              :                   if (!
    7475              : #line 19542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7476              : (TARGET_AVX512BW
    7477              :    && (2
    7478              :        > GET_MODE_SIZE (HImode))))
    7479              :                     return -1;
    7480              :                   return 8252; /* *avx512f_testmv16si3_zext */
    7481              : 
    7482              :                 default:
    7483              :                   return -1;
    7484              :                 }
    7485              : 
    7486              :             case E_QImode:
    7487              :               switch (pattern749 ())
    7488              :                 {
    7489              :                 case 0:
    7490              :                   if (!(
    7491              : #line 19542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7492              : (TARGET_AVX512BW
    7493              :    && (2
    7494              :        > GET_MODE_SIZE (QImode))) && 
    7495              : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7496              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    7497              :                     return -1;
    7498              :                   return 8249; /* *avx512vl_testmv8hi3_zext */
    7499              : 
    7500              :                 case 1:
    7501              :                   if (!(
    7502              : #line 19542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7503              : (TARGET_AVX512BW
    7504              :    && (2
    7505              :        > GET_MODE_SIZE (QImode))) && 
    7506              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7507              : (TARGET_AVX512VL)))
    7508              :                     return -1;
    7509              :                   return 8255; /* *avx512vl_testmv8si3_zext */
    7510              : 
    7511              :                 case 2:
    7512              :                   if (!(
    7513              : #line 19542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7514              : (TARGET_AVX512BW
    7515              :    && (2
    7516              :        > GET_MODE_SIZE (QImode))) && 
    7517              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7518              : (TARGET_AVX512VL)))
    7519              :                     return -1;
    7520              :                   return 8258; /* *avx512vl_testmv4si3_zext */
    7521              : 
    7522              :                 case 3:
    7523              :                   if (!
    7524              : #line 19542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7525              : (TARGET_AVX512BW
    7526              :    && (2
    7527              :        > GET_MODE_SIZE (QImode))))
    7528              :                     return -1;
    7529              :                   return 8261; /* *avx512f_testmv8di3_zext */
    7530              : 
    7531              :                 case 4:
    7532              :                   if (!(
    7533              : #line 19542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7534              : (TARGET_AVX512BW
    7535              :    && (2
    7536              :        > GET_MODE_SIZE (QImode))) && 
    7537              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7538              : (TARGET_AVX512VL)))
    7539              :                     return -1;
    7540              :                   return 8264; /* *avx512vl_testmv4di3_zext */
    7541              : 
    7542              :                 case 5:
    7543              :                   if (!(
    7544              : #line 19542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7545              : (TARGET_AVX512BW
    7546              :    && (2
    7547              :        > GET_MODE_SIZE (QImode))) && 
    7548              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7549              : (TARGET_AVX512VL)))
    7550              :                     return -1;
    7551              :                   return 8267; /* *avx512vl_testmv2di3_zext */
    7552              : 
    7553              :                 default:
    7554              :                   return -1;
    7555              :                 }
    7556              : 
    7557              :             default:
    7558              :               return -1;
    7559              :             }
    7560              : 
    7561              :         case 160:
    7562              :           switch (GET_MODE (x3))
    7563              :             {
    7564              :             case E_DImode:
    7565              :               if (!register_operand (operands[1], E_V64QImode)
    7566              :                   || !nonimmediate_operand (operands[2], E_V64QImode)
    7567              :                   || !(
    7568              : #line 19572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7569              : (TARGET_AVX512BW
    7570              :    && (2
    7571              :        > GET_MODE_SIZE (DImode))) && 
    7572              : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7573              : (TARGET_AVX512BW)))
    7574              :                 return -1;
    7575              :               return 8306; /* *avx512bw_testnmv64qi3_zext */
    7576              : 
    7577              :             case E_SImode:
    7578              :               switch (pattern882 ())
    7579              :                 {
    7580              :                 case 0:
    7581              :                   if (!(
    7582              : #line 19572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7583              : (TARGET_AVX512BW
    7584              :    && (2
    7585              :        > GET_MODE_SIZE (SImode))) && 
    7586              : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7587              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    7588              :                     return -1;
    7589              :                   return 8309; /* *avx512vl_testnmv32qi3_zext */
    7590              : 
    7591              :                 case 1:
    7592              :                   if (!(
    7593              : #line 19572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7594              : (TARGET_AVX512BW
    7595              :    && (2
    7596              :        > GET_MODE_SIZE (SImode))) && 
    7597              : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7598              : (TARGET_AVX512BW)))
    7599              :                     return -1;
    7600              :                   return 8315; /* *avx512bw_testnmv32hi3_zext */
    7601              : 
    7602              :                 default:
    7603              :                   return -1;
    7604              :                 }
    7605              : 
    7606              :             case E_HImode:
    7607              :               switch (pattern748 ())
    7608              :                 {
    7609              :                 case 0:
    7610              :                   if (!(
    7611              : #line 19572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7612              : (TARGET_AVX512BW
    7613              :    && (2
    7614              :        > GET_MODE_SIZE (HImode))) && 
    7615              : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7616              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    7617              :                     return -1;
    7618              :                   return 8312; /* *avx512vl_testnmv16qi3_zext */
    7619              : 
    7620              :                 case 1:
    7621              :                   if (!(
    7622              : #line 19572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7623              : (TARGET_AVX512BW
    7624              :    && (2
    7625              :        > GET_MODE_SIZE (HImode))) && 
    7626              : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7627              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    7628              :                     return -1;
    7629              :                   return 8318; /* *avx512vl_testnmv16hi3_zext */
    7630              : 
    7631              :                 case 2:
    7632              :                   if (!
    7633              : #line 19572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7634              : (TARGET_AVX512BW
    7635              :    && (2
    7636              :        > GET_MODE_SIZE (HImode))))
    7637              :                     return -1;
    7638              :                   return 8324; /* *avx512f_testnmv16si3_zext */
    7639              : 
    7640              :                 default:
    7641              :                   return -1;
    7642              :                 }
    7643              : 
    7644              :             case E_QImode:
    7645              :               switch (pattern749 ())
    7646              :                 {
    7647              :                 case 0:
    7648              :                   if (!(
    7649              : #line 19572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7650              : (TARGET_AVX512BW
    7651              :    && (2
    7652              :        > GET_MODE_SIZE (QImode))) && 
    7653              : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7654              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    7655              :                     return -1;
    7656              :                   return 8321; /* *avx512vl_testnmv8hi3_zext */
    7657              : 
    7658              :                 case 1:
    7659              :                   if (!(
    7660              : #line 19572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7661              : (TARGET_AVX512BW
    7662              :    && (2
    7663              :        > GET_MODE_SIZE (QImode))) && 
    7664              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7665              : (TARGET_AVX512VL)))
    7666              :                     return -1;
    7667              :                   return 8327; /* *avx512vl_testnmv8si3_zext */
    7668              : 
    7669              :                 case 2:
    7670              :                   if (!(
    7671              : #line 19572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7672              : (TARGET_AVX512BW
    7673              :    && (2
    7674              :        > GET_MODE_SIZE (QImode))) && 
    7675              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7676              : (TARGET_AVX512VL)))
    7677              :                     return -1;
    7678              :                   return 8330; /* *avx512vl_testnmv4si3_zext */
    7679              : 
    7680              :                 case 3:
    7681              :                   if (!
    7682              : #line 19572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7683              : (TARGET_AVX512BW
    7684              :    && (2
    7685              :        > GET_MODE_SIZE (QImode))))
    7686              :                     return -1;
    7687              :                   return 8333; /* *avx512f_testnmv8di3_zext */
    7688              : 
    7689              :                 case 4:
    7690              :                   if (!(
    7691              : #line 19572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7692              : (TARGET_AVX512BW
    7693              :    && (2
    7694              :        > GET_MODE_SIZE (QImode))) && 
    7695              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7696              : (TARGET_AVX512VL)))
    7697              :                     return -1;
    7698              :                   return 8336; /* *avx512vl_testnmv4di3_zext */
    7699              : 
    7700              :                 case 5:
    7701              :                   if (!(
    7702              : #line 19572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7703              : (TARGET_AVX512BW
    7704              :    && (2
    7705              :        > GET_MODE_SIZE (QImode))) && 
    7706              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7707              : (TARGET_AVX512VL)))
    7708              :                     return -1;
    7709              :                   return 8339; /* *avx512vl_testnmv2di3_zext */
    7710              : 
    7711              :                 default:
    7712              :                   return -1;
    7713              :                 }
    7714              : 
    7715              :             default:
    7716              :               return -1;
    7717              :             }
    7718              : 
    7719              :         default:
    7720              :           return -1;
    7721              :         }
    7722              : 
    7723              :     default:
    7724              :       return -1;
    7725              :     }
    7726              : }
    7727              : 
    7728              :  int
    7729              : recog_56 (rtx x1 ATTRIBUTE_UNUSED,
    7730              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    7731              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    7732              : {
    7733              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    7734              :   rtx x2;
    7735              :   int res ATTRIBUTE_UNUSED;
    7736              :   switch (pattern88 (x1, pnum_clobbers))
    7737              :     {
    7738              :     case 0:
    7739              :       switch (GET_MODE (operands[0]))
    7740              :         {
    7741              :         case E_TImode:
    7742              :           x2 = XEXP (x1, 1);
    7743              :           if (pattern79 (x2, pnum_clobbers) != 0
    7744              :               || !(
    7745              : #line 6622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7746              : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)) && 
    7747              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7748              : (TARGET_64BIT)))
    7749              :             return -1;
    7750              :           *pnum_clobbers = 1;
    7751              :           return 271; /* *addti3_doubleword */
    7752              : 
    7753              :         case E_HImode:
    7754              :           x2 = XEXP (x1, 1);
    7755              :           if (pattern80 (x2, 
    7756              : E_HImode) != 0)
    7757              :             return -1;
    7758              :           if (
    7759              : #line 6994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7760              : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
    7761              :   && TARGET_APX_NF))
    7762              :             return 301; /* *addhi_1_nf */
    7763              :           if (pnum_clobbers == NULL
    7764              :               || !
    7765              : #line 6994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7766              : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
    7767              :   && true))
    7768              :             return -1;
    7769              :           *pnum_clobbers = 1;
    7770              :           return 302; /* *addhi_1 */
    7771              : 
    7772              :         case E_QImode:
    7773              :           x2 = XEXP (x1, 1);
    7774              :           if (pattern80 (x2, 
    7775              : E_QImode) != 0)
    7776              :             return -1;
    7777              :           if (
    7778              : #line 7055 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7779              : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
    7780              :   && TARGET_APX_NF))
    7781              :             return 303; /* *addqi_1_nf */
    7782              :           if (pnum_clobbers == NULL
    7783              :               || !
    7784              : #line 7055 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7785              : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
    7786              :   && true))
    7787              :             return -1;
    7788              :           *pnum_clobbers = 1;
    7789              :           return 304; /* *addqi_1 */
    7790              : 
    7791              :         case E_HFmode:
    7792              :           x2 = XEXP (x1, 1);
    7793              :           if (pattern3 (x2, 
    7794              : E_HFmode) != 0
    7795              :               || !
    7796              : #line 24497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7797              : (TARGET_AVX512FP16
    7798              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    7799              :             return -1;
    7800              :           return 1708; /* *addhf */
    7801              : 
    7802              :         case E_V8QImode:
    7803              :           x2 = XEXP (x1, 1);
    7804              :           if (pattern6 (x2, 
    7805              : E_V8QImode) != 0
    7806              :               || !
    7807              : #line 3242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7808              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7809              :    && ix86_binary_operator_ok (PLUS, V8QImode, operands)))
    7810              :             return -1;
    7811              :           return 2178; /* *mmx_addv8qi3 */
    7812              : 
    7813              :         case E_V4HImode:
    7814              :           x2 = XEXP (x1, 1);
    7815              :           if (pattern6 (x2, 
    7816              : E_V4HImode) != 0
    7817              :               || !
    7818              : #line 3242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7819              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7820              :    && ix86_binary_operator_ok (PLUS, V4HImode, operands)))
    7821              :             return -1;
    7822              :           return 2180; /* *mmx_addv4hi3 */
    7823              : 
    7824              :         case E_V2SImode:
    7825              :           x2 = XEXP (x1, 1);
    7826              :           if (pattern6 (x2, 
    7827              : E_V2SImode) != 0
    7828              :               || !
    7829              : #line 3242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7830              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7831              :    && ix86_binary_operator_ok (PLUS, V2SImode, operands)))
    7832              :             return -1;
    7833              :           return 2182; /* *mmx_addv2si3 */
    7834              : 
    7835              :         case E_V1DImode:
    7836              :           x2 = XEXP (x1, 1);
    7837              :           if (pattern6 (x2, 
    7838              : E_V1DImode) != 0
    7839              :               || !(
    7840              : #line 3242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7841              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7842              :    && ix86_binary_operator_ok (PLUS, V1DImode, operands)) && 
    7843              : #line 50 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7844              : (TARGET_SSE2)))
    7845              :             return -1;
    7846              :           return 2184; /* *mmx_addv1di3 */
    7847              : 
    7848              :         case E_V4QImode:
    7849              :           x2 = XEXP (x1, 1);
    7850              :           if (pattern5 (x2, 
    7851              : E_V4QImode) != 0
    7852              :               || !
    7853              : #line 3258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7854              : (TARGET_SSE2))
    7855              :             return -1;
    7856              :           return 2186; /* addv4qi3 */
    7857              : 
    7858              :         case E_V2HImode:
    7859              :           x2 = XEXP (x1, 1);
    7860              :           if (pattern5 (x2, 
    7861              : E_V2HImode) != 0
    7862              :               || !
    7863              : #line 3258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7864              : (TARGET_SSE2))
    7865              :             return -1;
    7866              :           return 2188; /* addv2hi3 */
    7867              : 
    7868              :         case E_V2QImode:
    7869              :           if (pnum_clobbers == NULL)
    7870              :             return -1;
    7871              :           x2 = XEXP (x1, 1);
    7872              :           if (pattern5 (x2, 
    7873              : E_V2QImode) != 0
    7874              :               || !
    7875              : #line 3272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7876              : (!TARGET_PARTIAL_REG_STALL || optimize_size || TARGET_SSE2))
    7877              :             return -1;
    7878              :           *pnum_clobbers = 1;
    7879              :           return 2190; /* addv2qi3 */
    7880              : 
    7881              :         default:
    7882              :           return -1;
    7883              :         }
    7884              : 
    7885              :     case 1:
    7886              :       if (!
    7887              : #line 7135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7888              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7889              :         return -1;
    7890              :       *pnum_clobbers = 1;
    7891              :       return 305; /* *addqi_1_slp */
    7892              : 
    7893              :     case 2:
    7894              :       if (!
    7895              : #line 7135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7896              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    7897              :         return -1;
    7898              :       *pnum_clobbers = 1;
    7899              :       return 306; /* *addhi_1_slp */
    7900              : 
    7901              :     default:
    7902              :       return -1;
    7903              :     }
    7904              : }
    7905              : 
    7906              :  int
    7907              : recog_64 (rtx x1 ATTRIBUTE_UNUSED,
    7908              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    7909              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    7910              : {
    7911              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    7912              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    7913              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    7914              :   int res ATTRIBUTE_UNUSED;
    7915              :   x2 = XEXP (x1, 0);
    7916              :   operands[0] = x2;
    7917              :   x3 = XEXP (x1, 1);
    7918              :   x4 = XEXP (x3, 0);
    7919              :   switch (GET_CODE (x4))
    7920              :     {
    7921              :     case PLUS:
    7922              :       if (pattern102 (x3, 
    7923              : E_V2SFmode, 
    7924              : E_SFmode) != 0)
    7925              :         return -1;
    7926              :       x5 = XEXP (x3, 1);
    7927              :       x6 = XEXP (x5, 0);
    7928              :       x7 = XEXP (x6, 0);
    7929              :       operands[2] = x7;
    7930              :       if (!nonimmediate_operand (operands[2], E_V2SFmode)
    7931              :           || pattern1880 (x3) != 0
    7932              :           || !
    7933              : #line 1019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7934              : (TARGET_3DNOW
    7935              :    && INTVAL (operands[3]) != INTVAL (operands[4])
    7936              :    && INTVAL (operands[5]) != INTVAL (operands[6])))
    7937              :         return -1;
    7938              :       return 2118; /* *mmx_haddv2sf3 */
    7939              : 
    7940              :     case MINUS:
    7941              :       if (pattern103 (x4, 
    7942              : E_SFmode) != 0
    7943              :           || !register_operand (operands[0], E_V2SFmode)
    7944              :           || GET_MODE (x3) != E_V2SFmode)
    7945              :         return -1;
    7946              :       x8 = XEXP (x4, 0);
    7947              :       x9 = XEXP (x8, 0);
    7948              :       operands[1] = x9;
    7949              :       if (!register_operand (operands[1], E_V2SFmode))
    7950              :         return -1;
    7951              :       x5 = XEXP (x3, 1);
    7952              :       if (GET_MODE (x5) != E_SFmode)
    7953              :         return -1;
    7954              :       x10 = XEXP (x4, 1);
    7955              :       x11 = XEXP (x10, 0);
    7956              :       if (!rtx_equal_p (x11, operands[1]))
    7957              :         return -1;
    7958              :       switch (GET_CODE (x5))
    7959              :         {
    7960              :         case MINUS:
    7961              :           if (pattern1567 (x5, 
    7962              : E_SFmode) != 0)
    7963              :             return -1;
    7964              :           x6 = XEXP (x5, 0);
    7965              :           x7 = XEXP (x6, 0);
    7966              :           operands[2] = x7;
    7967              :           if (!nonimmediate_operand (operands[2], E_V2SFmode))
    7968              :             return -1;
    7969              :           x12 = XEXP (x5, 1);
    7970              :           x13 = XEXP (x12, 0);
    7971              :           if (!rtx_equal_p (x13, operands[2])
    7972              :               || !
    7973              : #line 1067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7974              : (TARGET_3DNOW_A))
    7975              :             return -1;
    7976              :           return 2120; /* mmx_hsubv2sf3 */
    7977              : 
    7978              :         case PLUS:
    7979              :           x6 = XEXP (x5, 0);
    7980              :           if (GET_CODE (x6) != VEC_SELECT
    7981              :               || GET_MODE (x6) != E_SFmode)
    7982              :             return -1;
    7983              :           x14 = XEXP (x6, 1);
    7984              :           if (GET_CODE (x14) != PARALLEL
    7985              :               || XVECLEN (x14, 0) != 1)
    7986              :             return -1;
    7987              :           x12 = XEXP (x5, 1);
    7988              :           if (GET_CODE (x12) != VEC_SELECT
    7989              :               || GET_MODE (x12) != E_SFmode)
    7990              :             return -1;
    7991              :           x15 = XEXP (x12, 1);
    7992              :           if (GET_CODE (x15) != PARALLEL
    7993              :               || XVECLEN (x15, 0) != 1)
    7994              :             return -1;
    7995              :           x7 = XEXP (x6, 0);
    7996              :           operands[2] = x7;
    7997              :           if (!nonimmediate_operand (operands[2], E_V2SFmode))
    7998              :             return -1;
    7999              :           x16 = XVECEXP (x14, 0, 0);
    8000              :           operands[3] = x16;
    8001              :           if (!const_0_to_1_operand (operands[3], E_SImode))
    8002              :             return -1;
    8003              :           x17 = XVECEXP (x15, 0, 0);
    8004              :           operands[4] = x17;
    8005              :           if (!const_0_to_1_operand (operands[4], E_SImode))
    8006              :             return -1;
    8007              :           x13 = XEXP (x12, 0);
    8008              :           if (!rtx_equal_p (x13, operands[2])
    8009              :               || !
    8010              : #line 1129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8011              : (TARGET_3DNOW_A
    8012              :    && INTVAL (operands[3]) != INTVAL (operands[4])))
    8013              :             return -1;
    8014              :           return 2122; /* *mmx_haddsubv2sf3 */
    8015              : 
    8016              :         default:
    8017              :           return -1;
    8018              :         }
    8019              : 
    8020              :     case REG:
    8021              :     case SUBREG:
    8022              :     case MEM:
    8023              :       operands[1] = x4;
    8024              :       x5 = XEXP (x3, 1);
    8025              :       operands[2] = x5;
    8026              :       switch (GET_MODE (operands[0]))
    8027              :         {
    8028              :         case E_V2SFmode:
    8029              :           if (!register_operand (operands[0], E_V2SFmode)
    8030              :               || GET_MODE (x3) != E_V2SFmode
    8031              :               || !nonimmediate_operand (operands[1], E_SFmode))
    8032              :             return -1;
    8033              :           if (nonimm_or_0_operand (operands[2], E_SFmode))
    8034              :             {
    8035              :               if (
    8036              : #line 1781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8037              : (TARGET_MMX && !TARGET_SSE))
    8038              :                 return 2146; /* *mmx_concatv2sf */
    8039              :               if (
    8040              : #line 12141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8041              : (TARGET_SSE4_1 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8042              :                 return 5306; /* *vec_concatv2sf_sse4_1 */
    8043              :             }
    8044              :           if (!reg_or_0_operand (operands[2], E_SFmode)
    8045              :               || !
    8046              : #line 12205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8047              : (TARGET_SSE))
    8048              :             return -1;
    8049              :           return 5307; /* *vec_concatv2sf_sse */
    8050              : 
    8051              :         case E_V2SImode:
    8052              :           if (!register_operand (operands[0], E_V2SImode)
    8053              :               || GET_MODE (x3) != E_V2SImode
    8054              :               || !nonimmediate_operand (operands[1], E_SImode))
    8055              :             return -1;
    8056              :           if (nonimm_or_0_operand (operands[2], E_SImode))
    8057              :             {
    8058              :               if (
    8059              : #line 5749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8060              : (TARGET_MMX && !TARGET_SSE))
    8061              :                 return 2402; /* *mmx_concatv2si */
    8062              :               if (
    8063              : #line 21996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8064              : (TARGET_SSE4_1 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8065              :                 return 8554; /* *vec_concatv2si_sse4_1 */
    8066              :             }
    8067              :           if (!reg_or_0_operand (operands[2], E_SImode)
    8068              :               || !
    8069              : #line 22049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8070              : (TARGET_SSE && !TARGET_SSE4_1))
    8071              :             return -1;
    8072              :           return 8555; /* *vec_concatv2si */
    8073              : 
    8074              :         default:
    8075              :           return -1;
    8076              :         }
    8077              : 
    8078              :     case SS_TRUNCATE:
    8079              :       x5 = XEXP (x3, 1);
    8080              :       if (GET_CODE (x5) != SS_TRUNCATE)
    8081              :         return -1;
    8082              :       switch (pattern273 (x3))
    8083              :         {
    8084              :         case 0:
    8085              :           if (!
    8086              : #line 4805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8087              : (TARGET_MMX || TARGET_MMX_WITH_SSE))
    8088              :             return -1;
    8089              :           return 2346; /* mmx_packsswb */
    8090              : 
    8091              :         case 1:
    8092              :           if (!
    8093              : #line 4846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8094              : (TARGET_MMX || TARGET_MMX_WITH_SSE))
    8095              :             return -1;
    8096              :           return 2348; /* mmx_packssdw */
    8097              : 
    8098              :         default:
    8099              :           return -1;
    8100              :         }
    8101              : 
    8102              :     default:
    8103              :       return -1;
    8104              :     }
    8105              : }
    8106              : 
    8107              :  int
    8108              : recog_70 (rtx x1 ATTRIBUTE_UNUSED,
    8109              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8110              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8111              : {
    8112              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8113              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    8114              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    8115              :   rtx x18, x19;
    8116              :   int res ATTRIBUTE_UNUSED;
    8117              :   x2 = XEXP (x1, 0);
    8118              :   operands[0] = x2;
    8119              :   x3 = XEXP (x1, 1);
    8120              :   x4 = XEXP (x3, 0);
    8121              :   switch (GET_CODE (x4))
    8122              :     {
    8123              :     case LSHIFTRT:
    8124              :       x5 = XEXP (x4, 1);
    8125              :       if (GET_CODE (x5) != CONST_INT)
    8126              :         return -1;
    8127              :       x6 = XEXP (x4, 0);
    8128              :       switch (GET_CODE (x6))
    8129              :         {
    8130              :         case MULT:
    8131              :           if (XWINT (x5, 0) != 16L)
    8132              :             return -1;
    8133              :           x7 = XEXP (x6, 0);
    8134              :           switch (GET_CODE (x7))
    8135              :             {
    8136              :             case SIGN_EXTEND:
    8137              :               switch (pattern757 (x3, 
    8138              : SIGN_EXTEND))
    8139              :                 {
    8140              :                 case 0:
    8141              :                   if (!
    8142              : #line 3478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8143              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8144              :    && ix86_binary_operator_ok (MULT, V4HImode, operands)))
    8145              :                     return -1;
    8146              :                   return 2215; /* *mmx_smulv4hi3_highpart */
    8147              : 
    8148              :                 case 1:
    8149              :                   if (!
    8150              : #line 3547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8151              : (TARGET_SSE2))
    8152              :                     return -1;
    8153              :                   return 2217; /* smulv2hi3_highpart */
    8154              : 
    8155              :                 default:
    8156              :                   return -1;
    8157              :                 }
    8158              : 
    8159              :             case ZERO_EXTEND:
    8160              :               switch (pattern757 (x3, 
    8161              : ZERO_EXTEND))
    8162              :                 {
    8163              :                 case 0:
    8164              :                   if (!
    8165              : #line 3513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8166              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8167              :    && (TARGET_SSE || TARGET_3DNOW_A)
    8168              :    && ix86_binary_operator_ok (MULT, V4HImode, operands)))
    8169              :                     return -1;
    8170              :                   return 2216; /* *mmx_umulv4hi3_highpart */
    8171              : 
    8172              :                 case 1:
    8173              :                   if (!
    8174              : #line 3547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8175              : (TARGET_SSE2))
    8176              :                     return -1;
    8177              :                   return 2218; /* umulv2hi3_highpart */
    8178              : 
    8179              :                 default:
    8180              :                   return -1;
    8181              :                 }
    8182              : 
    8183              :             default:
    8184              :               return -1;
    8185              :             }
    8186              : 
    8187              :         case PLUS:
    8188              :           x7 = XEXP (x6, 0);
    8189              :           switch (GET_CODE (x7))
    8190              :             {
    8191              :             case MULT:
    8192              :               if (GET_MODE (x7) != E_V4SImode)
    8193              :                 return -1;
    8194              :               x8 = XEXP (x7, 0);
    8195              :               if (GET_CODE (x8) != SIGN_EXTEND
    8196              :                   || GET_MODE (x8) != E_V4SImode)
    8197              :                 return -1;
    8198              :               x9 = XEXP (x7, 1);
    8199              :               if (GET_CODE (x9) != SIGN_EXTEND
    8200              :                   || GET_MODE (x9) != E_V4SImode)
    8201              :                 return -1;
    8202              :               x10 = XEXP (x6, 1);
    8203              :               if (GET_CODE (x10) != CONST_VECTOR
    8204              :                   || XVECLEN (x10, 0) != 4
    8205              :                   || GET_MODE (x10) != E_V4SImode)
    8206              :                 return -1;
    8207              :               x11 = XVECEXP (x10, 0, 0);
    8208              :               if (GET_CODE (x11) != CONST_INT
    8209              :                   || XWINT (x11, 0) != 32768L)
    8210              :                 return -1;
    8211              :               x12 = XVECEXP (x10, 0, 1);
    8212              :               if (GET_CODE (x12) != CONST_INT
    8213              :                   || XWINT (x12, 0) != 32768L)
    8214              :                 return -1;
    8215              :               x13 = XVECEXP (x10, 0, 2);
    8216              :               if (GET_CODE (x13) != CONST_INT
    8217              :                   || XWINT (x13, 0) != 32768L)
    8218              :                 return -1;
    8219              :               x14 = XVECEXP (x10, 0, 3);
    8220              :               if (GET_CODE (x14) != CONST_INT
    8221              :                   || XWINT (x14, 0) != 32768L
    8222              :                   || XWINT (x5, 0) != 16L
    8223              :                   || !register_operand (operands[0], E_V4HImode)
    8224              :                   || GET_MODE (x3) != E_V4HImode
    8225              :                   || GET_MODE (x4) != E_V4SImode
    8226              :                   || GET_MODE (x6) != E_V4SImode)
    8227              :                 return -1;
    8228              :               x15 = XEXP (x8, 0);
    8229              :               operands[1] = x15;
    8230              :               if (!nonimmediate_operand (operands[1], E_V4HImode))
    8231              :                 return -1;
    8232              :               x16 = XEXP (x9, 0);
    8233              :               operands[2] = x16;
    8234              :               if (!nonimmediate_operand (operands[2], E_V4HImode)
    8235              :                   || !
    8236              : #line 3637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8237              : (TARGET_3DNOW && ix86_binary_operator_ok (MULT, V4HImode, operands)))
    8238              :                 return -1;
    8239              :               return 2220; /* *mmx_pmulhrwv4hi3 */
    8240              : 
    8241              :             case PLUS:
    8242              :               x8 = XEXP (x7, 0);
    8243              :               if (GET_CODE (x8) != ZERO_EXTEND)
    8244              :                 return -1;
    8245              :               x9 = XEXP (x7, 1);
    8246              :               if (GET_CODE (x9) != ZERO_EXTEND)
    8247              :                 return -1;
    8248              :               x10 = XEXP (x6, 1);
    8249              :               if (GET_CODE (x10) != CONST_VECTOR
    8250              :                   || XWINT (x5, 0) != 1L)
    8251              :                 return -1;
    8252              :               x15 = XEXP (x8, 0);
    8253              :               operands[1] = x15;
    8254              :               x16 = XEXP (x9, 0);
    8255              :               operands[2] = x16;
    8256              :               switch (XVECLEN (x10, 0))
    8257              :                 {
    8258              :                 case 8:
    8259              :                   if (pattern1371 (x10, 
    8260              : E_V8HImode) != 0
    8261              :                       || pattern1657 (x3, 
    8262              : E_V8QImode, 
    8263              : E_V8HImode) != 0
    8264              :                       || !
    8265              : #line 6389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8266              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8267              :    && (TARGET_SSE || TARGET_3DNOW)
    8268              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8269              :                     return -1;
    8270              :                   return 2432; /* *mmx_uavgv8qi3 */
    8271              : 
    8272              :                 case 4:
    8273              :                   x11 = XVECEXP (x10, 0, 0);
    8274              :                   if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    8275              :                     return -1;
    8276              :                   x12 = XVECEXP (x10, 0, 1);
    8277              :                   if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    8278              :                     return -1;
    8279              :                   x13 = XVECEXP (x10, 0, 2);
    8280              :                   if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    8281              :                     return -1;
    8282              :                   x14 = XVECEXP (x10, 0, 3);
    8283              :                   if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    8284              :                     return -1;
    8285              :                   switch (GET_MODE (operands[0]))
    8286              :                     {
    8287              :                     case E_V4HImode:
    8288              :                       if (pattern1657 (x3, 
    8289              : E_V4HImode, 
    8290              : E_V4SImode) != 0
    8291              :                           || GET_MODE (x10) != E_V4SImode
    8292              :                           || !
    8293              : #line 6433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8294              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8295              :    && (TARGET_SSE || TARGET_3DNOW_A)
    8296              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8297              :                         return -1;
    8298              :                       return 2433; /* *mmx_uavgv4hi3 */
    8299              : 
    8300              :                     case E_V4QImode:
    8301              :                       if (pattern1549 (x3, 
    8302              : E_V4HImode, 
    8303              : E_V4QImode) != 0
    8304              :                           || !
    8305              : #line 6473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8306              : (TARGET_SSE2))
    8307              :                         return -1;
    8308              :                       return 2434; /* uavgv4qi3_ceil */
    8309              : 
    8310              :                     default:
    8311              :                       return -1;
    8312              :                     }
    8313              : 
    8314              :                 case 2:
    8315              :                   x11 = XVECEXP (x10, 0, 0);
    8316              :                   if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    8317              :                     return -1;
    8318              :                   x12 = XVECEXP (x10, 0, 1);
    8319              :                   if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    8320              :                     return -1;
    8321              :                   switch (GET_MODE (operands[0]))
    8322              :                     {
    8323              :                     case E_V2QImode:
    8324              :                       if (pattern1549 (x3, 
    8325              : E_V2HImode, 
    8326              : E_V2QImode) != 0
    8327              :                           || !
    8328              : #line 6493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8329              : (TARGET_SSE2))
    8330              :                         return -1;
    8331              :                       return 2435; /* uavgv2qi3_ceil */
    8332              : 
    8333              :                     case E_V2HImode:
    8334              :                       if (pattern1549 (x3, 
    8335              : E_V2SImode, 
    8336              : E_V2HImode) != 0
    8337              :                           || !
    8338              : #line 6513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8339              : (TARGET_SSE2))
    8340              :                         return -1;
    8341              :                       return 2436; /* uavgv2hi3_ceil */
    8342              : 
    8343              :                     default:
    8344              :                       return -1;
    8345              :                     }
    8346              : 
    8347              :                 default:
    8348              :                   return -1;
    8349              :                 }
    8350              : 
    8351              :             case LSHIFTRT:
    8352              :               if (pattern629 (x7) != 0
    8353              :                   || XWINT (x5, 0) != 1L)
    8354              :                 return -1;
    8355              :               x8 = XEXP (x7, 0);
    8356              :               x15 = XEXP (x8, 0);
    8357              :               x17 = XEXP (x15, 0);
    8358              :               operands[1] = x17;
    8359              :               x18 = XEXP (x8, 1);
    8360              :               x19 = XEXP (x18, 0);
    8361              :               operands[2] = x19;
    8362              :               x10 = XEXP (x6, 1);
    8363              :               operands[3] = x10;
    8364              :               switch (GET_MODE (operands[0]))
    8365              :                 {
    8366              :                 case E_V4HImode:
    8367              :                   if (pattern1523 (x3, 
    8368              : E_V4SImode, 
    8369              : E_V4HImode) != 0
    8370              :                       || !register_mmxmem_operand (operands[1], E_V4HImode)
    8371              :                       || GET_MODE (x18) != E_V4SImode
    8372              :                       || !register_mmxmem_operand (operands[2], E_V4HImode)
    8373              :                       || !const1_operand (operands[3], E_V4HImode)
    8374              :                       || !
    8375              : #line 23588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8376              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8377              :    && TARGET_SSSE3
    8378              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8379              :                     return -1;
    8380              :                   return 8697; /* *ssse3_pmulhrswv4hi3 */
    8381              : 
    8382              :                 case E_V2HImode:
    8383              :                   if (pattern1523 (x3, 
    8384              : E_V2SImode, 
    8385              : E_V2HImode) != 0
    8386              :                       || !register_operand (operands[1], E_V2HImode)
    8387              :                       || GET_MODE (x18) != E_V2SImode
    8388              :                       || !register_operand (operands[2], E_V2HImode)
    8389              :                       || !const1_operand (operands[3], E_V2HImode)
    8390              :                       || !
    8391              : #line 23633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8392              : (TARGET_SSSE3
    8393              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8394              :                     return -1;
    8395              :                   return 8698; /* *smulhrsv2hi3 */
    8396              : 
    8397              :                 default:
    8398              :                   return -1;
    8399              :                 }
    8400              : 
    8401              :             default:
    8402              :               return -1;
    8403              :             }
    8404              : 
    8405              :         default:
    8406              :           return -1;
    8407              :         }
    8408              : 
    8409              :     case REG:
    8410              :     case SUBREG:
    8411              :       operands[1] = x4;
    8412              :       switch (GET_MODE (operands[0]))
    8413              :         {
    8414              :         case E_V4QImode:
    8415              :           if (GET_MODE (x3) != E_V4QImode)
    8416              :             return -1;
    8417              :           if (register_operand (operands[0], E_V4QImode)
    8418              :               && register_operand (operands[1], E_V4HImode)
    8419              :               && (
    8420              : #line 5182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8421              : (TARGET_AVX512VL && TARGET_AVX512BW) && 
    8422              : #line 73 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8423              : (TARGET_MMX_WITH_SSE)))
    8424              :             return 2366; /* avx512vl_truncv4hiv4qi2 */
    8425              :           if (!memory_operand (operands[0], E_V4QImode))
    8426              :             return -1;
    8427              :           switch (GET_MODE (operands[1]))
    8428              :             {
    8429              :             case E_V4SImode:
    8430              :               if (!register_operand (operands[1], E_V4SImode)
    8431              :                   || !
    8432              : #line 15897 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8433              : (TARGET_AVX512VL))
    8434              :                 return -1;
    8435              :               return 7354; /* *avx512vl_truncatev4siv4qi2_store_1 */
    8436              : 
    8437              :             case E_V4DImode:
    8438              :               if (!register_operand (operands[1], E_V4DImode)
    8439              :                   || !
    8440              : #line 15897 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8441              : (TARGET_AVX512VL))
    8442              :                 return -1;
    8443              :               return 7357; /* *avx512vl_truncatev4div4qi2_store_1 */
    8444              : 
    8445              :             default:
    8446              :               return -1;
    8447              :             }
    8448              : 
    8449              :         case E_V2QImode:
    8450              :           if (GET_MODE (x3) != E_V2QImode)
    8451              :             return -1;
    8452              :           if (register_operand (operands[0], E_V2QImode))
    8453              :             {
    8454              :               switch (GET_MODE (operands[1]))
    8455              :                 {
    8456              :                 case E_V2HImode:
    8457              :                   if (register_operand (operands[1], E_V2HImode)
    8458              :                       && 
    8459              : #line 5182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8460              : (TARGET_AVX512VL && TARGET_AVX512BW))
    8461              :                     return 2367; /* avx512vl_truncv2hiv2qi2 */
    8462              :                   break;
    8463              : 
    8464              :                 case E_V2SImode:
    8465              :                   if (register_operand (operands[1], E_V2SImode)
    8466              :                       && 
    8467              : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8468              : (TARGET_AVX512VL && TARGET_MMX_WITH_SSE))
    8469              :                     return 2368; /* avx512vl_truncv2siv2qi2 */
    8470              :                   break;
    8471              : 
    8472              :                 default:
    8473              :                   break;
    8474              :                 }
    8475              :             }
    8476              :           if (!memory_operand (operands[0], E_V2QImode)
    8477              :               || !register_operand (operands[1], E_V2DImode)
    8478              :               || !
    8479              : #line 15802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8480              : (TARGET_AVX512VL))
    8481              :             return -1;
    8482              :           return 7339; /* *avx512vl_truncatev2div2qi2_store_1 */
    8483              : 
    8484              :         case E_V2HImode:
    8485              :           if (GET_MODE (x3) != E_V2HImode)
    8486              :             return -1;
    8487              :           if (register_operand (operands[0], E_V2HImode)
    8488              :               && register_operand (operands[1], E_V2SImode)
    8489              :               && 
    8490              : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8491              : (TARGET_AVX512VL && TARGET_MMX_WITH_SSE))
    8492              :             return 2369; /* avx512vl_truncv2siv2hi2 */
    8493              :           if (!memory_operand (operands[0], E_V2HImode)
    8494              :               || !register_operand (operands[1], E_V2DImode)
    8495              :               || !
    8496              : #line 16244 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8497              : (TARGET_AVX512VL))
    8498              :             return -1;
    8499              :           return 7454; /* *avx512vl_truncatev2div2hi2_store_1 */
    8500              : 
    8501              :         case E_V8QImode:
    8502              :           switch (pattern10 (x3))
    8503              :             {
    8504              :             case 0:
    8505              :               if (!(
    8506              : #line 15995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8507              : (TARGET_AVX512VL) && 
    8508              : #line 15989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8509              : (TARGET_AVX512BW)))
    8510              :                 return -1;
    8511              :               return 7384; /* *avx512vl_truncatev8hiv8qi2_store_1 */
    8512              : 
    8513              :             case 1:
    8514              :               if (!
    8515              : #line 15995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8516              : (TARGET_AVX512VL))
    8517              :                 return -1;
    8518              :               return 7387; /* *avx512vl_truncatev8siv8qi2_store_1 */
    8519              : 
    8520              :             case 2:
    8521              :               if (!
    8522              : #line 16507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8523              : (TARGET_AVX512F))
    8524              :                 return -1;
    8525              :               return 7491; /* *avx512f_truncatev8div16qi2_store_1 */
    8526              : 
    8527              :             default:
    8528              :               return -1;
    8529              :             }
    8530              : 
    8531              :         case E_V4HImode:
    8532              :           switch (pattern9 (x3, 
    8533              : E_V4HImode))
    8534              :             {
    8535              :             case 0:
    8536              :               if (!
    8537              : #line 16157 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8538              : (TARGET_AVX512VL))
    8539              :                 return -1;
    8540              :               return 7424; /* *avx512vl_truncatev4siv4hi2_store_1 */
    8541              : 
    8542              :             case 1:
    8543              :               if (!
    8544              : #line 16157 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8545              : (TARGET_AVX512VL))
    8546              :                 return -1;
    8547              :               return 7427; /* *avx512vl_truncatev4div4hi2_store_1 */
    8548              : 
    8549              :             default:
    8550              :               return -1;
    8551              :             }
    8552              : 
    8553              :         case E_V2SImode:
    8554              :           if (!memory_operand (operands[0], E_V2SImode)
    8555              :               || GET_MODE (x3) != E_V2SImode
    8556              :               || !register_operand (operands[1], E_V2DImode)
    8557              :               || !
    8558              : #line 16394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8559              : (TARGET_AVX512VL))
    8560              :             return -1;
    8561              :           return 7473; /* *avx512vl_truncatev2div2si2_store_1 */
    8562              : 
    8563              :         default:
    8564              :           return -1;
    8565              :         }
    8566              : 
    8567              :     default:
    8568              :       return -1;
    8569              :     }
    8570              : }
    8571              : 
    8572              :  int
    8573              : recog_79 (rtx x1 ATTRIBUTE_UNUSED,
    8574              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8575              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8576              : {
    8577              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8578              :   rtx x2, x3, x4, x5, x6;
    8579              :   int res ATTRIBUTE_UNUSED;
    8580              :   x2 = XEXP (x1, 1);
    8581              :   x3 = XEXP (x2, 0);
    8582              :   x4 = XEXP (x3, 0);
    8583              :   switch (GET_CODE (x4))
    8584              :     {
    8585              :     case REG:
    8586              :     case SUBREG:
    8587              :     case MEM:
    8588              :       switch (pattern115 (x2, pnum_clobbers))
    8589              :         {
    8590              :         case 0:
    8591              :           if (
    8592              : #line 14539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8593              : (TARGET_APX_NDD && TARGET_APX_NF
    8594              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8595              :             return 877; /* *xorqi_1_zextsi_nf */
    8596              :           if (pnum_clobbers == NULL
    8597              :               || !
    8598              : #line 14539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8599              : (TARGET_APX_NDD && true
    8600              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8601              :             return -1;
    8602              :           *pnum_clobbers = 1;
    8603              :           return 878; /* *xorqi_1_zextsi */
    8604              : 
    8605              :         case 1:
    8606              :           if (
    8607              : #line 14558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8608              : (TARGET_APX_NDD && TARGET_APX_NF
    8609              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8610              :             return 885; /* *xorhi_1_zextsi_nf */
    8611              :           if (pnum_clobbers == NULL
    8612              :               || !
    8613              : #line 14558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8614              : (TARGET_APX_NDD && true
    8615              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8616              :             return -1;
    8617              :           *pnum_clobbers = 1;
    8618              :           return 886; /* *xorhi_1_zextsi */
    8619              : 
    8620              :         case 2:
    8621              :           if (
    8622              : #line 14539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8623              : (TARGET_APX_NDD && TARGET_APX_NF
    8624              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8625              :             return 881; /* *xorqi_1_zextdi_nf */
    8626              :           if (pnum_clobbers == NULL
    8627              :               || !
    8628              : #line 14539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8629              : (TARGET_APX_NDD && true
    8630              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8631              :             return -1;
    8632              :           *pnum_clobbers = 1;
    8633              :           return 882; /* *xorqi_1_zextdi */
    8634              : 
    8635              :         case 3:
    8636              :           if (
    8637              : #line 14558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8638              : (TARGET_APX_NDD && TARGET_APX_NF
    8639              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8640              :             return 889; /* *xorhi_1_zextdi_nf */
    8641              :           if (pnum_clobbers == NULL
    8642              :               || !
    8643              : #line 14558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8644              : (TARGET_APX_NDD && true
    8645              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8646              :             return -1;
    8647              :           *pnum_clobbers = 1;
    8648              :           return 890; /* *xorhi_1_zextdi */
    8649              : 
    8650              :         case 4:
    8651              :           if (!
    8652              : #line 14579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8653              : (TARGET_64BIT
    8654              :    && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
    8655              :             return -1;
    8656              :           *pnum_clobbers = 1;
    8657              :           return 892; /* *xorsi_1_zext */
    8658              : 
    8659              :         default:
    8660              :           return -1;
    8661              :         }
    8662              : 
    8663              :     case MINUS:
    8664              :       if (pnum_clobbers == NULL
    8665              :           || pattern444 (x3) != 0
    8666              :           || !register_operand (operands[0], E_DImode)
    8667              :           || GET_MODE (x2) != E_DImode
    8668              :           || GET_MODE (x3) != E_SImode)
    8669              :         return -1;
    8670              :       x5 = XEXP (x4, 1);
    8671              :       x6 = XEXP (x5, 0);
    8672              :       operands[1] = x6;
    8673              :       if (!nonimmediate_operand (operands[1], E_SImode)
    8674              :           || !
    8675              : #line 22357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8676              : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
    8677              :         return -1;
    8678              :       *pnum_clobbers = 1;
    8679              :       return 1563; /* *bsru_2 */
    8680              : 
    8681              :     default:
    8682              :       return -1;
    8683              :     }
    8684              : }
    8685              : 
    8686              :  int
    8687              : recog_82 (rtx x1 ATTRIBUTE_UNUSED,
    8688              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8689              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8690              : {
    8691              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8692              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    8693              :   rtx x10, x11;
    8694              :   int res ATTRIBUTE_UNUSED;
    8695              :   x2 = XEXP (x1, 1);
    8696              :   x3 = XEXP (x2, 0);
    8697              :   x4 = XEXP (x3, 1);
    8698              :   x5 = XEXP (x4, 0);
    8699              :   operands[2] = x5;
    8700              :   x6 = XEXP (x3, 0);
    8701              :   if (!rtx_equal_p (x6, operands[0]))
    8702              :     return -1;
    8703              :   x7 = XEXP (x2, 1);
    8704              :   x8 = XEXP (x7, 0);
    8705              :   x9 = XEXP (x8, 1);
    8706              :   x10 = XEXP (x9, 1);
    8707              :   x11 = XEXP (x10, 0);
    8708              :   if (!rtx_equal_p (x11, operands[2]))
    8709              :     return -1;
    8710              :   if (
    8711              : #line 16369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8712              : (TARGET_64BIT && TARGET_APX_NF))
    8713              :     return 1094; /* x86_64_shld_nf */
    8714              :   if (pnum_clobbers == NULL
    8715              :       || !
    8716              : #line 16369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8717              : (TARGET_64BIT && true))
    8718              :     return -1;
    8719              :   *pnum_clobbers = 1;
    8720              :   return 1095; /* x86_64_shld */
    8721              : }
    8722              : 
    8723              :  int
    8724              : recog_85 (rtx x1 ATTRIBUTE_UNUSED,
    8725              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8726              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8727              : {
    8728              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8729              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    8730              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    8731              :   rtx x18;
    8732              :   int res ATTRIBUTE_UNUSED;
    8733              :   x2 = XEXP (x1, 0);
    8734              :   operands[0] = x2;
    8735              :   x3 = XEXP (x1, 1);
    8736              :   x4 = XEXP (x3, 0);
    8737              :   switch (GET_CODE (x4))
    8738              :     {
    8739              :     case ASHIFT:
    8740              :       return recog_84 (x1, insn, pnum_clobbers);
    8741              : 
    8742              :     case REG:
    8743              :     case SUBREG:
    8744              :     case MEM:
    8745              :       operands[1] = x4;
    8746              :       x5 = XEXP (x3, 1);
    8747              :       operands[2] = x5;
    8748              :       switch (pattern441 (x3))
    8749              :         {
    8750              :         case 0:
    8751              :           if (pnum_clobbers != NULL
    8752              :               && x86_64_hilo_general_operand (operands[2], E_DImode)
    8753              :               && (
    8754              : #line 14336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8755              : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)) && 
    8756              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8757              : (!TARGET_64BIT)))
    8758              :             {
    8759              :               *pnum_clobbers = 1;
    8760              :               return 847; /* *iordi3_doubleword */
    8761              :             }
    8762              :           if (x86_64_general_operand (operands[2], E_DImode))
    8763              :             {
    8764              :               if ((
    8765              : #line 14398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8766              : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)
    8767              :    && TARGET_APX_NF) && 
    8768              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8769              : (TARGET_64BIT)))
    8770              :                 return 859; /* *iordi_1_nf */
    8771              :               if (pnum_clobbers != NULL
    8772              :                   && (
    8773              : #line 14398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8774              : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)
    8775              :    && true) && 
    8776              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8777              : (TARGET_64BIT)))
    8778              :                 {
    8779              :                   *pnum_clobbers = 1;
    8780              :                   return 860; /* *iordi_1 */
    8781              :                 }
    8782              :             }
    8783              :           if (pnum_clobbers == NULL
    8784              :               || !const_int_operand (operands[2], E_DImode)
    8785              :               || !
    8786              : #line 14455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8787              : (TARGET_64BIT && TARGET_USE_BT
    8788              :    && ix86_binary_operator_ok (IOR, DImode, operands)
    8789              :    && IN_RANGE (exact_log2 (INTVAL (operands[2])), 31, 63)))
    8790              :             return -1;
    8791              :           *pnum_clobbers = 1;
    8792              :           return 866; /* *iordi_1_bts */
    8793              : 
    8794              :         case 1:
    8795              :           if (
    8796              : #line 14398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8797              : (ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)
    8798              :    && TARGET_APX_NF))
    8799              :             return 855; /* *iorsi_1_nf */
    8800              :           if (pnum_clobbers == NULL
    8801              :               || !
    8802              : #line 14398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8803              : (ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)
    8804              :    && true))
    8805              :             return -1;
    8806              :           *pnum_clobbers = 1;
    8807              :           return 856; /* *iorsi_1 */
    8808              : 
    8809              :         default:
    8810              :           return -1;
    8811              :         }
    8812              : 
    8813              :     case ZERO_EXTEND:
    8814              :       if (GET_MODE (x4) != E_DImode
    8815              :           || GET_MODE (x3) != E_DImode)
    8816              :         return -1;
    8817              :       switch (pattern445 (x3))
    8818              :         {
    8819              :         case 0:
    8820              :           if (pnum_clobbers != NULL)
    8821              :             {
    8822              :               x5 = XEXP (x3, 1);
    8823              :               operands[2] = x5;
    8824              :               if (x86_64_zext_immediate_operand (operands[2], E_DImode)
    8825              :                   && register_operand (operands[0], E_DImode)
    8826              :                   && 
    8827              : #line 14601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8828              : (TARGET_64BIT
    8829              :    && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
    8830              :                 {
    8831              :                   *pnum_clobbers = 1;
    8832              :                   return 893; /* *iorsi_1_zext_imm */
    8833              :                 }
    8834              :             }
    8835              :           x5 = XEXP (x3, 1);
    8836              :           operands[2] = x5;
    8837              :           if (!const_scalar_int_operand (operands[2], E_DImode)
    8838              :               || !nonimmediate_operand (operands[0], E_DImode)
    8839              :               || !(
    8840              : #line 15082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8841              : (DImode == DImode
    8842              :    ? CONST_INT_P (operands[2])
    8843              :      && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
    8844              :      && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
    8845              :    : CONST_WIDE_INT_P (operands[2])
    8846              :      && CONST_WIDE_INT_NUNITS (operands[2]) == 2
    8847              :      && CONST_WIDE_INT_ELT (operands[2], 0) == 0
    8848              :      && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
    8849              :                                                                     1)),
    8850              :                                        VOIDmode)) && 
    8851              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8852              : (!TARGET_64BIT)))
    8853              :             return -1;
    8854              :           return 979; /* *concatsidi3_7 */
    8855              : 
    8856              :         case 1:
    8857              :           if (!(
    8858              : #line 14961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8859              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
    8860              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8861              : (!TARGET_64BIT)))
    8862              :             return -1;
    8863              :           return 931; /* *concatsidi3_2 */
    8864              : 
    8865              :         case 2:
    8866              :           if (!(
    8867              : #line 15005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8868              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
    8869              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8870              : (!TARGET_64BIT)))
    8871              :             return -1;
    8872              :           return 949; /* *concatsidi3_4 */
    8873              : 
    8874              :         case 3:
    8875              :           if (!(
    8876              : #line 15005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8877              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
    8878              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8879              : (!TARGET_64BIT)))
    8880              :             return -1;
    8881              :           return 952; /* *concatsidi3_4 */
    8882              : 
    8883              :         default:
    8884              :           return -1;
    8885              :         }
    8886              : 
    8887              :     case LSHIFTRT:
    8888              :       x6 = XEXP (x4, 1);
    8889              :       switch (GET_CODE (x6))
    8890              :         {
    8891              :         case AND:
    8892              :           switch (pattern291 (x3, 
    8893              : ASHIFT))
    8894              :             {
    8895              :             case 0:
    8896              :               x5 = XEXP (x3, 1);
    8897              :               x7 = XEXP (x5, 0);
    8898              :               x8 = XEXP (x7, 0);
    8899              :               x9 = XEXP (x8, 0);
    8900              :               operands[1] = x9;
    8901              :               if (nonimmediate_operand (operands[0], E_DImode))
    8902              :                 {
    8903              :                   res = recog_83 (x1, insn, pnum_clobbers);
    8904              :                   if (res >= 0)
    8905              :                     return res;
    8906              :                 }
    8907              :               operands[2] = x9;
    8908              :               if (!register_operand (operands[0], E_DImode))
    8909              :                 return -1;
    8910              :               x10 = XEXP (x4, 0);
    8911              :               operands[1] = x10;
    8912              :               if (!nonimmediate_operand (operands[1], E_DImode))
    8913              :                 return -1;
    8914              :               x11 = XEXP (x6, 0);
    8915              :               operands[3] = x11;
    8916              :               x12 = XEXP (x7, 1);
    8917              :               x13 = XEXP (x12, 1);
    8918              :               x14 = XEXP (x13, 0);
    8919              :               if (!rtx_equal_p (x14, operands[3]))
    8920              :                 return -1;
    8921              :               if (
    8922              : #line 17748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8923              : (TARGET_APX_NDD && TARGET_APX_NF))
    8924              :                 return 1176; /* x86_64_shrd_ndd_nf */
    8925              :               if (pnum_clobbers == NULL
    8926              :                   || !
    8927              : #line 17748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8928              : (TARGET_APX_NDD && true))
    8929              :                 return -1;
    8930              :               *pnum_clobbers = 1;
    8931              :               return 1177; /* x86_64_shrd_ndd */
    8932              : 
    8933              :             case 1:
    8934              :               if (pattern290 (x3, 
    8935              : E_SImode, 
    8936              : E_DImode) != 0)
    8937              :                 return -1;
    8938              :               x5 = XEXP (x3, 1);
    8939              :               x7 = XEXP (x5, 0);
    8940              :               x8 = XEXP (x7, 0);
    8941              :               x9 = XEXP (x8, 0);
    8942              :               operands[1] = x9;
    8943              :               if (nonimmediate_operand (operands[0], E_SImode))
    8944              :                 {
    8945              :                   x11 = XEXP (x6, 0);
    8946              :                   operands[2] = x11;
    8947              :                   x10 = XEXP (x4, 0);
    8948              :                   if (rtx_equal_p (x10, operands[0]))
    8949              :                     {
    8950              :                       x12 = XEXP (x7, 1);
    8951              :                       x13 = XEXP (x12, 1);
    8952              :                       x14 = XEXP (x13, 0);
    8953              :                       if (rtx_equal_p (x14, operands[2]))
    8954              :                         {
    8955              :                           if (
    8956              : #line 17965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8957              : (TARGET_APX_NF))
    8958              :                             return 1186; /* x86_shrd_nf */
    8959              :                           if (pnum_clobbers != NULL)
    8960              :                             {
    8961              :                               *pnum_clobbers = 1;
    8962              :                               return 1187; /* x86_shrd */
    8963              :                             }
    8964              :                         }
    8965              :                     }
    8966              :                 }
    8967              :               operands[2] = x9;
    8968              :               if (!register_operand (operands[0], E_SImode))
    8969              :                 return -1;
    8970              :               x10 = XEXP (x4, 0);
    8971              :               operands[1] = x10;
    8972              :               if (!nonimmediate_operand (operands[1], E_SImode))
    8973              :                 return -1;
    8974              :               x11 = XEXP (x6, 0);
    8975              :               operands[3] = x11;
    8976              :               x12 = XEXP (x7, 1);
    8977              :               x13 = XEXP (x12, 1);
    8978              :               x14 = XEXP (x13, 0);
    8979              :               if (!rtx_equal_p (x14, operands[3]))
    8980              :                 return -1;
    8981              :               if (
    8982              : #line 17987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8983              : (TARGET_APX_NDD && TARGET_APX_NF))
    8984              :                 return 1188; /* x86_shrd_ndd_nf */
    8985              :               if (pnum_clobbers == NULL
    8986              :                   || !
    8987              : #line 17987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8988              : (TARGET_APX_NDD && true))
    8989              :                 return -1;
    8990              :               *pnum_clobbers = 1;
    8991              :               return 1189; /* x86_shrd_ndd */
    8992              : 
    8993              :             default:
    8994              :               return -1;
    8995              :             }
    8996              : 
    8997              :         case CONST_INT:
    8998              :         case CONST_WIDE_INT:
    8999              :         case CONST_POLY_INT:
    9000              :         case CONST_FIXED:
    9001              :         case CONST_DOUBLE:
    9002              :         case CONST_VECTOR:
    9003              :         case CONST:
    9004              :         case REG:
    9005              :         case SUBREG:
    9006              :         case LABEL_REF:
    9007              :         case SYMBOL_REF:
    9008              :         case HIGH:
    9009              :           x5 = XEXP (x3, 1);
    9010              :           switch (GET_CODE (x5))
    9011              :             {
    9012              :             case SUBREG:
    9013              :               switch (pattern446 (x3, 
    9014              : ASHIFT))
    9015              :                 {
    9016              :                 case 0:
    9017              :                   operands[2] = x6;
    9018              :                   if (pattern1372 (x3) == 0)
    9019              :                     {
    9020              :                       if (
    9021              : #line 17767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9022              : (TARGET_64BIT
    9023              :    && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
    9024              :    && TARGET_APX_NF))
    9025              :                         return 1178; /* x86_64_shrd_1_nf */
    9026              :                       if (pnum_clobbers != NULL
    9027              :                           && 
    9028              : #line 17767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9029              : (TARGET_64BIT
    9030              :    && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
    9031              :    && true))
    9032              :                         {
    9033              :                           *pnum_clobbers = 1;
    9034              :                           return 1179; /* x86_64_shrd_1 */
    9035              :                         }
    9036              :                     }
    9037              :                   operands[3] = x6;
    9038              :                   if (pattern1373 (x3) != 0)
    9039              :                     return -1;
    9040              :                   if (
    9041              : #line 17789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9042              : (TARGET_APX_NDD
    9043              :    && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
    9044              :    && TARGET_APX_NF))
    9045              :                     return 1180; /* x86_64_shrd_ndd_1_nf */
    9046              :                   if (pnum_clobbers == NULL
    9047              :                       || !
    9048              : #line 17789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9049              : (TARGET_APX_NDD
    9050              :    && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
    9051              :    && true))
    9052              :                     return -1;
    9053              :                   *pnum_clobbers = 1;
    9054              :                   return 1181; /* x86_64_shrd_ndd_1 */
    9055              : 
    9056              :                 case 1:
    9057              :                   operands[2] = x6;
    9058              :                   if (pattern1374 (x3) == 0)
    9059              :                     {
    9060              :                       if (
    9061              : #line 18006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9062              : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
    9063              :    && TARGET_APX_NF))
    9064              :                         return 1190; /* x86_shrd_1_nf */
    9065              :                       if (pnum_clobbers != NULL
    9066              :                           && 
    9067              : #line 18006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9068              : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
    9069              :    && true))
    9070              :                         {
    9071              :                           *pnum_clobbers = 1;
    9072              :                           return 1191; /* x86_shrd_1 */
    9073              :                         }
    9074              :                     }
    9075              :                   operands[3] = x6;
    9076              :                   if (pattern1375 (x3) != 0)
    9077              :                     return -1;
    9078              :                   if (
    9079              : #line 18028 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9080              : (TARGET_APX_NDD
    9081              :    && (INTVAL (operands[4]) == 32 - INTVAL (operands[3]))
    9082              :    && TARGET_APX_NF))
    9083              :                     return 1192; /* x86_shrd_ndd_1_nf */
    9084              :                   if (pnum_clobbers == NULL
    9085              :                       || !
    9086              : #line 18028 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9087              : (TARGET_APX_NDD
    9088              :    && (INTVAL (operands[4]) == 32 - INTVAL (operands[3]))
    9089              :    && true))
    9090              :                     return -1;
    9091              :                   *pnum_clobbers = 1;
    9092              :                   return 1193; /* x86_shrd_ndd_1 */
    9093              : 
    9094              :                 default:
    9095              :                   return -1;
    9096              :                 }
    9097              : 
    9098              :             case ASHIFT:
    9099              :               switch (pattern449 (x3, pnum_clobbers))
    9100              :                 {
    9101              :                 case 0:
    9102              :                   if (
    9103              : #line 17809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9104              : (TARGET_64BIT && TARGET_APX_NF
    9105              :    && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
    9106              :    && ix86_pre_reload_split ()))
    9107              :                     return 1182; /* *x86_64_shrd_shld_1_nozext_nf */
    9108              :                   if (pnum_clobbers == NULL
    9109              :                       || !
    9110              : #line 17865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9111              : (TARGET_64BIT
    9112              :    && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
    9113              :    && ix86_pre_reload_split ()))
    9114              :                     return -1;
    9115              :                   *pnum_clobbers = 1;
    9116              :                   return 1183; /* *x86_64_shrd_shld_1_nozext */
    9117              : 
    9118              :                 case 1:
    9119              :                   if (
    9120              : #line 18048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9121              : (TARGET_APX_NF
    9122              :    && INTVAL (operands[3]) == 32 - INTVAL (operands[2])
    9123              :    && ix86_pre_reload_split ()))
    9124              :                     return 1194; /* *x86_shrd_shld_1_nozext_nf */
    9125              :                   if (pnum_clobbers == NULL
    9126              :                       || !
    9127              : #line 18104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9128              : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
    9129              :    && ix86_pre_reload_split ()))
    9130              :                     return -1;
    9131              :                   *pnum_clobbers = 1;
    9132              :                   return 1195; /* *x86_shrd_shld_1_nozext */
    9133              : 
    9134              :                 case 2:
    9135              :                   x7 = XEXP (x5, 0);
    9136              :                   operands[1] = x7;
    9137              :                   if (nonimmediate_operand (operands[0], E_DImode))
    9138              :                     {
    9139              :                       operands[2] = x6;
    9140              :                       x10 = XEXP (x4, 0);
    9141              :                       if (rtx_equal_p (x10, operands[0]))
    9142              :                         {
    9143              :                           x15 = XEXP (x5, 1);
    9144              :                           x16 = XEXP (x15, 1);
    9145              :                           if (rtx_equal_p (x16, operands[2])
    9146              :                               && 
    9147              : #line 17918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9148              : (TARGET_64BIT && ix86_pre_reload_split ()))
    9149              :                             {
    9150              :                               *pnum_clobbers = 1;
    9151              :                               return 1184; /* *x86_64_shrd_2 */
    9152              :                             }
    9153              :                         }
    9154              :                     }
    9155              :                   operands[2] = x7;
    9156              :                   if (!register_operand (operands[0], E_DImode))
    9157              :                     return -1;
    9158              :                   x10 = XEXP (x4, 0);
    9159              :                   operands[1] = x10;
    9160              :                   if (!nonimmediate_operand (operands[1], E_DImode))
    9161              :                     return -1;
    9162              :                   operands[3] = x6;
    9163              :                   x15 = XEXP (x5, 1);
    9164              :                   x16 = XEXP (x15, 1);
    9165              :                   if (!rtx_equal_p (x16, operands[2])
    9166              :                       || !
    9167              : #line 17939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9168              : (TARGET_APX_NDD
    9169              :   && ix86_pre_reload_split ()))
    9170              :                     return -1;
    9171              :                   *pnum_clobbers = 1;
    9172              :                   return 1185; /* *x86_64_shrd_ndd_2 */
    9173              : 
    9174              :                 case 3:
    9175              :                   x7 = XEXP (x5, 0);
    9176              :                   operands[1] = x7;
    9177              :                   if (nonimmediate_operand (operands[0], E_SImode))
    9178              :                     {
    9179              :                       operands[2] = x6;
    9180              :                       x10 = XEXP (x4, 0);
    9181              :                       if (rtx_equal_p (x10, operands[0]))
    9182              :                         {
    9183              :                           x15 = XEXP (x5, 1);
    9184              :                           x16 = XEXP (x15, 1);
    9185              :                           if (rtx_equal_p (x16, operands[2])
    9186              :                               && 
    9187              : #line 18156 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9188              : (TARGET_64BIT && ix86_pre_reload_split ()))
    9189              :                             {
    9190              :                               *pnum_clobbers = 1;
    9191              :                               return 1196; /* *x86_shrd_2 */
    9192              :                             }
    9193              :                         }
    9194              :                     }
    9195              :                   operands[2] = x7;
    9196              :                   if (!register_operand (operands[0], E_SImode))
    9197              :                     return -1;
    9198              :                   x10 = XEXP (x4, 0);
    9199              :                   operands[1] = x10;
    9200              :                   if (!nonimmediate_operand (operands[1], E_SImode))
    9201              :                     return -1;
    9202              :                   operands[3] = x6;
    9203              :                   x15 = XEXP (x5, 1);
    9204              :                   x16 = XEXP (x15, 1);
    9205              :                   if (!rtx_equal_p (x16, operands[3])
    9206              :                       || !
    9207              : #line 18177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9208              : (TARGET_APX_NDD
    9209              :    && ix86_pre_reload_split ()))
    9210              :                     return -1;
    9211              :                   *pnum_clobbers = 1;
    9212              :                   return 1197; /* *x86_shrd_ndd_2 */
    9213              : 
    9214              :                 default:
    9215              :                   return -1;
    9216              :                 }
    9217              : 
    9218              :             default:
    9219              :               return -1;
    9220              :             }
    9221              : 
    9222              :         default:
    9223              :           return -1;
    9224              :         }
    9225              : 
    9226              :     case NOT:
    9227              :       if (pnum_clobbers == NULL)
    9228              :         return -1;
    9229              :       x10 = XEXP (x4, 0);
    9230              :       if (GET_CODE (x10) != PLUS)
    9231              :         return -1;
    9232              :       x17 = XEXP (x10, 1);
    9233              :       if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    9234              :         return -1;
    9235              :       x18 = XEXP (x10, 0);
    9236              :       operands[1] = x18;
    9237              :       x5 = XEXP (x3, 1);
    9238              :       if (!rtx_equal_p (x5, operands[1]))
    9239              :         return -1;
    9240              :       switch (GET_MODE (operands[0]))
    9241              :         {
    9242              :         case E_SImode:
    9243              :           if (pattern993 (x3, 
    9244              : E_SImode) != 0
    9245              :               || !
    9246              : #line 23208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9247              : (TARGET_TBM))
    9248              :             return -1;
    9249              :           *pnum_clobbers = 1;
    9250              :           return 1640; /* *tbm_blci_si */
    9251              : 
    9252              :         case E_DImode:
    9253              :           if (pattern993 (x3, 
    9254              : E_DImode) != 0
    9255              :               || !(
    9256              : #line 23208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9257              : (TARGET_TBM) && 
    9258              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9259              : (TARGET_64BIT)))
    9260              :             return -1;
    9261              :           *pnum_clobbers = 1;
    9262              :           return 1641; /* *tbm_blci_di */
    9263              : 
    9264              :         default:
    9265              :           return -1;
    9266              :         }
    9267              : 
    9268              :     case PLUS:
    9269              :       if (pnum_clobbers == NULL)
    9270              :         return -1;
    9271              :       x6 = XEXP (x4, 1);
    9272              :       if (GET_CODE (x6) != CONST_INT)
    9273              :         return -1;
    9274              :       x10 = XEXP (x4, 0);
    9275              :       operands[1] = x10;
    9276              :       switch (XWINT (x6, 0))
    9277              :         {
    9278              :         case 1L:
    9279              :           switch (pattern766 (x3))
    9280              :             {
    9281              :             case 0:
    9282              :               if (!
    9283              : #line 23248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9284              : (TARGET_TBM))
    9285              :                 return -1;
    9286              :               *pnum_clobbers = 1;
    9287              :               return 1646; /* *tbm_blcs_si */
    9288              : 
    9289              :             case 1:
    9290              :               if (!(
    9291              : #line 23248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9292              : (TARGET_TBM) && 
    9293              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9294              : (TARGET_64BIT)))
    9295              :                 return -1;
    9296              :               *pnum_clobbers = 1;
    9297              :               return 1647; /* *tbm_blcs_di */
    9298              : 
    9299              :             case 2:
    9300              :               if (!
    9301              : #line 23289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9302              : (TARGET_TBM))
    9303              :                 return -1;
    9304              :               *pnum_clobbers = 1;
    9305              :               return 1652; /* *tbm_t1mskc_si */
    9306              : 
    9307              :             case 3:
    9308              :               if (!(
    9309              : #line 23289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9310              : (TARGET_TBM) && 
    9311              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9312              : (TARGET_64BIT)))
    9313              :                 return -1;
    9314              :               *pnum_clobbers = 1;
    9315              :               return 1653; /* *tbm_t1mskc_di */
    9316              : 
    9317              :             default:
    9318              :               return -1;
    9319              :             }
    9320              : 
    9321              :         case -1L:
    9322              :           switch (pattern766 (x3))
    9323              :             {
    9324              :             case 0:
    9325              :               if (!
    9326              : #line 23261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9327              : (TARGET_TBM))
    9328              :                 return -1;
    9329              :               *pnum_clobbers = 1;
    9330              :               return 1648; /* *tbm_blsfill_si */
    9331              : 
    9332              :             case 1:
    9333              :               if (!(
    9334              : #line 23261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9335              : (TARGET_TBM) && 
    9336              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9337              : (TARGET_64BIT)))
    9338              :                 return -1;
    9339              :               *pnum_clobbers = 1;
    9340              :               return 1649; /* *tbm_blsfill_di */
    9341              : 
    9342              :             case 2:
    9343              :               if (!
    9344              : #line 23275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9345              : (TARGET_TBM))
    9346              :                 return -1;
    9347              :               *pnum_clobbers = 1;
    9348              :               return 1650; /* *tbm_blsic_si */
    9349              : 
    9350              :             case 3:
    9351              :               if (!(
    9352              : #line 23275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9353              : (TARGET_TBM) && 
    9354              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9355              : (TARGET_64BIT)))
    9356              :                 return -1;
    9357              :               *pnum_clobbers = 1;
    9358              :               return 1651; /* *tbm_blsic_di */
    9359              : 
    9360              :             default:
    9361              :               return -1;
    9362              :             }
    9363              : 
    9364              :         default:
    9365              :           return -1;
    9366              :         }
    9367              : 
    9368              :     case AND:
    9369              :       if (pattern119 (x3) != 0
    9370              :           || !register_operand (operands[0], E_SImode)
    9371              :           || GET_MODE (x3) != E_SImode)
    9372              :         return -1;
    9373              :       x10 = XEXP (x4, 0);
    9374              :       operands[1] = x10;
    9375              :       if (!register_operand (operands[1], E_SImode))
    9376              :         return -1;
    9377              :       x5 = XEXP (x3, 1);
    9378              :       x7 = XEXP (x5, 0);
    9379              :       x8 = XEXP (x7, 0);
    9380              :       if (!rtx_equal_p (x8, operands[1]))
    9381              :         return -1;
    9382              :       return 1678; /* bswaphisi2_lowpart */
    9383              : 
    9384              :     default:
    9385              :       return -1;
    9386              :     }
    9387              : }
    9388              : 
    9389              :  int
    9390              : recog_104 (rtx x1 ATTRIBUTE_UNUSED,
    9391              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9392              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9393              : {
    9394              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9395              :   rtx x2, x3, x4, x5;
    9396              :   int res ATTRIBUTE_UNUSED;
    9397              :   x2 = XEXP (x1, 0);
    9398              :   operands[0] = x2;
    9399              :   x3 = XEXP (x1, 1);
    9400              :   x4 = XEXP (x3, 0);
    9401              :   switch (GET_CODE (x4))
    9402              :     {
    9403              :     case REG:
    9404              :     case SUBREG:
    9405              :     case MEM:
    9406              :       switch (pattern124 (x3, pnum_clobbers))
    9407              :         {
    9408              :         case 0:
    9409              :           x5 = XEXP (x3, 1);
    9410              :           switch (GET_CODE (x5))
    9411              :             {
    9412              :             case REG:
    9413              :             case SUBREG:
    9414              :               if (pnum_clobbers != NULL
    9415              :                   && pattern635 (x3) == 0
    9416              :                   && (
    9417              : #line 17523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9418              : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
    9419              :     || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
    9420              :          == (2 * 4 * BITS_PER_UNIT - 1)))
    9421              :    && ix86_pre_reload_split ()) && 
    9422              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9423              : (!TARGET_64BIT)))
    9424              :                 {
    9425              :                   *pnum_clobbers = 1;
    9426              :                   return 1155; /* *ashrdi3_doubleword_mask */
    9427              :                 }
    9428              :               operands[2] = x5;
    9429              :               if (register_operand (operands[2], E_SImode)
    9430              :                   && register_operand (operands[0], E_SImode)
    9431              :                   && GET_MODE (x3) == E_SImode
    9432              :                   && nonimmediate_operand (operands[1], E_SImode)
    9433              :                   && 
    9434              : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9435              : (TARGET_BMI2))
    9436              :                 return 1204; /* *bmi2_ashrsi3_1 */
    9437              :               break;
    9438              : 
    9439              :             case CONST_INT:
    9440              :               operands[2] = x5;
    9441              :               if (const_int_operand (operands[2], E_QImode)
    9442              :                   && nonimmediate_operand (operands[0], E_SImode)
    9443              :                   && GET_MODE (x3) == E_SImode
    9444              :                   && nonimmediate_operand (operands[1], E_SImode))
    9445              :                 {
    9446              :                   if (
    9447              : #line 18201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9448              : (INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)-1
    9449              :    && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
    9450              :    && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
    9451              :    && TARGET_APX_NF))
    9452              :                     return 1198; /* ashrsi3_cvt_nf */
    9453              :                   if (pnum_clobbers != NULL
    9454              :                       && 
    9455              : #line 18201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9456              : (INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)-1
    9457              :    && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
    9458              :    && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
    9459              :    && true))
    9460              :                     {
    9461              :                       *pnum_clobbers = 1;
    9462              :                       return 1199; /* ashrsi3_cvt */
    9463              :                     }
    9464              :                 }
    9465              :               break;
    9466              : 
    9467              :             default:
    9468              :               break;
    9469              :             }
    9470              :           operands[2] = x5;
    9471              :           res = recog_103 (x1, insn, pnum_clobbers);
    9472              :           if (res >= 0)
    9473              :             return res;
    9474              :           if (pnum_clobbers == NULL)
    9475              :             return -1;
    9476              :           switch (pattern636 (x3))
    9477              :             {
    9478              :             case 0:
    9479              :               if (!
    9480              : #line 18773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9481              : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
    9482              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
    9483              :       == 4 * BITS_PER_UNIT - 1
    9484              :    && ix86_pre_reload_split ()))
    9485              :                 return -1;
    9486              :               *pnum_clobbers = 1;
    9487              :               return 1278; /* *ashrsi3_mask */
    9488              : 
    9489              :             case 1:
    9490              :               if (!(
    9491              : #line 18773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9492              : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
    9493              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
    9494              :       == 8 * BITS_PER_UNIT - 1
    9495              :    && ix86_pre_reload_split ()) && 
    9496              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9497              : (TARGET_64BIT)))
    9498              :                 return -1;
    9499              :               *pnum_clobbers = 1;
    9500              :               return 1281; /* *ashrdi3_mask */
    9501              : 
    9502              :             case 2:
    9503              :               if (!
    9504              : #line 18821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9505              : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
    9506              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
    9507              :    && ix86_pre_reload_split ()))
    9508              :                 return -1;
    9509              :               *pnum_clobbers = 1;
    9510              :               return 1290; /* *ashrsi3_add */
    9511              : 
    9512              :             case 3:
    9513              :               if (!(
    9514              : #line 18821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9515              : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
    9516              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
    9517              :    && ix86_pre_reload_split ()) && 
    9518              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9519              : (TARGET_64BIT)))
    9520              :                 return -1;
    9521              :               *pnum_clobbers = 1;
    9522              :               return 1293; /* *ashrdi3_add */
    9523              : 
    9524              :             case 4:
    9525              :               if (!
    9526              : #line 18867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9527              : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
    9528              :    && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
    9529              :        || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
    9530              :           == 4 * BITS_PER_UNIT - 1)
    9531              :    && ix86_pre_reload_split ()))
    9532              :                 return -1;
    9533              :               *pnum_clobbers = 1;
    9534              :               return 1302; /* *ashrsi3_sub */
    9535              : 
    9536              :             case 5:
    9537              :               if (!(
    9538              : #line 18867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9539              : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
    9540              :    && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
    9541              :        || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
    9542              :           == 8 * BITS_PER_UNIT - 1)
    9543              :    && ix86_pre_reload_split ()) && 
    9544              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9545              : (TARGET_64BIT)))
    9546              :                 return -1;
    9547              :               *pnum_clobbers = 1;
    9548              :               return 1305; /* *ashrdi3_sub */
    9549              : 
    9550              :             default:
    9551              :               return -1;
    9552              :             }
    9553              : 
    9554              :         case 1:
    9555              :           if (register_operand (operands[0], E_DImode)
    9556              :               && register_operand (operands[1], E_DImode)
    9557              :               && (
    9558              : #line 17584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9559              : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
    9560              :     || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
    9561              :          == (2 * 4 * BITS_PER_UNIT - 1)))
    9562              :    && ix86_pre_reload_split ()) && 
    9563              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9564              : (!TARGET_64BIT)))
    9565              :             {
    9566              :               *pnum_clobbers = 1;
    9567              :               return 1159; /* *ashrdi3_doubleword_mask_1 */
    9568              :             }
    9569              :           if (!nonimmediate_operand (operands[0], E_DImode)
    9570              :               || !nonimmediate_operand (operands[1], E_DImode)
    9571              :               || !(
    9572              : #line 18798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9573              : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
    9574              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
    9575              :       == 8 * BITS_PER_UNIT - 1
    9576              :    && ix86_pre_reload_split ()) && 
    9577              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9578              : (TARGET_64BIT)))
    9579              :             return -1;
    9580              :           *pnum_clobbers = 1;
    9581              :           return 1287; /* *ashrdi3_mask_1 */
    9582              : 
    9583              :         case 2:
    9584              :           if (!
    9585              : #line 18798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9586              : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
    9587              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
    9588              :       == 4 * BITS_PER_UNIT - 1
    9589              :    && ix86_pre_reload_split ()))
    9590              :             return -1;
    9591              :           *pnum_clobbers = 1;
    9592              :           return 1284; /* *ashrsi3_mask_1 */
    9593              : 
    9594              :         case 3:
    9595              :           if (!
    9596              : #line 18845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9597              : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
    9598              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
    9599              :    && ix86_pre_reload_split ()))
    9600              :             return -1;
    9601              :           *pnum_clobbers = 1;
    9602              :           return 1296; /* *ashrsi3_add_1 */
    9603              : 
    9604              :         case 4:
    9605              :           if (!(
    9606              : #line 18845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9607              : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
    9608              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
    9609              :    && ix86_pre_reload_split ()) && 
    9610              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9611              : (TARGET_64BIT)))
    9612              :             return -1;
    9613              :           *pnum_clobbers = 1;
    9614              :           return 1299; /* *ashrdi3_add_1 */
    9615              : 
    9616              :         case 5:
    9617              :           if (!
    9618              : #line 18900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9619              : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
    9620              :    && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
    9621              :        || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
    9622              :           == 4 * BITS_PER_UNIT - 1)
    9623              :    && ix86_pre_reload_split ()))
    9624              :             return -1;
    9625              :           *pnum_clobbers = 1;
    9626              :           return 1308; /* *ashrsi3_sub_1 */
    9627              : 
    9628              :         case 6:
    9629              :           if (!(
    9630              : #line 18900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9631              : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
    9632              :    && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
    9633              :        || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
    9634              :           == 8 * BITS_PER_UNIT - 1)
    9635              :    && ix86_pre_reload_split ()) && 
    9636              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9637              : (TARGET_64BIT)))
    9638              :             return -1;
    9639              :           *pnum_clobbers = 1;
    9640              :           return 1311; /* *ashrdi3_sub_1 */
    9641              : 
    9642              :         default:
    9643              :           return -1;
    9644              :         }
    9645              : 
    9646              :     case ASHIFT:
    9647              :       if (pnum_clobbers == NULL
    9648              :           || pattern295 (x3, 
    9649              : E_DImode) != 0
    9650              :           || !(
    9651              : #line 18929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9652              : (INTVAL (operands[2]) == INTVAL (operands[3])
    9653              :    && UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) && 
    9654              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9655              : (!TARGET_64BIT)))
    9656              :         return -1;
    9657              :       *pnum_clobbers = 1;
    9658              :       return 1312; /* *extenddi2_doubleword_highpart */
    9659              : 
    9660              :     default:
    9661              :       return -1;
    9662              :     }
    9663              : }
    9664              : 
    9665              :  int
    9666              : recog_116 (rtx x1 ATTRIBUTE_UNUSED,
    9667              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9668              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9669              : {
    9670              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9671              :   rtx x2, x3, x4;
    9672              :   int res ATTRIBUTE_UNUSED;
    9673              :   if (pnum_clobbers == NULL)
    9674              :     return -1;
    9675              :   x2 = XEXP (x1, 0);
    9676              :   operands[0] = x2;
    9677              :   x3 = XEXP (x1, 1);
    9678              :   x4 = XEXP (x3, 0);
    9679              :   operands[1] = x4;
    9680              :   switch (pattern132 (x3))
    9681              :     {
    9682              :     case 0:
    9683              :       *pnum_clobbers = 1;
    9684              :       return 1544; /* ctzsi2 */
    9685              : 
    9686              :     case 1:
    9687              :       if (!
    9688              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9689              : (TARGET_64BIT))
    9690              :         return -1;
    9691              :       *pnum_clobbers = 1;
    9692              :       return 1545; /* ctzdi2 */
    9693              : 
    9694              :     default:
    9695              :       return -1;
    9696              :     }
    9697              : }
    9698              : 
    9699              :  int
    9700              : recog_117 (rtx x1 ATTRIBUTE_UNUSED,
    9701              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9702              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9703              : {
    9704              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9705              :   rtx x2, x3, x4, x5, x6, x7, x8;
    9706              :   int res ATTRIBUTE_UNUSED;
    9707              :   x2 = XEXP (x1, 1);
    9708              :   if (GET_MODE (x2) != E_DImode)
    9709              :     return -1;
    9710              :   x3 = XEXP (x1, 0);
    9711              :   operands[0] = x3;
    9712              :   if (!register_operand (operands[0], E_DImode))
    9713              :     return -1;
    9714              :   x4 = XEXP (x2, 0);
    9715              :   if (GET_MODE (x4) != E_SImode)
    9716              :     return -1;
    9717              :   switch (GET_CODE (x4))
    9718              :     {
    9719              :     case CTZ:
    9720              :       if (pnum_clobbers == NULL)
    9721              :         return -1;
    9722              :       x5 = XEXP (x4, 0);
    9723              :       operands[1] = x5;
    9724              :       if (!nonimmediate_operand (operands[1], E_SImode)
    9725              :           || !
    9726              : #line 22178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9727              : (TARGET_64BIT))
    9728              :         return -1;
    9729              :       *pnum_clobbers = 1;
    9730              :       return 1550; /* *ctzsidi2_sext */
    9731              : 
    9732              :     case XOR:
    9733              :       if (pnum_clobbers == NULL)
    9734              :         return -1;
    9735              :       x5 = XEXP (x4, 0);
    9736              :       if (GET_CODE (x5) != MINUS
    9737              :           || pattern444 (x4) != 0)
    9738              :         return -1;
    9739              :       x6 = XEXP (x5, 1);
    9740              :       x7 = XEXP (x6, 0);
    9741              :       operands[1] = x7;
    9742              :       if (!nonimmediate_operand (operands[1], E_SImode)
    9743              :           || !
    9744              : #line 22357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9745              : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
    9746              :         return -1;
    9747              :       *pnum_clobbers = 1;
    9748              :       return 1562; /* *bsr_2 */
    9749              : 
    9750              :     case UNSPEC:
    9751              :       if (XVECLEN (x4, 0) != 1
    9752              :           || XINT (x4, 1) != 50)
    9753              :         return -1;
    9754              :       x8 = XVECEXP (x4, 0, 0);
    9755              :       switch (GET_CODE (x8))
    9756              :         {
    9757              :         case REG:
    9758              :         case SUBREG:
    9759              :           operands[1] = x8;
    9760              :           switch (GET_MODE (operands[1]))
    9761              :             {
    9762              :             case E_V8SFmode:
    9763              :               if (register_operand (operands[1], E_V8SFmode)
    9764              :                   && (
    9765              : #line 22461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9766              : (TARGET_64BIT && TARGET_SSE) && 
    9767              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9768              : (TARGET_AVX)))
    9769              :                 return 8587; /* *avx_movmskps256_ext */
    9770              :               break;
    9771              : 
    9772              :             case E_V4SFmode:
    9773              :               if (register_operand (operands[1], E_V4SFmode)
    9774              :                   && 
    9775              : #line 22461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9776              : (TARGET_64BIT && TARGET_SSE))
    9777              :                 return 8589; /* *sse_movmskps_ext */
    9778              :               break;
    9779              : 
    9780              :             case E_V4DFmode:
    9781              :               if (register_operand (operands[1], E_V4DFmode)
    9782              :                   && (
    9783              : #line 22461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9784              : (TARGET_64BIT && TARGET_SSE) && 
    9785              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9786              : (TARGET_AVX)))
    9787              :                 return 8591; /* *avx_movmskpd256_ext */
    9788              :               break;
    9789              : 
    9790              :             case E_V2DFmode:
    9791              :               if (register_operand (operands[1], E_V2DFmode)
    9792              :                   && (
    9793              : #line 22461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9794              : (TARGET_64BIT && TARGET_SSE) && 
    9795              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9796              : (TARGET_SSE2)))
    9797              :                 return 8593; /* *sse2_movmskpd_ext */
    9798              :               break;
    9799              : 
    9800              :             case E_V16QImode:
    9801              :               if (register_operand (operands[1], E_V16QImode)
    9802              :                   && 
    9803              : #line 22637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9804              : (TARGET_64BIT && TARGET_SSE2))
    9805              :                 return 8635; /* *sse2_pmovmskb_ext */
    9806              :               break;
    9807              : 
    9808              :             default:
    9809              :               break;
    9810              :             }
    9811              :           if (GET_CODE (x8) != SUBREG)
    9812              :             return -1;
    9813              :           switch (pattern1101 (x8))
    9814              :             {
    9815              :             case 0:
    9816              :               if (!(
    9817              : #line 22544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9818              : (TARGET_64BIT && TARGET_SSE) && 
    9819              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9820              : (TARGET_AVX)))
    9821              :                 return -1;
    9822              :               return 8611; /* *avx_movmskps256_ext_lt_avx512 */
    9823              : 
    9824              :             case 1:
    9825              :               if (!
    9826              : #line 22544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9827              : (TARGET_64BIT && TARGET_SSE))
    9828              :                 return -1;
    9829              :               return 8613; /* *sse_movmskps_ext_lt_avx512 */
    9830              : 
    9831              :             case 2:
    9832              :               if (!(
    9833              : #line 22544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9834              : (TARGET_64BIT && TARGET_SSE) && 
    9835              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9836              : (TARGET_AVX)))
    9837              :                 return -1;
    9838              :               return 8615; /* *avx_movmskpd256_ext_lt_avx512 */
    9839              : 
    9840              :             case 3:
    9841              :               if (!(
    9842              : #line 22544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9843              : (TARGET_64BIT && TARGET_SSE) && 
    9844              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9845              : (TARGET_SSE2)))
    9846              :                 return -1;
    9847              :               return 8617; /* *sse2_movmskpd_ext_lt_avx512 */
    9848              : 
    9849              :             case 4:
    9850              :               if (!(
    9851              : #line 22583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9852              : (TARGET_64BIT && TARGET_SSE) && 
    9853              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9854              : (TARGET_AVX)))
    9855              :                 return -1;
    9856              :               return 8623; /* *avx_movmskps256_ext_shift */
    9857              : 
    9858              :             case 5:
    9859              :               if (!
    9860              : #line 22583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9861              : (TARGET_64BIT && TARGET_SSE))
    9862              :                 return -1;
    9863              :               return 8625; /* *sse_movmskps_ext_shift */
    9864              : 
    9865              :             case 6:
    9866              :               if (!(
    9867              : #line 22583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9868              : (TARGET_64BIT && TARGET_SSE) && 
    9869              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9870              : (TARGET_AVX)))
    9871              :                 return -1;
    9872              :               return 8627; /* *avx_movmskpd256_ext_shift */
    9873              : 
    9874              :             case 7:
    9875              :               if (!(
    9876              : #line 22583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9877              : (TARGET_64BIT && TARGET_SSE) && 
    9878              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9879              : (TARGET_SSE2)))
    9880              :                 return -1;
    9881              :               return 8629; /* *sse2_movmskpd_ext_shift */
    9882              : 
    9883              :             default:
    9884              :               return -1;
    9885              :             }
    9886              : 
    9887              :         case LT:
    9888              :           switch (pattern998 (x8))
    9889              :             {
    9890              :             case 0:
    9891              :               if (!(
    9892              : #line 22519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9893              : (TARGET_64BIT && TARGET_SSE) && 
    9894              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9895              : (TARGET_AVX)))
    9896              :                 return -1;
    9897              :               return 8603; /* *avx_movmskps256_ext_lt */
    9898              : 
    9899              :             case 1:
    9900              :               if (!
    9901              : #line 22519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9902              : (TARGET_64BIT && TARGET_SSE))
    9903              :                 return -1;
    9904              :               return 8605; /* *sse_movmskps_ext_lt */
    9905              : 
    9906              :             case 2:
    9907              :               if (!(
    9908              : #line 22519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9909              : (TARGET_64BIT && TARGET_SSE) && 
    9910              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9911              : (TARGET_AVX)))
    9912              :                 return -1;
    9913              :               return 8607; /* *avx_movmskpd256_ext_lt */
    9914              : 
    9915              :             case 3:
    9916              :               if (!(
    9917              : #line 22519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9918              : (TARGET_64BIT && TARGET_SSE) && 
    9919              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9920              : (TARGET_SSE2)))
    9921              :                 return -1;
    9922              :               return 8609; /* *sse2_movmskpd_ext_lt */
    9923              : 
    9924              :             case 4:
    9925              :               if (!
    9926              : #line 22834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9927              : (TARGET_64BIT && TARGET_SSE2))
    9928              :                 return -1;
    9929              :               return 8645; /* *sse2_pmovmskb_ext_lt */
    9930              : 
    9931              :             default:
    9932              :               return -1;
    9933              :             }
    9934              : 
    9935              :         case VEC_MERGE:
    9936              :           switch (pattern988 (x8))
    9937              :             {
    9938              :             case 0:
    9939              :               if (!(
    9940              : #line 22863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9941              : (TARGET_64BIT && TARGET_SSE2) && 
    9942              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9943              : (TARGET_AVX2)))
    9944              :                 return -1;
    9945              :               return 8646; /* *sse2_pmovmskb_ext_lt_avx512 */
    9946              : 
    9947              :             case 1:
    9948              :               if (!
    9949              : #line 22863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9950              : (TARGET_64BIT && TARGET_SSE2))
    9951              :                 return -1;
    9952              :               return 8647; /* *sse2_pmovmskb_ext_lt_avx512 */
    9953              : 
    9954              :             default:
    9955              :               return -1;
    9956              :             }
    9957              : 
    9958              :         default:
    9959              :           return -1;
    9960              :         }
    9961              : 
    9962              :     default:
    9963              :       return -1;
    9964              :     }
    9965              : }
    9966              : 
    9967              :  int
    9968              : recog_128 (rtx x1 ATTRIBUTE_UNUSED,
    9969              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9970              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9971              : {
    9972              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9973              :   rtx x2, x3, x4, x5;
    9974              :   int res ATTRIBUTE_UNUSED;
    9975              :   x2 = XEXP (x1, 1);
    9976              :   x3 = XEXP (x2, 0);
    9977              :   x4 = XVECEXP (x3, 0, 0);
    9978              :   operands[1] = x4;
    9979              :   x5 = XEXP (x2, 2);
    9980              :   operands[3] = x5;
    9981              :   switch (GET_MODE (operands[0]))
    9982              :     {
    9983              :     case E_V8HImode:
    9984              :       if (pattern646 (x2, 
    9985              : E_V8HImode, 
    9986              : E_QImode, 
    9987              : E_V8HFmode) != 0
    9988              :           || !(
    9989              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
    9990              : (TARGET_AVX512F) && (
    9991              : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9992              : (TARGET_AVX512FP16) && 
    9993              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9994              : (TARGET_AVX512VL))))
    9995              :         return -1;
    9996              :       return 4612; /* unspec_avx512fp16_fix_truncv8hi2_mask */
    9997              : 
    9998              :     case E_V16HImode:
    9999              :       if (pattern646 (x2, 
   10000              : E_V16HImode, 
   10001              : E_HImode, 
   10002              : E_V16HFmode) != 0
   10003              :           || !(
   10004              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10005              : (TARGET_AVX512F) && (
   10006              : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10007              : (TARGET_AVX512FP16) && 
   10008              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10009              : (TARGET_AVX512VL))))
   10010              :         return -1;
   10011              :       return 4620; /* unspec_avx512fp16_fix_truncv16hi2_mask */
   10012              : 
   10013              :     case E_V32HImode:
   10014              :       if (pattern646 (x2, 
   10015              : E_V32HImode, 
   10016              : E_SImode, 
   10017              : E_V32HFmode) != 0
   10018              :           || !(
   10019              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10020              : (TARGET_AVX512F) && 
   10021              : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10022              : (TARGET_AVX512FP16)))
   10023              :         return -1;
   10024              :       return 4628; /* unspec_avx512fp16_fix_truncv32hi2_mask */
   10025              : 
   10026              :     case E_V8SImode:
   10027              :       switch (pattern999 (x2, 
   10028              : E_V8SImode))
   10029              :         {
   10030              :         case 0:
   10031              :           if (!(
   10032              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10033              : (TARGET_AVX512F) && (
   10034              : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10035              : (TARGET_AVX512FP16) && 
   10036              : #line 684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10037              : (TARGET_AVX512VL))))
   10038              :             return -1;
   10039              :           return 4636; /* unspec_avx512fp16_fix_truncv8si2_mask */
   10040              : 
   10041              :         case 1:
   10042              :           if (!(
   10043              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10044              : (TARGET_AVX512F) && 
   10045              : #line 9175 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10046              : (TARGET_AVX && TARGET_AVX512VL)))
   10047              :             return -1;
   10048              :           return 4933; /* unspec_fix_truncv8sfv8si2_mask */
   10049              : 
   10050              :         case 2:
   10051              :           if (!
   10052              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10053              : (TARGET_AVX512F))
   10054              :             return -1;
   10055              :           return 5067; /* unspec_fix_truncv8dfv8si2_mask */
   10056              : 
   10057              :         default:
   10058              :           return -1;
   10059              :         }
   10060              : 
   10061              :     case E_V16SImode:
   10062              :       switch (pattern1000 (x2))
   10063              :         {
   10064              :         case 0:
   10065              :           if (!(
   10066              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10067              : (TARGET_AVX512F) && 
   10068              : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10069              : (TARGET_AVX512FP16)))
   10070              :             return -1;
   10071              :           return 4644; /* unspec_avx512fp16_fix_truncv16si2_mask */
   10072              : 
   10073              :         case 1:
   10074              :           if (!
   10075              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10076              : (TARGET_AVX512F))
   10077              :             return -1;
   10078              :           return 4918; /* unspec_fix_truncv16sfv16si2_mask */
   10079              : 
   10080              :         default:
   10081              :           return -1;
   10082              :         }
   10083              : 
   10084              :     case E_V8DImode:
   10085              :       switch (pattern1001 (x2))
   10086              :         {
   10087              :         case 0:
   10088              :           if (!(
   10089              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10090              : (TARGET_AVX512F) && 
   10091              : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10092              : (TARGET_AVX512FP16)))
   10093              :             return -1;
   10094              :           return 4652; /* unspec_avx512fp16_fix_truncv8di2_mask */
   10095              : 
   10096              :         case 1:
   10097              :           if (!(
   10098              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10099              : (TARGET_AVX512F) && 
   10100              : #line 10078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10101              : (TARGET_AVX512DQ && 1)))
   10102              :             return -1;
   10103              :           return 5096; /* unspec_fix_truncv8dfv8di2_mask */
   10104              : 
   10105              :         case 2:
   10106              :           if (!(
   10107              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10108              : (TARGET_AVX512F) && 
   10109              : #line 10121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10110              : (TARGET_AVX512DQ && 1)))
   10111              :             return -1;
   10112              :           return 5144; /* unspec_fix_truncv8sfv8di2_mask */
   10113              : 
   10114              :         default:
   10115              :           return -1;
   10116              :         }
   10117              : 
   10118              :     case E_V4SImode:
   10119              :       if (pattern142 (x2, 
   10120              : E_V4SImode, 
   10121              : E_QImode) != 0)
   10122              :         return -1;
   10123              :       switch (GET_MODE (operands[1]))
   10124              :         {
   10125              :         case E_V8HFmode:
   10126              :           if (!register_operand (operands[1], E_V8HFmode)
   10127              :               || !(
   10128              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10129              : (TARGET_AVX512F) && 
   10130              : #line 8297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10131              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   10132              :             return -1;
   10133              :           return 4707; /* unspec_avx512fp16_fix_truncv4si2_mask */
   10134              : 
   10135              :         case E_V4SFmode:
   10136              :           if (!vector_operand (operands[1], E_V4SFmode)
   10137              :               || !(
   10138              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10139              : (TARGET_AVX512F) && 
   10140              : #line 9194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10141              : (TARGET_SSE2 && TARGET_AVX512VL)))
   10142              :             return -1;
   10143              :           return 4937; /* unspec_fix_truncv4sfv4si2_mask */
   10144              : 
   10145              :         case E_V4DFmode:
   10146              :           if (!nonimmediate_operand (operands[1], E_V4DFmode)
   10147              :               || !(
   10148              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10149              : (TARGET_AVX512F) && 
   10150              : #line 10039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10151              : (TARGET_AVX || (TARGET_AVX512VL && TARGET_AVX512F))))
   10152              :             return -1;
   10153              :           return 5087; /* unspec_fix_truncv4dfv4si2_mask */
   10154              : 
   10155              :         case E_V2DFmode:
   10156              :           if (!vector_operand (operands[1], E_V2DFmode)
   10157              :               || !(
   10158              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10159              : (TARGET_AVX512F) && 
   10160              : #line 10321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10161              : (TARGET_SSE2 && TARGET_AVX512VL)))
   10162              :             return -1;
   10163              :           return 5183; /* unspec_sse2_cvttpd2dq_mask */
   10164              : 
   10165              :         default:
   10166              :           return -1;
   10167              :         }
   10168              : 
   10169              :     case E_V4DImode:
   10170              :       switch (pattern1002 (x2))
   10171              :         {
   10172              :         case 0:
   10173              :           if (!(
   10174              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10175              : (TARGET_AVX512F) && 
   10176              : #line 8297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10177              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   10178              :             return -1;
   10179              :           return 4711; /* unspec_avx512fp16_fix_truncv4di2_mask */
   10180              : 
   10181              :         case 1:
   10182              :           if (!(
   10183              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10184              : (TARGET_AVX512F) && (
   10185              : #line 10078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10186              : (TARGET_AVX512DQ && 1) && 
   10187              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10188              : (TARGET_AVX512VL))))
   10189              :             return -1;
   10190              :           return 5103; /* unspec_fix_truncv4dfv4di2_mask */
   10191              : 
   10192              :         case 2:
   10193              :           if (!(
   10194              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10195              : (TARGET_AVX512F) && (
   10196              : #line 10121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10197              : (TARGET_AVX512DQ && 1) && 
   10198              : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10199              : (TARGET_AVX512VL))))
   10200              :             return -1;
   10201              :           return 5151; /* unspec_fix_truncv4sfv4di2_mask */
   10202              : 
   10203              :         default:
   10204              :           return -1;
   10205              :         }
   10206              : 
   10207              :     case E_V2DImode:
   10208              :       switch (pattern1003 (x2))
   10209              :         {
   10210              :         case 0:
   10211              :           if (!(
   10212              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10213              : (TARGET_AVX512F) && 
   10214              : #line 8347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10215              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   10216              :             return -1;
   10217              :           return 4731; /* unspec_avx512fp16_fix_truncv2di2_mask */
   10218              : 
   10219              :         case 1:
   10220              :           if (!(
   10221              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10222              : (TARGET_AVX512F) && (
   10223              : #line 10078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10224              : (TARGET_AVX512DQ && 1) && 
   10225              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10226              : (TARGET_AVX512VL))))
   10227              :             return -1;
   10228              :           return 5107; /* unspec_fix_truncv2dfv2di2_mask */
   10229              : 
   10230              :         case 2:
   10231              :           if (!(
   10232              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10233              : (TARGET_AVX512F) && 
   10234              : #line 10142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10235              : (TARGET_AVX512DQ && TARGET_AVX512VL)))
   10236              :             return -1;
   10237              :           return 5167; /* unspec_avx512dq_fix_truncv2sfv2di2_mask */
   10238              : 
   10239              :         default:
   10240              :           return -1;
   10241              :         }
   10242              : 
   10243              :     default:
   10244              :       return -1;
   10245              :     }
   10246              : }
   10247              : 
   10248              :  int
   10249              : recog_135 (rtx x1 ATTRIBUTE_UNUSED,
   10250              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10251              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10252              : {
   10253              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10254              :   rtx x2, x3, x4, x5, x6, x7;
   10255              :   int res ATTRIBUTE_UNUSED;
   10256              :   x2 = XEXP (x1, 1);
   10257              :   x3 = XEXP (x2, 0);
   10258              :   x4 = XVECEXP (x3, 0, 0);
   10259              :   operands[1] = x4;
   10260              :   x5 = XVECEXP (x3, 0, 1);
   10261              :   operands[2] = x5;
   10262              :   if (!const_0_to_15_operand (operands[2], E_SImode))
   10263              :     return -1;
   10264              :   x6 = XEXP (x2, 1);
   10265              :   operands[3] = x6;
   10266              :   x7 = XEXP (x2, 2);
   10267              :   operands[4] = x7;
   10268              :   switch (GET_MODE (operands[0]))
   10269              :     {
   10270              :     case E_V32HFmode:
   10271              :       if (pattern472 (x2, 
   10272              : E_V32HFmode, 
   10273              : E_SImode) != 0
   10274              :           || !(
   10275              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10276              : (TARGET_AVX512F) && (
   10277              : #line 30935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10278              : (TARGET_AVX512F) && 
   10279              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10280              : (TARGET_AVX512FP16))))
   10281              :         return -1;
   10282              :       return 10112; /* avx512bw_getmantv32hf_mask */
   10283              : 
   10284              :     case E_V16HFmode:
   10285              :       if (pattern472 (x2, 
   10286              : E_V16HFmode, 
   10287              : E_HImode) != 0
   10288              :           || !(
   10289              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10290              : (TARGET_AVX512F) && (
   10291              : #line 30935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10292              : (TARGET_AVX512F) && 
   10293              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10294              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   10295              :         return -1;
   10296              :       return 10116; /* avx512vl_getmantv16hf_mask */
   10297              : 
   10298              :     case E_V8HFmode:
   10299              :       if (pattern472 (x2, 
   10300              : E_V8HFmode, 
   10301              : E_QImode) != 0
   10302              :           || !(
   10303              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10304              : (TARGET_AVX512F) && (
   10305              : #line 30935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10306              : (TARGET_AVX512F) && 
   10307              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10308              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   10309              :         return -1;
   10310              :       return 10120; /* avx512fp16_getmantv8hf_mask */
   10311              : 
   10312              :     case E_V16SFmode:
   10313              :       if (pattern472 (x2, 
   10314              : E_V16SFmode, 
   10315              : E_HImode) != 0
   10316              :           || !
   10317              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10318              : (TARGET_AVX512F))
   10319              :         return -1;
   10320              :       return 10124; /* avx512f_getmantv16sf_mask */
   10321              : 
   10322              :     case E_V8SFmode:
   10323              :       if (pattern472 (x2, 
   10324              : E_V8SFmode, 
   10325              : E_QImode) != 0
   10326              :           || !(
   10327              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10328              : (TARGET_AVX512F) && (
   10329              : #line 30935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10330              : (TARGET_AVX512F) && 
   10331              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10332              : (TARGET_AVX512VL))))
   10333              :         return -1;
   10334              :       return 10128; /* avx512vl_getmantv8sf_mask */
   10335              : 
   10336              :     case E_V4SFmode:
   10337              :       if (pattern472 (x2, 
   10338              : E_V4SFmode, 
   10339              : E_QImode) != 0
   10340              :           || !(
   10341              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10342              : (TARGET_AVX512F) && (
   10343              : #line 30935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10344              : (TARGET_AVX512F) && 
   10345              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10346              : (TARGET_AVX512VL))))
   10347              :         return -1;
   10348              :       return 10132; /* avx512vl_getmantv4sf_mask */
   10349              : 
   10350              :     case E_V8DFmode:
   10351              :       if (pattern472 (x2, 
   10352              : E_V8DFmode, 
   10353              : E_QImode) != 0
   10354              :           || !
   10355              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10356              : (TARGET_AVX512F))
   10357              :         return -1;
   10358              :       return 10136; /* avx512f_getmantv8df_mask */
   10359              : 
   10360              :     case E_V4DFmode:
   10361              :       if (pattern472 (x2, 
   10362              : E_V4DFmode, 
   10363              : E_QImode) != 0
   10364              :           || !(
   10365              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10366              : (TARGET_AVX512F) && (
   10367              : #line 30935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10368              : (TARGET_AVX512F) && 
   10369              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10370              : (TARGET_AVX512VL))))
   10371              :         return -1;
   10372              :       return 10140; /* avx512vl_getmantv4df_mask */
   10373              : 
   10374              :     case E_V2DFmode:
   10375              :       if (pattern472 (x2, 
   10376              : E_V2DFmode, 
   10377              : E_QImode) != 0
   10378              :           || !(
   10379              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10380              : (TARGET_AVX512F) && (
   10381              : #line 30935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10382              : (TARGET_AVX512F) && 
   10383              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10384              : (TARGET_AVX512VL))))
   10385              :         return -1;
   10386              :       return 10144; /* avx512vl_getmantv2df_mask */
   10387              : 
   10388              :     default:
   10389              :       return -1;
   10390              :     }
   10391              : }
   10392              : 
   10393              :  int
   10394              : recog_140 (rtx x1 ATTRIBUTE_UNUSED,
   10395              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10396              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10397              : {
   10398              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10399              :   rtx x2;
   10400              :   int res ATTRIBUTE_UNUSED;
   10401              :   x2 = XEXP (x1, 1);
   10402              :   switch (pattern487 (x2))
   10403              :     {
   10404              :     case 0:
   10405              :       if (!
   10406              : #line 31493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10407              : (TARGET_AVX512VBMI2))
   10408              :         return -1;
   10409              :       return 10332; /* vpshrdv_v32hi_mask */
   10410              : 
   10411              :     case 1:
   10412              :       if (!
   10413              : #line 31493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10414              : (TARGET_AVX512VBMI2))
   10415              :         return -1;
   10416              :       return 10333; /* vpshrdv_v16si_mask */
   10417              : 
   10418              :     case 2:
   10419              :       if (!
   10420              : #line 31493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10421              : (TARGET_AVX512VBMI2))
   10422              :         return -1;
   10423              :       return 10334; /* vpshrdv_v8di_mask */
   10424              : 
   10425              :     case 3:
   10426              :       if (!(
   10427              : #line 31493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10428              : (TARGET_AVX512VBMI2) && 
   10429              : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10430              : (TARGET_AVX512VL)))
   10431              :         return -1;
   10432              :       return 10335; /* vpshrdv_v16hi_mask */
   10433              : 
   10434              :     case 4:
   10435              :       if (!(
   10436              : #line 31493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10437              : (TARGET_AVX512VBMI2) && 
   10438              : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10439              : (TARGET_AVX512VL)))
   10440              :         return -1;
   10441              :       return 10336; /* vpshrdv_v8si_mask */
   10442              : 
   10443              :     case 5:
   10444              :       if (!(
   10445              : #line 31493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10446              : (TARGET_AVX512VBMI2) && 
   10447              : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10448              : (TARGET_AVX512VL)))
   10449              :         return -1;
   10450              :       return 10337; /* vpshrdv_v4di_mask */
   10451              : 
   10452              :     case 6:
   10453              :       if (!(
   10454              : #line 31493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10455              : (TARGET_AVX512VBMI2) && 
   10456              : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10457              : (TARGET_AVX512VL)))
   10458              :         return -1;
   10459              :       return 10338; /* vpshrdv_v8hi_mask */
   10460              : 
   10461              :     case 7:
   10462              :       if (!(
   10463              : #line 31493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10464              : (TARGET_AVX512VBMI2) && 
   10465              : #line 749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10466              : (TARGET_AVX512VL)))
   10467              :         return -1;
   10468              :       return 10339; /* vpshrdv_v4si_mask */
   10469              : 
   10470              :     case 8:
   10471              :       if (!(
   10472              : #line 31493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10473              : (TARGET_AVX512VBMI2) && 
   10474              : #line 749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10475              : (TARGET_AVX512VL)))
   10476              :         return -1;
   10477              :       return 10340; /* vpshrdv_v2di_mask */
   10478              : 
   10479              :     case 9:
   10480              :       if (!
   10481              : #line 31523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10482              : (TARGET_AVX512VBMI2))
   10483              :         return -1;
   10484              :       return 10341; /* vpshrdv_v32hi_maskz_1 */
   10485              : 
   10486              :     case 10:
   10487              :       if (!
   10488              : #line 31523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10489              : (TARGET_AVX512VBMI2))
   10490              :         return -1;
   10491              :       return 10342; /* vpshrdv_v16si_maskz_1 */
   10492              : 
   10493              :     case 11:
   10494              :       if (!
   10495              : #line 31523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10496              : (TARGET_AVX512VBMI2))
   10497              :         return -1;
   10498              :       return 10343; /* vpshrdv_v8di_maskz_1 */
   10499              : 
   10500              :     case 12:
   10501              :       if (!(
   10502              : #line 31523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10503              : (TARGET_AVX512VBMI2) && 
   10504              : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10505              : (TARGET_AVX512VL)))
   10506              :         return -1;
   10507              :       return 10344; /* vpshrdv_v16hi_maskz_1 */
   10508              : 
   10509              :     case 13:
   10510              :       if (!(
   10511              : #line 31523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10512              : (TARGET_AVX512VBMI2) && 
   10513              : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10514              : (TARGET_AVX512VL)))
   10515              :         return -1;
   10516              :       return 10345; /* vpshrdv_v8si_maskz_1 */
   10517              : 
   10518              :     case 14:
   10519              :       if (!(
   10520              : #line 31523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10521              : (TARGET_AVX512VBMI2) && 
   10522              : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10523              : (TARGET_AVX512VL)))
   10524              :         return -1;
   10525              :       return 10346; /* vpshrdv_v4di_maskz_1 */
   10526              : 
   10527              :     case 15:
   10528              :       if (!(
   10529              : #line 31523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10530              : (TARGET_AVX512VBMI2) && 
   10531              : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10532              : (TARGET_AVX512VL)))
   10533              :         return -1;
   10534              :       return 10347; /* vpshrdv_v8hi_maskz_1 */
   10535              : 
   10536              :     case 16:
   10537              :       if (!(
   10538              : #line 31523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10539              : (TARGET_AVX512VBMI2) && 
   10540              : #line 749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10541              : (TARGET_AVX512VL)))
   10542              :         return -1;
   10543              :       return 10348; /* vpshrdv_v4si_maskz_1 */
   10544              : 
   10545              :     case 17:
   10546              :       if (!(
   10547              : #line 31523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10548              : (TARGET_AVX512VBMI2) && 
   10549              : #line 749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10550              : (TARGET_AVX512VL)))
   10551              :         return -1;
   10552              :       return 10349; /* vpshrdv_v2di_maskz_1 */
   10553              : 
   10554              :     default:
   10555              :       return -1;
   10556              :     }
   10557              : }
   10558              : 
   10559              :  int
   10560              : recog_145 (rtx x1 ATTRIBUTE_UNUSED,
   10561              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10562              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10563              : {
   10564              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10565              :   rtx x2;
   10566              :   int res ATTRIBUTE_UNUSED;
   10567              :   x2 = XEXP (x1, 1);
   10568              :   switch (pattern483 (x2))
   10569              :     {
   10570              :     case 0:
   10571              :       if (!(
   10572              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10573              : (TARGET_AVX512F) && 
   10574              : #line 31456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10575              : (TARGET_AVX512VBMI2)))
   10576              :         return -1;
   10577              :       return 10288; /* vpshrd_v32hi_mask */
   10578              : 
   10579              :     case 1:
   10580              :       if (!(
   10581              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10582              : (TARGET_AVX512F) && 
   10583              : #line 31456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10584              : (TARGET_AVX512VBMI2)))
   10585              :         return -1;
   10586              :       return 10290; /* vpshrd_v16si_mask */
   10587              : 
   10588              :     case 2:
   10589              :       if (!(
   10590              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10591              : (TARGET_AVX512F) && 
   10592              : #line 31456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10593              : (TARGET_AVX512VBMI2)))
   10594              :         return -1;
   10595              :       return 10292; /* vpshrd_v8di_mask */
   10596              : 
   10597              :     case 3:
   10598              :       if (!(
   10599              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10600              : (TARGET_AVX512F) && (
   10601              : #line 31456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10602              : (TARGET_AVX512VBMI2) && 
   10603              : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10604              : (TARGET_AVX512VL))))
   10605              :         return -1;
   10606              :       return 10294; /* vpshrd_v16hi_mask */
   10607              : 
   10608              :     case 4:
   10609              :       if (!(
   10610              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10611              : (TARGET_AVX512F) && (
   10612              : #line 31456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10613              : (TARGET_AVX512VBMI2) && 
   10614              : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10615              : (TARGET_AVX512VL))))
   10616              :         return -1;
   10617              :       return 10296; /* vpshrd_v8si_mask */
   10618              : 
   10619              :     case 5:
   10620              :       if (!(
   10621              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10622              : (TARGET_AVX512F) && (
   10623              : #line 31456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10624              : (TARGET_AVX512VBMI2) && 
   10625              : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10626              : (TARGET_AVX512VL))))
   10627              :         return -1;
   10628              :       return 10298; /* vpshrd_v4di_mask */
   10629              : 
   10630              :     case 6:
   10631              :       if (!(
   10632              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10633              : (TARGET_AVX512F) && (
   10634              : #line 31456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10635              : (TARGET_AVX512VBMI2) && 
   10636              : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10637              : (TARGET_AVX512VL))))
   10638              :         return -1;
   10639              :       return 10300; /* vpshrd_v8hi_mask */
   10640              : 
   10641              :     case 7:
   10642              :       if (!(
   10643              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10644              : (TARGET_AVX512F) && (
   10645              : #line 31456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10646              : (TARGET_AVX512VBMI2) && 
   10647              : #line 749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10648              : (TARGET_AVX512VL))))
   10649              :         return -1;
   10650              :       return 10302; /* vpshrd_v4si_mask */
   10651              : 
   10652              :     case 8:
   10653              :       if (!(
   10654              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10655              : (TARGET_AVX512F) && (
   10656              : #line 31456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10657              : (TARGET_AVX512VBMI2) && 
   10658              : #line 749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10659              : (TARGET_AVX512VL))))
   10660              :         return -1;
   10661              :       return 10304; /* vpshrd_v2di_mask */
   10662              : 
   10663              :     default:
   10664              :       return -1;
   10665              :     }
   10666              : }
   10667              : 
   10668              :  int
   10669              : recog_152 (rtx x1 ATTRIBUTE_UNUSED,
   10670              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10671              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10672              : {
   10673              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10674              :   rtx x2, x3, x4, x5, x6;
   10675              :   int res ATTRIBUTE_UNUSED;
   10676              :   x2 = XEXP (x1, 1);
   10677              :   x3 = XEXP (x2, 2);
   10678              :   switch (GET_CODE (x3))
   10679              :     {
   10680              :     case CONST_INT:
   10681              :       x4 = XEXP (x2, 0);
   10682              :       x5 = XEXP (x4, 0);
   10683              :       operands[2] = x5;
   10684              :       x6 = XEXP (x2, 1);
   10685              :       operands[1] = x6;
   10686              :       switch (XWINT (x3, 0))
   10687              :         {
   10688              :         case 3L:
   10689              :           switch (GET_MODE (operands[0]))
   10690              :             {
   10691              :             case E_V8HFmode:
   10692              :               if (pattern1013 (x2, 
   10693              : E_V8HFmode, 
   10694              : E_V2HFmode) == 0
   10695              :                   && 
   10696              : #line 12249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10697              : (TARGET_SSE))
   10698              :                 return 5314; /* *vec_concatv8hf_movss */
   10699              :               break;
   10700              : 
   10701              :             case E_V8BFmode:
   10702              :               if (pattern1013 (x2, 
   10703              : E_V8BFmode, 
   10704              : E_V2BFmode) == 0
   10705              :                   && 
   10706              : #line 12249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10707              : (TARGET_SSE))
   10708              :                 return 5315; /* *vec_concatv8bf_movss */
   10709              :               break;
   10710              : 
   10711              :             case E_V8HImode:
   10712              :               if (pattern1013 (x2, 
   10713              : E_V8HImode, 
   10714              : E_V2HImode) == 0
   10715              :                   && 
   10716              : #line 12249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10717              : (TARGET_SSE))
   10718              :                 return 5316; /* *vec_concatv8hi_movss */
   10719              :               break;
   10720              : 
   10721              :             default:
   10722              :               break;
   10723              :             }
   10724              :           break;
   10725              : 
   10726              :         case 1L:
   10727              :           switch (GET_MODE (operands[0]))
   10728              :             {
   10729              :             case E_V4SImode:
   10730              :               if (pattern1014 (x2, 
   10731              : E_V4SImode, 
   10732              : E_SImode) == 0
   10733              :                   && 
   10734              : #line 12271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10735              : (TARGET_SSE))
   10736              :                 return 5317; /* vec_setv4si_0 */
   10737              :               break;
   10738              : 
   10739              :             case E_V4SFmode:
   10740              :               if (pattern1014 (x2, 
   10741              : E_V4SFmode, 
   10742              : E_SFmode) == 0
   10743              :                   && 
   10744              : #line 12271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10745              : (TARGET_SSE))
   10746              :                 return 5318; /* vec_setv4sf_0 */
   10747              :               break;
   10748              : 
   10749              :             case E_V8HImode:
   10750              :               if (pattern1013 (x2, 
   10751              : E_V8HImode, 
   10752              : E_HImode) == 0
   10753              :                   && 
   10754              : #line 12356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10755              : (TARGET_SSE2))
   10756              :                 return 5319; /* vec_setv8hi_0 */
   10757              :               break;
   10758              : 
   10759              :             case E_V8HFmode:
   10760              :               if (pattern1013 (x2, 
   10761              : E_V8HFmode, 
   10762              : E_HFmode) == 0
   10763              :                   && 
   10764              : #line 12356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10765              : (TARGET_SSE2))
   10766              :                 return 5320; /* vec_setv8hf_0 */
   10767              :               break;
   10768              : 
   10769              :             case E_V8BFmode:
   10770              :               if (pattern1013 (x2, 
   10771              : E_V8BFmode, 
   10772              : E_BFmode) == 0
   10773              :                   && 
   10774              : #line 12356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10775              : (TARGET_SSE2))
   10776              :                 return 5321; /* vec_setv8bf_0 */
   10777              :               break;
   10778              : 
   10779              :             case E_V16HImode:
   10780              :               if (pattern1015 (x2, 
   10781              : E_V16HImode, 
   10782              : E_HImode) == 0
   10783              :                   && 
   10784              : #line 12458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10785              : (TARGET_AVX512FP16))
   10786              :                 return 5325; /* vec_setv16hi_0 */
   10787              :               break;
   10788              : 
   10789              :             case E_V32HImode:
   10790              :               if (pattern1015 (x2, 
   10791              : E_V32HImode, 
   10792              : E_HImode) == 0
   10793              :                   && 
   10794              : #line 12458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10795              : (TARGET_AVX512FP16))
   10796              :                 return 5326; /* vec_setv32hi_0 */
   10797              :               break;
   10798              : 
   10799              :             case E_V16HFmode:
   10800              :               if (pattern1015 (x2, 
   10801              : E_V16HFmode, 
   10802              : E_HFmode) == 0
   10803              :                   && 
   10804              : #line 12458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10805              : (TARGET_AVX512FP16))
   10806              :                 return 5327; /* vec_setv16hf_0 */
   10807              :               break;
   10808              : 
   10809              :             case E_V32HFmode:
   10810              :               if (pattern1015 (x2, 
   10811              : E_V32HFmode, 
   10812              : E_HFmode) == 0
   10813              :                   && 
   10814              : #line 12458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10815              : (TARGET_AVX512FP16))
   10816              :                 return 5328; /* vec_setv32hf_0 */
   10817              :               break;
   10818              : 
   10819              :             case E_V16BFmode:
   10820              :               if (pattern1015 (x2, 
   10821              : E_V16BFmode, 
   10822              : E_BFmode) == 0
   10823              :                   && 
   10824              : #line 12458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10825              : (TARGET_AVX512FP16))
   10826              :                 return 5329; /* vec_setv16bf_0 */
   10827              :               break;
   10828              : 
   10829              :             case E_V32BFmode:
   10830              :               if (pattern1015 (x2, 
   10831              : E_V32BFmode, 
   10832              : E_BFmode) == 0
   10833              :                   && 
   10834              : #line 12458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10835              : (TARGET_AVX512FP16))
   10836              :                 return 5330; /* vec_setv32bf_0 */
   10837              :               break;
   10838              : 
   10839              :             case E_V8SImode:
   10840              :               if (pattern1015 (x2, 
   10841              : E_V8SImode, 
   10842              : E_SImode) == 0
   10843              :                   && 
   10844              : #line 12565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10845              : (TARGET_AVX))
   10846              :                 return 5342; /* vec_setv8si_0 */
   10847              :               break;
   10848              : 
   10849              :             case E_V8SFmode:
   10850              :               if (pattern1015 (x2, 
   10851              : E_V8SFmode, 
   10852              : E_SFmode) == 0
   10853              :                   && 
   10854              : #line 12565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10855              : (TARGET_AVX))
   10856              :                 return 5343; /* vec_setv8sf_0 */
   10857              :               break;
   10858              : 
   10859              :             case E_V16SImode:
   10860              :               if (pattern1015 (x2, 
   10861              : E_V16SImode, 
   10862              : E_SImode) == 0
   10863              :                   && (
   10864              : #line 12565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10865              : (TARGET_AVX) && 
   10866              : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10867              : (TARGET_AVX512F)))
   10868              :                 return 5344; /* vec_setv16si_0 */
   10869              :               break;
   10870              : 
   10871              :             case E_V16SFmode:
   10872              :               if (pattern1015 (x2, 
   10873              : E_V16SFmode, 
   10874              : E_SFmode) == 0
   10875              :                   && (
   10876              : #line 12565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10877              : (TARGET_AVX) && 
   10878              : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10879              : (TARGET_AVX512F)))
   10880              :                 return 5345; /* vec_setv16sf_0 */
   10881              :               break;
   10882              : 
   10883              :             case E_V2DFmode:
   10884              :               if (pattern876 (x2, 
   10885              : E_V2DFmode, 
   10886              : E_DFmode) == 0
   10887              :                   && 
   10888              : #line 12679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10889              : (TARGET_SSE2))
   10890              :                 return 5352; /* vec_setv2df_0 */
   10891              :               break;
   10892              : 
   10893              :             case E_V8DFmode:
   10894              :               if (pattern1015 (x2, 
   10895              : E_V8DFmode, 
   10896              : E_DFmode) == 0
   10897              :                   && (
   10898              : #line 15360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10899              : (TARGET_AVX) && 
   10900              : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10901              : (TARGET_AVX512F)))
   10902              :                 return 7264; /* vec_setv8df_0 */
   10903              :               break;
   10904              : 
   10905              :             case E_V4DFmode:
   10906              :               if (pattern1015 (x2, 
   10907              : E_V4DFmode, 
   10908              : E_DFmode) == 0
   10909              :                   && 
   10910              : #line 15360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10911              : (TARGET_AVX))
   10912              :                 return 7265; /* vec_setv4df_0 */
   10913              :               break;
   10914              : 
   10915              :             case E_V8DImode:
   10916              :               if (pattern1015 (x2, 
   10917              : E_V8DImode, 
   10918              : E_DImode) == 0
   10919              :                   && (
   10920              : #line 22258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10921              : (TARGET_AVX) && 
   10922              : #line 699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10923              : (TARGET_AVX512F)))
   10924              :                 return 8566; /* vec_setv8di_0 */
   10925              :               break;
   10926              : 
   10927              :             case E_V4DImode:
   10928              :               if (pattern1015 (x2, 
   10929              : E_V4DImode, 
   10930              : E_DImode) == 0
   10931              :                   && 
   10932              : #line 22258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10933              : (TARGET_AVX))
   10934              :                 return 8567; /* vec_setv4di_0 */
   10935              :               break;
   10936              : 
   10937              :             default:
   10938              :               break;
   10939              :             }
   10940              :           break;
   10941              : 
   10942              :         default:
   10943              :           break;
   10944              :         }
   10945              :       operands[3] = x3;
   10946              :       if (const_int_operand (operands[3], E_SImode))
   10947              :         {
   10948              :           switch (GET_MODE (operands[0]))
   10949              :             {
   10950              :             case E_V4SFmode:
   10951              :               if (pattern899 (x2, 
   10952              : E_V4SFmode, 
   10953              : E_SFmode) == 0
   10954              :                   && 
   10955              : #line 12532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10956              : (TARGET_SSE4_1
   10957              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   10958              :        < GET_MODE_NUNITS (V4SFmode))))
   10959              :                 return 5341; /* *vec_setv4sf_sse4_1 */
   10960              :               break;
   10961              : 
   10962              :             case E_V16QImode:
   10963              :               if (pattern899 (x2, 
   10964              : E_V16QImode, 
   10965              : E_QImode) == 0
   10966              :                   && (
   10967              : #line 20348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10968              : (TARGET_SSE2
   10969              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   10970              :        < GET_MODE_NUNITS (V16QImode))) && 
   10971              : #line 20328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10972              : (TARGET_SSE4_1)))
   10973              :                 return 8454; /* sse4_1_pinsrb */
   10974              :               break;
   10975              : 
   10976              :             case E_V8HImode:
   10977              :               if (pattern899 (x2, 
   10978              : E_V8HImode, 
   10979              : E_HImode) == 0
   10980              :                   && 
   10981              : #line 20348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10982              : (TARGET_SSE2
   10983              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   10984              :        < GET_MODE_NUNITS (V8HImode))))
   10985              :                 return 8455; /* sse2_pinsrw */
   10986              :               break;
   10987              : 
   10988              :             case E_V8HFmode:
   10989              :               if (pattern899 (x2, 
   10990              : E_V8HFmode, 
   10991              : E_HFmode) == 0
   10992              :                   && 
   10993              : #line 20348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10994              : (TARGET_SSE2
   10995              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   10996              :        < GET_MODE_NUNITS (V8HFmode))))
   10997              :                 return 8456; /* sse2_pinsrph */
   10998              :               break;
   10999              : 
   11000              :             case E_V8BFmode:
   11001              :               if (pattern899 (x2, 
   11002              : E_V8BFmode, 
   11003              : E_BFmode) == 0
   11004              :                   && 
   11005              : #line 20348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11006              : (TARGET_SSE2
   11007              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   11008              :        < GET_MODE_NUNITS (V8BFmode))))
   11009              :                 return 8457; /* sse2_pinsrbf */
   11010              :               break;
   11011              : 
   11012              :             case E_V4SImode:
   11013              :               if (pattern899 (x2, 
   11014              : E_V4SImode, 
   11015              : E_SImode) == 0
   11016              :                   && (
   11017              : #line 20348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11018              : (TARGET_SSE2
   11019              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   11020              :        < GET_MODE_NUNITS (V4SImode))) && 
   11021              : #line 20329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11022              : (TARGET_SSE4_1)))
   11023              :                 return 8458; /* sse4_1_pinsrd */
   11024              :               break;
   11025              : 
   11026              :             case E_V2DImode:
   11027              :               if (pattern899 (x2, 
   11028              : E_V2DImode, 
   11029              : E_DImode) == 0
   11030              :                   && (
   11031              : #line 20348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11032              : (TARGET_SSE2
   11033              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   11034              :        < GET_MODE_NUNITS (V2DImode))) && 
   11035              : #line 20330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11036              : (TARGET_SSE4_1 && TARGET_64BIT)))
   11037              :                 return 8459; /* sse4_1_pinsrq */
   11038              :               break;
   11039              : 
   11040              :             case E_V8DFmode:
   11041              :               if (pattern900 (x2, 
   11042              : E_V8DFmode, 
   11043              : E_V2DFmode) == 0
   11044              :                   && (
   11045              : #line 20453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11046              : (TARGET_AVX512F
   11047              :    && (INTVAL (operands[3])
   11048              :        == (GET_MODE_UNIT_SIZE (V8DFmode) == 4 ? 0xF : 0x3))) && 
   11049              : #line 12793 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11050              : (TARGET_AVX512DQ)))
   11051              :                 return 8460; /* *avx512dq_vinsertf64x2_0 */
   11052              :               break;
   11053              : 
   11054              :             case E_V8DImode:
   11055              :               if (pattern900 (x2, 
   11056              : E_V8DImode, 
   11057              : E_V2DImode) == 0
   11058              :                   && (
   11059              : #line 20453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11060              : (TARGET_AVX512F
   11061              :    && (INTVAL (operands[3])
   11062              :        == (GET_MODE_UNIT_SIZE (V8DImode) == 4 ? 0xF : 0x3))) && 
   11063              : #line 12793 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11064              : (TARGET_AVX512DQ)))
   11065              :                 return 8461; /* *avx512dq_vinserti64x2_0 */
   11066              :               break;
   11067              : 
   11068              :             case E_V16SFmode:
   11069              :               if (pattern900 (x2, 
   11070              : E_V16SFmode, 
   11071              : E_V4SFmode) == 0
   11072              :                   && 
   11073              : #line 20453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11074              : (TARGET_AVX512F
   11075              :    && (INTVAL (operands[3])
   11076              :        == (GET_MODE_UNIT_SIZE (V16SFmode) == 4 ? 0xF : 0x3))))
   11077              :                 return 8462; /* *avx512f_vinsertf32x4_0 */
   11078              :               break;
   11079              : 
   11080              :             case E_V16SImode:
   11081              :               if (pattern900 (x2, 
   11082              : E_V16SImode, 
   11083              : E_V4SImode) == 0
   11084              :                   && 
   11085              : #line 20453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11086              : (TARGET_AVX512F
   11087              :    && (INTVAL (operands[3])
   11088              :        == (GET_MODE_UNIT_SIZE (V16SImode) == 4 ? 0xF : 0x3))))
   11089              :                 return 8463; /* *avx512f_vinserti32x4_0 */
   11090              :               break;
   11091              : 
   11092              :             default:
   11093              :               break;
   11094              :             }
   11095              :         }
   11096              :       if (XWINT (x3, 0) != 1L
   11097              :           || !register_operand (operands[0], E_V4SImode)
   11098              :           || GET_MODE (x2) != E_V4SImode
   11099              :           || GET_MODE (x4) != E_V4SImode)
   11100              :         return -1;
   11101              :       operands[2] = x5;
   11102              :       if (!nonimmediate_operand (operands[2], E_SImode))
   11103              :         return -1;
   11104              :       operands[1] = x6;
   11105              :       if (!reg_or_0_operand (operands[1], E_V4SImode)
   11106              :           || !
   11107              : #line 21520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11108              : (TARGET_SSE))
   11109              :         return -1;
   11110              :       return 8530; /* sse2_loadld */
   11111              : 
   11112              :     case REG:
   11113              :     case SUBREG:
   11114              :       operands[3] = x3;
   11115              :       x4 = XEXP (x2, 0);
   11116              :       x5 = XEXP (x4, 0);
   11117              :       operands[1] = x5;
   11118              :       x6 = XEXP (x2, 1);
   11119              :       operands[2] = x6;
   11120              :       switch (GET_MODE (operands[0]))
   11121              :         {
   11122              :         case E_V2DFmode:
   11123              :           if (pattern155 (x2, 
   11124              : E_V2DFmode, 
   11125              : E_DFmode, 
   11126              : E_QImode) != 0)
   11127              :             return -1;
   11128              :           if ((
   11129              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11130              : (TARGET_AVX512F) && 
   11131              : #line 15288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11132              : (TARGET_SSE2)))
   11133              :             return 7262; /* vec_dupv2df_mask */
   11134              :           if (!(
   11135              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11136              : (TARGET_AVX512F) && (
   11137              : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11138              : (TARGET_AVX512F) && 
   11139              : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11140              : (TARGET_AVX512VL))))
   11141              :             return -1;
   11142              :           return 9385; /* avx512vl_vec_dup_gprv2df_mask */
   11143              : 
   11144              :         case E_V16SFmode:
   11145              :           if (pattern142 (x2, 
   11146              : E_V16SFmode, 
   11147              : E_HImode) != 0)
   11148              :             return -1;
   11149              :           switch (GET_MODE (operands[1]))
   11150              :             {
   11151              :             case E_V4SFmode:
   11152              :               if (!nonimmediate_operand (operands[1], E_V4SFmode)
   11153              :                   || !
   11154              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11155              : (TARGET_AVX512F))
   11156              :                 return -1;
   11157              :               return 9331; /* avx512f_broadcastv16sf_mask */
   11158              : 
   11159              :             case E_SFmode:
   11160              :               if (!nonimmediate_operand (operands[1], E_SFmode)
   11161              :                   || !
   11162              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11163              : (TARGET_AVX512F))
   11164              :                 return -1;
   11165              :               return 9375; /* avx512f_vec_dup_gprv16sf_mask */
   11166              : 
   11167              :             case E_V8SFmode:
   11168              :               if (!nonimmediate_operand (operands[1], E_V8SFmode)
   11169              :                   || !(
   11170              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11171              : (TARGET_AVX512F) && 
   11172              : #line 29023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11173              : (TARGET_AVX512DQ)))
   11174              :                 return -1;
   11175              :               return 9439; /* avx512dq_broadcastv16sf_mask_1 */
   11176              : 
   11177              :             default:
   11178              :               return -1;
   11179              :             }
   11180              : 
   11181              :         case E_V16SImode:
   11182              :           if (pattern142 (x2, 
   11183              : E_V16SImode, 
   11184              : E_HImode) != 0)
   11185              :             return -1;
   11186              :           switch (GET_MODE (operands[1]))
   11187              :             {
   11188              :             case E_V4SImode:
   11189              :               if (!nonimmediate_operand (operands[1], E_V4SImode)
   11190              :                   || !
   11191              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11192              : (TARGET_AVX512F))
   11193              :                 return -1;
   11194              :               return 9333; /* avx512f_broadcastv16si_mask */
   11195              : 
   11196              :             case E_SImode:
   11197              :               if (!nonimmediate_operand (operands[1], E_SImode)
   11198              :                   || !
   11199              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11200              : (TARGET_AVX512F))
   11201              :                 return -1;
   11202              :               return 9363; /* avx512f_vec_dup_gprv16si_mask */
   11203              : 
   11204              :             case E_V8SImode:
   11205              :               if (!nonimmediate_operand (operands[1], E_V8SImode)
   11206              :                   || !(
   11207              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11208              : (TARGET_AVX512F) && 
   11209              : #line 29023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11210              : (TARGET_AVX512DQ)))
   11211              :                 return -1;
   11212              :               return 9441; /* avx512dq_broadcastv16si_mask_1 */
   11213              : 
   11214              :             default:
   11215              :               return -1;
   11216              :             }
   11217              : 
   11218              :         case E_V8DFmode:
   11219              :           if (pattern142 (x2, 
   11220              : E_V8DFmode, 
   11221              : E_QImode) != 0)
   11222              :             return -1;
   11223              :           switch (GET_MODE (operands[1]))
   11224              :             {
   11225              :             case E_V4DFmode:
   11226              :               if (!nonimmediate_operand (operands[1], E_V4DFmode)
   11227              :                   || !
   11228              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11229              : (TARGET_AVX512F))
   11230              :                 return -1;
   11231              :               return 9335; /* avx512f_broadcastv8df_mask */
   11232              : 
   11233              :             case E_DFmode:
   11234              :               if (!nonimmediate_operand (operands[1], E_DFmode)
   11235              :                   || !
   11236              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11237              : (TARGET_AVX512F))
   11238              :                 return -1;
   11239              :               return 9381; /* avx512f_vec_dup_gprv8df_mask */
   11240              : 
   11241              :             case E_V2DFmode:
   11242              :               if (!nonimmediate_operand (operands[1], E_V2DFmode)
   11243              :                   || !(
   11244              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11245              : (TARGET_AVX512F) && 
   11246              : #line 29041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11247              : (TARGET_AVX512DQ)))
   11248              :                 return -1;
   11249              :               return 9445; /* avx512dq_broadcastv8df_mask_1 */
   11250              : 
   11251              :             default:
   11252              :               return -1;
   11253              :             }
   11254              : 
   11255              :         case E_V8DImode:
   11256              :           if (pattern142 (x2, 
   11257              : E_V8DImode, 
   11258              : E_QImode) != 0)
   11259              :             return -1;
   11260              :           switch (GET_MODE (operands[1]))
   11261              :             {
   11262              :             case E_V4DImode:
   11263              :               if (!nonimmediate_operand (operands[1], E_V4DImode)
   11264              :                   || !
   11265              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11266              : (TARGET_AVX512F))
   11267              :                 return -1;
   11268              :               return 9337; /* avx512f_broadcastv8di_mask */
   11269              : 
   11270              :             case E_DImode:
   11271              :               if (!nonimmediate_operand (operands[1], E_DImode)
   11272              :                   || !
   11273              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11274              : (TARGET_AVX512F))
   11275              :                 return -1;
   11276              :               return 9369; /* avx512f_vec_dup_gprv8di_mask */
   11277              : 
   11278              :             case E_V2DImode:
   11279              :               if (!nonimmediate_operand (operands[1], E_V2DImode)
   11280              :                   || !(
   11281              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11282              : (TARGET_AVX512F) && 
   11283              : #line 29041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11284              : (TARGET_AVX512DQ)))
   11285              :                 return -1;
   11286              :               return 9443; /* avx512dq_broadcastv8di_mask_1 */
   11287              : 
   11288              :             default:
   11289              :               return -1;
   11290              :             }
   11291              : 
   11292              :         case E_V64QImode:
   11293              :           if (pattern155 (x2, 
   11294              : E_V64QImode, 
   11295              : E_QImode, 
   11296              : E_DImode) != 0
   11297              :               || !(
   11298              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11299              : (TARGET_AVX512F) && 
   11300              : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11301              : (TARGET_AVX512BW)))
   11302              :             return -1;
   11303              :           return 9339; /* avx512bw_vec_dup_gprv64qi_mask */
   11304              : 
   11305              :         case E_V16QImode:
   11306              :           if (pattern155 (x2, 
   11307              : E_V16QImode, 
   11308              : E_QImode, 
   11309              : E_HImode) != 0
   11310              :               || !(
   11311              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11312              : (TARGET_AVX512F) && (
   11313              : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11314              : (TARGET_AVX512BW) && 
   11315              : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11316              : (TARGET_AVX512VL))))
   11317              :             return -1;
   11318              :           return 9341; /* avx512vl_vec_dup_gprv16qi_mask */
   11319              : 
   11320              :         case E_V32QImode:
   11321              :           if (pattern155 (x2, 
   11322              : E_V32QImode, 
   11323              : E_QImode, 
   11324              : E_SImode) != 0
   11325              :               || !(
   11326              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11327              : (TARGET_AVX512F) && (
   11328              : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11329              : (TARGET_AVX512BW) && 
   11330              : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11331              : (TARGET_AVX512VL))))
   11332              :             return -1;
   11333              :           return 9343; /* avx512vl_vec_dup_gprv32qi_mask */
   11334              : 
   11335              :         case E_V32HImode:
   11336              :           if (pattern155 (x2, 
   11337              : E_V32HImode, 
   11338              : E_HImode, 
   11339              : E_SImode) != 0
   11340              :               || !(
   11341              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11342              : (TARGET_AVX512F) && 
   11343              : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11344              : (TARGET_AVX512BW)))
   11345              :             return -1;
   11346              :           return 9345; /* avx512bw_vec_dup_gprv32hi_mask */
   11347              : 
   11348              :         case E_V16HImode:
   11349              :           if (pattern153 (x2, 
   11350              : E_HImode) != 0
   11351              :               || !(
   11352              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11353              : (TARGET_AVX512F) && (
   11354              : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11355              : (TARGET_AVX512BW) && 
   11356              : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11357              : (TARGET_AVX512VL))))
   11358              :             return -1;
   11359              :           return 9347; /* avx512vl_vec_dup_gprv16hi_mask */
   11360              : 
   11361              :         case E_V8HImode:
   11362              :           if (pattern155 (x2, 
   11363              : E_V8HImode, 
   11364              : E_HImode, 
   11365              : E_QImode) != 0
   11366              :               || !(
   11367              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11368              : (TARGET_AVX512F) && (
   11369              : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11370              : (TARGET_AVX512BW) && 
   11371              : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11372              : (TARGET_AVX512VL))))
   11373              :             return -1;
   11374              :           return 9349; /* avx512vl_vec_dup_gprv8hi_mask */
   11375              : 
   11376              :         case E_V32HFmode:
   11377              :           if (pattern155 (x2, 
   11378              : E_V32HFmode, 
   11379              : E_HFmode, 
   11380              : E_SImode) != 0
   11381              :               || !(
   11382              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11383              : (TARGET_AVX512F) && 
   11384              : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11385              : (TARGET_AVX512BW)))
   11386              :             return -1;
   11387              :           return 9351; /* avx512bw_vec_dup_gprv32hf_mask */
   11388              : 
   11389              :         case E_V16HFmode:
   11390              :           if (pattern155 (x2, 
   11391              : E_V16HFmode, 
   11392              : E_HFmode, 
   11393              : E_HImode) != 0
   11394              :               || !(
   11395              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11396              : (TARGET_AVX512F) && (
   11397              : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11398              : (TARGET_AVX512BW) && 
   11399              : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11400              : (TARGET_AVX512VL))))
   11401              :             return -1;
   11402              :           return 9353; /* avx512vl_vec_dup_gprv16hf_mask */
   11403              : 
   11404              :         case E_V8HFmode:
   11405              :           if (pattern155 (x2, 
   11406              : E_V8HFmode, 
   11407              : E_HFmode, 
   11408              : E_QImode) != 0
   11409              :               || !(
   11410              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11411              : (TARGET_AVX512F) && (
   11412              : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11413              : (TARGET_AVX512BW) && 
   11414              : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11415              : (TARGET_AVX512VL))))
   11416              :             return -1;
   11417              :           return 9355; /* avx512fp16_vec_dup_gprv8hf_mask */
   11418              : 
   11419              :         case E_V32BFmode:
   11420              :           if (pattern155 (x2, 
   11421              : E_V32BFmode, 
   11422              : E_BFmode, 
   11423              : E_SImode) != 0
   11424              :               || !(
   11425              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11426              : (TARGET_AVX512F) && 
   11427              : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11428              : (TARGET_AVX512BW)))
   11429              :             return -1;
   11430              :           return 9357; /* avx512bw_vec_dup_gprv32bf_mask */
   11431              : 
   11432              :         case E_V16BFmode:
   11433              :           if (pattern155 (x2, 
   11434              : E_V16BFmode, 
   11435              : E_BFmode, 
   11436              : E_HImode) != 0
   11437              :               || !(
   11438              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11439              : (TARGET_AVX512F) && (
   11440              : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11441              : (TARGET_AVX512BW) && 
   11442              : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11443              : (TARGET_AVX512VL))))
   11444              :             return -1;
   11445              :           return 9359; /* avx512vl_vec_dup_gprv16bf_mask */
   11446              : 
   11447              :         case E_V8BFmode:
   11448              :           if (pattern155 (x2, 
   11449              : E_V8BFmode, 
   11450              : E_BFmode, 
   11451              : E_QImode) != 0
   11452              :               || !(
   11453              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11454              : (TARGET_AVX512F) && (
   11455              : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11456              : (TARGET_AVX512BW) && 
   11457              : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11458              : (TARGET_AVX512VL))))
   11459              :             return -1;
   11460              :           return 9361; /* avx512vl_vec_dup_gprv8bf_mask */
   11461              : 
   11462              :         case E_V8SImode:
   11463              :           if (pattern142 (x2, 
   11464              : E_V8SImode, 
   11465              : E_QImode) != 0)
   11466              :             return -1;
   11467              :           switch (GET_MODE (operands[1]))
   11468              :             {
   11469              :             case E_SImode:
   11470              :               if (!nonimmediate_operand (operands[1], E_SImode)
   11471              :                   || !(
   11472              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11473              : (TARGET_AVX512F) && (
   11474              : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11475              : (TARGET_AVX512F) && 
   11476              : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11477              : (TARGET_AVX512VL))))
   11478              :                 return -1;
   11479              :               return 9365; /* avx512vl_vec_dup_gprv8si_mask */
   11480              : 
   11481              :             case E_V4SImode:
   11482              :               if (!nonimmediate_operand (operands[1], E_V4SImode)
   11483              :                   || !(
   11484              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11485              : (TARGET_AVX512F) && 
   11486              : #line 29009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11487              : (TARGET_AVX512VL)))
   11488              :                 return -1;
   11489              :               return 9435; /* avx512vl_broadcastv8si_mask_1 */
   11490              : 
   11491              :             default:
   11492              :               return -1;
   11493              :             }
   11494              : 
   11495              :         case E_V4SImode:
   11496              :           if (pattern155 (x2, 
   11497              : E_V4SImode, 
   11498              : E_SImode, 
   11499              : E_QImode) != 0
   11500              :               || !(
   11501              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11502              : (TARGET_AVX512F) && (
   11503              : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11504              : (TARGET_AVX512F) && 
   11505              : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11506              : (TARGET_AVX512VL))))
   11507              :             return -1;
   11508              :           return 9367; /* avx512vl_vec_dup_gprv4si_mask */
   11509              : 
   11510              :         case E_V4DImode:
   11511              :           if (pattern142 (x2, 
   11512              : E_V4DImode, 
   11513              : E_QImode) != 0)
   11514              :             return -1;
   11515              :           switch (GET_MODE (operands[1]))
   11516              :             {
   11517              :             case E_DImode:
   11518              :               if (!nonimmediate_operand (operands[1], E_DImode)
   11519              :                   || !(
   11520              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11521              : (TARGET_AVX512F) && (
   11522              : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11523              : (TARGET_AVX512F) && 
   11524              : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11525              : (TARGET_AVX512VL))))
   11526              :                 return -1;
   11527              :               return 9371; /* avx512vl_vec_dup_gprv4di_mask */
   11528              : 
   11529              :             case E_V2DImode:
   11530              :               if (!nonimmediate_operand (operands[1], E_V2DImode)
   11531              :                   || !(
   11532              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11533              : (TARGET_AVX512F) && (
   11534              : #line 29041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11535              : (TARGET_AVX512DQ) && 
   11536              : #line 29035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11537              : (TARGET_AVX512VL))))
   11538              :                 return -1;
   11539              :               return 9447; /* avx512dq_broadcastv4di_mask_1 */
   11540              : 
   11541              :             default:
   11542              :               return -1;
   11543              :             }
   11544              : 
   11545              :         case E_V2DImode:
   11546              :           if (pattern155 (x2, 
   11547              : E_V2DImode, 
   11548              : E_DImode, 
   11549              : E_QImode) != 0
   11550              :               || !(
   11551              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11552              : (TARGET_AVX512F) && (
   11553              : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11554              : (TARGET_AVX512F) && 
   11555              : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11556              : (TARGET_AVX512VL))))
   11557              :             return -1;
   11558              :           return 9373; /* avx512vl_vec_dup_gprv2di_mask */
   11559              : 
   11560              :         case E_V8SFmode:
   11561              :           if (pattern142 (x2, 
   11562              : E_V8SFmode, 
   11563              : E_QImode) != 0)
   11564              :             return -1;
   11565              :           switch (GET_MODE (operands[1]))
   11566              :             {
   11567              :             case E_SFmode:
   11568              :               if (!nonimmediate_operand (operands[1], E_SFmode)
   11569              :                   || !(
   11570              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11571              : (TARGET_AVX512F) && (
   11572              : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11573              : (TARGET_AVX512F) && 
   11574              : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11575              : (TARGET_AVX512VL))))
   11576              :                 return -1;
   11577              :               return 9377; /* avx512vl_vec_dup_gprv8sf_mask */
   11578              : 
   11579              :             case E_V4SFmode:
   11580              :               if (!nonimmediate_operand (operands[1], E_V4SFmode)
   11581              :                   || !(
   11582              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11583              : (TARGET_AVX512F) && 
   11584              : #line 29009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11585              : (TARGET_AVX512VL)))
   11586              :                 return -1;
   11587              :               return 9437; /* avx512vl_broadcastv8sf_mask_1 */
   11588              : 
   11589              :             default:
   11590              :               return -1;
   11591              :             }
   11592              : 
   11593              :         case E_V4SFmode:
   11594              :           if (pattern155 (x2, 
   11595              : E_V4SFmode, 
   11596              : E_SFmode, 
   11597              : E_QImode) != 0
   11598              :               || !(
   11599              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11600              : (TARGET_AVX512F) && (
   11601              : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11602              : (TARGET_AVX512F) && 
   11603              : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11604              : (TARGET_AVX512VL))))
   11605              :             return -1;
   11606              :           return 9379; /* avx512vl_vec_dup_gprv4sf_mask */
   11607              : 
   11608              :         case E_V4DFmode:
   11609              :           if (pattern142 (x2, 
   11610              : E_V4DFmode, 
   11611              : E_QImode) != 0)
   11612              :             return -1;
   11613              :           switch (GET_MODE (operands[1]))
   11614              :             {
   11615              :             case E_DFmode:
   11616              :               if (!nonimmediate_operand (operands[1], E_DFmode)
   11617              :                   || !(
   11618              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11619              : (TARGET_AVX512F) && (
   11620              : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11621              : (TARGET_AVX512F) && 
   11622              : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11623              : (TARGET_AVX512VL))))
   11624              :                 return -1;
   11625              :               return 9383; /* avx512vl_vec_dup_gprv4df_mask */
   11626              : 
   11627              :             case E_V2DFmode:
   11628              :               if (!nonimmediate_operand (operands[1], E_V2DFmode)
   11629              :                   || !(
   11630              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11631              : (TARGET_AVX512F) && (
   11632              : #line 29041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11633              : (TARGET_AVX512DQ) && 
   11634              : #line 29035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11635              : (TARGET_AVX512VL))))
   11636              :                 return -1;
   11637              :               return 9449; /* avx512dq_broadcastv4df_mask_1 */
   11638              : 
   11639              :             default:
   11640              :               return -1;
   11641              :             }
   11642              : 
   11643              :         default:
   11644              :           return -1;
   11645              :         }
   11646              : 
   11647              :     default:
   11648              :       return -1;
   11649              :     }
   11650              : }
   11651              : 
   11652              :  int
   11653              : recog_165 (rtx x1 ATTRIBUTE_UNUSED,
   11654              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   11655              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   11656              : {
   11657              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   11658              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   11659              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   11660              :   rtx x18, x19, x20, x21, x22, x23, x24;
   11661              :   int res ATTRIBUTE_UNUSED;
   11662              :   x2 = XEXP (x1, 1);
   11663              :   x3 = XEXP (x2, 0);
   11664              :   x4 = XEXP (x3, 1);
   11665              :   x5 = XVECEXP (x4, 0, 2);
   11666              :   if (GET_CODE (x5) != CONST_INT)
   11667              :     return -1;
   11668              :   x6 = XVECEXP (x4, 0, 3);
   11669              :   if (GET_CODE (x6) != CONST_INT
   11670              :       || pattern1307 (x4) != 0)
   11671              :     return -1;
   11672              :   x7 = XVECEXP (x4, 0, 12);
   11673              :   if (GET_CODE (x7) != CONST_INT)
   11674              :     return -1;
   11675              :   x8 = XVECEXP (x4, 0, 13);
   11676              :   if (GET_CODE (x8) != CONST_INT)
   11677              :     return -1;
   11678              :   x9 = XVECEXP (x4, 0, 14);
   11679              :   if (GET_CODE (x9) != CONST_INT)
   11680              :     return -1;
   11681              :   x10 = XVECEXP (x4, 0, 15);
   11682              :   if (GET_CODE (x10) != CONST_INT)
   11683              :     return -1;
   11684              :   x11 = XEXP (x2, 2);
   11685              :   if (!register_operand (x11, E_HImode))
   11686              :     return -1;
   11687              :   x12 = XVECEXP (x4, 0, 0);
   11688              :   switch (XWINT (x12, 0))
   11689              :     {
   11690              :     case 2L:
   11691              :       x13 = XVECEXP (x4, 0, 1);
   11692              :       if (XWINT (x13, 0) != 18L
   11693              :           || XWINT (x5, 0) != 3L
   11694              :           || XWINT (x6, 0) != 19L
   11695              :           || pattern1868 (x4) != 0)
   11696              :         return -1;
   11697              :       x14 = XVECEXP (x4, 0, 8);
   11698              :       if (XWINT (x14, 0) != 10L)
   11699              :         return -1;
   11700              :       x15 = XVECEXP (x4, 0, 9);
   11701              :       if (XWINT (x15, 0) != 26L)
   11702              :         return -1;
   11703              :       x16 = XVECEXP (x4, 0, 10);
   11704              :       if (XWINT (x16, 0) != 11L)
   11705              :         return -1;
   11706              :       x17 = XVECEXP (x4, 0, 11);
   11707              :       if (XWINT (x17, 0) != 27L
   11708              :           || pattern1900 (x2) != 0)
   11709              :         return -1;
   11710              :       switch (GET_MODE (operands[0]))
   11711              :         {
   11712              :         case E_V16SFmode:
   11713              :           if (pattern1598 (x2, 
   11714              : E_V16SFmode, 
   11715              : E_V32SFmode) != 0
   11716              :               || !
   11717              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11718              : (TARGET_AVX512F))
   11719              :             return -1;
   11720              :           return 5267; /* avx512f_unpckhps512_mask */
   11721              : 
   11722              :         case E_V16SImode:
   11723              :           if (pattern1598 (x2, 
   11724              : E_V16SImode, 
   11725              : E_V32SImode) != 0
   11726              :               || !
   11727              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11728              : (TARGET_AVX512F))
   11729              :             return -1;
   11730              :           return 8445; /* avx512f_interleave_highv16si_mask */
   11731              : 
   11732              :         default:
   11733              :           return -1;
   11734              :         }
   11735              : 
   11736              :     case 0L:
   11737              :       x13 = XVECEXP (x4, 0, 1);
   11738              :       switch (XWINT (x13, 0))
   11739              :         {
   11740              :         case 16L:
   11741              :           if (XWINT (x5, 0) != 1L
   11742              :               || XWINT (x6, 0) != 17L)
   11743              :             return -1;
   11744              :           x18 = XEXP (x3, 0);
   11745              :           x19 = XEXP (x18, 1);
   11746              :           operands[2] = x19;
   11747              :           x20 = XEXP (x2, 1);
   11748              :           operands[3] = x20;
   11749              :           operands[4] = x11;
   11750              :           x21 = XVECEXP (x4, 0, 4);
   11751              :           switch (XWINT (x21, 0))
   11752              :             {
   11753              :             case 4L:
   11754              :               x22 = XVECEXP (x4, 0, 5);
   11755              :               if (XWINT (x22, 0) != 20L)
   11756              :                 return -1;
   11757              :               x23 = XVECEXP (x4, 0, 6);
   11758              :               if (XWINT (x23, 0) != 5L)
   11759              :                 return -1;
   11760              :               x24 = XVECEXP (x4, 0, 7);
   11761              :               if (XWINT (x24, 0) != 21L)
   11762              :                 return -1;
   11763              :               x14 = XVECEXP (x4, 0, 8);
   11764              :               if (XWINT (x14, 0) != 8L)
   11765              :                 return -1;
   11766              :               x15 = XVECEXP (x4, 0, 9);
   11767              :               if (XWINT (x15, 0) != 24L)
   11768              :                 return -1;
   11769              :               x16 = XVECEXP (x4, 0, 10);
   11770              :               if (XWINT (x16, 0) != 9L)
   11771              :                 return -1;
   11772              :               x17 = XVECEXP (x4, 0, 11);
   11773              :               if (XWINT (x17, 0) != 25L
   11774              :                   || XWINT (x7, 0) != 12L
   11775              :                   || XWINT (x8, 0) != 28L
   11776              :                   || XWINT (x9, 0) != 13L
   11777              :                   || XWINT (x10, 0) != 29L)
   11778              :                 return -1;
   11779              :               switch (GET_MODE (operands[0]))
   11780              :                 {
   11781              :                 case E_V16SFmode:
   11782              :                   if (pattern1598 (x2, 
   11783              : E_V16SFmode, 
   11784              : E_V32SFmode) != 0
   11785              :                       || !
   11786              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11787              : (TARGET_AVX512F))
   11788              :                     return -1;
   11789              :                   return 5273; /* avx512f_unpcklps512_mask */
   11790              : 
   11791              :                 case E_V16SImode:
   11792              :                   if (pattern1598 (x2, 
   11793              : E_V16SImode, 
   11794              : E_V32SImode) != 0
   11795              :                       || !
   11796              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11797              : (TARGET_AVX512F))
   11798              :                     return -1;
   11799              :                   return 8451; /* avx512f_interleave_lowv16si_mask */
   11800              : 
   11801              :                 default:
   11802              :                   return -1;
   11803              :                 }
   11804              : 
   11805              :             case 2L:
   11806              :               x22 = XVECEXP (x4, 0, 5);
   11807              :               if (XWINT (x22, 0) != 18L)
   11808              :                 return -1;
   11809              :               x23 = XVECEXP (x4, 0, 6);
   11810              :               if (XWINT (x23, 0) != 3L)
   11811              :                 return -1;
   11812              :               x24 = XVECEXP (x4, 0, 7);
   11813              :               if (XWINT (x24, 0) != 19L)
   11814              :                 return -1;
   11815              :               x14 = XVECEXP (x4, 0, 8);
   11816              :               switch (XWINT (x14, 0))
   11817              :                 {
   11818              :                 case 4L:
   11819              :                   x15 = XVECEXP (x4, 0, 9);
   11820              :                   if (XWINT (x15, 0) != 20L)
   11821              :                     return -1;
   11822              :                   x16 = XVECEXP (x4, 0, 10);
   11823              :                   if (XWINT (x16, 0) != 5L)
   11824              :                     return -1;
   11825              :                   x17 = XVECEXP (x4, 0, 11);
   11826              :                   if (XWINT (x17, 0) != 21L
   11827              :                       || XWINT (x7, 0) != 6L
   11828              :                       || XWINT (x8, 0) != 22L
   11829              :                       || XWINT (x9, 0) != 7L
   11830              :                       || XWINT (x10, 0) != 23L
   11831              :                       || pattern1599 (x2, 
   11832              : E_V16QImode, 
   11833              : E_V32QImode) != 0
   11834              :                       || !(
   11835              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11836              : (TARGET_AVX512F) && 
   11837              : #line 20035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11838              : (TARGET_SSE2 && TARGET_AVX512VL && TARGET_AVX512BW)))
   11839              :                     return -1;
   11840              :                   return 8405; /* vec_interleave_lowv16qi_mask */
   11841              : 
   11842              :                 case 8L:
   11843              :                   x15 = XVECEXP (x4, 0, 9);
   11844              :                   if (XWINT (x15, 0) != 24L)
   11845              :                     return -1;
   11846              :                   x16 = XVECEXP (x4, 0, 10);
   11847              :                   if (XWINT (x16, 0) != 9L)
   11848              :                     return -1;
   11849              :                   x17 = XVECEXP (x4, 0, 11);
   11850              :                   if (XWINT (x17, 0) != 25L
   11851              :                       || XWINT (x7, 0) != 10L
   11852              :                       || XWINT (x8, 0) != 26L
   11853              :                       || XWINT (x9, 0) != 11L
   11854              :                       || XWINT (x10, 0) != 27L)
   11855              :                     return -1;
   11856              :                   switch (GET_MODE (operands[0]))
   11857              :                     {
   11858              :                     case E_V16HImode:
   11859              :                       if (pattern1598 (x2, 
   11860              : E_V16HImode, 
   11861              : E_V32HImode) != 0
   11862              :                           || !(
   11863              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11864              : (TARGET_AVX512F) && 
   11865              : #line 20155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11866              : (TARGET_AVX2 && TARGET_AVX512VL && TARGET_AVX512BW)))
   11867              :                         return -1;
   11868              :                       return 8431; /* avx2_interleave_lowv16hi_mask */
   11869              : 
   11870              :                     case E_V16HFmode:
   11871              :                       if (pattern1598 (x2, 
   11872              : E_V16HFmode, 
   11873              : E_V32HFmode) != 0
   11874              :                           || !(
   11875              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11876              : (TARGET_AVX512F) && 
   11877              : #line 20155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11878              : (TARGET_AVX2 && TARGET_AVX512VL && TARGET_AVX512BW)))
   11879              :                         return -1;
   11880              :                       return 8433; /* avx2_interleave_lowv16hf_mask */
   11881              : 
   11882              :                     case E_V16BFmode:
   11883              :                       if (pattern1598 (x2, 
   11884              : E_V16BFmode, 
   11885              : E_V32BFmode) != 0
   11886              :                           || !(
   11887              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11888              : (TARGET_AVX512F) && 
   11889              : #line 20155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11890              : (TARGET_AVX2 && TARGET_AVX512VL && TARGET_AVX512BW)))
   11891              :                         return -1;
   11892              :                       return 8435; /* avx2_interleave_lowv16bf_mask */
   11893              : 
   11894              :                     default:
   11895              :                       return -1;
   11896              :                     }
   11897              : 
   11898              :                 default:
   11899              :                   return -1;
   11900              :                 }
   11901              : 
   11902              :             default:
   11903              :               return -1;
   11904              :             }
   11905              : 
   11906              :         case 0L:
   11907              :           if (pattern1693 (x4) != 0)
   11908              :             return -1;
   11909              :           x14 = XVECEXP (x4, 0, 8);
   11910              :           if (XWINT (x14, 0) != 8L)
   11911              :             return -1;
   11912              :           x15 = XVECEXP (x4, 0, 9);
   11913              :           if (XWINT (x15, 0) != 8L)
   11914              :             return -1;
   11915              :           x16 = XVECEXP (x4, 0, 10);
   11916              :           if (XWINT (x16, 0) != 10L)
   11917              :             return -1;
   11918              :           x17 = XVECEXP (x4, 0, 11);
   11919              :           if (XWINT (x17, 0) != 10L
   11920              :               || XWINT (x7, 0) != 12L
   11921              :               || XWINT (x8, 0) != 12L
   11922              :               || XWINT (x9, 0) != 14L
   11923              :               || XWINT (x10, 0) != 14L
   11924              :               || pattern1837 (x2, 
   11925              : E_V16SFmode, 
   11926              : E_V32SFmode) != 0
   11927              :               || !
   11928              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11929              : (TARGET_AVX512F))
   11930              :             return -1;
   11931              :           return 5289; /* avx512f_movsldup512_mask */
   11932              : 
   11933              :         default:
   11934              :           return -1;
   11935              :         }
   11936              : 
   11937              :     case 1L:
   11938              :       x13 = XVECEXP (x4, 0, 1);
   11939              :       if (XWINT (x13, 0) != 1L
   11940              :           || XWINT (x5, 0) != 3L
   11941              :           || XWINT (x6, 0) != 3L)
   11942              :         return -1;
   11943              :       x21 = XVECEXP (x4, 0, 4);
   11944              :       if (XWINT (x21, 0) != 5L)
   11945              :         return -1;
   11946              :       x22 = XVECEXP (x4, 0, 5);
   11947              :       if (XWINT (x22, 0) != 5L)
   11948              :         return -1;
   11949              :       x23 = XVECEXP (x4, 0, 6);
   11950              :       if (XWINT (x23, 0) != 7L)
   11951              :         return -1;
   11952              :       x24 = XVECEXP (x4, 0, 7);
   11953              :       if (XWINT (x24, 0) != 7L)
   11954              :         return -1;
   11955              :       x14 = XVECEXP (x4, 0, 8);
   11956              :       if (XWINT (x14, 0) != 9L)
   11957              :         return -1;
   11958              :       x15 = XVECEXP (x4, 0, 9);
   11959              :       if (XWINT (x15, 0) != 9L)
   11960              :         return -1;
   11961              :       x16 = XVECEXP (x4, 0, 10);
   11962              :       if (XWINT (x16, 0) != 11L)
   11963              :         return -1;
   11964              :       x17 = XVECEXP (x4, 0, 11);
   11965              :       if (XWINT (x17, 0) != 11L
   11966              :           || XWINT (x7, 0) != 13L
   11967              :           || XWINT (x8, 0) != 13L
   11968              :           || XWINT (x9, 0) != 15L
   11969              :           || XWINT (x10, 0) != 15L
   11970              :           || pattern1837 (x2, 
   11971              : E_V16SFmode, 
   11972              : E_V32SFmode) != 0
   11973              :           || !
   11974              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11975              : (TARGET_AVX512F))
   11976              :         return -1;
   11977              :       return 5283; /* avx512f_movshdup512_mask */
   11978              : 
   11979              :     case 8L:
   11980              :       x13 = XVECEXP (x4, 0, 1);
   11981              :       if (XWINT (x13, 0) != 24L
   11982              :           || XWINT (x5, 0) != 9L
   11983              :           || XWINT (x6, 0) != 25L)
   11984              :         return -1;
   11985              :       x21 = XVECEXP (x4, 0, 4);
   11986              :       if (XWINT (x21, 0) != 10L)
   11987              :         return -1;
   11988              :       x22 = XVECEXP (x4, 0, 5);
   11989              :       if (XWINT (x22, 0) != 26L)
   11990              :         return -1;
   11991              :       x23 = XVECEXP (x4, 0, 6);
   11992              :       if (XWINT (x23, 0) != 11L)
   11993              :         return -1;
   11994              :       x24 = XVECEXP (x4, 0, 7);
   11995              :       if (XWINT (x24, 0) != 27L
   11996              :           || pattern1883 (x4) != 0
   11997              :           || XWINT (x7, 0) != 14L
   11998              :           || XWINT (x8, 0) != 30L
   11999              :           || XWINT (x9, 0) != 15L
   12000              :           || XWINT (x10, 0) != 31L
   12001              :           || pattern780 (x2, 
   12002              : E_V32QImode, 
   12003              : E_V16QImode) != 0
   12004              :           || !register_operand (operands[1], E_V16QImode))
   12005              :         return -1;
   12006              :       x18 = XEXP (x3, 0);
   12007              :       x19 = XEXP (x18, 1);
   12008              :       operands[2] = x19;
   12009              :       if (!vector_operand (operands[2], E_V16QImode))
   12010              :         return -1;
   12011              :       x20 = XEXP (x2, 1);
   12012              :       operands[3] = x20;
   12013              :       if (!nonimm_or_0_operand (operands[3], E_V16QImode))
   12014              :         return -1;
   12015              :       operands[4] = x11;
   12016              :       if (!(
   12017              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12018              : (TARGET_AVX512F) && 
   12019              : #line 19939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12020              : (TARGET_SSE2 && TARGET_AVX512VL && TARGET_AVX512BW)))
   12021              :         return -1;
   12022              :       return 8399; /* vec_interleave_highv16qi_mask */
   12023              : 
   12024              :     case 4L:
   12025              :       x13 = XVECEXP (x4, 0, 1);
   12026              :       if (XWINT (x13, 0) != 20L
   12027              :           || XWINT (x5, 0) != 5L
   12028              :           || XWINT (x6, 0) != 21L
   12029              :           || pattern1868 (x4) != 0
   12030              :           || pattern1883 (x4) != 0
   12031              :           || pattern1900 (x2) != 0)
   12032              :         return -1;
   12033              :       switch (GET_MODE (operands[0]))
   12034              :         {
   12035              :         case E_V16HImode:
   12036              :           if (pattern1598 (x2, 
   12037              : E_V16HImode, 
   12038              : E_V32HImode) != 0
   12039              :               || !(
   12040              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12041              : (TARGET_AVX512F) && 
   12042              : #line 20087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12043              : (TARGET_AVX2 && TARGET_AVX512VL && TARGET_AVX512BW)))
   12044              :             return -1;
   12045              :           return 8413; /* avx2_interleave_highv16hi_mask */
   12046              : 
   12047              :         case E_V16HFmode:
   12048              :           if (pattern1598 (x2, 
   12049              : E_V16HFmode, 
   12050              : E_V32HFmode) != 0
   12051              :               || !(
   12052              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12053              : (TARGET_AVX512F) && 
   12054              : #line 20087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12055              : (TARGET_AVX2 && TARGET_AVX512VL && TARGET_AVX512BW)))
   12056              :             return -1;
   12057              :           return 8415; /* avx2_interleave_highv16hf_mask */
   12058              : 
   12059              :         case E_V16BFmode:
   12060              :           if (pattern1598 (x2, 
   12061              : E_V16BFmode, 
   12062              : E_V32BFmode) != 0
   12063              :               || !(
   12064              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12065              : (TARGET_AVX512F) && 
   12066              : #line 20087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12067              : (TARGET_AVX2 && TARGET_AVX512VL && TARGET_AVX512BW)))
   12068              :             return -1;
   12069              :           return 8417; /* avx2_interleave_highv16bf_mask */
   12070              : 
   12071              :         default:
   12072              :           return -1;
   12073              :         }
   12074              : 
   12075              :     default:
   12076              :       return -1;
   12077              :     }
   12078              : }
   12079              : 
   12080              :  int
   12081              : recog_177 (rtx x1 ATTRIBUTE_UNUSED,
   12082              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12083              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12084              : {
   12085              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12086              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   12087              :   rtx x10;
   12088              :   int res ATTRIBUTE_UNUSED;
   12089              :   x2 = XEXP (x1, 1);
   12090              :   x3 = XEXP (x2, 0);
   12091              :   x4 = XEXP (x3, 1);
   12092              :   x5 = XVECEXP (x4, 0, 0);
   12093              :   if (GET_CODE (x5) != CONST_INT)
   12094              :     return -1;
   12095              :   x6 = XVECEXP (x4, 0, 1);
   12096              :   if (GET_CODE (x6) == CONST_INT)
   12097              :     {
   12098              :       res = recog_174 (x1, insn, pnum_clobbers);
   12099              :       if (res >= 0)
   12100              :         return res;
   12101              :     }
   12102              :   operands[2] = x5;
   12103              :   res = recog_176 (x1, insn, pnum_clobbers);
   12104              :   if (res >= 0)
   12105              :     return res;
   12106              :   if (XWINT (x5, 0) != 0L
   12107              :       || x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12108              :     return -1;
   12109              :   x7 = XVECEXP (x4, 0, 2);
   12110              :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
   12111              :     return -1;
   12112              :   x8 = XVECEXP (x4, 0, 3);
   12113              :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
   12114              :       || pattern1308 (x2, 
   12115              : E_V8HImode) != 0
   12116              :       || pattern1560 (x4) != 0)
   12117              :     return -1;
   12118              :   x9 = XEXP (x2, 1);
   12119              :   operands[6] = x9;
   12120              :   if (!nonimm_or_0_operand (operands[6], E_V8HImode))
   12121              :     return -1;
   12122              :   x10 = XEXP (x2, 2);
   12123              :   operands[7] = x10;
   12124              :   if (!register_operand (operands[7], E_QImode)
   12125              :       || !(
   12126              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12127              : (TARGET_AVX512F) && 
   12128              : #line 21485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12129              : (TARGET_SSE2 && TARGET_AVX512BW && TARGET_AVX512VL)))
   12130              :     return -1;
   12131              :   return 8529; /* sse2_pshufhw_1_mask */
   12132              : }
   12133              : 
   12134              :  int
   12135              : recog_181 (rtx x1 ATTRIBUTE_UNUSED,
   12136              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12137              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12138              : {
   12139              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12140              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   12141              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   12142              :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
   12143              :   rtx x26, x27, x28, x29, x30, x31, x32, x33;
   12144              :   rtx x34, x35, x36, x37, x38, x39, x40, x41;
   12145              :   rtx x42, x43, x44, x45;
   12146              :   int res ATTRIBUTE_UNUSED;
   12147              :   x2 = XEXP (x1, 1);
   12148              :   x3 = XEXP (x2, 0);
   12149              :   x4 = XEXP (x3, 0);
   12150              :   x5 = XEXP (x4, 0);
   12151              :   x6 = XEXP (x5, 1);
   12152              :   if (GET_CODE (x6) != CONST_VECTOR
   12153              :       || XVECLEN (x6, 0) != 32
   12154              :       || GET_MODE (x6) != E_V32HImode)
   12155              :     return -1;
   12156              :   x7 = XVECEXP (x6, 0, 0);
   12157              :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12158              :     return -1;
   12159              :   x8 = XVECEXP (x6, 0, 1);
   12160              :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12161              :     return -1;
   12162              :   x9 = XVECEXP (x6, 0, 2);
   12163              :   if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12164              :     return -1;
   12165              :   x10 = XVECEXP (x6, 0, 3);
   12166              :   if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12167              :     return -1;
   12168              :   x11 = XVECEXP (x6, 0, 4);
   12169              :   if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12170              :     return -1;
   12171              :   x12 = XVECEXP (x6, 0, 5);
   12172              :   if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12173              :     return -1;
   12174              :   x13 = XVECEXP (x6, 0, 6);
   12175              :   if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12176              :     return -1;
   12177              :   x14 = XVECEXP (x6, 0, 7);
   12178              :   if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12179              :     return -1;
   12180              :   x15 = XVECEXP (x6, 0, 8);
   12181              :   if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12182              :     return -1;
   12183              :   x16 = XVECEXP (x6, 0, 9);
   12184              :   if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12185              :     return -1;
   12186              :   x17 = XVECEXP (x6, 0, 10);
   12187              :   if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12188              :     return -1;
   12189              :   x18 = XVECEXP (x6, 0, 11);
   12190              :   if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12191              :     return -1;
   12192              :   x19 = XVECEXP (x6, 0, 12);
   12193              :   if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12194              :     return -1;
   12195              :   x20 = XVECEXP (x6, 0, 13);
   12196              :   if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12197              :     return -1;
   12198              :   x21 = XVECEXP (x6, 0, 14);
   12199              :   if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12200              :     return -1;
   12201              :   x22 = XVECEXP (x6, 0, 15);
   12202              :   if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12203              :     return -1;
   12204              :   x23 = XVECEXP (x6, 0, 16);
   12205              :   if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12206              :     return -1;
   12207              :   x24 = XVECEXP (x6, 0, 17);
   12208              :   if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12209              :     return -1;
   12210              :   x25 = XVECEXP (x6, 0, 18);
   12211              :   if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12212              :     return -1;
   12213              :   x26 = XVECEXP (x6, 0, 19);
   12214              :   if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12215              :     return -1;
   12216              :   x27 = XVECEXP (x6, 0, 20);
   12217              :   if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12218              :     return -1;
   12219              :   x28 = XVECEXP (x6, 0, 21);
   12220              :   if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12221              :     return -1;
   12222              :   x29 = XVECEXP (x6, 0, 22);
   12223              :   if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12224              :     return -1;
   12225              :   x30 = XVECEXP (x6, 0, 23);
   12226              :   if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12227              :     return -1;
   12228              :   x31 = XVECEXP (x6, 0, 24);
   12229              :   if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12230              :     return -1;
   12231              :   x32 = XVECEXP (x6, 0, 25);
   12232              :   if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12233              :     return -1;
   12234              :   x33 = XVECEXP (x6, 0, 26);
   12235              :   if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12236              :     return -1;
   12237              :   x34 = XVECEXP (x6, 0, 27);
   12238              :   if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12239              :     return -1;
   12240              :   x35 = XVECEXP (x6, 0, 28);
   12241              :   if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12242              :     return -1;
   12243              :   x36 = XVECEXP (x6, 0, 29);
   12244              :   if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12245              :     return -1;
   12246              :   x37 = XVECEXP (x6, 0, 30);
   12247              :   if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12248              :     return -1;
   12249              :   x38 = XVECEXP (x6, 0, 31);
   12250              :   if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   12251              :       || !register_operand (operands[0], E_V32HImode)
   12252              :       || GET_MODE (x2) != E_V32HImode
   12253              :       || GET_MODE (x3) != E_V32HImode
   12254              :       || GET_MODE (x4) != E_V32SImode
   12255              :       || GET_MODE (x5) != E_V32SImode)
   12256              :     return -1;
   12257              :   x39 = XEXP (x5, 0);
   12258              :   if (GET_MODE (x39) != E_V32SImode)
   12259              :     return -1;
   12260              :   x40 = XEXP (x39, 0);
   12261              :   if (GET_MODE (x40) != E_V32SImode)
   12262              :     return -1;
   12263              :   x41 = XEXP (x40, 0);
   12264              :   if (GET_MODE (x41) != E_V32SImode)
   12265              :     return -1;
   12266              :   x42 = XEXP (x40, 1);
   12267              :   if (GET_MODE (x42) != E_V32SImode)
   12268              :     return -1;
   12269              :   x43 = XEXP (x42, 0);
   12270              :   operands[2] = x43;
   12271              :   if (!nonimmediate_operand (operands[2], E_V32HImode))
   12272              :     return -1;
   12273              :   x44 = XEXP (x2, 1);
   12274              :   operands[3] = x44;
   12275              :   if (!nonimm_or_0_operand (operands[3], E_V32HImode))
   12276              :     return -1;
   12277              :   x45 = XEXP (x2, 2);
   12278              :   operands[4] = x45;
   12279              :   if (!register_operand (operands[4], E_SImode)
   12280              :       || !(
   12281              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12282              : (TARGET_AVX512F) && 
   12283              : #line 23358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12284              : (TARGET_AVX512BW)))
   12285              :     return -1;
   12286              :   return 8688; /* avx512bw_umulhrswv32hi3_mask */
   12287              : }
   12288              : 
   12289              :  int
   12290              : recog_190 (rtx x1 ATTRIBUTE_UNUSED,
   12291              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12292              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12293              : {
   12294              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12295              :   rtx x2, x3, x4, x5, x6, x7;
   12296              :   int res ATTRIBUTE_UNUSED;
   12297              :   x2 = XEXP (x1, 1);
   12298              :   x3 = XEXP (x2, 0);
   12299              :   x4 = XEXP (x3, 0);
   12300              :   switch (GET_CODE (x4))
   12301              :     {
   12302              :     case REG:
   12303              :     case SUBREG:
   12304              :     case MEM:
   12305              :     case VEC_DUPLICATE:
   12306              :       operands[1] = x4;
   12307              :       x5 = XEXP (x3, 1);
   12308              :       operands[2] = x5;
   12309              :       x6 = XEXP (x2, 2);
   12310              :       switch (GET_CODE (x6))
   12311              :         {
   12312              :         case REG:
   12313              :         case SUBREG:
   12314              :           operands[4] = x6;
   12315              :           x7 = XEXP (x2, 1);
   12316              :           operands[3] = x7;
   12317              :           switch (GET_MODE (operands[0]))
   12318              :             {
   12319              :             case E_V32HFmode:
   12320              :               if (pattern491 (x2, 
   12321              : E_V32HFmode, 
   12322              : E_SImode) != 0
   12323              :                   || !(
   12324              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12325              : (TARGET_AVX512F) && (
   12326              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12327              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V32HFmode, operands)
   12328              :    && (64 == 64 || TARGET_AVX512VL) && 1) && 
   12329              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12330              : (TARGET_AVX512FP16))))
   12331              :                 return -1;
   12332              :               return 2856; /* *mulv32hf3_mask */
   12333              : 
   12334              :             case E_V16HFmode:
   12335              :               if (pattern491 (x2, 
   12336              : E_V16HFmode, 
   12337              : E_HImode) != 0
   12338              :                   || !(
   12339              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12340              : (TARGET_AVX512F) && (
   12341              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12342              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16HFmode, operands)
   12343              :    && (32 == 64 || TARGET_AVX512VL) && 1) && 
   12344              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12345              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   12346              :                 return -1;
   12347              :               return 2860; /* *mulv16hf3_mask */
   12348              : 
   12349              :             case E_V8HFmode:
   12350              :               if (pattern491 (x2, 
   12351              : E_V8HFmode, 
   12352              : E_QImode) != 0
   12353              :                   || !(
   12354              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12355              : (TARGET_AVX512F) && (
   12356              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12357              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8HFmode, operands)
   12358              :    && (16 == 64 || TARGET_AVX512VL) && 1) && 
   12359              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12360              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   12361              :                 return -1;
   12362              :               return 2864; /* *mulv8hf3_mask */
   12363              : 
   12364              :             case E_V16SFmode:
   12365              :               if (pattern491 (x2, 
   12366              : E_V16SFmode, 
   12367              : E_HImode) != 0
   12368              :                   || !(
   12369              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12370              : (TARGET_AVX512F) && (
   12371              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12372              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16SFmode, operands)
   12373              :    && (64 == 64 || TARGET_AVX512VL) && 1) && 
   12374              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12375              : (TARGET_AVX512F))))
   12376              :                 return -1;
   12377              :               return 2868; /* *mulv16sf3_mask */
   12378              : 
   12379              :             case E_V8SFmode:
   12380              :               if (pattern491 (x2, 
   12381              : E_V8SFmode, 
   12382              : E_QImode) != 0
   12383              :                   || !(
   12384              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12385              : (TARGET_AVX512F) && (
   12386              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12387              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8SFmode, operands)
   12388              :    && (32 == 64 || TARGET_AVX512VL) && 1) && 
   12389              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12390              : (TARGET_AVX))))
   12391              :                 return -1;
   12392              :               return 2872; /* *mulv8sf3_mask */
   12393              : 
   12394              :             case E_V4SFmode:
   12395              :               if (pattern491 (x2, 
   12396              : E_V4SFmode, 
   12397              : E_QImode) != 0
   12398              :                   || !(
   12399              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12400              : (TARGET_AVX512F) && 
   12401              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12402              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4SFmode, operands)
   12403              :    && (16 == 64 || TARGET_AVX512VL) && 1)))
   12404              :                 return -1;
   12405              :               return 2876; /* *mulv4sf3_mask */
   12406              : 
   12407              :             case E_V8DFmode:
   12408              :               if (pattern491 (x2, 
   12409              : E_V8DFmode, 
   12410              : E_QImode) != 0
   12411              :                   || !(
   12412              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12413              : (TARGET_AVX512F) && (
   12414              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12415              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8DFmode, operands)
   12416              :    && (64 == 64 || TARGET_AVX512VL) && 1) && 
   12417              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12418              : (TARGET_AVX512F))))
   12419              :                 return -1;
   12420              :               return 2880; /* *mulv8df3_mask */
   12421              : 
   12422              :             case E_V4DFmode:
   12423              :               if (pattern491 (x2, 
   12424              : E_V4DFmode, 
   12425              : E_QImode) != 0
   12426              :                   || !(
   12427              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12428              : (TARGET_AVX512F) && (
   12429              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12430              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4DFmode, operands)
   12431              :    && (32 == 64 || TARGET_AVX512VL) && 1) && 
   12432              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12433              : (TARGET_AVX))))
   12434              :                 return -1;
   12435              :               return 2884; /* *mulv4df3_mask */
   12436              : 
   12437              :             case E_V2DFmode:
   12438              :               if (pattern491 (x2, 
   12439              : E_V2DFmode, 
   12440              : E_QImode) != 0
   12441              :                   || !(
   12442              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12443              : (TARGET_AVX512F) && (
   12444              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12445              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V2DFmode, operands)
   12446              :    && (16 == 64 || TARGET_AVX512VL) && 1) && 
   12447              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12448              : (TARGET_SSE2))))
   12449              :                 return -1;
   12450              :               return 2888; /* *mulv2df3_mask */
   12451              : 
   12452              :             case E_V32HImode:
   12453              :               if (pattern133 (x2, 
   12454              : E_V32HImode, 
   12455              : E_SImode) != 0
   12456              :                   || !(
   12457              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12458              : (TARGET_AVX512F) && (
   12459              : #line 16824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12460              : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   12461              :    && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
   12462              : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12463              : (TARGET_AVX512BW))))
   12464              :                 return -1;
   12465              :               return 7626; /* *mulv32hi3_mask */
   12466              : 
   12467              :             case E_V16HImode:
   12468              :               if (pattern133 (x2, 
   12469              : E_V16HImode, 
   12470              : E_HImode) != 0
   12471              :                   || !(
   12472              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12473              : (TARGET_AVX512F) && (
   12474              : #line 16824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12475              : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   12476              :    && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
   12477              : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12478              : (TARGET_AVX2))))
   12479              :                 return -1;
   12480              :               return 7628; /* *mulv16hi3_mask */
   12481              : 
   12482              :             case E_V8HImode:
   12483              :               if (pattern133 (x2, 
   12484              : E_V8HImode, 
   12485              : E_QImode) != 0
   12486              :                   || !(
   12487              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12488              : (TARGET_AVX512F) && 
   12489              : #line 16824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12490              : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   12491              :    && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
   12492              :                 return -1;
   12493              :               return 7630; /* *mulv8hi3_mask */
   12494              : 
   12495              :             case E_V8DImode:
   12496              :               if (pattern491 (x2, 
   12497              : E_V8DImode, 
   12498              : E_QImode) != 0
   12499              :                   || !(
   12500              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12501              : (TARGET_AVX512F) && 
   12502              : #line 17281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12503              : (TARGET_AVX512DQ && (64 == 64 || TARGET_AVX512VL)
   12504              :   && ix86_binary_operator_ok (MULT, V8DImode, operands))))
   12505              :                 return -1;
   12506              :               return 7664; /* *avx512dq_mulv8di3_mask */
   12507              : 
   12508              :             case E_V4DImode:
   12509              :               if (pattern491 (x2, 
   12510              : E_V4DImode, 
   12511              : E_QImode) != 0
   12512              :                   || !(
   12513              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12514              : (TARGET_AVX512F) && (
   12515              : #line 17281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12516              : (TARGET_AVX512DQ && (32 == 64 || TARGET_AVX512VL)
   12517              :   && ix86_binary_operator_ok (MULT, V4DImode, operands)) && 
   12518              : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12519              : (TARGET_AVX512VL))))
   12520              :                 return -1;
   12521              :               return 7666; /* *avx512dq_mulv4di3_mask */
   12522              : 
   12523              :             case E_V2DImode:
   12524              :               if (pattern491 (x2, 
   12525              : E_V2DImode, 
   12526              : E_QImode) != 0
   12527              :                   || !(
   12528              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12529              : (TARGET_AVX512F) && (
   12530              : #line 17281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12531              : (TARGET_AVX512DQ && (16 == 64 || TARGET_AVX512VL)
   12532              :   && ix86_binary_operator_ok (MULT, V2DImode, operands)) && 
   12533              : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12534              : (TARGET_AVX512VL))))
   12535              :                 return -1;
   12536              :               return 7668; /* *avx512dq_mulv2di3_mask */
   12537              : 
   12538              :             case E_V16SImode:
   12539              :               if (pattern491 (x2, 
   12540              : E_V16SImode, 
   12541              : E_HImode) != 0
   12542              :                   || !(
   12543              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12544              : (TARGET_AVX512F) && (
   12545              : #line 17340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12546              : (TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V16SImode, operands)
   12547              :   && (64 == 64 || TARGET_AVX512VL)) && 
   12548              : #line 661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12549              : (TARGET_AVX512F))))
   12550              :                 return -1;
   12551              :               return 7670; /* *avx512f_mulv16si3_mask */
   12552              : 
   12553              :             case E_V8SImode:
   12554              :               if (pattern491 (x2, 
   12555              : E_V8SImode, 
   12556              : E_QImode) != 0
   12557              :                   || !(
   12558              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12559              : (TARGET_AVX512F) && (
   12560              : #line 17340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12561              : (TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V8SImode, operands)
   12562              :   && (32 == 64 || TARGET_AVX512VL)) && 
   12563              : #line 661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12564              : (TARGET_AVX2))))
   12565              :                 return -1;
   12566              :               return 7672; /* *avx2_mulv8si3_mask */
   12567              : 
   12568              :             case E_V4SImode:
   12569              :               if (pattern491 (x2, 
   12570              : E_V4SImode, 
   12571              : E_QImode) != 0
   12572              :                   || !(
   12573              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12574              : (TARGET_AVX512F) && 
   12575              : #line 17340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12576              : (TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V4SImode, operands)
   12577              :   && (16 == 64 || TARGET_AVX512VL))))
   12578              :                 return -1;
   12579              :               return 7674; /* *sse4_1_mulv4si3_mask */
   12580              : 
   12581              :             case E_V32BFmode:
   12582              :               if (pattern136 (x2, 
   12583              : E_V32BFmode, 
   12584              : E_SImode) != 0
   12585              :                   || !(
   12586              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12587              : (TARGET_AVX512F) && 
   12588              : #line 33196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12589              : (TARGET_AVX10_2)))
   12590              :                 return -1;
   12591              :               return 10713; /* avx10_2_mulbf16_v32bf_mask */
   12592              : 
   12593              :             case E_V16BFmode:
   12594              :               if (pattern136 (x2, 
   12595              : E_V16BFmode, 
   12596              : E_HImode) != 0
   12597              :                   || !(
   12598              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12599              : (TARGET_AVX512F) && 
   12600              : #line 33196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12601              : (TARGET_AVX10_2)))
   12602              :                 return -1;
   12603              :               return 10721; /* avx10_2_mulbf16_v16bf_mask */
   12604              : 
   12605              :             case E_V8BFmode:
   12606              :               if (pattern136 (x2, 
   12607              : E_V8BFmode, 
   12608              : E_QImode) != 0
   12609              :                   || !(
   12610              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12611              : (TARGET_AVX512F) && 
   12612              : #line 33196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12613              : (TARGET_AVX10_2)))
   12614              :                 return -1;
   12615              :               return 10729; /* avx10_2_mulbf16_v8bf_mask */
   12616              : 
   12617              :             default:
   12618              :               return -1;
   12619              :             }
   12620              : 
   12621              :         case CONST_INT:
   12622              :           switch (pattern138 (x2))
   12623              :             {
   12624              :             case 0:
   12625              :               if (!(
   12626              : #line 2841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12627              : (TARGET_SSE) && 
   12628              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12629              : (TARGET_AVX512FP16)))
   12630              :                 return -1;
   12631              :               return 2896; /* avx512fp16_vmmulv8hf3 */
   12632              : 
   12633              :             case 1:
   12634              :               if (!
   12635              : #line 2841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12636              : (TARGET_SSE))
   12637              :                 return -1;
   12638              :               return 2904; /* sse_vmmulv4sf3 */
   12639              : 
   12640              :             case 2:
   12641              :               if (!(
   12642              : #line 2841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12643              : (TARGET_SSE) && 
   12644              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12645              : (TARGET_SSE2)))
   12646              :                 return -1;
   12647              :               return 2912; /* sse2_vmmulv2df3 */
   12648              : 
   12649              :             default:
   12650              :               return -1;
   12651              :             }
   12652              : 
   12653              :         default:
   12654              :           return -1;
   12655              :         }
   12656              : 
   12657              :     case ZERO_EXTEND:
   12658              :       switch (pattern319 (x2, 
   12659              : ZERO_EXTEND))
   12660              :         {
   12661              :         case 0:
   12662              :           if (!(
   12663              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12664              : (TARGET_AVX512F) && 
   12665              : #line 16907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12666              : (TARGET_AVX512F
   12667              :    && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   12668              :             return -1;
   12669              :           return 7644; /* *vec_widen_umult_even_v16si_mask */
   12670              : 
   12671              :         case 1:
   12672              :           if (!(
   12673              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12674              : (TARGET_AVX512F) && 
   12675              : #line 16943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12676              : (TARGET_AVX2 && TARGET_AVX512VL
   12677              :    && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   12678              :             return -1;
   12679              :           return 7646; /* *vec_widen_umult_even_v8si_mask */
   12680              : 
   12681              :         case 2:
   12682              :           if (!(
   12683              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12684              : (TARGET_AVX512F) && 
   12685              : #line 16975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12686              : (TARGET_SSE2 && TARGET_AVX512VL
   12687              :    && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   12688              :             return -1;
   12689              :           return 7648; /* *vec_widen_umult_even_v4si_mask */
   12690              : 
   12691              :         default:
   12692              :           return -1;
   12693              :         }
   12694              : 
   12695              :     case SIGN_EXTEND:
   12696              :       switch (pattern319 (x2, 
   12697              : SIGN_EXTEND))
   12698              :         {
   12699              :         case 0:
   12700              :           if (!(
   12701              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12702              : (TARGET_AVX512F) && 
   12703              : #line 17023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12704              : (TARGET_AVX512F
   12705              :    && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   12706              :             return -1;
   12707              :           return 7650; /* *vec_widen_smult_even_v16si_mask */
   12708              : 
   12709              :         case 1:
   12710              :           if (!(
   12711              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12712              : (TARGET_AVX512F) && 
   12713              : #line 17059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12714              : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   12715              :             return -1;
   12716              :           return 7652; /* *vec_widen_smult_even_v8si_mask */
   12717              : 
   12718              :         case 2:
   12719              :           if (!(
   12720              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12721              : (TARGET_AVX512F) && 
   12722              : #line 17091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12723              : (TARGET_SSE4_1 && TARGET_AVX512VL
   12724              :    && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   12725              :             return -1;
   12726              :           return 7654; /* *sse4_1_mulv2siv2di3_mask */
   12727              : 
   12728              :         default:
   12729              :           return -1;
   12730              :         }
   12731              : 
   12732              :     default:
   12733              :       return -1;
   12734              :     }
   12735              : }
   12736              : 
   12737              :  int
   12738              : recog_195 (rtx x1 ATTRIBUTE_UNUSED,
   12739              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12740              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12741              : {
   12742              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12743              :   rtx x2, x3, x4, x5, x6, x7, x8;
   12744              :   int res ATTRIBUTE_UNUSED;
   12745              :   x2 = XEXP (x1, 1);
   12746              :   x3 = XEXP (x2, 0);
   12747              :   x4 = XEXP (x3, 1);
   12748              :   operands[2] = x4;
   12749              :   x5 = XEXP (x2, 1);
   12750              :   operands[3] = x5;
   12751              :   x6 = XEXP (x2, 2);
   12752              :   operands[4] = x6;
   12753              :   x7 = XEXP (x3, 0);
   12754              :   switch (GET_CODE (x7))
   12755              :     {
   12756              :     case NOT:
   12757              :       x8 = XEXP (x7, 0);
   12758              :       operands[1] = x8;
   12759              :       switch (GET_MODE (operands[0]))
   12760              :         {
   12761              :         case E_V8SFmode:
   12762              :           if (pattern1022 (x2, 
   12763              : E_V8SFmode) != 0
   12764              :               || !(
   12765              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12766              : (TARGET_AVX512F) && (
   12767              : #line 5640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12768              : (TARGET_SSE && TARGET_AVX512VL
   12769              :    && (!true || 32 != 16)) && 
   12770              : #line 432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12771              : (TARGET_AVX))))
   12772              :             return -1;
   12773              :           return 3776; /* avx_andnotv8sf3_mask */
   12774              : 
   12775              :         case E_V4SFmode:
   12776              :           if (pattern1022 (x2, 
   12777              : E_V4SFmode) != 0
   12778              :               || !(
   12779              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12780              : (TARGET_AVX512F) && 
   12781              : #line 5640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12782              : (TARGET_SSE && TARGET_AVX512VL
   12783              :    && (!true || 32 != 16))))
   12784              :             return -1;
   12785              :           return 3778; /* sse_andnotv4sf3_mask */
   12786              : 
   12787              :         case E_V4DFmode:
   12788              :           if (pattern1022 (x2, 
   12789              : E_V4DFmode) != 0
   12790              :               || !(
   12791              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12792              : (TARGET_AVX512F) && (
   12793              : #line 5640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12794              : (TARGET_SSE && TARGET_AVX512VL
   12795              :    && (!true || 64 != 16)) && 
   12796              : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12797              : (TARGET_AVX))))
   12798              :             return -1;
   12799              :           return 3780; /* avx_andnotv4df3_mask */
   12800              : 
   12801              :         case E_V2DFmode:
   12802              :           if (pattern1022 (x2, 
   12803              : E_V2DFmode) != 0
   12804              :               || !(
   12805              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12806              : (TARGET_AVX512F) && (
   12807              : #line 5640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12808              : (TARGET_SSE && TARGET_AVX512VL
   12809              :    && (!true || 64 != 16)) && 
   12810              : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12811              : (TARGET_SSE2))))
   12812              :             return -1;
   12813              :           return 3782; /* sse2_andnotv2df3_mask */
   12814              : 
   12815              :         case E_V16SFmode:
   12816              :           if (pattern1023 (x2, 
   12817              : E_V16SFmode, 
   12818              : E_HImode) != 0
   12819              :               || !(
   12820              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12821              : (TARGET_AVX512F) && 
   12822              : #line 5716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12823              : (TARGET_AVX512F && (!true || 32 != 16))))
   12824              :             return -1;
   12825              :           return 3786; /* avx512f_andnotv16sf3_mask */
   12826              : 
   12827              :         case E_V8DFmode:
   12828              :           if (pattern1023 (x2, 
   12829              : E_V8DFmode, 
   12830              : E_QImode) != 0
   12831              :               || !(
   12832              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12833              : (TARGET_AVX512F) && 
   12834              : #line 5716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12835              : (TARGET_AVX512F && (!true || 64 != 16))))
   12836              :             return -1;
   12837              :           return 3788; /* avx512f_andnotv8df3_mask */
   12838              : 
   12839              :         case E_V16SImode:
   12840              :           if (pattern1023 (x2, 
   12841              : E_V16SImode, 
   12842              : E_HImode) != 0
   12843              :               || !
   12844              : #line 19143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12845              : (TARGET_AVX512F))
   12846              :             return -1;
   12847              :           return 8073; /* *andnotv16si3_mask */
   12848              : 
   12849              :         case E_V8SImode:
   12850              :           if (pattern1023 (x2, 
   12851              : E_V8SImode, 
   12852              : E_QImode) != 0
   12853              :               || !(
   12854              : #line 19143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12855              : (TARGET_AVX512F) && 
   12856              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12857              : (TARGET_AVX512VL)))
   12858              :             return -1;
   12859              :           return 8074; /* *andnotv8si3_mask */
   12860              : 
   12861              :         case E_V4SImode:
   12862              :           if (pattern1023 (x2, 
   12863              : E_V4SImode, 
   12864              : E_QImode) != 0
   12865              :               || !(
   12866              : #line 19143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12867              : (TARGET_AVX512F) && 
   12868              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12869              : (TARGET_AVX512VL)))
   12870              :             return -1;
   12871              :           return 8075; /* *andnotv4si3_mask */
   12872              : 
   12873              :         case E_V8DImode:
   12874              :           if (pattern1023 (x2, 
   12875              : E_V8DImode, 
   12876              : E_QImode) != 0
   12877              :               || !
   12878              : #line 19143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12879              : (TARGET_AVX512F))
   12880              :             return -1;
   12881              :           return 8076; /* *andnotv8di3_mask */
   12882              : 
   12883              :         case E_V4DImode:
   12884              :           if (pattern1023 (x2, 
   12885              : E_V4DImode, 
   12886              : E_QImode) != 0
   12887              :               || !(
   12888              : #line 19143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12889              : (TARGET_AVX512F) && 
   12890              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12891              : (TARGET_AVX512VL)))
   12892              :             return -1;
   12893              :           return 8077; /* *andnotv4di3_mask */
   12894              : 
   12895              :         case E_V2DImode:
   12896              :           if (pattern1023 (x2, 
   12897              : E_V2DImode, 
   12898              : E_QImode) != 0
   12899              :               || !(
   12900              : #line 19143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12901              : (TARGET_AVX512F) && 
   12902              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12903              : (TARGET_AVX512VL)))
   12904              :             return -1;
   12905              :           return 8078; /* *andnotv2di3_mask */
   12906              : 
   12907              :         default:
   12908              :           return -1;
   12909              :         }
   12910              : 
   12911              :     case REG:
   12912              :     case SUBREG:
   12913              :     case MEM:
   12914              :     case VEC_DUPLICATE:
   12915              :       operands[1] = x7;
   12916              :       switch (GET_MODE (operands[0]))
   12917              :         {
   12918              :         case E_V8SFmode:
   12919              :           if (pattern133 (x2, 
   12920              : E_V8SFmode, 
   12921              : E_QImode) != 0
   12922              :               || !(
   12923              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12924              : (TARGET_AVX512F) && (
   12925              : #line 5769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12926              : (TARGET_SSE && TARGET_AVX512VL
   12927              :    && (!true || 32 != 16)
   12928              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   12929              : #line 432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12930              : (TARGET_AVX))))
   12931              :             return -1;
   12932              :           return 3802; /* *andv8sf3_mask */
   12933              : 
   12934              :         case E_V4SFmode:
   12935              :           if (pattern133 (x2, 
   12936              : E_V4SFmode, 
   12937              : E_QImode) != 0
   12938              :               || !(
   12939              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12940              : (TARGET_AVX512F) && 
   12941              : #line 5769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12942              : (TARGET_SSE && TARGET_AVX512VL
   12943              :    && (!true || 32 != 16)
   12944              :    && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   12945              :             return -1;
   12946              :           return 3808; /* *andv4sf3_mask */
   12947              : 
   12948              :         case E_V4DFmode:
   12949              :           if (pattern133 (x2, 
   12950              : E_V4DFmode, 
   12951              : E_QImode) != 0
   12952              :               || !(
   12953              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12954              : (TARGET_AVX512F) && (
   12955              : #line 5769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12956              : (TARGET_SSE && TARGET_AVX512VL
   12957              :    && (!true || 64 != 16)
   12958              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   12959              : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12960              : (TARGET_AVX))))
   12961              :             return -1;
   12962              :           return 3814; /* *andv4df3_mask */
   12963              : 
   12964              :         case E_V2DFmode:
   12965              :           if (pattern133 (x2, 
   12966              : E_V2DFmode, 
   12967              : E_QImode) != 0
   12968              :               || !(
   12969              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12970              : (TARGET_AVX512F) && (
   12971              : #line 5769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12972              : (TARGET_SSE && TARGET_AVX512VL
   12973              :    && (!true || 64 != 16)
   12974              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   12975              : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12976              : (TARGET_SSE2))))
   12977              :             return -1;
   12978              :           return 3820; /* *andv2df3_mask */
   12979              : 
   12980              :         case E_V16SFmode:
   12981              :           if (pattern134 (x2, 
   12982              : E_V16SFmode, 
   12983              : E_HImode) != 0
   12984              :               || !(
   12985              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12986              : (TARGET_AVX512F) && 
   12987              : #line 5840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12988              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   12989              :    && (!true || 32 != 16))))
   12990              :             return -1;
   12991              :           return 3832; /* *andv16sf3_mask */
   12992              : 
   12993              :         case E_V8DFmode:
   12994              :           if (pattern134 (x2, 
   12995              : E_V8DFmode, 
   12996              : E_QImode) != 0
   12997              :               || !(
   12998              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12999              : (TARGET_AVX512F) && 
   13000              : #line 5840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13001              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13002              :    && (!true || 64 != 16))))
   13003              :             return -1;
   13004              :           return 3838; /* *andv8df3_mask */
   13005              : 
   13006              :         case E_V16SImode:
   13007              :           if (pattern491 (x2, 
   13008              : E_V16SImode, 
   13009              : E_HImode) != 0
   13010              :               || !(
   13011              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13012              : (TARGET_AVX512F) && (
   13013              : #line 19195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13014              : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
   13015              :    && ix86_binary_operator_ok (AND, V16SImode, operands)) && 
   13016              : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13017              : (TARGET_AVX512F))))
   13018              :             return -1;
   13019              :           return 8080; /* *andv16si3_mask */
   13020              : 
   13021              :         case E_V8SImode:
   13022              :           if (pattern491 (x2, 
   13023              : E_V8SImode, 
   13024              : E_QImode) != 0
   13025              :               || !(
   13026              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13027              : (TARGET_AVX512F) && (
   13028              : #line 19195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13029              : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
   13030              :    && ix86_binary_operator_ok (AND, V8SImode, operands)) && 
   13031              : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13032              : (TARGET_AVX))))
   13033              :             return -1;
   13034              :           return 8086; /* *andv8si3_mask */
   13035              : 
   13036              :         case E_V4SImode:
   13037              :           if (pattern491 (x2, 
   13038              : E_V4SImode, 
   13039              : E_QImode) != 0
   13040              :               || !(
   13041              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13042              : (TARGET_AVX512F) && 
   13043              : #line 19195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13044              : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
   13045              :    && ix86_binary_operator_ok (AND, V4SImode, operands))))
   13046              :             return -1;
   13047              :           return 8092; /* *andv4si3_mask */
   13048              : 
   13049              :         case E_V8DImode:
   13050              :           if (pattern491 (x2, 
   13051              : E_V8DImode, 
   13052              : E_QImode) != 0
   13053              :               || !(
   13054              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13055              : (TARGET_AVX512F) && (
   13056              : #line 19195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13057              : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
   13058              :    && ix86_binary_operator_ok (AND, V8DImode, operands)) && 
   13059              : #line 796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13060              : (TARGET_AVX512F))))
   13061              :             return -1;
   13062              :           return 8098; /* *andv8di3_mask */
   13063              : 
   13064              :         case E_V4DImode:
   13065              :           if (pattern491 (x2, 
   13066              : E_V4DImode, 
   13067              : E_QImode) != 0
   13068              :               || !(
   13069              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13070              : (TARGET_AVX512F) && (
   13071              : #line 19195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13072              : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
   13073              :    && ix86_binary_operator_ok (AND, V4DImode, operands)) && 
   13074              : #line 796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13075              : (TARGET_AVX))))
   13076              :             return -1;
   13077              :           return 8104; /* *andv4di3_mask */
   13078              : 
   13079              :         case E_V2DImode:
   13080              :           if (pattern491 (x2, 
   13081              : E_V2DImode, 
   13082              : E_QImode) != 0
   13083              :               || !(
   13084              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13085              : (TARGET_AVX512F) && 
   13086              : #line 19195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13087              : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
   13088              :    && ix86_binary_operator_ok (AND, V2DImode, operands))))
   13089              :             return -1;
   13090              :           return 8110; /* *andv2di3_mask */
   13091              : 
   13092              :         default:
   13093              :           return -1;
   13094              :         }
   13095              : 
   13096              :     default:
   13097              :       return -1;
   13098              :     }
   13099              : }
   13100              : 
   13101              :  int
   13102              : recog_204 (rtx x1 ATTRIBUTE_UNUSED,
   13103              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   13104              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   13105              : {
   13106              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   13107              :   rtx x2;
   13108              :   int res ATTRIBUTE_UNUSED;
   13109              :   x2 = XEXP (x1, 1);
   13110              :   switch (pattern140 (x2))
   13111              :     {
   13112              :     case 0:
   13113              :       switch (pattern904 (x2))
   13114              :         {
   13115              :         case 0:
   13116              :           if (!(
   13117              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13118              : (TARGET_AVX512F) && (
   13119              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13120              : (TARGET_AVX512FP16) && 
   13121              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13122              : (TARGET_AVX512VL))))
   13123              :             return -1;
   13124              :           return 4526; /* avx512fp16_vcvtw2ph_v8hi_mask */
   13125              : 
   13126              :         case 1:
   13127              :           if (!(
   13128              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13129              : (TARGET_AVX512F) && (
   13130              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13131              : (TARGET_AVX512FP16) && 
   13132              : #line 684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13133              : (TARGET_AVX512VL))))
   13134              :             return -1;
   13135              :           return 4550; /* avx512fp16_vcvtdq2ph_v8si_mask */
   13136              : 
   13137              :         case 2:
   13138              :           if (!(
   13139              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13140              : (TARGET_AVX512F) && 
   13141              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13142              : (TARGET_AVX512FP16)))
   13143              :             return -1;
   13144              :           return 4566; /* avx512fp16_vcvtqq2ph_v8di_mask */
   13145              : 
   13146              :         default:
   13147              :           return -1;
   13148              :         }
   13149              : 
   13150              :     case 1:
   13151              :       switch (pattern905 (x2))
   13152              :         {
   13153              :         case 0:
   13154              :           if (!(
   13155              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13156              : (TARGET_AVX512F) && (
   13157              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13158              : (TARGET_AVX512FP16) && 
   13159              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13160              : (TARGET_AVX512VL))))
   13161              :             return -1;
   13162              :           return 4534; /* avx512fp16_vcvtw2ph_v16hi_mask */
   13163              : 
   13164              :         case 1:
   13165              :           if (!(
   13166              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13167              : (TARGET_AVX512F) && 
   13168              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13169              : (TARGET_AVX512FP16)))
   13170              :             return -1;
   13171              :           return 4558; /* avx512fp16_vcvtdq2ph_v16si_mask */
   13172              : 
   13173              :         default:
   13174              :           return -1;
   13175              :         }
   13176              : 
   13177              :     case 2:
   13178              :       if (pattern141 (x2, 
   13179              : E_V32HFmode, 
   13180              : E_SImode, 
   13181              : E_V32HImode) != 0
   13182              :           || !(
   13183              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13184              : (TARGET_AVX512F) && 
   13185              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13186              : (TARGET_AVX512FP16)))
   13187              :         return -1;
   13188              :       return 4542; /* avx512fp16_vcvtw2ph_v32hi_mask */
   13189              : 
   13190              :     case 3:
   13191              :       if (pattern141 (x2, 
   13192              : E_V16SFmode, 
   13193              : E_HImode, 
   13194              : E_V16SImode) != 0
   13195              :           || !(
   13196              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13197              : (TARGET_AVX512F) && (
   13198              : #line 9029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13199              : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && 1) && 
   13200              : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13201              : (TARGET_AVX512F))))
   13202              :         return -1;
   13203              :       return 4862; /* floatv16siv16sf2_mask */
   13204              : 
   13205              :     case 4:
   13206              :       if (pattern142 (x2, 
   13207              : E_V8SFmode, 
   13208              : E_QImode) != 0)
   13209              :         return -1;
   13210              :       switch (GET_MODE (operands[1]))
   13211              :         {
   13212              :         case E_V8SImode:
   13213              :           if (!vector_operand (operands[1], E_V8SImode)
   13214              :               || !(
   13215              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13216              : (TARGET_AVX512F) && (
   13217              : #line 9029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13218              : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && 1) && 
   13219              : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13220              : (TARGET_AVX))))
   13221              :             return -1;
   13222              :           return 4865; /* floatv8siv8sf2_mask */
   13223              : 
   13224              :         case E_V8DImode:
   13225              :           if (!nonimmediate_operand (operands[1], E_V8DImode)
   13226              :               || !(
   13227              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13228              : (TARGET_AVX512F) && 
   13229              : #line 9577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13230              : (TARGET_AVX512DQ && 1)))
   13231              :             return -1;
   13232              :           return 5018; /* floatv8div8sf2_mask */
   13233              : 
   13234              :         default:
   13235              :           return -1;
   13236              :         }
   13237              : 
   13238              :     case 5:
   13239              :       if (pattern142 (x2, 
   13240              : E_V4SFmode, 
   13241              : E_QImode) != 0)
   13242              :         return -1;
   13243              :       switch (GET_MODE (operands[1]))
   13244              :         {
   13245              :         case E_V4SImode:
   13246              :           if (!vector_operand (operands[1], E_V4SImode)
   13247              :               || !(
   13248              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13249              : (TARGET_AVX512F) && 
   13250              : #line 9029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13251              : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && 1)))
   13252              :             return -1;
   13253              :           return 4867; /* floatv4siv4sf2_mask */
   13254              : 
   13255              :         case E_V4DImode:
   13256              :           if (!nonimmediate_operand (operands[1], E_V4DImode)
   13257              :               || !(
   13258              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13259              : (TARGET_AVX512F) && (
   13260              : #line 9577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13261              : (TARGET_AVX512DQ && 1) && 
   13262              : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13263              : (TARGET_AVX512VL))))
   13264              :             return -1;
   13265              :           return 5025; /* floatv4div4sf2_mask */
   13266              : 
   13267              :         default:
   13268              :           return -1;
   13269              :         }
   13270              : 
   13271              :     case 6:
   13272              :       switch (pattern906 (x2, 
   13273              : E_V8DFmode))
   13274              :         {
   13275              :         case 0:
   13276              :           if (!(
   13277              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13278              : (TARGET_AVX512F) && (
   13279              : #line 9553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13280              : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL)) && 
   13281              : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13282              : (TARGET_AVX512F))))
   13283              :             return -1;
   13284              :           return 4989; /* floatv8siv8df2_mask */
   13285              : 
   13286              :         case 1:
   13287              :           if (!(
   13288              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13289              : (TARGET_AVX512F) && 
   13290              : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13291              : (TARGET_AVX512DQ)))
   13292              :             return -1;
   13293              :           return 4994; /* floatv8div8df2_mask */
   13294              : 
   13295              :         default:
   13296              :           return -1;
   13297              :         }
   13298              : 
   13299              :     case 7:
   13300              :       switch (pattern907 (x2, 
   13301              : E_V4DFmode))
   13302              :         {
   13303              :         case 0:
   13304              :           if (!(
   13305              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13306              : (TARGET_AVX512F) && 
   13307              : #line 9553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13308              : (TARGET_AVX && (32 == 64 || TARGET_AVX512VL))))
   13309              :             return -1;
   13310              :           return 4991; /* floatv4siv4df2_mask */
   13311              : 
   13312              :         case 1:
   13313              :           if (!(
   13314              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13315              : (TARGET_AVX512F) && (
   13316              : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13317              : (TARGET_AVX512DQ) && 
   13318              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13319              : (TARGET_AVX512VL))))
   13320              :             return -1;
   13321              :           return 5002; /* floatv4div4df2_mask */
   13322              : 
   13323              :         default:
   13324              :           return -1;
   13325              :         }
   13326              : 
   13327              :     case 8:
   13328              :       if (pattern155 (x2, 
   13329              : E_V2DFmode, 
   13330              : E_V2DImode, 
   13331              : E_QImode) != 0
   13332              :           || !(
   13333              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13334              : (TARGET_AVX512F) && (
   13335              : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13336              : (TARGET_AVX512DQ) && 
   13337              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13338              : (TARGET_AVX512VL))))
   13339              :         return -1;
   13340              :       return 5010; /* floatv2div2df2_mask */
   13341              : 
   13342              :     case 9:
   13343              :       if (!(
   13344              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13345              : (TARGET_AVX512F) && 
   13346              : #line 9779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13347              : (TARGET_SSE2 && TARGET_AVX512VL)))
   13348              :         return -1;
   13349              :       return 5043; /* sse2_cvtdq2pd_mask */
   13350              : 
   13351              :     default:
   13352              :       return -1;
   13353              :     }
   13354              : }
   13355              : 
   13356              :  int
   13357              : recog_214 (rtx x1 ATTRIBUTE_UNUSED,
   13358              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   13359              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   13360              : {
   13361              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   13362              :   rtx x2, x3;
   13363              :   int res ATTRIBUTE_UNUSED;
   13364              :   x2 = XEXP (x1, 1);
   13365              :   x3 = XVECEXP (x2, 0, 0);
   13366              :   operands[1] = x3;
   13367              :   switch (GET_MODE (operands[0]))
   13368              :     {
   13369              :     case E_V8HImode:
   13370              :       if (!register_operand (operands[0], E_V8HImode)
   13371              :           || GET_MODE (x2) != E_V8HImode
   13372              :           || !vector_operand (operands[1], E_V8HFmode)
   13373              :           || !(
   13374              : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13375              : (TARGET_AVX512FP16) && 
   13376              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13377              : (TARGET_AVX512VL)))
   13378              :         return -1;
   13379              :       return 4614; /* unspec_avx512fp16_fixuns_truncv8hi2 */
   13380              : 
   13381              :     case E_V16HImode:
   13382              :       if (!register_operand (operands[0], E_V16HImode)
   13383              :           || GET_MODE (x2) != E_V16HImode
   13384              :           || !vector_operand (operands[1], E_V16HFmode)
   13385              :           || !(
   13386              : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13387              : (TARGET_AVX512FP16) && 
   13388              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13389              : (TARGET_AVX512VL)))
   13390              :         return -1;
   13391              :       return 4622; /* unspec_avx512fp16_fixuns_truncv16hi2 */
   13392              : 
   13393              :     case E_V32HImode:
   13394              :       if (!register_operand (operands[0], E_V32HImode)
   13395              :           || GET_MODE (x2) != E_V32HImode
   13396              :           || !vector_operand (operands[1], E_V32HFmode)
   13397              :           || !
   13398              : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13399              : (TARGET_AVX512FP16))
   13400              :         return -1;
   13401              :       return 4630; /* unspec_avx512fp16_fixuns_truncv32hi2 */
   13402              : 
   13403              :     case E_V8SImode:
   13404              :       if (!register_operand (operands[0], E_V8SImode)
   13405              :           || GET_MODE (x2) != E_V8SImode)
   13406              :         return -1;
   13407              :       switch (GET_MODE (operands[1]))
   13408              :         {
   13409              :         case E_V8HFmode:
   13410              :           if (!vector_operand (operands[1], E_V8HFmode)
   13411              :               || !(
   13412              : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13413              : (TARGET_AVX512FP16) && 
   13414              : #line 684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13415              : (TARGET_AVX512VL)))
   13416              :             return -1;
   13417              :           return 4638; /* unspec_avx512fp16_fixuns_truncv8si2 */
   13418              : 
   13419              :         case E_V8DFmode:
   13420              :           if (!vector_operand (operands[1], E_V8DFmode)
   13421              :               || !
   13422              : #line 9949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13423              : (TARGET_AVX512F))
   13424              :             return -1;
   13425              :           return 5069; /* unspec_fixuns_truncv8dfv8si2 */
   13426              : 
   13427              :         case E_V8SFmode:
   13428              :           if (!nonimmediate_operand (operands[1], E_V8SFmode)
   13429              :               || !(
   13430              : #line 10292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13431              : (TARGET_AVX512VL) && 
   13432              : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13433              : (TARGET_AVX)))
   13434              :             return -1;
   13435              :           return 5174; /* *unspec_fixuns_truncv8sfv8si2 */
   13436              : 
   13437              :         default:
   13438              :           return -1;
   13439              :         }
   13440              : 
   13441              :     case E_V16SImode:
   13442              :       switch (pattern655 (x2, 
   13443              : E_V16SImode))
   13444              :         {
   13445              :         case 0:
   13446              :           if (!
   13447              : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13448              : (TARGET_AVX512FP16))
   13449              :             return -1;
   13450              :           return 4646; /* unspec_avx512fp16_fixuns_truncv16si2 */
   13451              : 
   13452              :         case 1:
   13453              :           if (!
   13454              : #line 9155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13455              : (TARGET_AVX512F))
   13456              :             return -1;
   13457              :           return 4920; /* unspec_fixuns_truncv16sfv16si2 */
   13458              : 
   13459              :         default:
   13460              :           return -1;
   13461              :         }
   13462              : 
   13463              :     case E_V8DImode:
   13464              :       switch (pattern656 (x2))
   13465              :         {
   13466              :         case 0:
   13467              :           if (!
   13468              : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13469              : (TARGET_AVX512FP16))
   13470              :             return -1;
   13471              :           return 4654; /* unspec_avx512fp16_fixuns_truncv8di2 */
   13472              : 
   13473              :         case 1:
   13474              :           if (!
   13475              : #line 10078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13476              : (TARGET_AVX512DQ && 1))
   13477              :             return -1;
   13478              :           return 5098; /* unspec_fixuns_truncv8dfv8di2 */
   13479              : 
   13480              :         case 2:
   13481              :           if (!
   13482              : #line 10121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13483              : (TARGET_AVX512DQ && 1))
   13484              :             return -1;
   13485              :           return 5146; /* unspec_fixuns_truncv8sfv8di2 */
   13486              : 
   13487              :         default:
   13488              :           return -1;
   13489              :         }
   13490              : 
   13491              :     case E_V4SImode:
   13492              :       if (!register_operand (operands[0], E_V4SImode)
   13493              :           || GET_MODE (x2) != E_V4SImode)
   13494              :         return -1;
   13495              :       switch (GET_MODE (operands[1]))
   13496              :         {
   13497              :         case E_V8HFmode:
   13498              :           if (!register_operand (operands[1], E_V8HFmode)
   13499              :               || !
   13500              : #line 8297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13501              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   13502              :             return -1;
   13503              :           return 4708; /* unspec_avx512fp16_fixuns_truncv4si2 */
   13504              : 
   13505              :         case E_V4DFmode:
   13506              :           if (!nonimmediate_operand (operands[1], E_V4DFmode)
   13507              :               || !
   13508              : #line 10058 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13509              : (TARGET_AVX512VL && TARGET_AVX512F))
   13510              :             return -1;
   13511              :           return 5090; /* unspec_fixuns_truncv4dfv4si2 */
   13512              : 
   13513              :         case E_V4SFmode:
   13514              :           if (!nonimmediate_operand (operands[1], E_V4SFmode)
   13515              :               || !
   13516              : #line 10292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13517              : (TARGET_AVX512VL))
   13518              :             return -1;
   13519              :           return 5176; /* *unspec_fixuns_truncv4sfv4si2 */
   13520              : 
   13521              :         default:
   13522              :           return -1;
   13523              :         }
   13524              : 
   13525              :     case E_V4DImode:
   13526              :       switch (pattern657 (x2))
   13527              :         {
   13528              :         case 0:
   13529              :           if (!
   13530              : #line 8297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13531              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   13532              :             return -1;
   13533              :           return 4712; /* unspec_avx512fp16_fixuns_truncv4di2 */
   13534              : 
   13535              :         case 1:
   13536              :           if (!(
   13537              : #line 10078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13538              : (TARGET_AVX512DQ && 1) && 
   13539              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13540              : (TARGET_AVX512VL)))
   13541              :             return -1;
   13542              :           return 5104; /* unspec_fixuns_truncv4dfv4di2 */
   13543              : 
   13544              :         case 2:
   13545              :           if (!(
   13546              : #line 10121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13547              : (TARGET_AVX512DQ && 1) && 
   13548              : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13549              : (TARGET_AVX512VL)))
   13550              :             return -1;
   13551              :           return 5152; /* unspec_fixuns_truncv4sfv4di2 */
   13552              : 
   13553              :         default:
   13554              :           return -1;
   13555              :         }
   13556              : 
   13557              :     case E_V2DImode:
   13558              :       switch (pattern658 (x2))
   13559              :         {
   13560              :         case 0:
   13561              :           if (!
   13562              : #line 8347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13563              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   13564              :             return -1;
   13565              :           return 4732; /* unspec_avx512fp16_fixuns_truncv2di2 */
   13566              : 
   13567              :         case 1:
   13568              :           if (!(
   13569              : #line 10078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13570              : (TARGET_AVX512DQ && 1) && 
   13571              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13572              : (TARGET_AVX512VL)))
   13573              :             return -1;
   13574              :           return 5108; /* unspec_fixuns_truncv2dfv2di2 */
   13575              : 
   13576              :         case 2:
   13577              :           if (!
   13578              : #line 10142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13579              : (TARGET_AVX512DQ && TARGET_AVX512VL))
   13580              :             return -1;
   13581              :           return 5168; /* unspec_avx512dq_fixuns_truncv2sfv2di2 */
   13582              : 
   13583              :         default:
   13584              :           return -1;
   13585              :         }
   13586              : 
   13587              :     default:
   13588              :       return -1;
   13589              :     }
   13590              : }
   13591              : 
   13592              :  int
   13593              : recog_228 (rtx x1 ATTRIBUTE_UNUSED,
   13594              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   13595              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   13596              : {
   13597              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   13598              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   13599              :   rtx x10, x11, x12;
   13600              :   int res ATTRIBUTE_UNUSED;
   13601              :   x2 = XEXP (x1, 1);
   13602              :   x3 = XVECEXP (x2, 0, 0);
   13603              :   x4 = XEXP (x3, 0);
   13604              :   x5 = XEXP (x4, 1);
   13605              :   operands[2] = x5;
   13606              :   x6 = XVECEXP (x2, 0, 1);
   13607              :   if (!const_4_or_8_to_11_operand (x6, E_SImode))
   13608              :     return -1;
   13609              :   x7 = XEXP (x4, 0);
   13610              :   switch (GET_CODE (x7))
   13611              :     {
   13612              :     case REG:
   13613              :     case SUBREG:
   13614              :     case MEM:
   13615              :       return recog_226 (x1, insn, pnum_clobbers);
   13616              : 
   13617              :     case NEG:
   13618              :       x8 = XEXP (x7, 0);
   13619              :       operands[1] = x8;
   13620              :       x9 = XEXP (x4, 2);
   13621              :       switch (GET_CODE (x9))
   13622              :         {
   13623              :         case REG:
   13624              :         case SUBREG:
   13625              :         case MEM:
   13626              :           operands[3] = x9;
   13627              :           x10 = XEXP (x3, 1);
   13628              :           switch (GET_CODE (x10))
   13629              :             {
   13630              :             case CONST_INT:
   13631              :             case CONST_DOUBLE:
   13632              :             case CONST_VECTOR:
   13633              :               operands[4] = x10;
   13634              :               x11 = XEXP (x3, 2);
   13635              :               operands[5] = x11;
   13636              :               operands[6] = x6;
   13637              :               switch (GET_MODE (operands[0]))
   13638              :                 {
   13639              :                 case E_V32HFmode:
   13640              :                   if (pattern1613 (x2, 
   13641              : E_SImode, 
   13642              : E_V32HFmode) != 0
   13643              :                       || !(
   13644              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13645              : (TARGET_AVX512F) && (
   13646              : #line 6555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13647              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
   13648              :                                                               || V32HFmode == V8DFmode
   13649              :                                                               || V32HFmode == V8DImode
   13650              :                                                               || V32HFmode == V16SImode
   13651              :                                                               || V32HFmode == V32HFmode)) && 
   13652              : #line 6333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13653              : (TARGET_AVX512FP16))))
   13654              :                     return -1;
   13655              :                   return 4011; /* fma_fnmadd_v32hf_maskz_1_round */
   13656              : 
   13657              :                 case E_V16SFmode:
   13658              :                   if (pattern1613 (x2, 
   13659              : E_HImode, 
   13660              : E_V16SFmode) != 0
   13661              :                       || !(
   13662              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13663              : (TARGET_AVX512F) && 
   13664              : #line 6555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13665              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
   13666              :                                                               || V16SFmode == V8DFmode
   13667              :                                                               || V16SFmode == V8DImode
   13668              :                                                               || V16SFmode == V16SImode
   13669              :                                                               || V16SFmode == V32HFmode))))
   13670              :                     return -1;
   13671              :                   return 4021; /* fma_fnmadd_v16sf_maskz_1_round */
   13672              : 
   13673              :                 case E_V8DFmode:
   13674              :                   if (pattern1613 (x2, 
   13675              : E_QImode, 
   13676              : E_V8DFmode) != 0
   13677              :                       || !(
   13678              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13679              : (TARGET_AVX512F) && 
   13680              : #line 6555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13681              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
   13682              :                                                               || V8DFmode == V8DFmode
   13683              :                                                               || V8DFmode == V8DImode
   13684              :                                                               || V8DFmode == V16SImode
   13685              :                                                               || V8DFmode == V32HFmode))))
   13686              :                     return -1;
   13687              :                   return 4030; /* fma_fnmadd_v8df_maskz_1_round */
   13688              : 
   13689              :                 default:
   13690              :                   return -1;
   13691              :                 }
   13692              : 
   13693              :             case REG:
   13694              :             case SUBREG:
   13695              :             case MEM:
   13696              :               x11 = XEXP (x3, 2);
   13697              :               switch (GET_CODE (x11))
   13698              :                 {
   13699              :                 case REG:
   13700              :                 case SUBREG:
   13701              :                   operands[4] = x11;
   13702              :                   operands[5] = x6;
   13703              :                   switch (GET_MODE (operands[0]))
   13704              :                     {
   13705              :                     case E_V32HFmode:
   13706              :                       if (pattern1614 (x2, 
   13707              : E_SImode, 
   13708              : E_V32HFmode) != 0)
   13709              :                         return -1;
   13710              :                       if (nonimmediate_operand (operands[1], E_V32HFmode)
   13711              :                           && register_operand (operands[3], E_V32HFmode)
   13712              :                           && rtx_equal_p (x10, operands[1])
   13713              :                           && (
   13714              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13715              : (TARGET_AVX512F) && (
   13716              : #line 6598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13717              : (TARGET_AVX512F && (V32HFmode == V16SFmode
   13718              :                                                               || V32HFmode == V8DFmode
   13719              :                                                               || V32HFmode == V8DImode
   13720              :                                                               || V32HFmode == V16SImode
   13721              :                                                               || V32HFmode == V32HFmode)) && 
   13722              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13723              : (TARGET_AVX512FP16))))
   13724              :                         return 4036; /* avx512bw_fnmadd_v32hf_mask_round */
   13725              :                       if (!register_operand (operands[1], E_V32HFmode)
   13726              :                           || !nonimmediate_operand (operands[3], E_V32HFmode)
   13727              :                           || !rtx_equal_p (x10, operands[3])
   13728              :                           || !(
   13729              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13730              : (TARGET_AVX512F) && (
   13731              : #line 6616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13732              : (TARGET_AVX512F && (V32HFmode == V16SFmode
   13733              :                                                               || V32HFmode == V8DFmode
   13734              :                                                               || V32HFmode == V8DImode
   13735              :                                                               || V32HFmode == V16SImode
   13736              :                                                               || V32HFmode == V32HFmode)) && 
   13737              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13738              : (TARGET_AVX512FP16))))
   13739              :                         return -1;
   13740              :                       return 4048; /* avx512bw_fnmadd_v32hf_mask3_round */
   13741              : 
   13742              :                     case E_V16SFmode:
   13743              :                       if (pattern1614 (x2, 
   13744              : E_HImode, 
   13745              : E_V16SFmode) != 0)
   13746              :                         return -1;
   13747              :                       if (nonimmediate_operand (operands[1], E_V16SFmode)
   13748              :                           && register_operand (operands[3], E_V16SFmode)
   13749              :                           && rtx_equal_p (x10, operands[1])
   13750              :                           && (
   13751              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13752              : (TARGET_AVX512F) && 
   13753              : #line 6598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13754              : (TARGET_AVX512F && (V16SFmode == V16SFmode
   13755              :                                                               || V16SFmode == V8DFmode
   13756              :                                                               || V16SFmode == V8DImode
   13757              :                                                               || V16SFmode == V16SImode
   13758              :                                                               || V16SFmode == V32HFmode))))
   13759              :                         return 4040; /* avx512f_fnmadd_v16sf_mask_round */
   13760              :                       if (!register_operand (operands[1], E_V16SFmode)
   13761              :                           || !nonimmediate_operand (operands[3], E_V16SFmode)
   13762              :                           || !rtx_equal_p (x10, operands[3])
   13763              :                           || !(
   13764              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13765              : (TARGET_AVX512F) && 
   13766              : #line 6616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13767              : (TARGET_AVX512F && (V16SFmode == V16SFmode
   13768              :                                                               || V16SFmode == V8DFmode
   13769              :                                                               || V16SFmode == V8DImode
   13770              :                                                               || V16SFmode == V16SImode
   13771              :                                                               || V16SFmode == V32HFmode))))
   13772              :                         return -1;
   13773              :                       return 4052; /* avx512f_fnmadd_v16sf_mask3_round */
   13774              : 
   13775              :                     case E_V8DFmode:
   13776              :                       if (pattern1614 (x2, 
   13777              : E_QImode, 
   13778              : E_V8DFmode) != 0)
   13779              :                         return -1;
   13780              :                       if (nonimmediate_operand (operands[1], E_V8DFmode)
   13781              :                           && register_operand (operands[3], E_V8DFmode)
   13782              :                           && rtx_equal_p (x10, operands[1])
   13783              :                           && (
   13784              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13785              : (TARGET_AVX512F) && 
   13786              : #line 6598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13787              : (TARGET_AVX512F && (V8DFmode == V16SFmode
   13788              :                                                               || V8DFmode == V8DFmode
   13789              :                                                               || V8DFmode == V8DImode
   13790              :                                                               || V8DFmode == V16SImode
   13791              :                                                               || V8DFmode == V32HFmode))))
   13792              :                         return 4044; /* avx512f_fnmadd_v8df_mask_round */
   13793              :                       if (!register_operand (operands[1], E_V8DFmode)
   13794              :                           || !nonimmediate_operand (operands[3], E_V8DFmode)
   13795              :                           || !rtx_equal_p (x10, operands[3])
   13796              :                           || !(
   13797              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13798              : (TARGET_AVX512F) && 
   13799              : #line 6616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13800              : (TARGET_AVX512F && (V8DFmode == V16SFmode
   13801              :                                                               || V8DFmode == V8DFmode
   13802              :                                                               || V8DFmode == V8DImode
   13803              :                                                               || V8DFmode == V16SImode
   13804              :                                                               || V8DFmode == V32HFmode))))
   13805              :                         return -1;
   13806              :                       return 4056; /* avx512f_fnmadd_v8df_mask3_round */
   13807              : 
   13808              :                     default:
   13809              :                       return -1;
   13810              :                     }
   13811              : 
   13812              :                 case CONST_INT:
   13813              :                   if (XWINT (x11, 0) != 1L)
   13814              :                     return -1;
   13815              :                   operands[4] = x6;
   13816              :                   if (!rtx_equal_p (x10, operands[1]))
   13817              :                     return -1;
   13818              :                   switch (GET_MODE (operands[0]))
   13819              :                     {
   13820              :                     case E_V8HFmode:
   13821              :                       if (pattern1673 (x2, 
   13822              : E_V8HFmode) != 0
   13823              :                           || !(
   13824              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13825              : (TARGET_AVX512F) && (
   13826              : #line 7036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13827              : (TARGET_FMA || TARGET_AVX512F) && 
   13828              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13829              : (TARGET_AVX512FP16))))
   13830              :                         return -1;
   13831              :                       return 4277; /* *fmai_fnmadd_v8hf_round */
   13832              : 
   13833              :                     case E_V4SFmode:
   13834              :                       if (pattern1673 (x2, 
   13835              : E_V4SFmode) != 0
   13836              :                           || !(
   13837              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13838              : (TARGET_AVX512F) && 
   13839              : #line 7036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13840              : (TARGET_FMA || TARGET_AVX512F)))
   13841              :                         return -1;
   13842              :                       return 4279; /* *fmai_fnmadd_v4sf_round */
   13843              : 
   13844              :                     case E_V2DFmode:
   13845              :                       if (pattern1673 (x2, 
   13846              : E_V2DFmode) != 0
   13847              :                           || !(
   13848              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13849              : (TARGET_AVX512F) && (
   13850              : #line 7036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13851              : (TARGET_FMA || TARGET_AVX512F) && 
   13852              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13853              : (TARGET_SSE2))))
   13854              :                         return -1;
   13855              :                       return 4281; /* *fmai_fnmadd_v2df_round */
   13856              : 
   13857              :                     default:
   13858              :                       return -1;
   13859              :                     }
   13860              : 
   13861              :                 default:
   13862              :                   return -1;
   13863              :                 }
   13864              : 
   13865              :             default:
   13866              :               return -1;
   13867              :             }
   13868              : 
   13869              :         case NEG:
   13870              :           x12 = XEXP (x9, 0);
   13871              :           operands[3] = x12;
   13872              :           x10 = XEXP (x3, 1);
   13873              :           switch (GET_CODE (x10))
   13874              :             {
   13875              :             case CONST_INT:
   13876              :             case CONST_DOUBLE:
   13877              :             case CONST_VECTOR:
   13878              :               operands[4] = x10;
   13879              :               x11 = XEXP (x3, 2);
   13880              :               operands[5] = x11;
   13881              :               operands[6] = x6;
   13882              :               switch (GET_MODE (operands[0]))
   13883              :                 {
   13884              :                 case E_V4SFmode:
   13885              :                   if (pattern1615 (x2, 
   13886              : E_V4SFmode) != 0
   13887              :                       || !(
   13888              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13889              : (TARGET_AVX512F) && 
   13890              : #line 6630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13891              : (TARGET_FMA || TARGET_FMA4)))
   13892              :                     return -1;
   13893              :                   return 4066; /* *fma_fnmsub_v4sf */
   13894              : 
   13895              :                 case E_V2DFmode:
   13896              :                   if (pattern1615 (x2, 
   13897              : E_V2DFmode) != 0
   13898              :                       || !(
   13899              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13900              : (TARGET_AVX512F) && 
   13901              : #line 6630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13902              : (TARGET_FMA || TARGET_FMA4)))
   13903              :                     return -1;
   13904              :                   return 4070; /* *fma_fnmsub_v2df */
   13905              : 
   13906              :                 case E_V8SFmode:
   13907              :                   if (pattern1615 (x2, 
   13908              : E_V8SFmode) != 0
   13909              :                       || !(
   13910              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13911              : (TARGET_AVX512F) && 
   13912              : #line 6630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13913              : (TARGET_FMA || TARGET_FMA4)))
   13914              :                     return -1;
   13915              :                   return 4074; /* *fma_fnmsub_v8sf */
   13916              : 
   13917              :                 case E_V4DFmode:
   13918              :                   if (pattern1615 (x2, 
   13919              : E_V4DFmode) != 0
   13920              :                       || !(
   13921              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13922              : (TARGET_AVX512F) && 
   13923              : #line 6630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13924              : (TARGET_FMA || TARGET_FMA4)))
   13925              :                     return -1;
   13926              :                   return 4078; /* *fma_fnmsub_v4df */
   13927              : 
   13928              :                 case E_V32HFmode:
   13929              :                   if (pattern1616 (x2, 
   13930              : E_SImode, 
   13931              : E_V32HFmode) != 0
   13932              :                       || !(
   13933              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13934              : (TARGET_AVX512F) && (
   13935              : #line 6663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13936              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
   13937              :                                                               || V32HFmode == V8DFmode
   13938              :                                                               || V32HFmode == V8DImode
   13939              :                                                               || V32HFmode == V16SImode
   13940              :                                                               || V32HFmode == V32HFmode)) && 
   13941              : #line 6333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13942              : (TARGET_AVX512FP16))))
   13943              :                     return -1;
   13944              :                   return 4082; /* fma_fnmsub_v32hf_maskz_1_round */
   13945              : 
   13946              :                 case E_V16SFmode:
   13947              :                   if (pattern1616 (x2, 
   13948              : E_HImode, 
   13949              : E_V16SFmode) != 0
   13950              :                       || !(
   13951              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13952              : (TARGET_AVX512F) && 
   13953              : #line 6663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13954              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
   13955              :                                                               || V16SFmode == V8DFmode
   13956              :                                                               || V16SFmode == V8DImode
   13957              :                                                               || V16SFmode == V16SImode
   13958              :                                                               || V16SFmode == V32HFmode))))
   13959              :                     return -1;
   13960              :                   return 4092; /* fma_fnmsub_v16sf_maskz_1_round */
   13961              : 
   13962              :                 case E_V8DFmode:
   13963              :                   if (pattern1616 (x2, 
   13964              : E_QImode, 
   13965              : E_V8DFmode) != 0
   13966              :                       || !(
   13967              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13968              : (TARGET_AVX512F) && 
   13969              : #line 6663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13970              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
   13971              :                                                               || V8DFmode == V8DFmode
   13972              :                                                               || V8DFmode == V8DImode
   13973              :                                                               || V8DFmode == V16SImode
   13974              :                                                               || V8DFmode == V32HFmode))))
   13975              :                     return -1;
   13976              :                   return 4101; /* fma_fnmsub_v8df_maskz_1_round */
   13977              : 
   13978              :                 default:
   13979              :                   return -1;
   13980              :                 }
   13981              : 
   13982              :             case REG:
   13983              :             case SUBREG:
   13984              :             case MEM:
   13985              :               switch (pattern1418 (x2))
   13986              :                 {
   13987              :                 case 0:
   13988              :                   if (pattern1617 (x2, 
   13989              : E_SImode, 
   13990              : E_V32HFmode) != 0)
   13991              :                     return -1;
   13992              :                   if (nonimmediate_operand (operands[1], E_V32HFmode)
   13993              :                       && register_operand (operands[3], E_V32HFmode)
   13994              :                       && rtx_equal_p (x10, operands[1])
   13995              :                       && (
   13996              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13997              : (TARGET_AVX512F) && (
   13998              : #line 6708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13999              : (TARGET_AVX512F && (V32HFmode == V16SFmode
   14000              :                                                               || V32HFmode == V8DFmode
   14001              :                                                               || V32HFmode == V8DImode
   14002              :                                                               || V32HFmode == V16SImode
   14003              :                                                               || V32HFmode == V32HFmode)) && 
   14004              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14005              : (TARGET_AVX512FP16))))
   14006              :                     return 4107; /* avx512bw_fnmsub_v32hf_mask_round */
   14007              :                   if (!register_operand (operands[1], E_V32HFmode)
   14008              :                       || !nonimmediate_operand (operands[3], E_V32HFmode)
   14009              :                       || !rtx_equal_p (x10, operands[3])
   14010              :                       || !(
   14011              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14012              : (TARGET_AVX512F) && (
   14013              : #line 6727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14014              : (TARGET_AVX512F) && 
   14015              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14016              : (TARGET_AVX512FP16))))
   14017              :                     return -1;
   14018              :                   return 4119; /* avx512bw_fnmsub_v32hf_mask3_round */
   14019              : 
   14020              :                 case 1:
   14021              :                   if (pattern1617 (x2, 
   14022              : E_HImode, 
   14023              : E_V16SFmode) != 0)
   14024              :                     return -1;
   14025              :                   if (nonimmediate_operand (operands[1], E_V16SFmode)
   14026              :                       && register_operand (operands[3], E_V16SFmode)
   14027              :                       && rtx_equal_p (x10, operands[1])
   14028              :                       && (
   14029              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14030              : (TARGET_AVX512F) && 
   14031              : #line 6708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14032              : (TARGET_AVX512F && (V16SFmode == V16SFmode
   14033              :                                                               || V16SFmode == V8DFmode
   14034              :                                                               || V16SFmode == V8DImode
   14035              :                                                               || V16SFmode == V16SImode
   14036              :                                                               || V16SFmode == V32HFmode))))
   14037              :                     return 4111; /* avx512f_fnmsub_v16sf_mask_round */
   14038              :                   if (!register_operand (operands[1], E_V16SFmode)
   14039              :                       || !nonimmediate_operand (operands[3], E_V16SFmode)
   14040              :                       || !rtx_equal_p (x10, operands[3])
   14041              :                       || !
   14042              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14043              : (TARGET_AVX512F))
   14044              :                     return -1;
   14045              :                   return 4125; /* avx512f_fnmsub_v16sf_mask3_round */
   14046              : 
   14047              :                 case 2:
   14048              :                   if (pattern1617 (x2, 
   14049              : E_QImode, 
   14050              : E_V8DFmode) != 0)
   14051              :                     return -1;
   14052              :                   if (nonimmediate_operand (operands[1], E_V8DFmode)
   14053              :                       && register_operand (operands[3], E_V8DFmode)
   14054              :                       && rtx_equal_p (x10, operands[1])
   14055              :                       && (
   14056              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14057              : (TARGET_AVX512F) && 
   14058              : #line 6708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14059              : (TARGET_AVX512F && (V8DFmode == V16SFmode
   14060              :                                                               || V8DFmode == V8DFmode
   14061              :                                                               || V8DFmode == V8DImode
   14062              :                                                               || V8DFmode == V16SImode
   14063              :                                                               || V8DFmode == V32HFmode))))
   14064              :                     return 4115; /* avx512f_fnmsub_v8df_mask_round */
   14065              :                   if (!register_operand (operands[1], E_V8DFmode)
   14066              :                       || !nonimmediate_operand (operands[3], E_V8DFmode)
   14067              :                       || !rtx_equal_p (x10, operands[3])
   14068              :                       || !
   14069              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14070              : (TARGET_AVX512F))
   14071              :                     return -1;
   14072              :                   return 4131; /* avx512f_fnmsub_v8df_mask3_round */
   14073              : 
   14074              :                 case 3:
   14075              :                   if (pattern1618 (x2, 
   14076              : E_V16HFmode, 
   14077              : E_HImode) != 0
   14078              :                       || !(
   14079              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14080              : (TARGET_AVX512F) && (
   14081              : #line 6727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14082              : (TARGET_AVX512F) && 
   14083              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14084              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14085              :                     return -1;
   14086              :                   return 4121; /* avx512vl_fnmsub_v16hf_mask3_round */
   14087              : 
   14088              :                 case 4:
   14089              :                   if (pattern1618 (x2, 
   14090              : E_V8HFmode, 
   14091              : E_QImode) != 0
   14092              :                       || !(
   14093              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14094              : (TARGET_AVX512F) && (
   14095              : #line 6727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14096              : (TARGET_AVX512F) && 
   14097              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14098              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14099              :                     return -1;
   14100              :                   return 4123; /* avx512fp16_fnmsub_v8hf_mask3_round */
   14101              : 
   14102              :                 case 5:
   14103              :                   if (pattern1618 (x2, 
   14104              : E_V8SFmode, 
   14105              : E_QImode) != 0
   14106              :                       || !(
   14107              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14108              : (TARGET_AVX512F) && (
   14109              : #line 6727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14110              : (TARGET_AVX512F) && 
   14111              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14112              : (TARGET_AVX512VL))))
   14113              :                     return -1;
   14114              :                   return 4127; /* avx512vl_fnmsub_v8sf_mask3_round */
   14115              : 
   14116              :                 case 6:
   14117              :                   if (pattern1618 (x2, 
   14118              : E_V4SFmode, 
   14119              : E_QImode) != 0
   14120              :                       || !(
   14121              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14122              : (TARGET_AVX512F) && (
   14123              : #line 6727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14124              : (TARGET_AVX512F) && 
   14125              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14126              : (TARGET_AVX512VL))))
   14127              :                     return -1;
   14128              :                   return 4129; /* avx512vl_fnmsub_v4sf_mask3_round */
   14129              : 
   14130              :                 case 7:
   14131              :                   if (pattern1618 (x2, 
   14132              : E_V4DFmode, 
   14133              : E_QImode) != 0
   14134              :                       || !(
   14135              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14136              : (TARGET_AVX512F) && (
   14137              : #line 6727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14138              : (TARGET_AVX512F) && 
   14139              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14140              : (TARGET_AVX512VL))))
   14141              :                     return -1;
   14142              :                   return 4133; /* avx512vl_fnmsub_v4df_mask3_round */
   14143              : 
   14144              :                 case 8:
   14145              :                   if (pattern1618 (x2, 
   14146              : E_V2DFmode, 
   14147              : E_QImode) != 0
   14148              :                       || !(
   14149              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14150              : (TARGET_AVX512F) && (
   14151              : #line 6727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14152              : (TARGET_AVX512F) && 
   14153              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14154              : (TARGET_AVX512VL))))
   14155              :                     return -1;
   14156              :                   return 4135; /* avx512vl_fnmsub_v2df_mask3_round */
   14157              : 
   14158              :                 case 9:
   14159              :                   if (pattern1674 (x2, 
   14160              : E_V8HFmode) != 0
   14161              :                       || !(
   14162              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14163              : (TARGET_AVX512F) && (
   14164              : #line 7055 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14165              : (TARGET_FMA || TARGET_AVX512F) && 
   14166              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14167              : (TARGET_AVX512FP16))))
   14168              :                     return -1;
   14169              :                   return 4283; /* *fmai_fnmsub_v8hf_round */
   14170              : 
   14171              :                 case 10:
   14172              :                   if (pattern1674 (x2, 
   14173              : E_V4SFmode) != 0
   14174              :                       || !(
   14175              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14176              : (TARGET_AVX512F) && 
   14177              : #line 7055 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14178              : (TARGET_FMA || TARGET_AVX512F)))
   14179              :                     return -1;
   14180              :                   return 4285; /* *fmai_fnmsub_v4sf_round */
   14181              : 
   14182              :                 case 11:
   14183              :                   if (pattern1674 (x2, 
   14184              : E_V2DFmode) != 0
   14185              :                       || !(
   14186              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14187              : (TARGET_AVX512F) && (
   14188              : #line 7055 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14189              : (TARGET_FMA || TARGET_AVX512F) && 
   14190              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14191              : (TARGET_SSE2))))
   14192              :                     return -1;
   14193              :                   return 4287; /* *fmai_fnmsub_v2df_round */
   14194              : 
   14195              :                 default:
   14196              :                   return -1;
   14197              :                 }
   14198              : 
   14199              :             default:
   14200              :               return -1;
   14201              :             }
   14202              : 
   14203              :         default:
   14204              :           return -1;
   14205              :         }
   14206              : 
   14207              :     default:
   14208              :       return -1;
   14209              :     }
   14210              : }
   14211              : 
   14212              :  int
   14213              : recog_235 (rtx x1 ATTRIBUTE_UNUSED,
   14214              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   14215              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   14216              : {
   14217              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   14218              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   14219              :   int res ATTRIBUTE_UNUSED;
   14220              :   x2 = XEXP (x1, 0);
   14221              :   operands[0] = x2;
   14222              :   x3 = XEXP (x1, 1);
   14223              :   x4 = XVECEXP (x3, 0, 0);
   14224              :   switch (GET_CODE (x4))
   14225              :     {
   14226              :     case PLUS:
   14227              :       switch (pattern494 (x3))
   14228              :         {
   14229              :         case 0:
   14230              :           if (!(
   14231              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14232              : (TARGET_AVX512F) && (
   14233              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14234              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V32HFmode, operands)
   14235              :    && 1 && (V32HFmode == V16SFmode
   14236              :                                                               || V32HFmode == V8DFmode
   14237              :                                                               || V32HFmode == V8DImode
   14238              :                                                               || V32HFmode == V16SImode
   14239              :                                                               || V32HFmode == V32HFmode)) && 
   14240              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14241              : (TARGET_AVX512FP16))))
   14242              :             return -1;
   14243              :           return 2753; /* *addv32hf3_round */
   14244              : 
   14245              :         case 1:
   14246              :           if (!(
   14247              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14248              : (TARGET_AVX512F) && (
   14249              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14250              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16HFmode, operands)
   14251              :    && 1 && (V16HFmode == V16SFmode
   14252              :                                                               || V16HFmode == V8DFmode
   14253              :                                                               || V16HFmode == V8DImode
   14254              :                                                               || V16HFmode == V16SImode
   14255              :                                                               || V16HFmode == V32HFmode)) && 
   14256              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14257              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14258              :             return -1;
   14259              :           return 2761; /* *addv16hf3_round */
   14260              : 
   14261              :         case 2:
   14262              :           if (!(
   14263              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14264              : (TARGET_AVX512F) && (
   14265              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14266              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8HFmode, operands)
   14267              :    && 1 && (V8HFmode == V16SFmode
   14268              :                                                               || V8HFmode == V8DFmode
   14269              :                                                               || V8HFmode == V8DImode
   14270              :                                                               || V8HFmode == V16SImode
   14271              :                                                               || V8HFmode == V32HFmode)) && 
   14272              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14273              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14274              :             return -1;
   14275              :           return 2769; /* *addv8hf3_round */
   14276              : 
   14277              :         case 3:
   14278              :           if (!(
   14279              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14280              : (TARGET_AVX512F) && (
   14281              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14282              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16SFmode, operands)
   14283              :    && 1 && (V16SFmode == V16SFmode
   14284              :                                                               || V16SFmode == V8DFmode
   14285              :                                                               || V16SFmode == V8DImode
   14286              :                                                               || V16SFmode == V16SImode
   14287              :                                                               || V16SFmode == V32HFmode)) && 
   14288              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14289              : (TARGET_AVX512F))))
   14290              :             return -1;
   14291              :           return 2777; /* *addv16sf3_round */
   14292              : 
   14293              :         case 4:
   14294              :           if (!(
   14295              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14296              : (TARGET_AVX512F) && (
   14297              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14298              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8SFmode, operands)
   14299              :    && 1 && (V8SFmode == V16SFmode
   14300              :                                                               || V8SFmode == V8DFmode
   14301              :                                                               || V8SFmode == V8DImode
   14302              :                                                               || V8SFmode == V16SImode
   14303              :                                                               || V8SFmode == V32HFmode)) && 
   14304              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14305              : (TARGET_AVX))))
   14306              :             return -1;
   14307              :           return 2785; /* *addv8sf3_round */
   14308              : 
   14309              :         case 5:
   14310              :           if (!(
   14311              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14312              : (TARGET_AVX512F) && 
   14313              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14314              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4SFmode, operands)
   14315              :    && 1 && (V4SFmode == V16SFmode
   14316              :                                                               || V4SFmode == V8DFmode
   14317              :                                                               || V4SFmode == V8DImode
   14318              :                                                               || V4SFmode == V16SImode
   14319              :                                                               || V4SFmode == V32HFmode))))
   14320              :             return -1;
   14321              :           return 2793; /* *addv4sf3_round */
   14322              : 
   14323              :         case 6:
   14324              :           if (!(
   14325              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14326              : (TARGET_AVX512F) && (
   14327              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14328              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8DFmode, operands)
   14329              :    && 1 && (V8DFmode == V16SFmode
   14330              :                                                               || V8DFmode == V8DFmode
   14331              :                                                               || V8DFmode == V8DImode
   14332              :                                                               || V8DFmode == V16SImode
   14333              :                                                               || V8DFmode == V32HFmode)) && 
   14334              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14335              : (TARGET_AVX512F))))
   14336              :             return -1;
   14337              :           return 2801; /* *addv8df3_round */
   14338              : 
   14339              :         case 7:
   14340              :           if (!(
   14341              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14342              : (TARGET_AVX512F) && (
   14343              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14344              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4DFmode, operands)
   14345              :    && 1 && (V4DFmode == V16SFmode
   14346              :                                                               || V4DFmode == V8DFmode
   14347              :                                                               || V4DFmode == V8DImode
   14348              :                                                               || V4DFmode == V16SImode
   14349              :                                                               || V4DFmode == V32HFmode)) && 
   14350              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14351              : (TARGET_AVX))))
   14352              :             return -1;
   14353              :           return 2809; /* *addv4df3_round */
   14354              : 
   14355              :         case 8:
   14356              :           if (!(
   14357              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14358              : (TARGET_AVX512F) && (
   14359              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14360              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V2DFmode, operands)
   14361              :    && 1 && (V2DFmode == V16SFmode
   14362              :                                                               || V2DFmode == V8DFmode
   14363              :                                                               || V2DFmode == V8DImode
   14364              :                                                               || V2DFmode == V16SImode
   14365              :                                                               || V2DFmode == V32HFmode)) && 
   14366              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14367              : (TARGET_SSE2))))
   14368              :             return -1;
   14369              :           return 2817; /* *addv2df3_round */
   14370              : 
   14371              :         default:
   14372              :           return -1;
   14373              :         }
   14374              : 
   14375              :     case VEC_MERGE:
   14376              :       return recog_232 (x1, insn, pnum_clobbers);
   14377              : 
   14378              :     case MINUS:
   14379              :       switch (pattern494 (x3))
   14380              :         {
   14381              :         case 0:
   14382              :           if (!(
   14383              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14384              : (TARGET_AVX512F) && (
   14385              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14386              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V32HFmode, operands)
   14387              :    && 1 && (V32HFmode == V16SFmode
   14388              :                                                               || V32HFmode == V8DFmode
   14389              :                                                               || V32HFmode == V8DImode
   14390              :                                                               || V32HFmode == V16SImode
   14391              :                                                               || V32HFmode == V32HFmode)) && 
   14392              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14393              : (TARGET_AVX512FP16))))
   14394              :             return -1;
   14395              :           return 2757; /* *subv32hf3_round */
   14396              : 
   14397              :         case 1:
   14398              :           if (!(
   14399              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14400              : (TARGET_AVX512F) && (
   14401              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14402              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16HFmode, operands)
   14403              :    && 1 && (V16HFmode == V16SFmode
   14404              :                                                               || V16HFmode == V8DFmode
   14405              :                                                               || V16HFmode == V8DImode
   14406              :                                                               || V16HFmode == V16SImode
   14407              :                                                               || V16HFmode == V32HFmode)) && 
   14408              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14409              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14410              :             return -1;
   14411              :           return 2765; /* *subv16hf3_round */
   14412              : 
   14413              :         case 2:
   14414              :           if (!(
   14415              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14416              : (TARGET_AVX512F) && (
   14417              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14418              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8HFmode, operands)
   14419              :    && 1 && (V8HFmode == V16SFmode
   14420              :                                                               || V8HFmode == V8DFmode
   14421              :                                                               || V8HFmode == V8DImode
   14422              :                                                               || V8HFmode == V16SImode
   14423              :                                                               || V8HFmode == V32HFmode)) && 
   14424              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14425              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14426              :             return -1;
   14427              :           return 2773; /* *subv8hf3_round */
   14428              : 
   14429              :         case 3:
   14430              :           if (!(
   14431              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14432              : (TARGET_AVX512F) && (
   14433              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14434              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16SFmode, operands)
   14435              :    && 1 && (V16SFmode == V16SFmode
   14436              :                                                               || V16SFmode == V8DFmode
   14437              :                                                               || V16SFmode == V8DImode
   14438              :                                                               || V16SFmode == V16SImode
   14439              :                                                               || V16SFmode == V32HFmode)) && 
   14440              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14441              : (TARGET_AVX512F))))
   14442              :             return -1;
   14443              :           return 2781; /* *subv16sf3_round */
   14444              : 
   14445              :         case 4:
   14446              :           if (!(
   14447              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14448              : (TARGET_AVX512F) && (
   14449              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14450              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8SFmode, operands)
   14451              :    && 1 && (V8SFmode == V16SFmode
   14452              :                                                               || V8SFmode == V8DFmode
   14453              :                                                               || V8SFmode == V8DImode
   14454              :                                                               || V8SFmode == V16SImode
   14455              :                                                               || V8SFmode == V32HFmode)) && 
   14456              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14457              : (TARGET_AVX))))
   14458              :             return -1;
   14459              :           return 2789; /* *subv8sf3_round */
   14460              : 
   14461              :         case 5:
   14462              :           if (!(
   14463              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14464              : (TARGET_AVX512F) && 
   14465              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14466              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4SFmode, operands)
   14467              :    && 1 && (V4SFmode == V16SFmode
   14468              :                                                               || V4SFmode == V8DFmode
   14469              :                                                               || V4SFmode == V8DImode
   14470              :                                                               || V4SFmode == V16SImode
   14471              :                                                               || V4SFmode == V32HFmode))))
   14472              :             return -1;
   14473              :           return 2797; /* *subv4sf3_round */
   14474              : 
   14475              :         case 6:
   14476              :           if (!(
   14477              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14478              : (TARGET_AVX512F) && (
   14479              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14480              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8DFmode, operands)
   14481              :    && 1 && (V8DFmode == V16SFmode
   14482              :                                                               || V8DFmode == V8DFmode
   14483              :                                                               || V8DFmode == V8DImode
   14484              :                                                               || V8DFmode == V16SImode
   14485              :                                                               || V8DFmode == V32HFmode)) && 
   14486              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14487              : (TARGET_AVX512F))))
   14488              :             return -1;
   14489              :           return 2805; /* *subv8df3_round */
   14490              : 
   14491              :         case 7:
   14492              :           if (!(
   14493              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14494              : (TARGET_AVX512F) && (
   14495              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14496              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4DFmode, operands)
   14497              :    && 1 && (V4DFmode == V16SFmode
   14498              :                                                               || V4DFmode == V8DFmode
   14499              :                                                               || V4DFmode == V8DImode
   14500              :                                                               || V4DFmode == V16SImode
   14501              :                                                               || V4DFmode == V32HFmode)) && 
   14502              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14503              : (TARGET_AVX))))
   14504              :             return -1;
   14505              :           return 2813; /* *subv4df3_round */
   14506              : 
   14507              :         case 8:
   14508              :           if (!(
   14509              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14510              : (TARGET_AVX512F) && (
   14511              : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14512              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V2DFmode, operands)
   14513              :    && 1 && (V2DFmode == V16SFmode
   14514              :                                                               || V2DFmode == V8DFmode
   14515              :                                                               || V2DFmode == V8DImode
   14516              :                                                               || V2DFmode == V16SImode
   14517              :                                                               || V2DFmode == V32HFmode)) && 
   14518              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14519              : (TARGET_SSE2))))
   14520              :             return -1;
   14521              :           return 2821; /* *subv2df3_round */
   14522              : 
   14523              :         default:
   14524              :           return -1;
   14525              :         }
   14526              : 
   14527              :     case MULT:
   14528              :       switch (pattern494 (x3))
   14529              :         {
   14530              :         case 0:
   14531              :           if (!(
   14532              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14533              : (TARGET_AVX512F) && (
   14534              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14535              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V32HFmode, operands)
   14536              :    && 1 && (V32HFmode == V16SFmode
   14537              :                                                               || V32HFmode == V8DFmode
   14538              :                                                               || V32HFmode == V8DImode
   14539              :                                                               || V32HFmode == V16SImode
   14540              :                                                               || V32HFmode == V32HFmode)) && 
   14541              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14542              : (TARGET_AVX512FP16))))
   14543              :             return -1;
   14544              :           return 2855; /* *mulv32hf3_round */
   14545              : 
   14546              :         case 1:
   14547              :           if (!(
   14548              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14549              : (TARGET_AVX512F) && (
   14550              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14551              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16HFmode, operands)
   14552              :    && 1 && (V16HFmode == V16SFmode
   14553              :                                                               || V16HFmode == V8DFmode
   14554              :                                                               || V16HFmode == V8DImode
   14555              :                                                               || V16HFmode == V16SImode
   14556              :                                                               || V16HFmode == V32HFmode)) && 
   14557              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14558              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14559              :             return -1;
   14560              :           return 2859; /* *mulv16hf3_round */
   14561              : 
   14562              :         case 2:
   14563              :           if (!(
   14564              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14565              : (TARGET_AVX512F) && (
   14566              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14567              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8HFmode, operands)
   14568              :    && 1 && (V8HFmode == V16SFmode
   14569              :                                                               || V8HFmode == V8DFmode
   14570              :                                                               || V8HFmode == V8DImode
   14571              :                                                               || V8HFmode == V16SImode
   14572              :                                                               || V8HFmode == V32HFmode)) && 
   14573              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14574              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14575              :             return -1;
   14576              :           return 2863; /* *mulv8hf3_round */
   14577              : 
   14578              :         case 3:
   14579              :           if (!(
   14580              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14581              : (TARGET_AVX512F) && (
   14582              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14583              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16SFmode, operands)
   14584              :    && 1 && (V16SFmode == V16SFmode
   14585              :                                                               || V16SFmode == V8DFmode
   14586              :                                                               || V16SFmode == V8DImode
   14587              :                                                               || V16SFmode == V16SImode
   14588              :                                                               || V16SFmode == V32HFmode)) && 
   14589              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14590              : (TARGET_AVX512F))))
   14591              :             return -1;
   14592              :           return 2867; /* *mulv16sf3_round */
   14593              : 
   14594              :         case 4:
   14595              :           if (!(
   14596              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14597              : (TARGET_AVX512F) && (
   14598              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14599              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8SFmode, operands)
   14600              :    && 1 && (V8SFmode == V16SFmode
   14601              :                                                               || V8SFmode == V8DFmode
   14602              :                                                               || V8SFmode == V8DImode
   14603              :                                                               || V8SFmode == V16SImode
   14604              :                                                               || V8SFmode == V32HFmode)) && 
   14605              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14606              : (TARGET_AVX))))
   14607              :             return -1;
   14608              :           return 2871; /* *mulv8sf3_round */
   14609              : 
   14610              :         case 5:
   14611              :           if (!(
   14612              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14613              : (TARGET_AVX512F) && 
   14614              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14615              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4SFmode, operands)
   14616              :    && 1 && (V4SFmode == V16SFmode
   14617              :                                                               || V4SFmode == V8DFmode
   14618              :                                                               || V4SFmode == V8DImode
   14619              :                                                               || V4SFmode == V16SImode
   14620              :                                                               || V4SFmode == V32HFmode))))
   14621              :             return -1;
   14622              :           return 2875; /* *mulv4sf3_round */
   14623              : 
   14624              :         case 6:
   14625              :           if (!(
   14626              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14627              : (TARGET_AVX512F) && (
   14628              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14629              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8DFmode, operands)
   14630              :    && 1 && (V8DFmode == V16SFmode
   14631              :                                                               || V8DFmode == V8DFmode
   14632              :                                                               || V8DFmode == V8DImode
   14633              :                                                               || V8DFmode == V16SImode
   14634              :                                                               || V8DFmode == V32HFmode)) && 
   14635              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14636              : (TARGET_AVX512F))))
   14637              :             return -1;
   14638              :           return 2879; /* *mulv8df3_round */
   14639              : 
   14640              :         case 7:
   14641              :           if (!(
   14642              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14643              : (TARGET_AVX512F) && (
   14644              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14645              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4DFmode, operands)
   14646              :    && 1 && (V4DFmode == V16SFmode
   14647              :                                                               || V4DFmode == V8DFmode
   14648              :                                                               || V4DFmode == V8DImode
   14649              :                                                               || V4DFmode == V16SImode
   14650              :                                                               || V4DFmode == V32HFmode)) && 
   14651              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14652              : (TARGET_AVX))))
   14653              :             return -1;
   14654              :           return 2883; /* *mulv4df3_round */
   14655              : 
   14656              :         case 8:
   14657              :           if (!(
   14658              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14659              : (TARGET_AVX512F) && (
   14660              : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14661              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V2DFmode, operands)
   14662              :    && 1 && (V2DFmode == V16SFmode
   14663              :                                                               || V2DFmode == V8DFmode
   14664              :                                                               || V2DFmode == V8DImode
   14665              :                                                               || V2DFmode == V16SImode
   14666              :                                                               || V2DFmode == V32HFmode)) && 
   14667              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14668              : (TARGET_SSE2))))
   14669              :             return -1;
   14670              :           return 2887; /* *mulv2df3_round */
   14671              : 
   14672              :         default:
   14673              :           return -1;
   14674              :         }
   14675              : 
   14676              :     case DIV:
   14677              :       x5 = XEXP (x4, 0);
   14678              :       operands[1] = x5;
   14679              :       x6 = XEXP (x4, 1);
   14680              :       operands[2] = x6;
   14681              :       x7 = XVECEXP (x3, 0, 1);
   14682              :       operands[3] = x7;
   14683              :       if (!const_4_or_8_to_11_operand (operands[3], E_SImode))
   14684              :         return -1;
   14685              :       switch (GET_MODE (operands[0]))
   14686              :         {
   14687              :         case E_V32HFmode:
   14688              :           if (pattern493 (x3, 
   14689              : E_V32HFmode) != 0
   14690              :               || !(
   14691              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14692              : (TARGET_AVX512F) && (
   14693              : #line 2939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14694              : (TARGET_SSE && 1 && (V32HFmode == V16SFmode
   14695              :                                                               || V32HFmode == V8DFmode
   14696              :                                                               || V32HFmode == V8DImode
   14697              :                                                               || V32HFmode == V16SImode
   14698              :                                                               || V32HFmode == V32HFmode)) && 
   14699              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14700              : (TARGET_AVX512FP16))))
   14701              :             return -1;
   14702              :           return 2921; /* avx512fp16_divv32hf3_round */
   14703              : 
   14704              :         case E_V16SFmode:
   14705              :           if (pattern493 (x3, 
   14706              : E_V16SFmode) != 0
   14707              :               || !(
   14708              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14709              : (TARGET_AVX512F) && (
   14710              : #line 2939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14711              : (TARGET_SSE && 1 && (V16SFmode == V16SFmode
   14712              :                                                               || V16SFmode == V8DFmode
   14713              :                                                               || V16SFmode == V8DImode
   14714              :                                                               || V16SFmode == V16SImode
   14715              :                                                               || V16SFmode == V32HFmode)) && 
   14716              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14717              : (TARGET_AVX512F))))
   14718              :             return -1;
   14719              :           return 2929; /* avx512f_divv16sf3_round */
   14720              : 
   14721              :         case E_V8DFmode:
   14722              :           if (pattern493 (x3, 
   14723              : E_V8DFmode) != 0
   14724              :               || !(
   14725              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14726              : (TARGET_AVX512F) && (
   14727              : #line 2939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14728              : (TARGET_SSE && 1 && (V8DFmode == V16SFmode
   14729              :                                                               || V8DFmode == V8DFmode
   14730              :                                                               || V8DFmode == V8DImode
   14731              :                                                               || V8DFmode == V16SImode
   14732              :                                                               || V8DFmode == V32HFmode)) && 
   14733              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14734              : (TARGET_AVX512F))))
   14735              :             return -1;
   14736              :           return 2937; /* avx512f_divv8df3_round */
   14737              : 
   14738              :         default:
   14739              :           return -1;
   14740              :         }
   14741              : 
   14742              :     case SQRT:
   14743              :       x5 = XEXP (x4, 0);
   14744              :       operands[1] = x5;
   14745              :       x7 = XVECEXP (x3, 0, 1);
   14746              :       operands[2] = x7;
   14747              :       if (!const_4_or_8_to_11_operand (operands[2], E_SImode))
   14748              :         return -1;
   14749              :       switch (GET_MODE (operands[0]))
   14750              :         {
   14751              :         case E_V32HFmode:
   14752              :           if (pattern1027 (x3, 
   14753              : E_V32HFmode) != 0
   14754              :               || !(
   14755              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14756              : (TARGET_AVX512F) && (
   14757              : #line 3111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14758              : (TARGET_SSE && 1 && (V32HFmode == V16SFmode
   14759              :                                                               || V32HFmode == V8DFmode
   14760              :                                                               || V32HFmode == V8DImode
   14761              :                                                               || V32HFmode == V16SImode
   14762              :                                                               || V32HFmode == V32HFmode)) && 
   14763              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14764              : (TARGET_AVX512FP16))))
   14765              :             return -1;
   14766              :           return 2974; /* avx512fp16_sqrtv32hf2_round */
   14767              : 
   14768              :         case E_V16SFmode:
   14769              :           if (pattern1027 (x3, 
   14770              : E_V16SFmode) != 0
   14771              :               || !(
   14772              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14773              : (TARGET_AVX512F) && (
   14774              : #line 3111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14775              : (TARGET_SSE && 1 && (V16SFmode == V16SFmode
   14776              :                                                               || V16SFmode == V8DFmode
   14777              :                                                               || V16SFmode == V8DImode
   14778              :                                                               || V16SFmode == V16SImode
   14779              :                                                               || V16SFmode == V32HFmode)) && 
   14780              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14781              : (TARGET_AVX512F))))
   14782              :             return -1;
   14783              :           return 2982; /* avx512f_sqrtv16sf2_round */
   14784              : 
   14785              :         case E_V8DFmode:
   14786              :           if (pattern1027 (x3, 
   14787              : E_V8DFmode) != 0
   14788              :               || !(
   14789              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14790              : (TARGET_AVX512F) && (
   14791              : #line 3111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14792              : (TARGET_SSE && 1 && (V8DFmode == V16SFmode
   14793              :                                                               || V8DFmode == V8DFmode
   14794              :                                                               || V8DFmode == V8DImode
   14795              :                                                               || V8DFmode == V16SImode
   14796              :                                                               || V8DFmode == V32HFmode)) && 
   14797              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14798              : (TARGET_AVX512F))))
   14799              :             return -1;
   14800              :           return 2990; /* avx512f_sqrtv8df2_round */
   14801              : 
   14802              :         default:
   14803              :           return -1;
   14804              :         }
   14805              : 
   14806              :     case SMAX:
   14807              :       switch (pattern495 (x3))
   14808              :         {
   14809              :         case 0:
   14810              :           if (!(
   14811              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14812              : (TARGET_AVX512F) && (
   14813              : #line 3358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14814              : (TARGET_SSE
   14815              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   14816              :    && 1
   14817              :    && (V32HFmode == V16SFmode
   14818              :                                                                               || V32HFmode == V8DFmode
   14819              :                                                                               || V32HFmode == V8DImode
   14820              :                                                                               || V32HFmode == V16SImode
   14821              :                                                                               || V32HFmode == V32HFmode)) && 
   14822              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14823              : (TARGET_AVX512FP16))))
   14824              :             return -1;
   14825              :           return 3052; /* *smaxv32hf3_round */
   14826              : 
   14827              :         case 1:
   14828              :           if (!(
   14829              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14830              : (TARGET_AVX512F) && (
   14831              : #line 3358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14832              : (TARGET_SSE
   14833              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   14834              :    && 1
   14835              :    && (V16SFmode == V16SFmode
   14836              :                                                                               || V16SFmode == V8DFmode
   14837              :                                                                               || V16SFmode == V8DImode
   14838              :                                                                               || V16SFmode == V16SImode
   14839              :                                                                               || V16SFmode == V32HFmode)) && 
   14840              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14841              : (TARGET_AVX512F))))
   14842              :             return -1;
   14843              :           return 3068; /* *smaxv16sf3_round */
   14844              : 
   14845              :         case 2:
   14846              :           if (!(
   14847              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14848              : (TARGET_AVX512F) && (
   14849              : #line 3358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14850              : (TARGET_SSE
   14851              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   14852              :    && 1
   14853              :    && (V8DFmode == V16SFmode
   14854              :                                                                               || V8DFmode == V8DFmode
   14855              :                                                                               || V8DFmode == V8DImode
   14856              :                                                                               || V8DFmode == V16SImode
   14857              :                                                                               || V8DFmode == V32HFmode)) && 
   14858              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14859              : (TARGET_AVX512F))))
   14860              :             return -1;
   14861              :           return 3084; /* *smaxv8df3_round */
   14862              : 
   14863              :         default:
   14864              :           return -1;
   14865              :         }
   14866              : 
   14867              :     case SMIN:
   14868              :       switch (pattern495 (x3))
   14869              :         {
   14870              :         case 0:
   14871              :           if (!(
   14872              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14873              : (TARGET_AVX512F) && (
   14874              : #line 3358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14875              : (TARGET_SSE
   14876              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   14877              :    && 1
   14878              :    && (V32HFmode == V16SFmode
   14879              :                                                                               || V32HFmode == V8DFmode
   14880              :                                                                               || V32HFmode == V8DImode
   14881              :                                                                               || V32HFmode == V16SImode
   14882              :                                                                               || V32HFmode == V32HFmode)) && 
   14883              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14884              : (TARGET_AVX512FP16))))
   14885              :             return -1;
   14886              :           return 3056; /* *sminv32hf3_round */
   14887              : 
   14888              :         case 1:
   14889              :           if (!(
   14890              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14891              : (TARGET_AVX512F) && (
   14892              : #line 3358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14893              : (TARGET_SSE
   14894              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   14895              :    && 1
   14896              :    && (V16SFmode == V16SFmode
   14897              :                                                                               || V16SFmode == V8DFmode
   14898              :                                                                               || V16SFmode == V8DImode
   14899              :                                                                               || V16SFmode == V16SImode
   14900              :                                                                               || V16SFmode == V32HFmode)) && 
   14901              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14902              : (TARGET_AVX512F))))
   14903              :             return -1;
   14904              :           return 3072; /* *sminv16sf3_round */
   14905              : 
   14906              :         case 2:
   14907              :           if (!(
   14908              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14909              : (TARGET_AVX512F) && (
   14910              : #line 3358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14911              : (TARGET_SSE
   14912              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   14913              :    && 1
   14914              :    && (V8DFmode == V16SFmode
   14915              :                                                                               || V8DFmode == V8DFmode
   14916              :                                                                               || V8DFmode == V8DImode
   14917              :                                                                               || V8DFmode == V16SImode
   14918              :                                                                               || V8DFmode == V32HFmode)) && 
   14919              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14920              : (TARGET_AVX512F))))
   14921              :             return -1;
   14922              :           return 3088; /* *sminv8df3_round */
   14923              : 
   14924              :         default:
   14925              :           return -1;
   14926              :         }
   14927              : 
   14928              :     case UNSPEC:
   14929              :       return recog_233 (x1, insn, pnum_clobbers);
   14930              : 
   14931              :     case FMA:
   14932              :       return recog_234 (x1, insn, pnum_clobbers);
   14933              : 
   14934              :     case FLOAT:
   14935              :       x5 = XEXP (x4, 0);
   14936              :       operands[1] = x5;
   14937              :       x7 = XVECEXP (x3, 0, 1);
   14938              :       operands[2] = x7;
   14939              :       if (!const_4_or_8_to_11_operand (operands[2], E_SImode))
   14940              :         return -1;
   14941              :       switch (GET_MODE (operands[0]))
   14942              :         {
   14943              :         case E_V8HFmode:
   14944              :           switch (pattern1035 (x3))
   14945              :             {
   14946              :             case 0:
   14947              :               if (!(
   14948              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14949              : (TARGET_AVX512F) && (
   14950              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14951              : (TARGET_AVX512FP16) && 
   14952              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14953              : (TARGET_AVX512VL))))
   14954              :                 return -1;
   14955              :               return 4525; /* avx512fp16_vcvtw2ph_v8hi_round */
   14956              : 
   14957              :             case 1:
   14958              :               if (!(
   14959              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14960              : (TARGET_AVX512F) && (
   14961              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14962              : (TARGET_AVX512FP16) && 
   14963              : #line 684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14964              : (TARGET_AVX512VL))))
   14965              :                 return -1;
   14966              :               return 4549; /* avx512fp16_vcvtdq2ph_v8si_round */
   14967              : 
   14968              :             case 2:
   14969              :               if (!(
   14970              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14971              : (TARGET_AVX512F) && 
   14972              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14973              : (TARGET_AVX512FP16)))
   14974              :                 return -1;
   14975              :               return 4565; /* avx512fp16_vcvtqq2ph_v8di_round */
   14976              : 
   14977              :             default:
   14978              :               return -1;
   14979              :             }
   14980              : 
   14981              :         case E_V16HFmode:
   14982              :           switch (pattern1036 (x3))
   14983              :             {
   14984              :             case 0:
   14985              :               if (!(
   14986              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14987              : (TARGET_AVX512F) && (
   14988              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14989              : (TARGET_AVX512FP16) && 
   14990              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14991              : (TARGET_AVX512VL))))
   14992              :                 return -1;
   14993              :               return 4533; /* avx512fp16_vcvtw2ph_v16hi_round */
   14994              : 
   14995              :             case 1:
   14996              :               if (!(
   14997              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14998              : (TARGET_AVX512F) && 
   14999              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15000              : (TARGET_AVX512FP16)))
   15001              :                 return -1;
   15002              :               return 4557; /* avx512fp16_vcvtdq2ph_v16si_round */
   15003              : 
   15004              :             default:
   15005              :               return -1;
   15006              :             }
   15007              : 
   15008              :         case E_V32HFmode:
   15009              :           if (pattern496 (x3, 
   15010              : E_V32HImode, 
   15011              : E_V32HFmode) != 0
   15012              :               || !(
   15013              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15014              : (TARGET_AVX512F) && 
   15015              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15016              : (TARGET_AVX512FP16)))
   15017              :             return -1;
   15018              :           return 4541; /* avx512fp16_vcvtw2ph_v32hi_round */
   15019              : 
   15020              :         case E_V16SFmode:
   15021              :           if (pattern496 (x3, 
   15022              : E_V16SImode, 
   15023              : E_V16SFmode) != 0
   15024              :               || !(
   15025              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15026              : (TARGET_AVX512F) && (
   15027              : #line 9029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15028              : (TARGET_SSE2 && 1 && (V16SFmode == V16SFmode
   15029              :                                                               || V16SFmode == V8DFmode
   15030              :                                                               || V16SFmode == V8DImode
   15031              :                                                               || V16SFmode == V16SImode
   15032              :                                                               || V16SFmode == V32HFmode)) && 
   15033              : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15034              : (TARGET_AVX512F))))
   15035              :             return -1;
   15036              :           return 4861; /* floatv16siv16sf2_round */
   15037              : 
   15038              :         case E_V8DFmode:
   15039              :           if (pattern1037 (x3, 
   15040              : E_V8DImode, 
   15041              : E_V8DFmode) != 0
   15042              :               || !(
   15043              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15044              : (TARGET_AVX512F) && 
   15045              : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15046              : (TARGET_AVX512DQ)))
   15047              :             return -1;
   15048              :           return 4993; /* floatv8div8df2_round */
   15049              : 
   15050              :         case E_V4DFmode:
   15051              :           if (pattern1037 (x3, 
   15052              : E_V4DImode, 
   15053              : E_V4DFmode) != 0
   15054              :               || !(
   15055              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15056              : (TARGET_AVX512F) && (
   15057              : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15058              : (TARGET_AVX512DQ) && 
   15059              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15060              : (TARGET_AVX512VL))))
   15061              :             return -1;
   15062              :           return 5001; /* floatv4div4df2_round */
   15063              : 
   15064              :         case E_V2DFmode:
   15065              :           if (pattern1037 (x3, 
   15066              : E_V2DImode, 
   15067              : E_V2DFmode) != 0
   15068              :               || !(
   15069              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15070              : (TARGET_AVX512F) && (
   15071              : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15072              : (TARGET_AVX512DQ) && 
   15073              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15074              : (TARGET_AVX512VL))))
   15075              :             return -1;
   15076              :           return 5009; /* floatv2div2df2_round */
   15077              : 
   15078              :         case E_V8SFmode:
   15079              :           if (pattern1037 (x3, 
   15080              : E_V8DImode, 
   15081              : E_V8SFmode) != 0
   15082              :               || !(
   15083              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15084              : (TARGET_AVX512F) && 
   15085              : #line 9577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15086              : (TARGET_AVX512DQ && (V8DImode == V16SFmode
   15087              :                                                               || V8DImode == V8DFmode
   15088              :                                                               || V8DImode == V8DImode
   15089              :                                                               || V8DImode == V16SImode
   15090              :                                                               || V8DImode == V32HFmode))))
   15091              :             return -1;
   15092              :           return 5017; /* floatv8div8sf2_round */
   15093              : 
   15094              :         default:
   15095              :           return -1;
   15096              :         }
   15097              : 
   15098              :     case UNSIGNED_FLOAT:
   15099              :       x5 = XEXP (x4, 0);
   15100              :       operands[1] = x5;
   15101              :       x7 = XVECEXP (x3, 0, 1);
   15102              :       operands[2] = x7;
   15103              :       if (!const_4_or_8_to_11_operand (operands[2], E_SImode))
   15104              :         return -1;
   15105              :       switch (GET_MODE (operands[0]))
   15106              :         {
   15107              :         case E_V8HFmode:
   15108              :           switch (pattern1035 (x3))
   15109              :             {
   15110              :             case 0:
   15111              :               if (!(
   15112              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15113              : (TARGET_AVX512F) && (
   15114              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15115              : (TARGET_AVX512FP16) && 
   15116              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15117              : (TARGET_AVX512VL))))
   15118              :                 return -1;
   15119              :               return 4529; /* avx512fp16_vcvtuw2ph_v8hi_round */
   15120              : 
   15121              :             case 1:
   15122              :               if (!(
   15123              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15124              : (TARGET_AVX512F) && (
   15125              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15126              : (TARGET_AVX512FP16) && 
   15127              : #line 684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15128              : (TARGET_AVX512VL))))
   15129              :                 return -1;
   15130              :               return 4553; /* avx512fp16_vcvtudq2ph_v8si_round */
   15131              : 
   15132              :             case 2:
   15133              :               if (!(
   15134              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15135              : (TARGET_AVX512F) && 
   15136              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15137              : (TARGET_AVX512FP16)))
   15138              :                 return -1;
   15139              :               return 4569; /* avx512fp16_vcvtuqq2ph_v8di_round */
   15140              : 
   15141              :             default:
   15142              :               return -1;
   15143              :             }
   15144              : 
   15145              :         case E_V16HFmode:
   15146              :           switch (pattern1036 (x3))
   15147              :             {
   15148              :             case 0:
   15149              :               if (!(
   15150              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15151              : (TARGET_AVX512F) && (
   15152              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15153              : (TARGET_AVX512FP16) && 
   15154              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15155              : (TARGET_AVX512VL))))
   15156              :                 return -1;
   15157              :               return 4537; /* avx512fp16_vcvtuw2ph_v16hi_round */
   15158              : 
   15159              :             case 1:
   15160              :               if (!(
   15161              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15162              : (TARGET_AVX512F) && 
   15163              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15164              : (TARGET_AVX512FP16)))
   15165              :                 return -1;
   15166              :               return 4561; /* avx512fp16_vcvtudq2ph_v16si_round */
   15167              : 
   15168              :             default:
   15169              :               return -1;
   15170              :             }
   15171              : 
   15172              :         case E_V32HFmode:
   15173              :           if (pattern496 (x3, 
   15174              : E_V32HImode, 
   15175              : E_V32HFmode) != 0
   15176              :               || !(
   15177              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15178              : (TARGET_AVX512F) && 
   15179              : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15180              : (TARGET_AVX512FP16)))
   15181              :             return -1;
   15182              :           return 4545; /* avx512fp16_vcvtuw2ph_v32hi_round */
   15183              : 
   15184              :         case E_V16SFmode:
   15185              :           if (pattern1037 (x3, 
   15186              : E_V16SImode, 
   15187              : E_V16SFmode) != 0
   15188              :               || !
   15189              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15190              : (TARGET_AVX512F))
   15191              :             return -1;
   15192              :           return 4869; /* *floatunsv16siv16sf2_round */
   15193              : 
   15194              :         case E_V8SFmode:
   15195              :           if (!register_operand (operands[0], E_V8SFmode)
   15196              :               || GET_MODE (x3) != E_V8SFmode
   15197              :               || GET_MODE (x4) != E_V8SFmode)
   15198              :             return -1;
   15199              :           switch (GET_MODE (operands[1]))
   15200              :             {
   15201              :             case E_V8SImode:
   15202              :               if (!nonimmediate_operand (operands[1], E_V8SImode)
   15203              :                   || !(
   15204              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15205              : (TARGET_AVX512F) && (
   15206              : #line 9042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15207              : (TARGET_AVX512F) && 
   15208              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15209              : (TARGET_AVX512VL))))
   15210              :                 return -1;
   15211              :               return 4873; /* *floatunsv8siv8sf2_round */
   15212              : 
   15213              :             case E_V8DImode:
   15214              :               if (!nonimmediate_operand (operands[1], E_V8DImode)
   15215              :                   || !(
   15216              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15217              : (TARGET_AVX512F) && 
   15218              : #line 9577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15219              : (TARGET_AVX512DQ && (V8DImode == V16SFmode
   15220              :                                                               || V8DImode == V8DFmode
   15221              :                                                               || V8DImode == V8DImode
   15222              :                                                               || V8DImode == V16SImode
   15223              :                                                               || V8DImode == V32HFmode))))
   15224              :                 return -1;
   15225              :               return 5021; /* floatunsv8div8sf2_round */
   15226              : 
   15227              :             default:
   15228              :               return -1;
   15229              :             }
   15230              : 
   15231              :         case E_V4SFmode:
   15232              :           if (pattern1037 (x3, 
   15233              : E_V4SImode, 
   15234              : E_V4SFmode) != 0
   15235              :               || !(
   15236              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15237              : (TARGET_AVX512F) && (
   15238              : #line 9042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15239              : (TARGET_AVX512F) && 
   15240              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15241              : (TARGET_AVX512VL))))
   15242              :             return -1;
   15243              :           return 4877; /* *floatunsv4siv4sf2_round */
   15244              : 
   15245              :         case E_V8DFmode:
   15246              :           if (pattern1037 (x3, 
   15247              : E_V8DImode, 
   15248              : E_V8DFmode) != 0
   15249              :               || !(
   15250              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15251              : (TARGET_AVX512F) && 
   15252              : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15253              : (TARGET_AVX512DQ)))
   15254              :             return -1;
   15255              :           return 4997; /* floatunsv8div8df2_round */
   15256              : 
   15257              :         case E_V4DFmode:
   15258              :           if (pattern1037 (x3, 
   15259              : E_V4DImode, 
   15260              : E_V4DFmode) != 0
   15261              :               || !(
   15262              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15263              : (TARGET_AVX512F) && (
   15264              : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15265              : (TARGET_AVX512DQ) && 
   15266              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15267              : (TARGET_AVX512VL))))
   15268              :             return -1;
   15269              :           return 5005; /* floatunsv4div4df2_round */
   15270              : 
   15271              :         case E_V2DFmode:
   15272              :           if (pattern1037 (x3, 
   15273              : E_V2DImode, 
   15274              : E_V2DFmode) != 0
   15275              :               || !(
   15276              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15277              : (TARGET_AVX512F) && (
   15278              : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15279              : (TARGET_AVX512DQ) && 
   15280              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15281              : (TARGET_AVX512VL))))
   15282              :             return -1;
   15283              :           return 5013; /* floatunsv2div2df2_round */
   15284              : 
   15285              :         default:
   15286              :           return -1;
   15287              :         }
   15288              : 
   15289              :     case FIX:
   15290              :       switch (pattern497 (x3))
   15291              :         {
   15292              :         case 0:
   15293              :           if (!(
   15294              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15295              : (TARGET_AVX512F) && (
   15296              : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15297              : (TARGET_AVX512FP16) && 
   15298              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15299              : (TARGET_AVX512VL))))
   15300              :             return -1;
   15301              :           return 4659; /* avx512fp16_fix_truncv8hi2_round */
   15302              : 
   15303              :         case 1:
   15304              :           if (!(
   15305              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15306              : (TARGET_AVX512F) && (
   15307              : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15308              : (TARGET_AVX512FP16) && 
   15309              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15310              : (TARGET_AVX512VL))))
   15311              :             return -1;
   15312              :           return 4667; /* avx512fp16_fix_truncv16hi2_round */
   15313              : 
   15314              :         case 2:
   15315              :           if (!(
   15316              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15317              : (TARGET_AVX512F) && 
   15318              : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15319              : (TARGET_AVX512FP16)))
   15320              :             return -1;
   15321              :           return 4675; /* avx512fp16_fix_truncv32hi2_round */
   15322              : 
   15323              :         case 3:
   15324              :           if (!(
   15325              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15326              : (TARGET_AVX512F) && (
   15327              : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15328              : (TARGET_AVX512FP16) && 
   15329              : #line 684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15330              : (TARGET_AVX512VL))))
   15331              :             return -1;
   15332              :           return 4683; /* avx512fp16_fix_truncv8si2_round */
   15333              : 
   15334              :         case 4:
   15335              :           if (!
   15336              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15337              : (TARGET_AVX512F))
   15338              :             return -1;
   15339              :           return 5074; /* fix_truncv8dfv8si2_round */
   15340              : 
   15341              :         case 5:
   15342              :           if (!(
   15343              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15344              : (TARGET_AVX512F) && 
   15345              : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15346              : (TARGET_AVX512FP16)))
   15347              :             return -1;
   15348              :           return 4691; /* avx512fp16_fix_truncv16si2_round */
   15349              : 
   15350              :         case 6:
   15351              :           if (!
   15352              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15353              : (TARGET_AVX512F))
   15354              :             return -1;
   15355              :           return 4925; /* fix_truncv16sfv16si2_round */
   15356              : 
   15357              :         case 7:
   15358              :           if (!(
   15359              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15360              : (TARGET_AVX512F) && 
   15361              : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15362              : (TARGET_AVX512FP16)))
   15363              :             return -1;
   15364              :           return 4699; /* avx512fp16_fix_truncv8di2_round */
   15365              : 
   15366              :         case 8:
   15367              :           if (!(
   15368              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15369              : (TARGET_AVX512F) && 
   15370              : #line 10088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15371              : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
   15372              :                                                                               || V8DFmode == V8DFmode
   15373              :                                                                               || V8DFmode == V8DImode
   15374              :                                                                               || V8DFmode == V16SImode
   15375              :                                                                               || V8DFmode == V32HFmode))))
   15376              :             return -1;
   15377              :           return 5111; /* fix_truncv8dfv8di2_round */
   15378              : 
   15379              :         case 9:
   15380              :           if (!(
   15381              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15382              : (TARGET_AVX512F) && 
   15383              : #line 10131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15384              : (TARGET_AVX512DQ && (V8DImode == V16SFmode
   15385              :                                                                               || V8DImode == V8DFmode
   15386              :                                                                               || V8DImode == V8DImode
   15387              :                                                                               || V8DImode == V16SImode
   15388              :                                                                               || V8DImode == V32HFmode))))
   15389              :             return -1;
   15390              :           return 5155; /* fix_truncv8sfv8di2_round */
   15391              : 
   15392              :         default:
   15393              :           return -1;
   15394              :         }
   15395              : 
   15396              :     case UNSIGNED_FIX:
   15397              :       switch (pattern497 (x3))
   15398              :         {
   15399              :         case 0:
   15400              :           if (!(
   15401              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15402              : (TARGET_AVX512F) && (
   15403              : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15404              : (TARGET_AVX512FP16) && 
   15405              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15406              : (TARGET_AVX512VL))))
   15407              :             return -1;
   15408              :           return 4663; /* avx512fp16_fixuns_truncv8hi2_round */
   15409              : 
   15410              :         case 1:
   15411              :           if (!(
   15412              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15413              : (TARGET_AVX512F) && (
   15414              : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15415              : (TARGET_AVX512FP16) && 
   15416              : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15417              : (TARGET_AVX512VL))))
   15418              :             return -1;
   15419              :           return 4671; /* avx512fp16_fixuns_truncv16hi2_round */
   15420              : 
   15421              :         case 2:
   15422              :           if (!(
   15423              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15424              : (TARGET_AVX512F) && 
   15425              : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15426              : (TARGET_AVX512FP16)))
   15427              :             return -1;
   15428              :           return 4679; /* avx512fp16_fixuns_truncv32hi2_round */
   15429              : 
   15430              :         case 3:
   15431              :           if (!(
   15432              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15433              : (TARGET_AVX512F) && (
   15434              : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15435              : (TARGET_AVX512FP16) && 
   15436              : #line 684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15437              : (TARGET_AVX512VL))))
   15438              :             return -1;
   15439              :           return 4687; /* avx512fp16_fixuns_truncv8si2_round */
   15440              : 
   15441              :         case 4:
   15442              :           if (!
   15443              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15444              : (TARGET_AVX512F))
   15445              :             return -1;
   15446              :           return 5078; /* fixuns_truncv8dfv8si2_round */
   15447              : 
   15448              :         case 5:
   15449              :           if (!(
   15450              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15451              : (TARGET_AVX512F) && 
   15452              : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15453              : (TARGET_AVX512FP16)))
   15454              :             return -1;
   15455              :           return 4695; /* avx512fp16_fixuns_truncv16si2_round */
   15456              : 
   15457              :         case 6:
   15458              :           if (!
   15459              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15460              : (TARGET_AVX512F))
   15461              :             return -1;
   15462              :           return 4929; /* fixuns_truncv16sfv16si2_round */
   15463              : 
   15464              :         case 7:
   15465              :           if (!(
   15466              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15467              : (TARGET_AVX512F) && 
   15468              : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15469              : (TARGET_AVX512FP16)))
   15470              :             return -1;
   15471              :           return 4703; /* avx512fp16_fixuns_truncv8di2_round */
   15472              : 
   15473              :         case 8:
   15474              :           if (!(
   15475              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15476              : (TARGET_AVX512F) && 
   15477              : #line 10088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15478              : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
   15479              :                                                                               || V8DFmode == V8DFmode
   15480              :                                                                               || V8DFmode == V8DImode
   15481              :                                                                               || V8DFmode == V16SImode
   15482              :                                                                               || V8DFmode == V32HFmode))))
   15483              :             return -1;
   15484              :           return 5115; /* fixuns_truncv8dfv8di2_round */
   15485              : 
   15486              :         case 9:
   15487              :           if (!(
   15488              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15489              : (TARGET_AVX512F) && 
   15490              : #line 10131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15491              : (TARGET_AVX512DQ && (V8DImode == V16SFmode
   15492              :                                                                               || V8DImode == V8DFmode
   15493              :                                                                               || V8DImode == V8DImode
   15494              :                                                                               || V8DImode == V16SImode
   15495              :                                                                               || V8DImode == V32HFmode))))
   15496              :             return -1;
   15497              :           return 5159; /* fixuns_truncv8sfv8di2_round */
   15498              : 
   15499              :         default:
   15500              :           return -1;
   15501              :         }
   15502              : 
   15503              :     case FLOAT_EXTEND:
   15504              :       x5 = XEXP (x4, 0);
   15505              :       operands[1] = x5;
   15506              :       x7 = XVECEXP (x3, 0, 1);
   15507              :       operands[2] = x7;
   15508              :       if (!const48_operand (operands[2], E_SImode))
   15509              :         return -1;
   15510              :       switch (GET_MODE (operands[0]))
   15511              :         {
   15512              :         case E_V8DFmode:
   15513              :           if (!register_operand (operands[0], E_V8DFmode)
   15514              :               || GET_MODE (x3) != E_V8DFmode
   15515              :               || GET_MODE (x4) != E_V8DFmode)
   15516              :             return -1;
   15517              :           switch (GET_MODE (operands[1]))
   15518              :             {
   15519              :             case E_V8HFmode:
   15520              :               if (!register_operand (operands[1], E_V8HFmode)
   15521              :                   || !(
   15522              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15523              : (TARGET_AVX512F) && 
   15524              : #line 8422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15525              : (TARGET_AVX512FP16)))
   15526              :                 return -1;
   15527              :               return 4763; /* avx512fp16_float_extend_phv8df2_round */
   15528              : 
   15529              :             case E_V8SFmode:
   15530              :               if (!register_operand (operands[1], E_V8SFmode)
   15531              :                   || !(
   15532              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15533              : (TARGET_AVX512F) && (
   15534              : #line 10609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15535              : (TARGET_AVX && 1 && (V8DFmode == V16SFmode
   15536              :                                                                               || V8DFmode == V8DFmode
   15537              :                                                                               || V8DFmode == V8DImode
   15538              :                                                                               || V8DFmode == V16SImode
   15539              :                                                                               || V8DFmode == V32HFmode)) && 
   15540              : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15541              : (TARGET_AVX512F))))
   15542              :                 return -1;
   15543              :               return 5208; /* avx512f_cvtps2pd512_round */
   15544              : 
   15545              :             default:
   15546              :               return -1;
   15547              :             }
   15548              : 
   15549              :         case E_V16SFmode:
   15550              :           if (pattern496 (x3, 
   15551              : E_V16HFmode, 
   15552              : E_V16SFmode) != 0
   15553              :               || !(
   15554              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15555              : (TARGET_AVX512F) && 
   15556              : #line 8422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15557              : (TARGET_AVX512FP16)))
   15558              :             return -1;
   15559              :           return 4767; /* avx512fp16_float_extend_phv16sf2_round */
   15560              : 
   15561              :         case E_V8SFmode:
   15562              :           if (pattern496 (x3, 
   15563              : E_V8HFmode, 
   15564              : E_V8SFmode) != 0
   15565              :               || !(
   15566              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15567              : (TARGET_AVX512F) && (
   15568              : #line 8422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15569              : (TARGET_AVX512FP16) && 
   15570              : #line 982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15571              : (TARGET_AVX512VL))))
   15572              :             return -1;
   15573              :           return 4771; /* avx512fp16_float_extend_phv8sf2_round */
   15574              : 
   15575              :         default:
   15576              :           return -1;
   15577              :         }
   15578              : 
   15579              :     case FLOAT_TRUNCATE:
   15580              :       x5 = XEXP (x4, 0);
   15581              :       operands[1] = x5;
   15582              :       x7 = XVECEXP (x3, 0, 1);
   15583              :       operands[2] = x7;
   15584              :       if (!const_4_or_8_to_11_operand (operands[2], E_SImode))
   15585              :         return -1;
   15586              :       switch (GET_MODE (operands[0]))
   15587              :         {
   15588              :         case E_V8HFmode:
   15589              :           if (!register_operand (operands[0], E_V8HFmode)
   15590              :               || GET_MODE (x3) != E_V8HFmode
   15591              :               || GET_MODE (x4) != E_V8HFmode)
   15592              :             return -1;
   15593              :           switch (GET_MODE (operands[1]))
   15594              :             {
   15595              :             case E_V8DFmode:
   15596              :               if (!register_operand (operands[1], E_V8DFmode)
   15597              :                   || !(
   15598              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15599              : (TARGET_AVX512F) && 
   15600              : #line 8516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15601              : (TARGET_AVX512FP16)))
   15602              :                 return -1;
   15603              :               return 4787; /* avx512fp16_vcvtpd2ph_v8df_round */
   15604              : 
   15605              :             case E_V8SFmode:
   15606              :               if (!register_operand (operands[1], E_V8SFmode)
   15607              :                   || !(
   15608              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15609              : (TARGET_AVX512F) && (
   15610              : #line 8516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15611              : (TARGET_AVX512FP16) && 
   15612              : #line 982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15613              : (TARGET_AVX512VL))))
   15614              :                 return -1;
   15615              :               return 4795; /* avx512fp16_vcvtps2ph_v8sf_round */
   15616              : 
   15617              :             default:
   15618              :               return -1;
   15619              :             }
   15620              : 
   15621              :         case E_V16HFmode:
   15622              :           if (pattern496 (x3, 
   15623              : E_V16SFmode, 
   15624              : E_V16HFmode) != 0
   15625              :               || !(
   15626              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15627              : (TARGET_AVX512F) && 
   15628              : #line 8516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15629              : (TARGET_AVX512FP16)))
   15630              :             return -1;
   15631              :           return 4791; /* avx512fp16_vcvtps2ph_v16sf_round */
   15632              : 
   15633              :         case E_V8SFmode:
   15634              :           if (pattern496 (x3, 
   15635              : E_V8DFmode, 
   15636              : E_V8SFmode) != 0
   15637              :               || !
   15638              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15639              : (TARGET_AVX512F))
   15640              :             return -1;
   15641              :           return 5198; /* *avx512f_cvtpd2ps512_round */
   15642              : 
   15643              :         default:
   15644              :           return -1;
   15645              :         }
   15646              : 
   15647              :     case VEC_CONCAT:
   15648              :       if (GET_MODE (x4) != E_V32HFmode)
   15649              :         return -1;
   15650              :       x5 = XEXP (x4, 0);
   15651              :       if (GET_CODE (x5) != FLOAT_TRUNCATE
   15652              :           || GET_MODE (x5) != E_V16HFmode)
   15653              :         return -1;
   15654              :       x6 = XEXP (x4, 1);
   15655              :       if (GET_CODE (x6) != FLOAT_TRUNCATE
   15656              :           || GET_MODE (x6) != E_V16HFmode
   15657              :           || !register_operand (operands[0], E_V32HFmode)
   15658              :           || GET_MODE (x3) != E_V32HFmode)
   15659              :         return -1;
   15660              :       x8 = XEXP (x5, 0);
   15661              :       operands[2] = x8;
   15662              :       if (!register_operand (operands[2], E_V16SFmode))
   15663              :         return -1;
   15664              :       x9 = XEXP (x6, 0);
   15665              :       operands[1] = x9;
   15666              :       if (!register_operand (operands[1], E_V16SFmode))
   15667              :         return -1;
   15668              :       x7 = XVECEXP (x3, 0, 1);
   15669              :       operands[3] = x7;
   15670              :       if (!const_4_or_8_to_11_operand (operands[3], E_SImode)
   15671              :           || !(
   15672              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15673              : (TARGET_AVX512F) && 
   15674              : #line 32789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15675              : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
   15676              :                                                               || V32HFmode == V8DFmode
   15677              :                                                               || V32HFmode == V8DImode
   15678              :                                                               || V32HFmode == V16SImode
   15679              :                                                               || V32HFmode == V32HFmode))))
   15680              :         return -1;
   15681              :       return 10542; /* avx10_2_cvt2ps2phx_v32hf_round */
   15682              : 
   15683              :     default:
   15684              :       return -1;
   15685              :     }
   15686              : }
   15687              : 
   15688              :  int
   15689              : recog_277 (rtx x1 ATTRIBUTE_UNUSED,
   15690              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   15691              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   15692              : {
   15693              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   15694              :   rtx x2, x3, x4, x5, x6, x7, x8;
   15695              :   int res ATTRIBUTE_UNUSED;
   15696              :   x2 = XEXP (x1, 1);
   15697              :   x3 = XEXP (x2, 0);
   15698              :   switch (GET_CODE (x3))
   15699              :     {
   15700              :     case REG:
   15701              :     case SUBREG:
   15702              :     case MEM:
   15703              :       operands[1] = x3;
   15704              :       x4 = XEXP (x2, 1);
   15705              :       operands[2] = x4;
   15706              :       switch (GET_MODE (operands[0]))
   15707              :         {
   15708              :         case E_V32QImode:
   15709              :           if (pattern3 (x2, 
   15710              : E_V32QImode) != 0
   15711              :               || !
   15712              : #line 18384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15713              : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   15714              :             return -1;
   15715              :           return 7953; /* *avx2_eqv32qi3 */
   15716              : 
   15717              :         case E_V16HImode:
   15718              :           if (pattern3 (x2, 
   15719              : E_V16HImode) != 0
   15720              :               || !
   15721              : #line 18384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15722              : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   15723              :             return -1;
   15724              :           return 7954; /* *avx2_eqv16hi3 */
   15725              : 
   15726              :         case E_V8SImode:
   15727              :           if (pattern3 (x2, 
   15728              : E_V8SImode) != 0
   15729              :               || !
   15730              : #line 18384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15731              : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   15732              :             return -1;
   15733              :           return 7955; /* *avx2_eqv8si3 */
   15734              : 
   15735              :         case E_V4DImode:
   15736              :           if (pattern3 (x2, 
   15737              : E_V4DImode) != 0
   15738              :               || !
   15739              : #line 18384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15740              : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   15741              :             return -1;
   15742              :           return 7956; /* *avx2_eqv4di3 */
   15743              : 
   15744              :         case E_V2DImode:
   15745              :           if (pattern26 (x2, 
   15746              : E_V2DImode) != 0
   15747              :               || !
   15748              : #line 18685 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15749              : (TARGET_SSE4_1 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   15750              :             return -1;
   15751              :           return 8019; /* *sse4_1_eqv2di3 */
   15752              : 
   15753              :         case E_V16QImode:
   15754              :           if (pattern26 (x2, 
   15755              : E_V16QImode) != 0
   15756              :               || !
   15757              : #line 18702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15758              : (TARGET_SSE2
   15759              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   15760              :             return -1;
   15761              :           return 8020; /* *sse2_eqv16qi3 */
   15762              : 
   15763              :         case E_V8HImode:
   15764              :           if (pattern26 (x2, 
   15765              : E_V8HImode) != 0
   15766              :               || !
   15767              : #line 18702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15768              : (TARGET_SSE2
   15769              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   15770              :             return -1;
   15771              :           return 8021; /* *sse2_eqv8hi3 */
   15772              : 
   15773              :         case E_V4SImode:
   15774              :           if (pattern26 (x2, 
   15775              : E_V4SImode) != 0
   15776              :               || !
   15777              : #line 18702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15778              : (TARGET_SSE2
   15779              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   15780              :             return -1;
   15781              :           return 8022; /* *sse2_eqv4si3 */
   15782              : 
   15783              :         default:
   15784              :           return -1;
   15785              :         }
   15786              : 
   15787              :     case EQ:
   15788              :       x5 = XEXP (x3, 0);
   15789              :       if (GET_CODE (x5) != EQ)
   15790              :         return -1;
   15791              :       x6 = XEXP (x5, 0);
   15792              :       operands[1] = x6;
   15793              :       x7 = XEXP (x5, 1);
   15794              :       operands[2] = x7;
   15795              :       x8 = XEXP (x3, 1);
   15796              :       operands[3] = x8;
   15797              :       x4 = XEXP (x2, 1);
   15798              :       operands[4] = x4;
   15799              :       switch (GET_MODE (operands[0]))
   15800              :         {
   15801              :         case E_V32QImode:
   15802              :           if (pattern1155 (x2, 
   15803              : E_V32QImode) != 0
   15804              :               || !(
   15805              : #line 18404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15806              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   15807              : #line 584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15808              : (TARGET_AVX2)))
   15809              :             return -1;
   15810              :           return 7957; /* *eqv32qi3_2_negate */
   15811              : 
   15812              :         case E_V16QImode:
   15813              :           if (pattern1155 (x2, 
   15814              : E_V16QImode) != 0
   15815              :               || !
   15816              : #line 18404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15817              : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
   15818              :             return -1;
   15819              :           return 7958; /* *eqv16qi3_2_negate */
   15820              : 
   15821              :         case E_V16HImode:
   15822              :           if (pattern1155 (x2, 
   15823              : E_V16HImode) != 0
   15824              :               || !(
   15825              : #line 18404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15826              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   15827              : #line 585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15828              : (TARGET_AVX2)))
   15829              :             return -1;
   15830              :           return 7959; /* *eqv16hi3_2_negate */
   15831              : 
   15832              :         case E_V8HImode:
   15833              :           if (pattern1155 (x2, 
   15834              : E_V8HImode) != 0
   15835              :               || !
   15836              : #line 18404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15837              : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
   15838              :             return -1;
   15839              :           return 7960; /* *eqv8hi3_2_negate */
   15840              : 
   15841              :         case E_V8SImode:
   15842              :           if (pattern1155 (x2, 
   15843              : E_V8SImode) != 0
   15844              :               || !(
   15845              : #line 18404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15846              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   15847              : #line 586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15848              : (TARGET_AVX2)))
   15849              :             return -1;
   15850              :           return 7961; /* *eqv8si3_2_negate */
   15851              : 
   15852              :         case E_V4SImode:
   15853              :           if (pattern1155 (x2, 
   15854              : E_V4SImode) != 0
   15855              :               || !
   15856              : #line 18404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15857              : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
   15858              :             return -1;
   15859              :           return 7962; /* *eqv4si3_2_negate */
   15860              : 
   15861              :         case E_V4DImode:
   15862              :           if (pattern1155 (x2, 
   15863              : E_V4DImode) != 0
   15864              :               || !(
   15865              : #line 18404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15866              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   15867              : #line 587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15868              : (TARGET_AVX2)))
   15869              :             return -1;
   15870              :           return 7963; /* *eqv4di3_2_negate */
   15871              : 
   15872              :         case E_V2DImode:
   15873              :           if (pattern1155 (x2, 
   15874              : E_V2DImode) != 0
   15875              :               || !
   15876              : #line 18404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15877              : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
   15878              :             return -1;
   15879              :           return 7964; /* *eqv2di3_2_negate */
   15880              : 
   15881              :         default:
   15882              :           return -1;
   15883              :         }
   15884              : 
   15885              :     default:
   15886              :       return -1;
   15887              :     }
   15888              : }
   15889              : 
   15890              :  int
   15891              : recog_282 (rtx x1 ATTRIBUTE_UNUSED,
   15892              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   15893              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   15894              : {
   15895              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   15896              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   15897              :   rtx x10, x11, x12, x13;
   15898              :   int res ATTRIBUTE_UNUSED;
   15899              :   x2 = XEXP (x1, 1);
   15900              :   x3 = XEXP (x2, 1);
   15901              :   if (pattern933 (x3) != 0)
   15902              :     return -1;
   15903              :   x4 = XVECEXP (x3, 0, 0);
   15904              :   switch (XWINT (x4, 0))
   15905              :     {
   15906              :     case 0L:
   15907              :       x5 = XVECEXP (x3, 0, 1);
   15908              :       switch (XWINT (x5, 0))
   15909              :         {
   15910              :         case 1L:
   15911              :           x6 = XVECEXP (x3, 0, 2);
   15912              :           if (XWINT (x6, 0) != 2L)
   15913              :             return -1;
   15914              :           x7 = XVECEXP (x3, 0, 3);
   15915              :           if (XWINT (x7, 0) != 3L)
   15916              :             return -1;
   15917              :           x8 = XVECEXP (x3, 0, 4);
   15918              :           if (XWINT (x8, 0) != 8L)
   15919              :             return -1;
   15920              :           x9 = XVECEXP (x3, 0, 5);
   15921              :           if (XWINT (x9, 0) != 9L)
   15922              :             return -1;
   15923              :           x10 = XVECEXP (x3, 0, 6);
   15924              :           if (XWINT (x10, 0) != 10L)
   15925              :             return -1;
   15926              :           x11 = XVECEXP (x3, 0, 7);
   15927              :           if (XWINT (x11, 0) != 11L)
   15928              :             return -1;
   15929              :           x12 = XEXP (x2, 0);
   15930              :           x13 = XEXP (x12, 1);
   15931              :           operands[2] = x13;
   15932              :           switch (GET_MODE (operands[0]))
   15933              :             {
   15934              :             case E_V8HImode:
   15935              :               if (pattern1492 (x2, 
   15936              : E_V8HImode, 
   15937              : E_V16HImode) != 0
   15938              :                   || !
   15939              : #line 11515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15940              : (TARGET_SSE && ix86_binary_operator_ok (UNKNOWN, V8HImode, operands)))
   15941              :                 return -1;
   15942              :               return 5263; /* sse_movlhps_v8hi */
   15943              : 
   15944              :             case E_V8HFmode:
   15945              :               if (pattern1492 (x2, 
   15946              : E_V8HFmode, 
   15947              : E_V16HFmode) != 0
   15948              :                   || !
   15949              : #line 11515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15950              : (TARGET_SSE && ix86_binary_operator_ok (UNKNOWN, V8HFmode, operands)))
   15951              :                 return -1;
   15952              :               return 5264; /* sse_movlhps_v8hf */
   15953              : 
   15954              :             case E_V8BFmode:
   15955              :               if (pattern1492 (x2, 
   15956              : E_V8BFmode, 
   15957              : E_V16BFmode) != 0
   15958              :                   || !
   15959              : #line 11515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15960              : (TARGET_SSE && ix86_binary_operator_ok (UNKNOWN, V8BFmode, operands)))
   15961              :                 return -1;
   15962              :               return 5265; /* sse_movlhps_v8bf */
   15963              : 
   15964              :             default:
   15965              :               return -1;
   15966              :             }
   15967              : 
   15968              :         case 8L:
   15969              :           x6 = XVECEXP (x3, 0, 2);
   15970              :           switch (XWINT (x6, 0))
   15971              :             {
   15972              :             case 1L:
   15973              :               x7 = XVECEXP (x3, 0, 3);
   15974              :               if (XWINT (x7, 0) != 9L)
   15975              :                 return -1;
   15976              :               x12 = XEXP (x2, 0);
   15977              :               x13 = XEXP (x12, 1);
   15978              :               operands[2] = x13;
   15979              :               x8 = XVECEXP (x3, 0, 4);
   15980              :               switch (XWINT (x8, 0))
   15981              :                 {
   15982              :                 case 4L:
   15983              :                   x9 = XVECEXP (x3, 0, 5);
   15984              :                   if (XWINT (x9, 0) != 12L)
   15985              :                     return -1;
   15986              :                   x10 = XVECEXP (x3, 0, 6);
   15987              :                   if (XWINT (x10, 0) != 5L)
   15988              :                     return -1;
   15989              :                   x11 = XVECEXP (x3, 0, 7);
   15990              :                   if (XWINT (x11, 0) != 13L)
   15991              :                     return -1;
   15992              :                   switch (GET_MODE (operands[0]))
   15993              :                     {
   15994              :                     case E_V8SFmode:
   15995              :                       if (pattern1424 (x2, 
   15996              : E_V8SFmode, 
   15997              : E_V16SFmode) != 0
   15998              :                           || !
   15999              : #line 11645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16000              : (TARGET_AVX && 1))
   16001              :                         return -1;
   16002              :                       return 5274; /* avx_unpcklps256 */
   16003              : 
   16004              :                     case E_V8SImode:
   16005              :                       if (pattern1424 (x2, 
   16006              : E_V8SImode, 
   16007              : E_V16SImode) != 0
   16008              :                           || !
   16009              : #line 20246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16010              : (TARGET_AVX2 && 1))
   16011              :                         return -1;
   16012              :                       return 8448; /* avx2_interleave_lowv8si */
   16013              : 
   16014              :                     default:
   16015              :                       return -1;
   16016              :                     }
   16017              : 
   16018              :                 case 2L:
   16019              :                   x9 = XVECEXP (x3, 0, 5);
   16020              :                   if (XWINT (x9, 0) != 10L)
   16021              :                     return -1;
   16022              :                   x10 = XVECEXP (x3, 0, 6);
   16023              :                   if (XWINT (x10, 0) != 3L)
   16024              :                     return -1;
   16025              :                   x11 = XVECEXP (x3, 0, 7);
   16026              :                   if (XWINT (x11, 0) != 11L)
   16027              :                     return -1;
   16028              :                   switch (GET_MODE (operands[0]))
   16029              :                     {
   16030              :                     case E_V8HImode:
   16031              :                       if (pattern1493 (x2, 
   16032              : E_V8HImode, 
   16033              : E_V16HImode) != 0
   16034              :                           || !
   16035              : #line 20171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16036              : (TARGET_SSE2 && 1 && 1))
   16037              :                         return -1;
   16038              :                       return 8436; /* vec_interleave_lowv8hi */
   16039              : 
   16040              :                     case E_V8HFmode:
   16041              :                       if (pattern1493 (x2, 
   16042              : E_V8HFmode, 
   16043              : E_V16HFmode) != 0
   16044              :                           || !
   16045              : #line 20171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16046              : (TARGET_SSE2 && 1 && 1))
   16047              :                         return -1;
   16048              :                       return 8438; /* vec_interleave_lowv8hf */
   16049              : 
   16050              :                     case E_V8BFmode:
   16051              :                       if (pattern1493 (x2, 
   16052              : E_V8BFmode, 
   16053              : E_V16BFmode) != 0
   16054              :                           || !
   16055              : #line 20171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16056              : (TARGET_SSE2 && 1 && 1))
   16057              :                         return -1;
   16058              :                       return 8440; /* vec_interleave_lowv8bf */
   16059              : 
   16060              :                     default:
   16061              :                       return -1;
   16062              :                     }
   16063              : 
   16064              :                 default:
   16065              :                   return -1;
   16066              :                 }
   16067              : 
   16068              :             case 2L:
   16069              :               x7 = XVECEXP (x3, 0, 3);
   16070              :               if (XWINT (x7, 0) != 10L)
   16071              :                 return -1;
   16072              :               x8 = XVECEXP (x3, 0, 4);
   16073              :               if (XWINT (x8, 0) != 4L)
   16074              :                 return -1;
   16075              :               x9 = XVECEXP (x3, 0, 5);
   16076              :               if (XWINT (x9, 0) != 12L)
   16077              :                 return -1;
   16078              :               x10 = XVECEXP (x3, 0, 6);
   16079              :               if (XWINT (x10, 0) != 6L)
   16080              :                 return -1;
   16081              :               x11 = XVECEXP (x3, 0, 7);
   16082              :               if (XWINT (x11, 0) != 14L)
   16083              :                 return -1;
   16084              :               switch (GET_MODE (operands[0]))
   16085              :                 {
   16086              :                 case E_V8DFmode:
   16087              :                   if (!register_operand (operands[0], E_V8DFmode)
   16088              :                       || GET_MODE (x2) != E_V8DFmode)
   16089              :                     return -1;
   16090              :                   x12 = XEXP (x2, 0);
   16091              :                   if (GET_MODE (x12) != E_V16DFmode)
   16092              :                     return -1;
   16093              :                   if (nonimmediate_operand (operands[1], E_V8DFmode))
   16094              :                     {
   16095              :                       x13 = XEXP (x12, 1);
   16096              :                       if (rtx_equal_p (x13, operands[1])
   16097              :                           && 
   16098              : #line 13835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16099              : (TARGET_AVX512F))
   16100              :                         return 5426; /* avx512f_movddup512 */
   16101              :                     }
   16102              :                   if (!register_operand (operands[1], E_V8DFmode))
   16103              :                     return -1;
   16104              :                   x13 = XEXP (x12, 1);
   16105              :                   operands[2] = x13;
   16106              :                   if (!nonimmediate_operand (operands[2], E_V8DFmode)
   16107              :                       || !
   16108              : #line 13853 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16109              : (TARGET_AVX512F))
   16110              :                     return -1;
   16111              :                   return 5428; /* avx512f_unpcklpd512 */
   16112              : 
   16113              :                 case E_V8DImode:
   16114              :                   if (pattern1636 (x2, 
   16115              : E_V8DImode, 
   16116              : E_V16DImode) != 0
   16117              :                       || !
   16118              : #line 14933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16119              : (TARGET_AVX512F))
   16120              :                     return -1;
   16121              :                   return 7247; /* *avx512f_interleave_lowv8di */
   16122              : 
   16123              :                 default:
   16124              :                   return -1;
   16125              :                 }
   16126              : 
   16127              :             default:
   16128              :               return -1;
   16129              :             }
   16130              : 
   16131              :         case 0L:
   16132              :           if (pattern1682 (x3) != 0
   16133              :               || pattern1814 (x2, 
   16134              : E_V8SFmode, 
   16135              : E_V16SFmode) != 0
   16136              :               || !
   16137              : #line 11784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16138              : (TARGET_AVX && 1))
   16139              :             return -1;
   16140              :           return 5284; /* avx_movsldup256 */
   16141              : 
   16142              :         default:
   16143              :           return -1;
   16144              :         }
   16145              : 
   16146              :     case 2L:
   16147              :       x5 = XVECEXP (x3, 0, 1);
   16148              :       if (XWINT (x5, 0) != 10L)
   16149              :         return -1;
   16150              :       x6 = XVECEXP (x3, 0, 2);
   16151              :       if (XWINT (x6, 0) != 3L)
   16152              :         return -1;
   16153              :       x7 = XVECEXP (x3, 0, 3);
   16154              :       if (XWINT (x7, 0) != 11L
   16155              :           || pattern1729 (x2) != 0)
   16156              :         return -1;
   16157              :       switch (GET_MODE (operands[0]))
   16158              :         {
   16159              :         case E_V8SFmode:
   16160              :           if (pattern1424 (x2, 
   16161              : E_V8SFmode, 
   16162              : E_V16SFmode) != 0
   16163              :               || !
   16164              : #line 11557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16165              : (TARGET_AVX && 1))
   16166              :             return -1;
   16167              :           return 5268; /* avx_unpckhps256 */
   16168              : 
   16169              :         case E_V8SImode:
   16170              :           if (pattern1424 (x2, 
   16171              : E_V8SImode, 
   16172              : E_V16SImode) != 0
   16173              :               || !
   16174              : #line 20191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16175              : (TARGET_AVX2 && 1))
   16176              :             return -1;
   16177              :           return 8442; /* avx2_interleave_highv8si */
   16178              : 
   16179              :         default:
   16180              :           return -1;
   16181              :         }
   16182              : 
   16183              :     case 1L:
   16184              :       x6 = XVECEXP (x3, 0, 2);
   16185              :       if (XWINT (x6, 0) != 3L)
   16186              :         return -1;
   16187              :       x8 = XVECEXP (x3, 0, 4);
   16188              :       if (XWINT (x8, 0) != 5L)
   16189              :         return -1;
   16190              :       x10 = XVECEXP (x3, 0, 6);
   16191              :       if (XWINT (x10, 0) != 7L)
   16192              :         return -1;
   16193              :       x5 = XVECEXP (x3, 0, 1);
   16194              :       switch (XWINT (x5, 0))
   16195              :         {
   16196              :         case 1L:
   16197              :           x7 = XVECEXP (x3, 0, 3);
   16198              :           if (XWINT (x7, 0) != 3L)
   16199              :             return -1;
   16200              :           x9 = XVECEXP (x3, 0, 5);
   16201              :           if (XWINT (x9, 0) != 5L)
   16202              :             return -1;
   16203              :           x11 = XVECEXP (x3, 0, 7);
   16204              :           if (XWINT (x11, 0) != 7L
   16205              :               || pattern1814 (x2, 
   16206              : E_V8SFmode, 
   16207              : E_V16SFmode) != 0
   16208              :               || !
   16209              : #line 11731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16210              : (TARGET_AVX && 1))
   16211              :             return -1;
   16212              :           return 5278; /* avx_movshdup256 */
   16213              : 
   16214              :         case 9L:
   16215              :           x7 = XVECEXP (x3, 0, 3);
   16216              :           if (XWINT (x7, 0) != 11L)
   16217              :             return -1;
   16218              :           x9 = XVECEXP (x3, 0, 5);
   16219              :           if (XWINT (x9, 0) != 13L)
   16220              :             return -1;
   16221              :           x11 = XVECEXP (x3, 0, 7);
   16222              :           if (XWINT (x11, 0) != 15L)
   16223              :             return -1;
   16224              :           x12 = XEXP (x2, 0);
   16225              :           x13 = XEXP (x12, 1);
   16226              :           operands[2] = x13;
   16227              :           switch (GET_MODE (operands[0]))
   16228              :             {
   16229              :             case E_V8DFmode:
   16230              :               if (pattern1424 (x2, 
   16231              : E_V8DFmode, 
   16232              : E_V16DFmode) != 0
   16233              :                   || !
   16234              : #line 13721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16235              : (TARGET_AVX512F))
   16236              :                 return -1;
   16237              :               return 5420; /* *avx512f_unpckhpd512 */
   16238              : 
   16239              :             case E_V8DImode:
   16240              :               if (pattern1424 (x2, 
   16241              : E_V8DImode, 
   16242              : E_V16DImode) != 0
   16243              :                   || !
   16244              : #line 14883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16245              : (TARGET_AVX512F))
   16246              :                 return -1;
   16247              :               return 7241; /* *avx512f_interleave_highv8di */
   16248              : 
   16249              :             default:
   16250              :               return -1;
   16251              :             }
   16252              : 
   16253              :         default:
   16254              :           return -1;
   16255              :         }
   16256              : 
   16257              :     case 4L:
   16258              :       x5 = XVECEXP (x3, 0, 1);
   16259              :       if (XWINT (x5, 0) != 12L)
   16260              :         return -1;
   16261              :       x6 = XVECEXP (x3, 0, 2);
   16262              :       if (XWINT (x6, 0) != 5L)
   16263              :         return -1;
   16264              :       x7 = XVECEXP (x3, 0, 3);
   16265              :       if (XWINT (x7, 0) != 13L
   16266              :           || pattern1729 (x2) != 0)
   16267              :         return -1;
   16268              :       switch (GET_MODE (operands[0]))
   16269              :         {
   16270              :         case E_V8HImode:
   16271              :           if (pattern1493 (x2, 
   16272              : E_V8HImode, 
   16273              : E_V16HImode) != 0
   16274              :               || !
   16275              : #line 20103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16276              : (TARGET_SSE2 && 1 && 1))
   16277              :             return -1;
   16278              :           return 8418; /* vec_interleave_highv8hi */
   16279              : 
   16280              :         case E_V8HFmode:
   16281              :           if (pattern1493 (x2, 
   16282              : E_V8HFmode, 
   16283              : E_V16HFmode) != 0
   16284              :               || !
   16285              : #line 20103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16286              : (TARGET_SSE2 && 1 && 1))
   16287              :             return -1;
   16288              :           return 8420; /* vec_interleave_highv8hf */
   16289              : 
   16290              :         case E_V8BFmode:
   16291              :           if (pattern1493 (x2, 
   16292              : E_V8BFmode, 
   16293              : E_V16BFmode) != 0
   16294              :               || !
   16295              : #line 20103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16296              : (TARGET_SSE2 && 1 && 1))
   16297              :             return -1;
   16298              :           return 8422; /* vec_interleave_highv8bf */
   16299              : 
   16300              :         default:
   16301              :           return -1;
   16302              :         }
   16303              : 
   16304              :     default:
   16305              :       return -1;
   16306              :     }
   16307              : }
   16308              : 
   16309              :  int
   16310              : recog_290 (rtx x1 ATTRIBUTE_UNUSED,
   16311              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16312              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16313              : {
   16314              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16315              :   rtx x2, x3, x4, x5;
   16316              :   int res ATTRIBUTE_UNUSED;
   16317              :   x2 = XEXP (x1, 1);
   16318              :   x3 = XEXP (x2, 1);
   16319              :   x4 = XVECEXP (x3, 0, 0);
   16320              :   if (GET_CODE (x4) != CONST_INT)
   16321              :     return -1;
   16322              :   operands[2] = x4;
   16323              :   if (const_0_to_7_operand (operands[2], E_VOIDmode))
   16324              :     {
   16325              :       x5 = XVECEXP (x3, 0, 1);
   16326              :       operands[3] = x5;
   16327              :       if (const_0_to_7_operand (operands[3], E_VOIDmode))
   16328              :         {
   16329              :           switch (GET_MODE (operands[0]))
   16330              :             {
   16331              :             case E_V2DFmode:
   16332              :               if (nonimmediate_operand (operands[0], E_V2DFmode)
   16333              :                   && GET_MODE (x2) == E_V2DFmode
   16334              :                   && register_operand (operands[1], E_V8DFmode)
   16335              :                   && 
   16336              : #line 12852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16337              : (TARGET_AVX512DQ
   16338              :    && INTVAL (operands[2]) % 2 == 0
   16339              :    && INTVAL (operands[2]) == INTVAL (operands[3]) - 1))
   16340              :                 return 5358; /* *avx512dq_vextractf64x2_1 */
   16341              :               break;
   16342              : 
   16343              :             case E_V2DImode:
   16344              :               if (nonimmediate_operand (operands[0], E_V2DImode)
   16345              :                   && GET_MODE (x2) == E_V2DImode
   16346              :                   && register_operand (operands[1], E_V8DImode)
   16347              :                   && 
   16348              : #line 12852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16349              : (TARGET_AVX512DQ
   16350              :    && INTVAL (operands[2]) % 2 == 0
   16351              :    && INTVAL (operands[2]) == INTVAL (operands[3]) - 1))
   16352              :                 return 5359; /* *avx512dq_vextracti64x2_1 */
   16353              :               break;
   16354              : 
   16355              :             default:
   16356              :               break;
   16357              :             }
   16358              :         }
   16359              :     }
   16360              :   x5 = XVECEXP (x3, 0, 1);
   16361              :   if (GET_CODE (x5) != CONST_INT)
   16362              :     return -1;
   16363              :   switch (XWINT (x4, 0))
   16364              :     {
   16365              :     case 0L:
   16366              :       if (XWINT (x5, 0) != 1L)
   16367              :         return -1;
   16368              :       switch (GET_MODE (operands[0]))
   16369              :         {
   16370              :         case E_V2DImode:
   16371              :           if (!nonimmediate_operand (operands[0], E_V2DImode)
   16372              :               || GET_MODE (x2) != E_V2DImode
   16373              :               || !nonimmediate_operand (operands[1], E_V4DImode)
   16374              :               || !
   16375              : #line 13276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16376              : (TARGET_AVX
   16377              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   16378              :             return -1;
   16379              :           return 5382; /* vec_extract_lo_v4di */
   16380              : 
   16381              :         case E_V2DFmode:
   16382              :           if (!nonimmediate_operand (operands[0], E_V2DFmode)
   16383              :               || GET_MODE (x2) != E_V2DFmode
   16384              :               || !nonimmediate_operand (operands[1], E_V4DFmode)
   16385              :               || !
   16386              : #line 13276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16387              : (TARGET_AVX
   16388              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   16389              :             return -1;
   16390              :           return 5383; /* vec_extract_lo_v4df */
   16391              : 
   16392              :         default:
   16393              :           return -1;
   16394              :         }
   16395              : 
   16396              :     case 2L:
   16397              :       if (XWINT (x5, 0) != 3L)
   16398              :         return -1;
   16399              :       switch (GET_MODE (operands[0]))
   16400              :         {
   16401              :         case E_V2DImode:
   16402              :           if (!nonimmediate_operand (operands[0], E_V2DImode)
   16403              :               || GET_MODE (x2) != E_V2DImode
   16404              :               || !register_operand (operands[1], E_V4DImode)
   16405              :               || !
   16406              : #line 13312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16407              : (TARGET_AVX))
   16408              :             return -1;
   16409              :           return 5386; /* vec_extract_hi_v4di */
   16410              : 
   16411              :         case E_V2DFmode:
   16412              :           if (!nonimmediate_operand (operands[0], E_V2DFmode)
   16413              :               || GET_MODE (x2) != E_V2DFmode
   16414              :               || !register_operand (operands[1], E_V4DFmode)
   16415              :               || !
   16416              : #line 13312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16417              : (TARGET_AVX))
   16418              :             return -1;
   16419              :           return 5387; /* vec_extract_hi_v4df */
   16420              : 
   16421              :         default:
   16422              :           return -1;
   16423              :         }
   16424              : 
   16425              :     default:
   16426              :       return -1;
   16427              :     }
   16428              : }
   16429              : 
   16430              :  int
   16431              : recog_293 (rtx x1 ATTRIBUTE_UNUSED,
   16432              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16433              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16434              : {
   16435              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16436              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   16437              :   rtx x10, x11;
   16438              :   int res ATTRIBUTE_UNUSED;
   16439              :   x2 = XEXP (x1, 1);
   16440              :   x3 = XEXP (x2, 1);
   16441              :   if (pattern933 (x3) != 0)
   16442              :     return -1;
   16443              :   x4 = XVECEXP (x3, 0, 0);
   16444              :   switch (XWINT (x4, 0))
   16445              :     {
   16446              :     case 8L:
   16447              :       x5 = XVECEXP (x3, 0, 1);
   16448              :       if (XWINT (x5, 0) != 9L)
   16449              :         return -1;
   16450              :       x6 = XVECEXP (x3, 0, 2);
   16451              :       if (XWINT (x6, 0) != 10L)
   16452              :         return -1;
   16453              :       x7 = XVECEXP (x3, 0, 3);
   16454              :       if (XWINT (x7, 0) != 11L)
   16455              :         return -1;
   16456              :       x8 = XVECEXP (x3, 0, 4);
   16457              :       if (XWINT (x8, 0) != 12L)
   16458              :         return -1;
   16459              :       x9 = XVECEXP (x3, 0, 5);
   16460              :       if (XWINT (x9, 0) != 13L)
   16461              :         return -1;
   16462              :       x10 = XVECEXP (x3, 0, 6);
   16463              :       if (XWINT (x10, 0) != 14L)
   16464              :         return -1;
   16465              :       x11 = XVECEXP (x3, 0, 7);
   16466              :       if (XWINT (x11, 0) != 15L)
   16467              :         return -1;
   16468              :       switch (GET_MODE (operands[0]))
   16469              :         {
   16470              :         case E_V8SFmode:
   16471              :           if (!nonimmediate_operand (operands[0], E_V8SFmode)
   16472              :               || GET_MODE (x2) != E_V8SFmode
   16473              :               || !register_operand (operands[1], E_V16SFmode)
   16474              :               || !
   16475              : #line 13103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16476              : (TARGET_AVX512F))
   16477              :             return -1;
   16478              :           return 5374; /* vec_extract_hi_v16sf */
   16479              : 
   16480              :         case E_V8SImode:
   16481              :           if (!nonimmediate_operand (operands[0], E_V8SImode)
   16482              :               || GET_MODE (x2) != E_V8SImode
   16483              :               || !register_operand (operands[1], E_V16SImode)
   16484              :               || !
   16485              : #line 13103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16486              : (TARGET_AVX512F))
   16487              :             return -1;
   16488              :           return 5375; /* vec_extract_hi_v16si */
   16489              : 
   16490              :         case E_V8HImode:
   16491              :           if (!nonimmediate_operand (operands[0], E_V8HImode)
   16492              :               || GET_MODE (x2) != E_V8HImode
   16493              :               || !register_operand (operands[1], E_V16HImode)
   16494              :               || !
   16495              : #line 13491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16496              : (TARGET_AVX))
   16497              :             return -1;
   16498              :           return 5405; /* vec_extract_hi_v16hi */
   16499              : 
   16500              :         case E_V8HFmode:
   16501              :           if (!nonimmediate_operand (operands[0], E_V8HFmode)
   16502              :               || GET_MODE (x2) != E_V8HFmode
   16503              :               || !register_operand (operands[1], E_V16HFmode)
   16504              :               || !
   16505              : #line 13491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16506              : (TARGET_AVX))
   16507              :             return -1;
   16508              :           return 5406; /* vec_extract_hi_v16hf */
   16509              : 
   16510              :         case E_V8BFmode:
   16511              :           if (!nonimmediate_operand (operands[0], E_V8BFmode)
   16512              :               || GET_MODE (x2) != E_V8BFmode
   16513              :               || !register_operand (operands[1], E_V16BFmode)
   16514              :               || !
   16515              : #line 13491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16516              : (TARGET_AVX))
   16517              :             return -1;
   16518              :           return 5407; /* vec_extract_hi_v16bf */
   16519              : 
   16520              :         default:
   16521              :           return -1;
   16522              :         }
   16523              : 
   16524              :     case 0L:
   16525              :       x5 = XVECEXP (x3, 0, 1);
   16526              :       if (XWINT (x5, 0) != 1L)
   16527              :         return -1;
   16528              :       x6 = XVECEXP (x3, 0, 2);
   16529              :       if (XWINT (x6, 0) != 2L)
   16530              :         return -1;
   16531              :       x7 = XVECEXP (x3, 0, 3);
   16532              :       if (XWINT (x7, 0) != 3L)
   16533              :         return -1;
   16534              :       x8 = XVECEXP (x3, 0, 4);
   16535              :       if (XWINT (x8, 0) != 4L)
   16536              :         return -1;
   16537              :       x9 = XVECEXP (x3, 0, 5);
   16538              :       if (XWINT (x9, 0) != 5L)
   16539              :         return -1;
   16540              :       x10 = XVECEXP (x3, 0, 6);
   16541              :       if (XWINT (x10, 0) != 6L)
   16542              :         return -1;
   16543              :       x11 = XVECEXP (x3, 0, 7);
   16544              :       if (XWINT (x11, 0) != 7L)
   16545              :         return -1;
   16546              :       switch (pattern1547 (x2))
   16547              :         {
   16548              :         case 0:
   16549              :           if (!
   16550              : #line 13208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16551              : (TARGET_AVX512F
   16552              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   16553              :             return -1;
   16554              :           return 5378; /* vec_extract_lo_v16sf */
   16555              : 
   16556              :         case 1:
   16557              :           if (!
   16558              : #line 13208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16559              : (TARGET_AVX512F
   16560              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   16561              :             return -1;
   16562              :           return 5379; /* vec_extract_lo_v16si */
   16563              : 
   16564              :         case 2:
   16565              :           if (!
   16566              : #line 13477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16567              : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   16568              :             return -1;
   16569              :           return 5402; /* vec_extract_lo_v16hi */
   16570              : 
   16571              :         case 3:
   16572              :           if (!
   16573              : #line 13477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16574              : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   16575              :             return -1;
   16576              :           return 5403; /* vec_extract_lo_v16hf */
   16577              : 
   16578              :         case 4:
   16579              :           if (!
   16580              : #line 13477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16581              : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   16582              :             return -1;
   16583              :           return 5404; /* vec_extract_lo_v16bf */
   16584              : 
   16585              :         default:
   16586              :           return -1;
   16587              :         }
   16588              : 
   16589              :     default:
   16590              :       return -1;
   16591              :     }
   16592              : }
   16593              : 
   16594              :  int
   16595              : recog_305 (rtx x1 ATTRIBUTE_UNUSED,
   16596              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16597              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16598              : {
   16599              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16600              :   rtx x2, x3, x4;
   16601              :   int res ATTRIBUTE_UNUSED;
   16602              :   x2 = XEXP (x1, 1);
   16603              :   x3 = XEXP (x2, 0);
   16604              :   operands[1] = x3;
   16605              :   x4 = XEXP (x2, 1);
   16606              :   operands[2] = x4;
   16607              :   switch (GET_MODE (operands[0]))
   16608              :     {
   16609              :     case E_V16BFmode:
   16610              :       if (GET_MODE (x2) != E_V16BFmode)
   16611              :         return -1;
   16612              :       if (register_operand (operands[0], E_V16BFmode)
   16613              :           && vector_operand (operands[1], E_V16BFmode)
   16614              :           && vector_operand (operands[2], E_V16BFmode)
   16615              :           && (
   16616              : #line 5769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16617              : (TARGET_SSE && 1
   16618              :    && (!false || 16 != 16)
   16619              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   16620              : #line 430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16621              : (TARGET_AVX)))
   16622              :         return 3789; /* *andv16bf3 */
   16623              :       if (!nonimmediate_operand (operands[0], E_V16BFmode)
   16624              :           || !nonimmediate_operand (operands[1], E_V16BFmode)
   16625              :           || !float_vector_all_ones_operand (operands[2], E_V16BFmode)
   16626              :           || !(
   16627              : #line 5879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16628              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   16629              : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16630              : (TARGET_AVX)))
   16631              :         return -1;
   16632              :       return 3844; /* *bit_and_float_vector_all_ones */
   16633              : 
   16634              :     case E_V8BFmode:
   16635              :       if (GET_MODE (x2) != E_V8BFmode)
   16636              :         return -1;
   16637              :       if (register_operand (operands[0], E_V8BFmode)
   16638              :           && vector_operand (operands[1], E_V8BFmode)
   16639              :           && vector_operand (operands[2], E_V8BFmode)
   16640              :           && (
   16641              : #line 5769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16642              : (TARGET_SSE && 1
   16643              :    && (!false || 16 != 16)
   16644              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   16645              : #line 430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16646              : (TARGET_SSE2)))
   16647              :         return 3792; /* *andv8bf3 */
   16648              :       if (!nonimmediate_operand (operands[0], E_V8BFmode)
   16649              :           || !nonimmediate_operand (operands[1], E_V8BFmode)
   16650              :           || !float_vector_all_ones_operand (operands[2], E_V8BFmode)
   16651              :           || !(
   16652              : #line 5879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16653              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   16654              : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16655              : (TARGET_SSE2)))
   16656              :         return -1;
   16657              :       return 3845; /* *bit_and_float_vector_all_ones */
   16658              : 
   16659              :     case E_V16HFmode:
   16660              :       if (GET_MODE (x2) != E_V16HFmode)
   16661              :         return -1;
   16662              :       if (register_operand (operands[0], E_V16HFmode)
   16663              :           && vector_operand (operands[1], E_V16HFmode)
   16664              :           && vector_operand (operands[2], E_V16HFmode)
   16665              :           && (
   16666              : #line 5769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16667              : (TARGET_SSE && 1
   16668              :    && (!false || 16 != 16)
   16669              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   16670              : #line 431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16671              : (TARGET_AVX)))
   16672              :         return 3795; /* *andv16hf3 */
   16673              :       if (!nonimmediate_operand (operands[0], E_V16HFmode)
   16674              :           || !nonimmediate_operand (operands[1], E_V16HFmode)
   16675              :           || !float_vector_all_ones_operand (operands[2], E_V16HFmode)
   16676              :           || !(
   16677              : #line 5879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16678              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   16679              : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16680              : (TARGET_AVX)))
   16681              :         return -1;
   16682              :       return 3847; /* *bit_and_float_vector_all_ones */
   16683              : 
   16684              :     case E_V8HFmode:
   16685              :       if (GET_MODE (x2) != E_V8HFmode)
   16686              :         return -1;
   16687              :       if (register_operand (operands[0], E_V8HFmode)
   16688              :           && vector_operand (operands[1], E_V8HFmode)
   16689              :           && vector_operand (operands[2], E_V8HFmode)
   16690              :           && (
   16691              : #line 5769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16692              : (TARGET_SSE && 1
   16693              :    && (!false || 16 != 16)
   16694              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   16695              : #line 431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16696              : (TARGET_SSE2)))
   16697              :         return 3798; /* *andv8hf3 */
   16698              :       if (!nonimmediate_operand (operands[0], E_V8HFmode)
   16699              :           || !nonimmediate_operand (operands[1], E_V8HFmode)
   16700              :           || !float_vector_all_ones_operand (operands[2], E_V8HFmode)
   16701              :           || !(
   16702              : #line 5879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16703              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   16704              : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16705              : (TARGET_SSE2)))
   16706              :         return -1;
   16707              :       return 3848; /* *bit_and_float_vector_all_ones */
   16708              : 
   16709              :     case E_V8SFmode:
   16710              :       if (GET_MODE (x2) != E_V8SFmode)
   16711              :         return -1;
   16712              :       if (register_operand (operands[0], E_V8SFmode)
   16713              :           && vector_operand (operands[1], E_V8SFmode)
   16714              :           && vector_operand (operands[2], E_V8SFmode)
   16715              :           && (
   16716              : #line 5769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16717              : (TARGET_SSE && 1
   16718              :    && (!false || 32 != 16)
   16719              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   16720              : #line 432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16721              : (TARGET_AVX)))
   16722              :         return 3801; /* *andv8sf3 */
   16723              :       if (!nonimmediate_operand (operands[0], E_V8SFmode)
   16724              :           || !nonimmediate_operand (operands[1], E_V8SFmode)
   16725              :           || !float_vector_all_ones_operand (operands[2], E_V8SFmode)
   16726              :           || !(
   16727              : #line 5879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16728              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   16729              : #line 419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16730              : (TARGET_AVX)))
   16731              :         return -1;
   16732              :       return 3850; /* *bit_and_float_vector_all_ones */
   16733              : 
   16734              :     case E_V4SFmode:
   16735              :       if (GET_MODE (x2) != E_V4SFmode)
   16736              :         return -1;
   16737              :       if (register_operand (operands[0], E_V4SFmode)
   16738              :           && vector_operand (operands[1], E_V4SFmode)
   16739              :           && vector_operand (operands[2], E_V4SFmode)
   16740              :           && 
   16741              : #line 5769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16742              : (TARGET_SSE && 1
   16743              :    && (!false || 32 != 16)
   16744              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   16745              :         return 3807; /* *andv4sf3 */
   16746              :       if (!nonimmediate_operand (operands[0], E_V4SFmode)
   16747              :           || !nonimmediate_operand (operands[1], E_V4SFmode)
   16748              :           || !float_vector_all_ones_operand (operands[2], E_V4SFmode)
   16749              :           || !
   16750              : #line 5879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16751              : (TARGET_SSE && ix86_pre_reload_split ()))
   16752              :         return -1;
   16753              :       return 3851; /* *bit_and_float_vector_all_ones */
   16754              : 
   16755              :     case E_V4DFmode:
   16756              :       if (GET_MODE (x2) != E_V4DFmode)
   16757              :         return -1;
   16758              :       if (register_operand (operands[0], E_V4DFmode)
   16759              :           && vector_operand (operands[1], E_V4DFmode)
   16760              :           && vector_operand (operands[2], E_V4DFmode)
   16761              :           && (
   16762              : #line 5769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16763              : (TARGET_SSE && 1
   16764              :    && (!false || 64 != 16)
   16765              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   16766              : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16767              : (TARGET_AVX)))
   16768              :         return 3813; /* *andv4df3 */
   16769              :       if (!nonimmediate_operand (operands[0], E_V4DFmode)
   16770              :           || !nonimmediate_operand (operands[1], E_V4DFmode)
   16771              :           || !float_vector_all_ones_operand (operands[2], E_V4DFmode)
   16772              :           || !(
   16773              : #line 5879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16774              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   16775              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16776              : (TARGET_AVX)))
   16777              :         return -1;
   16778              :       return 3853; /* *bit_and_float_vector_all_ones */
   16779              : 
   16780              :     case E_V2DFmode:
   16781              :       if (GET_MODE (x2) != E_V2DFmode)
   16782              :         return -1;
   16783              :       if (register_operand (operands[0], E_V2DFmode)
   16784              :           && vector_operand (operands[1], E_V2DFmode)
   16785              :           && vector_operand (operands[2], E_V2DFmode)
   16786              :           && (
   16787              : #line 5769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16788              : (TARGET_SSE && 1
   16789              :    && (!false || 64 != 16)
   16790              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   16791              : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16792              : (TARGET_SSE2)))
   16793              :         return 3819; /* *andv2df3 */
   16794              :       if (!nonimmediate_operand (operands[0], E_V2DFmode)
   16795              :           || !nonimmediate_operand (operands[1], E_V2DFmode)
   16796              :           || !float_vector_all_ones_operand (operands[2], E_V2DFmode)
   16797              :           || !(
   16798              : #line 5879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16799              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   16800              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16801              : (TARGET_SSE2)))
   16802              :         return -1;
   16803              :       return 3854; /* *bit_and_float_vector_all_ones */
   16804              : 
   16805              :     case E_V32BFmode:
   16806              :       if (GET_MODE (x2) != E_V32BFmode
   16807              :           || !nonimmediate_operand (operands[1], E_V32BFmode))
   16808              :         return -1;
   16809              :       if (register_operand (operands[0], E_V32BFmode)
   16810              :           && nonimmediate_operand (operands[2], E_V32BFmode)
   16811              :           && 
   16812              : #line 5840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16813              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   16814              :    && (!false || 16 != 16)))
   16815              :         return 3825; /* *andv32bf3 */
   16816              :       if (!nonimmediate_operand (operands[0], E_V32BFmode)
   16817              :           || !float_vector_all_ones_operand (operands[2], E_V32BFmode)
   16818              :           || !(
   16819              : #line 5879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16820              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   16821              : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16822              : (TARGET_AVX512F)))
   16823              :         return -1;
   16824              :       return 3843; /* *bit_and_float_vector_all_ones */
   16825              : 
   16826              :     case E_V32HFmode:
   16827              :       if (GET_MODE (x2) != E_V32HFmode
   16828              :           || !nonimmediate_operand (operands[1], E_V32HFmode))
   16829              :         return -1;
   16830              :       if (register_operand (operands[0], E_V32HFmode)
   16831              :           && nonimmediate_operand (operands[2], E_V32HFmode)
   16832              :           && 
   16833              : #line 5840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16834              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   16835              :    && (!false || 16 != 16)))
   16836              :         return 3828; /* *andv32hf3 */
   16837              :       if (!nonimmediate_operand (operands[0], E_V32HFmode)
   16838              :           || !float_vector_all_ones_operand (operands[2], E_V32HFmode)
   16839              :           || !(
   16840              : #line 5879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16841              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   16842              : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16843              : (TARGET_AVX512F)))
   16844              :         return -1;
   16845              :       return 3846; /* *bit_and_float_vector_all_ones */
   16846              : 
   16847              :     case E_V16SFmode:
   16848              :       if (GET_MODE (x2) != E_V16SFmode
   16849              :           || !nonimmediate_operand (operands[1], E_V16SFmode))
   16850              :         return -1;
   16851              :       if (register_operand (operands[0], E_V16SFmode)
   16852              :           && nonimmediate_operand (operands[2], E_V16SFmode)
   16853              :           && 
   16854              : #line 5840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16855              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   16856              :    && (!false || 32 != 16)))
   16857              :         return 3831; /* *andv16sf3 */
   16858              :       if (!nonimmediate_operand (operands[0], E_V16SFmode)
   16859              :           || !float_vector_all_ones_operand (operands[2], E_V16SFmode)
   16860              :           || !(
   16861              : #line 5879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16862              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   16863              : #line 419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16864              : (TARGET_AVX512F)))
   16865              :         return -1;
   16866              :       return 3849; /* *bit_and_float_vector_all_ones */
   16867              : 
   16868              :     case E_V8DFmode:
   16869              :       if (GET_MODE (x2) != E_V8DFmode
   16870              :           || !nonimmediate_operand (operands[1], E_V8DFmode))
   16871              :         return -1;
   16872              :       if (register_operand (operands[0], E_V8DFmode)
   16873              :           && nonimmediate_operand (operands[2], E_V8DFmode)
   16874              :           && 
   16875              : #line 5840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16876              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   16877              :    && (!false || 64 != 16)))
   16878              :         return 3837; /* *andv8df3 */
   16879              :       if (!nonimmediate_operand (operands[0], E_V8DFmode)
   16880              :           || !float_vector_all_ones_operand (operands[2], E_V8DFmode)
   16881              :           || !(
   16882              : #line 5879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16883              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   16884              : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16885              : (TARGET_AVX512F)))
   16886              :         return -1;
   16887              :       return 3852; /* *bit_and_float_vector_all_ones */
   16888              : 
   16889              :     case E_V16SImode:
   16890              :       if (pattern189 (x2, 
   16891              : E_V16SImode) != 0
   16892              :           || !(
   16893              : #line 19195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16894              : (TARGET_SSE && 1
   16895              :    && ix86_binary_operator_ok (AND, V16SImode, operands)) && 
   16896              : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16897              : (TARGET_AVX512F)))
   16898              :         return -1;
   16899              :       return 8079; /* *andv16si3 */
   16900              : 
   16901              :     case E_V8SImode:
   16902              :       if (pattern189 (x2, 
   16903              : E_V8SImode) != 0
   16904              :           || !(
   16905              : #line 19195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16906              : (TARGET_SSE && 1
   16907              :    && ix86_binary_operator_ok (AND, V8SImode, operands)) && 
   16908              : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16909              : (TARGET_AVX)))
   16910              :         return -1;
   16911              :       return 8085; /* *andv8si3 */
   16912              : 
   16913              :     case E_V4SImode:
   16914              :       if (pattern189 (x2, 
   16915              : E_V4SImode) != 0
   16916              :           || !
   16917              : #line 19195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16918              : (TARGET_SSE && 1
   16919              :    && ix86_binary_operator_ok (AND, V4SImode, operands)))
   16920              :         return -1;
   16921              :       return 8091; /* *andv4si3 */
   16922              : 
   16923              :     case E_V8DImode:
   16924              :       if (pattern189 (x2, 
   16925              : E_V8DImode) != 0
   16926              :           || !(
   16927              : #line 19195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16928              : (TARGET_SSE && 1
   16929              :    && ix86_binary_operator_ok (AND, V8DImode, operands)) && 
   16930              : #line 796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16931              : (TARGET_AVX512F)))
   16932              :         return -1;
   16933              :       return 8097; /* *andv8di3 */
   16934              : 
   16935              :     case E_V4DImode:
   16936              :       if (pattern189 (x2, 
   16937              : E_V4DImode) != 0
   16938              :           || !(
   16939              : #line 19195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16940              : (TARGET_SSE && 1
   16941              :    && ix86_binary_operator_ok (AND, V4DImode, operands)) && 
   16942              : #line 796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16943              : (TARGET_AVX)))
   16944              :         return -1;
   16945              :       return 8103; /* *andv4di3 */
   16946              : 
   16947              :     case E_V2DImode:
   16948              :       if (pattern189 (x2, 
   16949              : E_V2DImode) != 0
   16950              :           || !
   16951              : #line 19195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16952              : (TARGET_SSE && 1
   16953              :    && ix86_binary_operator_ok (AND, V2DImode, operands)))
   16954              :         return -1;
   16955              :       return 8109; /* *andv2di3 */
   16956              : 
   16957              :     case E_V64QImode:
   16958              :       if (pattern26 (x2, 
   16959              : E_V64QImode) != 0
   16960              :           || !(
   16961              : #line 19298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16962              : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   16963              : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16964              : (TARGET_AVX512F)))
   16965              :         return -1;
   16966              :       return 8115; /* *andv64qi3 */
   16967              : 
   16968              :     case E_V32QImode:
   16969              :       if (pattern26 (x2, 
   16970              : E_V32QImode) != 0
   16971              :           || !(
   16972              : #line 19298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16973              : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   16974              : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16975              : (TARGET_AVX)))
   16976              :         return -1;
   16977              :       return 8118; /* *andv32qi3 */
   16978              : 
   16979              :     case E_V16QImode:
   16980              :       if (pattern26 (x2, 
   16981              : E_V16QImode) != 0
   16982              :           || !
   16983              : #line 19298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16984              : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   16985              :         return -1;
   16986              :       return 8121; /* *andv16qi3 */
   16987              : 
   16988              :     case E_V32HImode:
   16989              :       if (pattern26 (x2, 
   16990              : E_V32HImode) != 0
   16991              :           || !(
   16992              : #line 19298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16993              : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   16994              : #line 800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16995              : (TARGET_AVX512F)))
   16996              :         return -1;
   16997              :       return 8124; /* *andv32hi3 */
   16998              : 
   16999              :     case E_V16HImode:
   17000              :       if (pattern26 (x2, 
   17001              : E_V16HImode) != 0
   17002              :           || !(
   17003              : #line 19298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17004              : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   17005              : #line 800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17006              : (TARGET_AVX)))
   17007              :         return -1;
   17008              :       return 8127; /* *andv16hi3 */
   17009              : 
   17010              :     case E_V8HImode:
   17011              :       if (pattern26 (x2, 
   17012              : E_V8HImode) != 0
   17013              :           || !
   17014              : #line 19298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17015              : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   17016              :         return -1;
   17017              :       return 8130; /* *andv8hi3 */
   17018              : 
   17019              :     case E_V1TImode:
   17020              :       if (pattern682 (x2, 
   17021              : E_V1TImode) != 0
   17022              :           || !
   17023              : #line 19396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17024              : (TARGET_SSE2))
   17025              :         return -1;
   17026              :       return 8133; /* andv1ti3 */
   17027              : 
   17028              :     default:
   17029              :       return -1;
   17030              :     }
   17031              : }
   17032              : 
   17033              :  int
   17034              : recog_314 (rtx x1 ATTRIBUTE_UNUSED,
   17035              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   17036              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   17037              : {
   17038              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   17039              :   rtx x2, x3, x4;
   17040              :   int res ATTRIBUTE_UNUSED;
   17041              :   x2 = XEXP (x1, 1);
   17042              :   x3 = XEXP (x2, 0);
   17043              :   x4 = XEXP (x3, 0);
   17044              :   switch (GET_CODE (x4))
   17045              :     {
   17046              :     case REG:
   17047              :     case SUBREG:
   17048              :     case MEM:
   17049              :     case NOT:
   17050              :       switch (pattern543 (x2))
   17051              :         {
   17052              :         case 0:
   17053              :           if (!(
   17054              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17055              : ((64 == 64 || TARGET_AVX512VL
   17056              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17057              :    && ix86_pre_reload_split ()
   17058              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17059              :                     STRIP_UNARY (operands[4]))
   17060              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17061              :                        STRIP_UNARY (operands[4]))
   17062              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17063              :                        STRIP_UNARY (operands[3]))
   17064              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17065              :                        STRIP_UNARY (operands[3])))) && 
   17066              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17067              : (TARGET_AVX512F)))
   17068              :             return -1;
   17069              :           return 5886; /* *avx512bw_vpternlogv32hf_1 */
   17070              : 
   17071              :         case 1:
   17072              :           if (!(
   17073              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17074              : ((32 == 64 || TARGET_AVX512VL
   17075              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17076              :    && ix86_pre_reload_split ()
   17077              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17078              :                     STRIP_UNARY (operands[4]))
   17079              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17080              :                        STRIP_UNARY (operands[4]))
   17081              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17082              :                        STRIP_UNARY (operands[3]))
   17083              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17084              :                        STRIP_UNARY (operands[3])))) && 
   17085              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17086              : (TARGET_AVX)))
   17087              :             return -1;
   17088              :           return 5913; /* *avx512vl_vpternlogv16hf_1 */
   17089              : 
   17090              :         case 2:
   17091              :           if (!
   17092              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17093              : ((16 == 64 || TARGET_AVX512VL
   17094              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17095              :    && ix86_pre_reload_split ()
   17096              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17097              :                     STRIP_UNARY (operands[4]))
   17098              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17099              :                        STRIP_UNARY (operands[4]))
   17100              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17101              :                        STRIP_UNARY (operands[3]))
   17102              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17103              :                        STRIP_UNARY (operands[3])))))
   17104              :             return -1;
   17105              :           return 5940; /* *avx512fp16_vpternlogv8hf_1 */
   17106              : 
   17107              :         case 3:
   17108              :           if (!(
   17109              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17110              : ((64 == 64 || TARGET_AVX512VL
   17111              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17112              :    && ix86_pre_reload_split ()
   17113              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17114              :                     STRIP_UNARY (operands[4]))
   17115              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17116              :                        STRIP_UNARY (operands[4]))
   17117              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17118              :                        STRIP_UNARY (operands[3]))
   17119              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17120              :                        STRIP_UNARY (operands[3])))) && 
   17121              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17122              : (TARGET_AVX512F)))
   17123              :             return -1;
   17124              :           return 5967; /* *avx512bw_vpternlogv32bf_1 */
   17125              : 
   17126              :         case 4:
   17127              :           if (!(
   17128              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17129              : ((32 == 64 || TARGET_AVX512VL
   17130              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17131              :    && ix86_pre_reload_split ()
   17132              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17133              :                     STRIP_UNARY (operands[4]))
   17134              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17135              :                        STRIP_UNARY (operands[4]))
   17136              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17137              :                        STRIP_UNARY (operands[3]))
   17138              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17139              :                        STRIP_UNARY (operands[3])))) && 
   17140              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17141              : (TARGET_AVX)))
   17142              :             return -1;
   17143              :           return 5994; /* *avx512vl_vpternlogv16bf_1 */
   17144              : 
   17145              :         case 5:
   17146              :           if (!
   17147              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17148              : ((16 == 64 || TARGET_AVX512VL
   17149              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17150              :    && ix86_pre_reload_split ()
   17151              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17152              :                     STRIP_UNARY (operands[4]))
   17153              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17154              :                        STRIP_UNARY (operands[4]))
   17155              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17156              :                        STRIP_UNARY (operands[3]))
   17157              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17158              :                        STRIP_UNARY (operands[3])))))
   17159              :             return -1;
   17160              :           return 6021; /* *avx512vl_vpternlogv8bf_1 */
   17161              : 
   17162              :         case 6:
   17163              :           if (!(
   17164              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17165              : ((64 == 64 || TARGET_AVX512VL
   17166              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17167              :    && ix86_pre_reload_split ()
   17168              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17169              :                     STRIP_UNARY (operands[4]))
   17170              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17171              :                        STRIP_UNARY (operands[4]))
   17172              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17173              :                        STRIP_UNARY (operands[3]))
   17174              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17175              :                        STRIP_UNARY (operands[3])))) && 
   17176              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17177              : (TARGET_AVX512F)))
   17178              :             return -1;
   17179              :           return 6048; /* *avx512f_vpternlogv16sf_1 */
   17180              : 
   17181              :         case 7:
   17182              :           if (!(
   17183              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17184              : ((32 == 64 || TARGET_AVX512VL
   17185              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17186              :    && ix86_pre_reload_split ()
   17187              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17188              :                     STRIP_UNARY (operands[4]))
   17189              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17190              :                        STRIP_UNARY (operands[4]))
   17191              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17192              :                        STRIP_UNARY (operands[3]))
   17193              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17194              :                        STRIP_UNARY (operands[3])))) && 
   17195              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17196              : (TARGET_AVX)))
   17197              :             return -1;
   17198              :           return 6075; /* *avx512vl_vpternlogv8sf_1 */
   17199              : 
   17200              :         case 8:
   17201              :           if (!
   17202              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17203              : ((16 == 64 || TARGET_AVX512VL
   17204              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17205              :    && ix86_pre_reload_split ()
   17206              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17207              :                     STRIP_UNARY (operands[4]))
   17208              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17209              :                        STRIP_UNARY (operands[4]))
   17210              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17211              :                        STRIP_UNARY (operands[3]))
   17212              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17213              :                        STRIP_UNARY (operands[3])))))
   17214              :             return -1;
   17215              :           return 6102; /* *avx512vl_vpternlogv4sf_1 */
   17216              : 
   17217              :         case 9:
   17218              :           if (!(
   17219              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17220              : ((64 == 64 || TARGET_AVX512VL
   17221              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17222              :    && ix86_pre_reload_split ()
   17223              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17224              :                     STRIP_UNARY (operands[4]))
   17225              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17226              :                        STRIP_UNARY (operands[4]))
   17227              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17228              :                        STRIP_UNARY (operands[3]))
   17229              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17230              :                        STRIP_UNARY (operands[3])))) && 
   17231              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17232              : (TARGET_AVX512F)))
   17233              :             return -1;
   17234              :           return 6129; /* *avx512f_vpternlogv8df_1 */
   17235              : 
   17236              :         case 10:
   17237              :           if (!(
   17238              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17239              : ((32 == 64 || TARGET_AVX512VL
   17240              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17241              :    && ix86_pre_reload_split ()
   17242              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17243              :                     STRIP_UNARY (operands[4]))
   17244              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17245              :                        STRIP_UNARY (operands[4]))
   17246              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17247              :                        STRIP_UNARY (operands[3]))
   17248              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17249              :                        STRIP_UNARY (operands[3])))) && 
   17250              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17251              : (TARGET_AVX)))
   17252              :             return -1;
   17253              :           return 6156; /* *avx512vl_vpternlogv4df_1 */
   17254              : 
   17255              :         case 11:
   17256              :           if (!(
   17257              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17258              : ((16 == 64 || TARGET_AVX512VL
   17259              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17260              :    && ix86_pre_reload_split ()
   17261              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17262              :                     STRIP_UNARY (operands[4]))
   17263              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17264              :                        STRIP_UNARY (operands[4]))
   17265              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17266              :                        STRIP_UNARY (operands[3]))
   17267              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17268              :                        STRIP_UNARY (operands[3])))) && 
   17269              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17270              : (TARGET_SSE2)))
   17271              :             return -1;
   17272              :           return 6183; /* *avx512vl_vpternlogv2df_1 */
   17273              : 
   17274              :         case 12:
   17275              :           if (!(
   17276              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17277              : ((64 == 64 || TARGET_AVX512VL
   17278              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17279              :    && ix86_pre_reload_split ()
   17280              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17281              :                     STRIP_UNARY (operands[4]))
   17282              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17283              :                        STRIP_UNARY (operands[4]))
   17284              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17285              :                        STRIP_UNARY (operands[3]))
   17286              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17287              :                        STRIP_UNARY (operands[3])))) && 
   17288              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17289              : (TARGET_AVX512F)))
   17290              :             return -1;
   17291              :           return 5889; /* *avx512bw_vpternlogv32hf_1 */
   17292              : 
   17293              :         case 13:
   17294              :           if (!(
   17295              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17296              : ((32 == 64 || TARGET_AVX512VL
   17297              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17298              :    && ix86_pre_reload_split ()
   17299              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17300              :                     STRIP_UNARY (operands[4]))
   17301              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17302              :                        STRIP_UNARY (operands[4]))
   17303              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17304              :                        STRIP_UNARY (operands[3]))
   17305              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17306              :                        STRIP_UNARY (operands[3])))) && 
   17307              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17308              : (TARGET_AVX)))
   17309              :             return -1;
   17310              :           return 5916; /* *avx512vl_vpternlogv16hf_1 */
   17311              : 
   17312              :         case 14:
   17313              :           if (!
   17314              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17315              : ((16 == 64 || TARGET_AVX512VL
   17316              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17317              :    && ix86_pre_reload_split ()
   17318              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17319              :                     STRIP_UNARY (operands[4]))
   17320              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17321              :                        STRIP_UNARY (operands[4]))
   17322              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17323              :                        STRIP_UNARY (operands[3]))
   17324              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17325              :                        STRIP_UNARY (operands[3])))))
   17326              :             return -1;
   17327              :           return 5943; /* *avx512fp16_vpternlogv8hf_1 */
   17328              : 
   17329              :         case 15:
   17330              :           if (!(
   17331              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17332              : ((64 == 64 || TARGET_AVX512VL
   17333              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17334              :    && ix86_pre_reload_split ()
   17335              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17336              :                     STRIP_UNARY (operands[4]))
   17337              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17338              :                        STRIP_UNARY (operands[4]))
   17339              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17340              :                        STRIP_UNARY (operands[3]))
   17341              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17342              :                        STRIP_UNARY (operands[3])))) && 
   17343              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17344              : (TARGET_AVX512F)))
   17345              :             return -1;
   17346              :           return 5970; /* *avx512bw_vpternlogv32bf_1 */
   17347              : 
   17348              :         case 16:
   17349              :           if (!(
   17350              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17351              : ((32 == 64 || TARGET_AVX512VL
   17352              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17353              :    && ix86_pre_reload_split ()
   17354              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17355              :                     STRIP_UNARY (operands[4]))
   17356              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17357              :                        STRIP_UNARY (operands[4]))
   17358              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17359              :                        STRIP_UNARY (operands[3]))
   17360              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17361              :                        STRIP_UNARY (operands[3])))) && 
   17362              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17363              : (TARGET_AVX)))
   17364              :             return -1;
   17365              :           return 5997; /* *avx512vl_vpternlogv16bf_1 */
   17366              : 
   17367              :         case 17:
   17368              :           if (!
   17369              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17370              : ((16 == 64 || TARGET_AVX512VL
   17371              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17372              :    && ix86_pre_reload_split ()
   17373              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17374              :                     STRIP_UNARY (operands[4]))
   17375              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17376              :                        STRIP_UNARY (operands[4]))
   17377              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17378              :                        STRIP_UNARY (operands[3]))
   17379              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17380              :                        STRIP_UNARY (operands[3])))))
   17381              :             return -1;
   17382              :           return 6024; /* *avx512vl_vpternlogv8bf_1 */
   17383              : 
   17384              :         case 18:
   17385              :           if (!(
   17386              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17387              : ((64 == 64 || TARGET_AVX512VL
   17388              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17389              :    && ix86_pre_reload_split ()
   17390              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17391              :                     STRIP_UNARY (operands[4]))
   17392              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17393              :                        STRIP_UNARY (operands[4]))
   17394              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17395              :                        STRIP_UNARY (operands[3]))
   17396              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17397              :                        STRIP_UNARY (operands[3])))) && 
   17398              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17399              : (TARGET_AVX512F)))
   17400              :             return -1;
   17401              :           return 6051; /* *avx512f_vpternlogv16sf_1 */
   17402              : 
   17403              :         case 19:
   17404              :           if (!(
   17405              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17406              : ((32 == 64 || TARGET_AVX512VL
   17407              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17408              :    && ix86_pre_reload_split ()
   17409              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17410              :                     STRIP_UNARY (operands[4]))
   17411              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17412              :                        STRIP_UNARY (operands[4]))
   17413              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17414              :                        STRIP_UNARY (operands[3]))
   17415              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17416              :                        STRIP_UNARY (operands[3])))) && 
   17417              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17418              : (TARGET_AVX)))
   17419              :             return -1;
   17420              :           return 6078; /* *avx512vl_vpternlogv8sf_1 */
   17421              : 
   17422              :         case 20:
   17423              :           if (!
   17424              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17425              : ((16 == 64 || TARGET_AVX512VL
   17426              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17427              :    && ix86_pre_reload_split ()
   17428              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17429              :                     STRIP_UNARY (operands[4]))
   17430              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17431              :                        STRIP_UNARY (operands[4]))
   17432              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17433              :                        STRIP_UNARY (operands[3]))
   17434              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17435              :                        STRIP_UNARY (operands[3])))))
   17436              :             return -1;
   17437              :           return 6105; /* *avx512vl_vpternlogv4sf_1 */
   17438              : 
   17439              :         case 21:
   17440              :           if (!(
   17441              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17442              : ((64 == 64 || TARGET_AVX512VL
   17443              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17444              :    && ix86_pre_reload_split ()
   17445              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17446              :                     STRIP_UNARY (operands[4]))
   17447              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17448              :                        STRIP_UNARY (operands[4]))
   17449              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17450              :                        STRIP_UNARY (operands[3]))
   17451              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17452              :                        STRIP_UNARY (operands[3])))) && 
   17453              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17454              : (TARGET_AVX512F)))
   17455              :             return -1;
   17456              :           return 6132; /* *avx512f_vpternlogv8df_1 */
   17457              : 
   17458              :         case 22:
   17459              :           if (!(
   17460              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17461              : ((32 == 64 || TARGET_AVX512VL
   17462              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17463              :    && ix86_pre_reload_split ()
   17464              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17465              :                     STRIP_UNARY (operands[4]))
   17466              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17467              :                        STRIP_UNARY (operands[4]))
   17468              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17469              :                        STRIP_UNARY (operands[3]))
   17470              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17471              :                        STRIP_UNARY (operands[3])))) && 
   17472              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17473              : (TARGET_AVX)))
   17474              :             return -1;
   17475              :           return 6159; /* *avx512vl_vpternlogv4df_1 */
   17476              : 
   17477              :         case 23:
   17478              :           if (!(
   17479              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17480              : ((16 == 64 || TARGET_AVX512VL
   17481              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17482              :    && ix86_pre_reload_split ()
   17483              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17484              :                     STRIP_UNARY (operands[4]))
   17485              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17486              :                        STRIP_UNARY (operands[4]))
   17487              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17488              :                        STRIP_UNARY (operands[3]))
   17489              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17490              :                        STRIP_UNARY (operands[3])))) && 
   17491              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17492              : (TARGET_SSE2)))
   17493              :             return -1;
   17494              :           return 6186; /* *avx512vl_vpternlogv2df_1 */
   17495              : 
   17496              :         case 24:
   17497              :           if (!(
   17498              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17499              : ((64 == 64 || TARGET_AVX512VL
   17500              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17501              :    && ix86_pre_reload_split ()
   17502              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17503              :                     STRIP_UNARY (operands[4]))
   17504              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17505              :                        STRIP_UNARY (operands[4]))
   17506              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17507              :                        STRIP_UNARY (operands[3]))
   17508              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17509              :                        STRIP_UNARY (operands[3])))) && 
   17510              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17511              : (TARGET_AVX512F)))
   17512              :             return -1;
   17513              :           return 5892; /* *avx512bw_vpternlogv32hf_1 */
   17514              : 
   17515              :         case 25:
   17516              :           if (!(
   17517              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17518              : ((32 == 64 || TARGET_AVX512VL
   17519              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17520              :    && ix86_pre_reload_split ()
   17521              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17522              :                     STRIP_UNARY (operands[4]))
   17523              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17524              :                        STRIP_UNARY (operands[4]))
   17525              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17526              :                        STRIP_UNARY (operands[3]))
   17527              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17528              :                        STRIP_UNARY (operands[3])))) && 
   17529              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17530              : (TARGET_AVX)))
   17531              :             return -1;
   17532              :           return 5919; /* *avx512vl_vpternlogv16hf_1 */
   17533              : 
   17534              :         case 26:
   17535              :           if (!
   17536              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17537              : ((16 == 64 || TARGET_AVX512VL
   17538              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17539              :    && ix86_pre_reload_split ()
   17540              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17541              :                     STRIP_UNARY (operands[4]))
   17542              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17543              :                        STRIP_UNARY (operands[4]))
   17544              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17545              :                        STRIP_UNARY (operands[3]))
   17546              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17547              :                        STRIP_UNARY (operands[3])))))
   17548              :             return -1;
   17549              :           return 5946; /* *avx512fp16_vpternlogv8hf_1 */
   17550              : 
   17551              :         case 27:
   17552              :           if (!(
   17553              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17554              : ((64 == 64 || TARGET_AVX512VL
   17555              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17556              :    && ix86_pre_reload_split ()
   17557              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17558              :                     STRIP_UNARY (operands[4]))
   17559              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17560              :                        STRIP_UNARY (operands[4]))
   17561              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17562              :                        STRIP_UNARY (operands[3]))
   17563              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17564              :                        STRIP_UNARY (operands[3])))) && 
   17565              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17566              : (TARGET_AVX512F)))
   17567              :             return -1;
   17568              :           return 5973; /* *avx512bw_vpternlogv32bf_1 */
   17569              : 
   17570              :         case 28:
   17571              :           if (!(
   17572              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17573              : ((32 == 64 || TARGET_AVX512VL
   17574              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17575              :    && ix86_pre_reload_split ()
   17576              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17577              :                     STRIP_UNARY (operands[4]))
   17578              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17579              :                        STRIP_UNARY (operands[4]))
   17580              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17581              :                        STRIP_UNARY (operands[3]))
   17582              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17583              :                        STRIP_UNARY (operands[3])))) && 
   17584              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17585              : (TARGET_AVX)))
   17586              :             return -1;
   17587              :           return 6000; /* *avx512vl_vpternlogv16bf_1 */
   17588              : 
   17589              :         case 29:
   17590              :           if (!
   17591              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17592              : ((16 == 64 || TARGET_AVX512VL
   17593              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17594              :    && ix86_pre_reload_split ()
   17595              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17596              :                     STRIP_UNARY (operands[4]))
   17597              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17598              :                        STRIP_UNARY (operands[4]))
   17599              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17600              :                        STRIP_UNARY (operands[3]))
   17601              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17602              :                        STRIP_UNARY (operands[3])))))
   17603              :             return -1;
   17604              :           return 6027; /* *avx512vl_vpternlogv8bf_1 */
   17605              : 
   17606              :         case 30:
   17607              :           if (!(
   17608              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17609              : ((64 == 64 || TARGET_AVX512VL
   17610              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17611              :    && ix86_pre_reload_split ()
   17612              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17613              :                     STRIP_UNARY (operands[4]))
   17614              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17615              :                        STRIP_UNARY (operands[4]))
   17616              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17617              :                        STRIP_UNARY (operands[3]))
   17618              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17619              :                        STRIP_UNARY (operands[3])))) && 
   17620              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17621              : (TARGET_AVX512F)))
   17622              :             return -1;
   17623              :           return 6054; /* *avx512f_vpternlogv16sf_1 */
   17624              : 
   17625              :         case 31:
   17626              :           if (!(
   17627              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17628              : ((32 == 64 || TARGET_AVX512VL
   17629              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17630              :    && ix86_pre_reload_split ()
   17631              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17632              :                     STRIP_UNARY (operands[4]))
   17633              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17634              :                        STRIP_UNARY (operands[4]))
   17635              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17636              :                        STRIP_UNARY (operands[3]))
   17637              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17638              :                        STRIP_UNARY (operands[3])))) && 
   17639              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17640              : (TARGET_AVX)))
   17641              :             return -1;
   17642              :           return 6081; /* *avx512vl_vpternlogv8sf_1 */
   17643              : 
   17644              :         case 32:
   17645              :           if (!
   17646              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17647              : ((16 == 64 || TARGET_AVX512VL
   17648              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17649              :    && ix86_pre_reload_split ()
   17650              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17651              :                     STRIP_UNARY (operands[4]))
   17652              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17653              :                        STRIP_UNARY (operands[4]))
   17654              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17655              :                        STRIP_UNARY (operands[3]))
   17656              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17657              :                        STRIP_UNARY (operands[3])))))
   17658              :             return -1;
   17659              :           return 6108; /* *avx512vl_vpternlogv4sf_1 */
   17660              : 
   17661              :         case 33:
   17662              :           if (!(
   17663              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17664              : ((64 == 64 || TARGET_AVX512VL
   17665              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17666              :    && ix86_pre_reload_split ()
   17667              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17668              :                     STRIP_UNARY (operands[4]))
   17669              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17670              :                        STRIP_UNARY (operands[4]))
   17671              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17672              :                        STRIP_UNARY (operands[3]))
   17673              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17674              :                        STRIP_UNARY (operands[3])))) && 
   17675              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17676              : (TARGET_AVX512F)))
   17677              :             return -1;
   17678              :           return 6135; /* *avx512f_vpternlogv8df_1 */
   17679              : 
   17680              :         case 34:
   17681              :           if (!(
   17682              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17683              : ((32 == 64 || TARGET_AVX512VL
   17684              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17685              :    && ix86_pre_reload_split ()
   17686              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17687              :                     STRIP_UNARY (operands[4]))
   17688              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17689              :                        STRIP_UNARY (operands[4]))
   17690              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17691              :                        STRIP_UNARY (operands[3]))
   17692              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17693              :                        STRIP_UNARY (operands[3])))) && 
   17694              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17695              : (TARGET_AVX)))
   17696              :             return -1;
   17697              :           return 6162; /* *avx512vl_vpternlogv4df_1 */
   17698              : 
   17699              :         case 35:
   17700              :           if (!(
   17701              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17702              : ((16 == 64 || TARGET_AVX512VL
   17703              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17704              :    && ix86_pre_reload_split ()
   17705              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17706              :                     STRIP_UNARY (operands[4]))
   17707              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17708              :                        STRIP_UNARY (operands[4]))
   17709              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17710              :                        STRIP_UNARY (operands[3]))
   17711              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17712              :                        STRIP_UNARY (operands[3])))) && 
   17713              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17714              : (TARGET_SSE2)))
   17715              :             return -1;
   17716              :           return 6189; /* *avx512vl_vpternlogv2df_1 */
   17717              : 
   17718              :         case 36:
   17719              :           if (!(
   17720              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17721              : ((64 == 64 || TARGET_AVX512VL
   17722              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17723              :    && ix86_pre_reload_split ()) && 
   17724              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17725              : (TARGET_AVX512F)))
   17726              :             return -1;
   17727              :           return 6954; /* *avx512bw_vpternlogv32hf_3 */
   17728              : 
   17729              :         case 37:
   17730              :           if (!(
   17731              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17732              : ((32 == 64 || TARGET_AVX512VL
   17733              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17734              :    && ix86_pre_reload_split ()) && 
   17735              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17736              : (TARGET_AVX)))
   17737              :             return -1;
   17738              :           return 6963; /* *avx512vl_vpternlogv16hf_3 */
   17739              : 
   17740              :         case 38:
   17741              :           if (!
   17742              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17743              : ((16 == 64 || TARGET_AVX512VL
   17744              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17745              :    && ix86_pre_reload_split ()))
   17746              :             return -1;
   17747              :           return 6972; /* *avx512fp16_vpternlogv8hf_3 */
   17748              : 
   17749              :         case 39:
   17750              :           if (!(
   17751              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17752              : ((64 == 64 || TARGET_AVX512VL
   17753              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17754              :    && ix86_pre_reload_split ()) && 
   17755              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17756              : (TARGET_AVX512F)))
   17757              :             return -1;
   17758              :           return 6981; /* *avx512bw_vpternlogv32bf_3 */
   17759              : 
   17760              :         case 40:
   17761              :           if (!(
   17762              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17763              : ((32 == 64 || TARGET_AVX512VL
   17764              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17765              :    && ix86_pre_reload_split ()) && 
   17766              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17767              : (TARGET_AVX)))
   17768              :             return -1;
   17769              :           return 6990; /* *avx512vl_vpternlogv16bf_3 */
   17770              : 
   17771              :         case 41:
   17772              :           if (!
   17773              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17774              : ((16 == 64 || TARGET_AVX512VL
   17775              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17776              :    && ix86_pre_reload_split ()))
   17777              :             return -1;
   17778              :           return 6999; /* *avx512vl_vpternlogv8bf_3 */
   17779              : 
   17780              :         case 42:
   17781              :           if (!(
   17782              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17783              : ((64 == 64 || TARGET_AVX512VL
   17784              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17785              :    && ix86_pre_reload_split ()) && 
   17786              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17787              : (TARGET_AVX512F)))
   17788              :             return -1;
   17789              :           return 7008; /* *avx512f_vpternlogv16sf_3 */
   17790              : 
   17791              :         case 43:
   17792              :           if (!(
   17793              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17794              : ((32 == 64 || TARGET_AVX512VL
   17795              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17796              :    && ix86_pre_reload_split ()) && 
   17797              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17798              : (TARGET_AVX)))
   17799              :             return -1;
   17800              :           return 7017; /* *avx512vl_vpternlogv8sf_3 */
   17801              : 
   17802              :         case 44:
   17803              :           if (!
   17804              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17805              : ((16 == 64 || TARGET_AVX512VL
   17806              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17807              :    && ix86_pre_reload_split ()))
   17808              :             return -1;
   17809              :           return 7026; /* *avx512vl_vpternlogv4sf_3 */
   17810              : 
   17811              :         case 45:
   17812              :           if (!(
   17813              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17814              : ((64 == 64 || TARGET_AVX512VL
   17815              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17816              :    && ix86_pre_reload_split ()) && 
   17817              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17818              : (TARGET_AVX512F)))
   17819              :             return -1;
   17820              :           return 7035; /* *avx512f_vpternlogv8df_3 */
   17821              : 
   17822              :         case 46:
   17823              :           if (!(
   17824              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17825              : ((32 == 64 || TARGET_AVX512VL
   17826              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17827              :    && ix86_pre_reload_split ()) && 
   17828              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17829              : (TARGET_AVX)))
   17830              :             return -1;
   17831              :           return 7044; /* *avx512vl_vpternlogv4df_3 */
   17832              : 
   17833              :         case 47:
   17834              :           if (!(
   17835              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17836              : ((16 == 64 || TARGET_AVX512VL
   17837              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17838              :    && ix86_pre_reload_split ()) && 
   17839              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17840              : (TARGET_SSE2)))
   17841              :             return -1;
   17842              :           return 7053; /* *avx512vl_vpternlogv2df_3 */
   17843              : 
   17844              :         default:
   17845              :           return -1;
   17846              :         }
   17847              : 
   17848              :     case AND:
   17849              :       switch (pattern544 (x2))
   17850              :         {
   17851              :         case 0:
   17852              :           if (!(
   17853              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17854              : ((64 == 64 || TARGET_AVX512VL
   17855              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17856              :    && ix86_pre_reload_split ()
   17857              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17858              :                     STRIP_UNARY (operands[4]))
   17859              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17860              :                        STRIP_UNARY (operands[4]))
   17861              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17862              :                        STRIP_UNARY (operands[3]))
   17863              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17864              :                        STRIP_UNARY (operands[3])))) && 
   17865              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17866              : (TARGET_AVX512F)))
   17867              :             return -1;
   17868              :           return 6534; /* *avx512bw_vpternlogv32hf_2 */
   17869              : 
   17870              :         case 1:
   17871              :           if (!(
   17872              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17873              : ((32 == 64 || TARGET_AVX512VL
   17874              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17875              :    && ix86_pre_reload_split ()
   17876              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17877              :                     STRIP_UNARY (operands[4]))
   17878              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17879              :                        STRIP_UNARY (operands[4]))
   17880              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17881              :                        STRIP_UNARY (operands[3]))
   17882              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17883              :                        STRIP_UNARY (operands[3])))) && 
   17884              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17885              : (TARGET_AVX)))
   17886              :             return -1;
   17887              :           return 6561; /* *avx512vl_vpternlogv16hf_2 */
   17888              : 
   17889              :         case 2:
   17890              :           if (!
   17891              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17892              : ((16 == 64 || TARGET_AVX512VL
   17893              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17894              :    && ix86_pre_reload_split ()
   17895              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17896              :                     STRIP_UNARY (operands[4]))
   17897              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17898              :                        STRIP_UNARY (operands[4]))
   17899              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17900              :                        STRIP_UNARY (operands[3]))
   17901              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17902              :                        STRIP_UNARY (operands[3])))))
   17903              :             return -1;
   17904              :           return 6588; /* *avx512fp16_vpternlogv8hf_2 */
   17905              : 
   17906              :         case 3:
   17907              :           if (!(
   17908              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17909              : ((64 == 64 || TARGET_AVX512VL
   17910              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17911              :    && ix86_pre_reload_split ()
   17912              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17913              :                     STRIP_UNARY (operands[4]))
   17914              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17915              :                        STRIP_UNARY (operands[4]))
   17916              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17917              :                        STRIP_UNARY (operands[3]))
   17918              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17919              :                        STRIP_UNARY (operands[3])))) && 
   17920              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17921              : (TARGET_AVX512F)))
   17922              :             return -1;
   17923              :           return 6615; /* *avx512bw_vpternlogv32bf_2 */
   17924              : 
   17925              :         case 4:
   17926              :           if (!(
   17927              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17928              : ((32 == 64 || TARGET_AVX512VL
   17929              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17930              :    && ix86_pre_reload_split ()
   17931              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17932              :                     STRIP_UNARY (operands[4]))
   17933              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17934              :                        STRIP_UNARY (operands[4]))
   17935              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17936              :                        STRIP_UNARY (operands[3]))
   17937              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17938              :                        STRIP_UNARY (operands[3])))) && 
   17939              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17940              : (TARGET_AVX)))
   17941              :             return -1;
   17942              :           return 6642; /* *avx512vl_vpternlogv16bf_2 */
   17943              : 
   17944              :         case 5:
   17945              :           if (!
   17946              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17947              : ((16 == 64 || TARGET_AVX512VL
   17948              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17949              :    && ix86_pre_reload_split ()
   17950              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17951              :                     STRIP_UNARY (operands[4]))
   17952              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17953              :                        STRIP_UNARY (operands[4]))
   17954              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17955              :                        STRIP_UNARY (operands[3]))
   17956              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17957              :                        STRIP_UNARY (operands[3])))))
   17958              :             return -1;
   17959              :           return 6669; /* *avx512vl_vpternlogv8bf_2 */
   17960              : 
   17961              :         case 6:
   17962              :           if (!(
   17963              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17964              : ((64 == 64 || TARGET_AVX512VL
   17965              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17966              :    && ix86_pre_reload_split ()
   17967              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17968              :                     STRIP_UNARY (operands[4]))
   17969              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17970              :                        STRIP_UNARY (operands[4]))
   17971              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17972              :                        STRIP_UNARY (operands[3]))
   17973              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17974              :                        STRIP_UNARY (operands[3])))) && 
   17975              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17976              : (TARGET_AVX512F)))
   17977              :             return -1;
   17978              :           return 6696; /* *avx512f_vpternlogv16sf_2 */
   17979              : 
   17980              :         case 7:
   17981              :           if (!(
   17982              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17983              : ((32 == 64 || TARGET_AVX512VL
   17984              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17985              :    && ix86_pre_reload_split ()
   17986              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17987              :                     STRIP_UNARY (operands[4]))
   17988              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17989              :                        STRIP_UNARY (operands[4]))
   17990              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17991              :                        STRIP_UNARY (operands[3]))
   17992              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17993              :                        STRIP_UNARY (operands[3])))) && 
   17994              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17995              : (TARGET_AVX)))
   17996              :             return -1;
   17997              :           return 6723; /* *avx512vl_vpternlogv8sf_2 */
   17998              : 
   17999              :         case 8:
   18000              :           if (!
   18001              : #line 14263 "/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              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18006              :                     STRIP_UNARY (operands[4]))
   18007              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18008              :                        STRIP_UNARY (operands[4]))
   18009              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18010              :                        STRIP_UNARY (operands[3]))
   18011              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18012              :                        STRIP_UNARY (operands[3])))))
   18013              :             return -1;
   18014              :           return 6750; /* *avx512vl_vpternlogv4sf_2 */
   18015              : 
   18016              :         case 9:
   18017              :           if (!(
   18018              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18019              : ((64 == 64 || TARGET_AVX512VL
   18020              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18021              :    && ix86_pre_reload_split ()
   18022              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18023              :                     STRIP_UNARY (operands[4]))
   18024              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18025              :                        STRIP_UNARY (operands[4]))
   18026              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18027              :                        STRIP_UNARY (operands[3]))
   18028              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18029              :                        STRIP_UNARY (operands[3])))) && 
   18030              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18031              : (TARGET_AVX512F)))
   18032              :             return -1;
   18033              :           return 6777; /* *avx512f_vpternlogv8df_2 */
   18034              : 
   18035              :         case 10:
   18036              :           if (!(
   18037              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18038              : ((32 == 64 || TARGET_AVX512VL
   18039              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18040              :    && ix86_pre_reload_split ()
   18041              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18042              :                     STRIP_UNARY (operands[4]))
   18043              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18044              :                        STRIP_UNARY (operands[4]))
   18045              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18046              :                        STRIP_UNARY (operands[3]))
   18047              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18048              :                        STRIP_UNARY (operands[3])))) && 
   18049              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18050              : (TARGET_AVX)))
   18051              :             return -1;
   18052              :           return 6804; /* *avx512vl_vpternlogv4df_2 */
   18053              : 
   18054              :         case 11:
   18055              :           if (!(
   18056              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18057              : ((16 == 64 || TARGET_AVX512VL
   18058              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18059              :    && ix86_pre_reload_split ()
   18060              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18061              :                     STRIP_UNARY (operands[4]))
   18062              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18063              :                        STRIP_UNARY (operands[4]))
   18064              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18065              :                        STRIP_UNARY (operands[3]))
   18066              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18067              :                        STRIP_UNARY (operands[3])))) && 
   18068              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18069              : (TARGET_SSE2)))
   18070              :             return -1;
   18071              :           return 6831; /* *avx512vl_vpternlogv2df_2 */
   18072              : 
   18073              :         default:
   18074              :           return -1;
   18075              :         }
   18076              : 
   18077              :     case IOR:
   18078              :       switch (pattern544 (x2))
   18079              :         {
   18080              :         case 0:
   18081              :           if (!(
   18082              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18083              : ((64 == 64 || TARGET_AVX512VL
   18084              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18085              :    && ix86_pre_reload_split ()
   18086              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18087              :                     STRIP_UNARY (operands[4]))
   18088              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18089              :                        STRIP_UNARY (operands[4]))
   18090              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18091              :                        STRIP_UNARY (operands[3]))
   18092              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18093              :                        STRIP_UNARY (operands[3])))) && 
   18094              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18095              : (TARGET_AVX512F)))
   18096              :             return -1;
   18097              :           return 6537; /* *avx512bw_vpternlogv32hf_2 */
   18098              : 
   18099              :         case 1:
   18100              :           if (!(
   18101              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18102              : ((32 == 64 || TARGET_AVX512VL
   18103              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18104              :    && ix86_pre_reload_split ()
   18105              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18106              :                     STRIP_UNARY (operands[4]))
   18107              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18108              :                        STRIP_UNARY (operands[4]))
   18109              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18110              :                        STRIP_UNARY (operands[3]))
   18111              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18112              :                        STRIP_UNARY (operands[3])))) && 
   18113              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18114              : (TARGET_AVX)))
   18115              :             return -1;
   18116              :           return 6564; /* *avx512vl_vpternlogv16hf_2 */
   18117              : 
   18118              :         case 2:
   18119              :           if (!
   18120              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18121              : ((16 == 64 || TARGET_AVX512VL
   18122              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18123              :    && ix86_pre_reload_split ()
   18124              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18125              :                     STRIP_UNARY (operands[4]))
   18126              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18127              :                        STRIP_UNARY (operands[4]))
   18128              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18129              :                        STRIP_UNARY (operands[3]))
   18130              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18131              :                        STRIP_UNARY (operands[3])))))
   18132              :             return -1;
   18133              :           return 6591; /* *avx512fp16_vpternlogv8hf_2 */
   18134              : 
   18135              :         case 3:
   18136              :           if (!(
   18137              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18138              : ((64 == 64 || TARGET_AVX512VL
   18139              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18140              :    && ix86_pre_reload_split ()
   18141              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18142              :                     STRIP_UNARY (operands[4]))
   18143              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18144              :                        STRIP_UNARY (operands[4]))
   18145              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18146              :                        STRIP_UNARY (operands[3]))
   18147              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18148              :                        STRIP_UNARY (operands[3])))) && 
   18149              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18150              : (TARGET_AVX512F)))
   18151              :             return -1;
   18152              :           return 6618; /* *avx512bw_vpternlogv32bf_2 */
   18153              : 
   18154              :         case 4:
   18155              :           if (!(
   18156              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18157              : ((32 == 64 || TARGET_AVX512VL
   18158              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18159              :    && ix86_pre_reload_split ()
   18160              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18161              :                     STRIP_UNARY (operands[4]))
   18162              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18163              :                        STRIP_UNARY (operands[4]))
   18164              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18165              :                        STRIP_UNARY (operands[3]))
   18166              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18167              :                        STRIP_UNARY (operands[3])))) && 
   18168              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18169              : (TARGET_AVX)))
   18170              :             return -1;
   18171              :           return 6645; /* *avx512vl_vpternlogv16bf_2 */
   18172              : 
   18173              :         case 5:
   18174              :           if (!
   18175              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18176              : ((16 == 64 || TARGET_AVX512VL
   18177              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18178              :    && ix86_pre_reload_split ()
   18179              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18180              :                     STRIP_UNARY (operands[4]))
   18181              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18182              :                        STRIP_UNARY (operands[4]))
   18183              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18184              :                        STRIP_UNARY (operands[3]))
   18185              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18186              :                        STRIP_UNARY (operands[3])))))
   18187              :             return -1;
   18188              :           return 6672; /* *avx512vl_vpternlogv8bf_2 */
   18189              : 
   18190              :         case 6:
   18191              :           if (!(
   18192              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18193              : ((64 == 64 || TARGET_AVX512VL
   18194              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18195              :    && ix86_pre_reload_split ()
   18196              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18197              :                     STRIP_UNARY (operands[4]))
   18198              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18199              :                        STRIP_UNARY (operands[4]))
   18200              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18201              :                        STRIP_UNARY (operands[3]))
   18202              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18203              :                        STRIP_UNARY (operands[3])))) && 
   18204              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18205              : (TARGET_AVX512F)))
   18206              :             return -1;
   18207              :           return 6699; /* *avx512f_vpternlogv16sf_2 */
   18208              : 
   18209              :         case 7:
   18210              :           if (!(
   18211              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18212              : ((32 == 64 || TARGET_AVX512VL
   18213              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18214              :    && ix86_pre_reload_split ()
   18215              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18216              :                     STRIP_UNARY (operands[4]))
   18217              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18218              :                        STRIP_UNARY (operands[4]))
   18219              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18220              :                        STRIP_UNARY (operands[3]))
   18221              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18222              :                        STRIP_UNARY (operands[3])))) && 
   18223              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18224              : (TARGET_AVX)))
   18225              :             return -1;
   18226              :           return 6726; /* *avx512vl_vpternlogv8sf_2 */
   18227              : 
   18228              :         case 8:
   18229              :           if (!
   18230              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18231              : ((16 == 64 || TARGET_AVX512VL
   18232              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18233              :    && ix86_pre_reload_split ()
   18234              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18235              :                     STRIP_UNARY (operands[4]))
   18236              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18237              :                        STRIP_UNARY (operands[4]))
   18238              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18239              :                        STRIP_UNARY (operands[3]))
   18240              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18241              :                        STRIP_UNARY (operands[3])))))
   18242              :             return -1;
   18243              :           return 6753; /* *avx512vl_vpternlogv4sf_2 */
   18244              : 
   18245              :         case 9:
   18246              :           if (!(
   18247              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18248              : ((64 == 64 || TARGET_AVX512VL
   18249              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18250              :    && ix86_pre_reload_split ()
   18251              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18252              :                     STRIP_UNARY (operands[4]))
   18253              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18254              :                        STRIP_UNARY (operands[4]))
   18255              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18256              :                        STRIP_UNARY (operands[3]))
   18257              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18258              :                        STRIP_UNARY (operands[3])))) && 
   18259              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18260              : (TARGET_AVX512F)))
   18261              :             return -1;
   18262              :           return 6780; /* *avx512f_vpternlogv8df_2 */
   18263              : 
   18264              :         case 10:
   18265              :           if (!(
   18266              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18267              : ((32 == 64 || TARGET_AVX512VL
   18268              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18269              :    && ix86_pre_reload_split ()
   18270              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18271              :                     STRIP_UNARY (operands[4]))
   18272              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18273              :                        STRIP_UNARY (operands[4]))
   18274              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18275              :                        STRIP_UNARY (operands[3]))
   18276              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18277              :                        STRIP_UNARY (operands[3])))) && 
   18278              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18279              : (TARGET_AVX)))
   18280              :             return -1;
   18281              :           return 6807; /* *avx512vl_vpternlogv4df_2 */
   18282              : 
   18283              :         case 11:
   18284              :           if (!(
   18285              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18286              : ((16 == 64 || TARGET_AVX512VL
   18287              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18288              :    && ix86_pre_reload_split ()
   18289              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18290              :                     STRIP_UNARY (operands[4]))
   18291              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18292              :                        STRIP_UNARY (operands[4]))
   18293              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18294              :                        STRIP_UNARY (operands[3]))
   18295              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18296              :                        STRIP_UNARY (operands[3])))) && 
   18297              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18298              : (TARGET_SSE2)))
   18299              :             return -1;
   18300              :           return 6834; /* *avx512vl_vpternlogv2df_2 */
   18301              : 
   18302              :         default:
   18303              :           return -1;
   18304              :         }
   18305              : 
   18306              :     case XOR:
   18307              :       switch (pattern544 (x2))
   18308              :         {
   18309              :         case 0:
   18310              :           if (!(
   18311              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18312              : ((64 == 64 || TARGET_AVX512VL
   18313              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18314              :    && ix86_pre_reload_split ()
   18315              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18316              :                     STRIP_UNARY (operands[4]))
   18317              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18318              :                        STRIP_UNARY (operands[4]))
   18319              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18320              :                        STRIP_UNARY (operands[3]))
   18321              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18322              :                        STRIP_UNARY (operands[3])))) && 
   18323              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18324              : (TARGET_AVX512F)))
   18325              :             return -1;
   18326              :           return 6540; /* *avx512bw_vpternlogv32hf_2 */
   18327              : 
   18328              :         case 1:
   18329              :           if (!(
   18330              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18331              : ((32 == 64 || TARGET_AVX512VL
   18332              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18333              :    && ix86_pre_reload_split ()
   18334              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18335              :                     STRIP_UNARY (operands[4]))
   18336              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18337              :                        STRIP_UNARY (operands[4]))
   18338              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18339              :                        STRIP_UNARY (operands[3]))
   18340              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18341              :                        STRIP_UNARY (operands[3])))) && 
   18342              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18343              : (TARGET_AVX)))
   18344              :             return -1;
   18345              :           return 6567; /* *avx512vl_vpternlogv16hf_2 */
   18346              : 
   18347              :         case 2:
   18348              :           if (!
   18349              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18350              : ((16 == 64 || TARGET_AVX512VL
   18351              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18352              :    && ix86_pre_reload_split ()
   18353              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18354              :                     STRIP_UNARY (operands[4]))
   18355              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18356              :                        STRIP_UNARY (operands[4]))
   18357              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18358              :                        STRIP_UNARY (operands[3]))
   18359              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18360              :                        STRIP_UNARY (operands[3])))))
   18361              :             return -1;
   18362              :           return 6594; /* *avx512fp16_vpternlogv8hf_2 */
   18363              : 
   18364              :         case 3:
   18365              :           if (!(
   18366              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18367              : ((64 == 64 || TARGET_AVX512VL
   18368              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18369              :    && ix86_pre_reload_split ()
   18370              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18371              :                     STRIP_UNARY (operands[4]))
   18372              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18373              :                        STRIP_UNARY (operands[4]))
   18374              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18375              :                        STRIP_UNARY (operands[3]))
   18376              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18377              :                        STRIP_UNARY (operands[3])))) && 
   18378              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18379              : (TARGET_AVX512F)))
   18380              :             return -1;
   18381              :           return 6621; /* *avx512bw_vpternlogv32bf_2 */
   18382              : 
   18383              :         case 4:
   18384              :           if (!(
   18385              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18386              : ((32 == 64 || TARGET_AVX512VL
   18387              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18388              :    && ix86_pre_reload_split ()
   18389              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18390              :                     STRIP_UNARY (operands[4]))
   18391              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18392              :                        STRIP_UNARY (operands[4]))
   18393              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18394              :                        STRIP_UNARY (operands[3]))
   18395              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18396              :                        STRIP_UNARY (operands[3])))) && 
   18397              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18398              : (TARGET_AVX)))
   18399              :             return -1;
   18400              :           return 6648; /* *avx512vl_vpternlogv16bf_2 */
   18401              : 
   18402              :         case 5:
   18403              :           if (!
   18404              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18405              : ((16 == 64 || TARGET_AVX512VL
   18406              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18407              :    && ix86_pre_reload_split ()
   18408              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18409              :                     STRIP_UNARY (operands[4]))
   18410              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18411              :                        STRIP_UNARY (operands[4]))
   18412              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18413              :                        STRIP_UNARY (operands[3]))
   18414              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18415              :                        STRIP_UNARY (operands[3])))))
   18416              :             return -1;
   18417              :           return 6675; /* *avx512vl_vpternlogv8bf_2 */
   18418              : 
   18419              :         case 6:
   18420              :           if (!(
   18421              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18422              : ((64 == 64 || TARGET_AVX512VL
   18423              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18424              :    && ix86_pre_reload_split ()
   18425              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18426              :                     STRIP_UNARY (operands[4]))
   18427              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18428              :                        STRIP_UNARY (operands[4]))
   18429              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18430              :                        STRIP_UNARY (operands[3]))
   18431              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18432              :                        STRIP_UNARY (operands[3])))) && 
   18433              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18434              : (TARGET_AVX512F)))
   18435              :             return -1;
   18436              :           return 6702; /* *avx512f_vpternlogv16sf_2 */
   18437              : 
   18438              :         case 7:
   18439              :           if (!(
   18440              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18441              : ((32 == 64 || TARGET_AVX512VL
   18442              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18443              :    && ix86_pre_reload_split ()
   18444              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18445              :                     STRIP_UNARY (operands[4]))
   18446              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18447              :                        STRIP_UNARY (operands[4]))
   18448              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18449              :                        STRIP_UNARY (operands[3]))
   18450              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18451              :                        STRIP_UNARY (operands[3])))) && 
   18452              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18453              : (TARGET_AVX)))
   18454              :             return -1;
   18455              :           return 6729; /* *avx512vl_vpternlogv8sf_2 */
   18456              : 
   18457              :         case 8:
   18458              :           if (!
   18459              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18460              : ((16 == 64 || TARGET_AVX512VL
   18461              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18462              :    && ix86_pre_reload_split ()
   18463              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18464              :                     STRIP_UNARY (operands[4]))
   18465              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18466              :                        STRIP_UNARY (operands[4]))
   18467              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18468              :                        STRIP_UNARY (operands[3]))
   18469              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18470              :                        STRIP_UNARY (operands[3])))))
   18471              :             return -1;
   18472              :           return 6756; /* *avx512vl_vpternlogv4sf_2 */
   18473              : 
   18474              :         case 9:
   18475              :           if (!(
   18476              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18477              : ((64 == 64 || TARGET_AVX512VL
   18478              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18479              :    && ix86_pre_reload_split ()
   18480              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18481              :                     STRIP_UNARY (operands[4]))
   18482              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18483              :                        STRIP_UNARY (operands[4]))
   18484              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18485              :                        STRIP_UNARY (operands[3]))
   18486              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18487              :                        STRIP_UNARY (operands[3])))) && 
   18488              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18489              : (TARGET_AVX512F)))
   18490              :             return -1;
   18491              :           return 6783; /* *avx512f_vpternlogv8df_2 */
   18492              : 
   18493              :         case 10:
   18494              :           if (!(
   18495              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18496              : ((32 == 64 || TARGET_AVX512VL
   18497              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18498              :    && ix86_pre_reload_split ()
   18499              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18500              :                     STRIP_UNARY (operands[4]))
   18501              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18502              :                        STRIP_UNARY (operands[4]))
   18503              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18504              :                        STRIP_UNARY (operands[3]))
   18505              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18506              :                        STRIP_UNARY (operands[3])))) && 
   18507              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18508              : (TARGET_AVX)))
   18509              :             return -1;
   18510              :           return 6810; /* *avx512vl_vpternlogv4df_2 */
   18511              : 
   18512              :         case 11:
   18513              :           if (!(
   18514              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18515              : ((16 == 64 || TARGET_AVX512VL
   18516              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18517              :    && ix86_pre_reload_split ()
   18518              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18519              :                     STRIP_UNARY (operands[4]))
   18520              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18521              :                        STRIP_UNARY (operands[4]))
   18522              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18523              :                        STRIP_UNARY (operands[3]))
   18524              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18525              :                        STRIP_UNARY (operands[3])))) && 
   18526              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18527              : (TARGET_SSE2)))
   18528              :             return -1;
   18529              :           return 6837; /* *avx512vl_vpternlogv2df_2 */
   18530              : 
   18531              :         default:
   18532              :           return -1;
   18533              :         }
   18534              : 
   18535              :     default:
   18536              :       return -1;
   18537              :     }
   18538              : }
   18539              : 
   18540              :  int
   18541              : recog_323 (rtx x1 ATTRIBUTE_UNUSED,
   18542              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   18543              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   18544              : {
   18545              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   18546              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   18547              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   18548              :   rtx x18, x19, x20, x21, x22;
   18549              :   int res ATTRIBUTE_UNUSED;
   18550              :   x2 = XEXP (x1, 0);
   18551              :   operands[0] = x2;
   18552              :   x3 = XEXP (x1, 1);
   18553              :   x4 = XEXP (x3, 0);
   18554              :   switch (GET_CODE (x4))
   18555              :     {
   18556              :     case VEC_SELECT:
   18557              :       return recog_274 (x1, insn, pnum_clobbers);
   18558              : 
   18559              :     case VEC_CONCAT:
   18560              :       x5 = XEXP (x4, 0);
   18561              :       switch (GET_CODE (x5))
   18562              :         {
   18563              :         case PLUS:
   18564              :           switch (pattern333 (x3, 
   18565              : PLUS))
   18566              :             {
   18567              :             case 0:
   18568              :               if (!
   18569              : #line 3769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18570              : (TARGET_AVX))
   18571              :                 return -1;
   18572              :               return 3226; /* avx_haddv4df3 */
   18573              : 
   18574              :             case 1:
   18575              :               if (!
   18576              : #line 3951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18577              : (TARGET_SSE3))
   18578              :                 return -1;
   18579              :               return 3234; /* sse3_haddv4sf3 */
   18580              : 
   18581              :             default:
   18582              :               return -1;
   18583              :             }
   18584              : 
   18585              :         case MINUS:
   18586              :           switch (pattern333 (x3, 
   18587              : MINUS))
   18588              :             {
   18589              :             case 0:
   18590              :               if (!
   18591              : #line 3769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18592              : (TARGET_AVX))
   18593              :                 return -1;
   18594              :               return 3227; /* avx_hsubv4df3 */
   18595              : 
   18596              :             case 1:
   18597              :               if (!
   18598              : #line 3951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18599              : (TARGET_SSE3))
   18600              :                 return -1;
   18601              :               return 3235; /* sse3_hsubv4sf3 */
   18602              : 
   18603              :             default:
   18604              :               return -1;
   18605              :             }
   18606              : 
   18607              :         case VEC_CONCAT:
   18608              :           if (GET_MODE (x5) != E_V2SFmode)
   18609              :             return -1;
   18610              :           x6 = XEXP (x4, 1);
   18611              :           if (GET_CODE (x6) != VEC_CONCAT
   18612              :               || GET_MODE (x6) != E_V2SFmode)
   18613              :             return -1;
   18614              :           x7 = XEXP (x3, 1);
   18615              :           if (GET_CODE (x7) != VEC_CONCAT
   18616              :               || GET_MODE (x7) != E_V4SFmode
   18617              :               || pattern1043 (x7, 
   18618              : E_V2SFmode, 
   18619              : VEC_CONCAT) != 0
   18620              :               || !register_operand (operands[0], E_V8SFmode)
   18621              :               || GET_MODE (x3) != E_V8SFmode
   18622              :               || GET_MODE (x4) != E_V4SFmode
   18623              :               || pattern1566 (x3, 
   18624              : E_SFmode) != 0)
   18625              :             return -1;
   18626              :           x8 = XEXP (x5, 0);
   18627              :           switch (GET_CODE (x8))
   18628              :             {
   18629              :             case PLUS:
   18630              :               if (pattern1845 (x3, 
   18631              : PLUS) != 0
   18632              :                   || !
   18633              : #line 3922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18634              : (TARGET_AVX))
   18635              :                 return -1;
   18636              :               return 3232; /* avx_haddv8sf3 */
   18637              : 
   18638              :             case MINUS:
   18639              :               if (pattern1845 (x3, 
   18640              : MINUS) != 0
   18641              :                   || !
   18642              : #line 3922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18643              : (TARGET_AVX))
   18644              :                 return -1;
   18645              :               return 3233; /* avx_hsubv8sf3 */
   18646              : 
   18647              :             default:
   18648              :               return -1;
   18649              :             }
   18650              : 
   18651              :         case REG:
   18652              :         case SUBREG:
   18653              :         case MEM:
   18654              :           operands[1] = x5;
   18655              :           if (pattern418 (x3) != 0)
   18656              :             return -1;
   18657              :           switch (GET_MODE (operands[0]))
   18658              :             {
   18659              :             case E_V16SImode:
   18660              :               if (pattern1490 (x3, 
   18661              : E_V8SImode, 
   18662              : E_V4SImode, 
   18663              : E_V16SImode) != 0
   18664              :                   || !
   18665              : #line 31194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18666              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   18667              :                 return -1;
   18668              :               return 10207; /* avx512f_si512_si */
   18669              : 
   18670              :             case E_V16SFmode:
   18671              :               if (pattern1490 (x3, 
   18672              : E_V8SFmode, 
   18673              : E_V4SFmode, 
   18674              : E_V16SFmode) != 0
   18675              :                   || !
   18676              : #line 31194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18677              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   18678              :                 return -1;
   18679              :               return 10208; /* avx512f_ps512_ps */
   18680              : 
   18681              :             case E_V8DFmode:
   18682              :               if (pattern1490 (x3, 
   18683              : E_V4DFmode, 
   18684              : E_V2DFmode, 
   18685              : E_V8DFmode) != 0
   18686              :                   || !
   18687              : #line 31194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18688              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   18689              :                 return -1;
   18690              :               return 10209; /* avx512f_pd512_pd */
   18691              : 
   18692              :             default:
   18693              :               return -1;
   18694              :             }
   18695              : 
   18696              :         default:
   18697              :           return -1;
   18698              :         }
   18699              : 
   18700              :     case PLUS:
   18701              :       if (pattern102 (x3, 
   18702              : E_V2DFmode, 
   18703              : E_DFmode) != 0)
   18704              :         return -1;
   18705              :       x7 = XEXP (x3, 1);
   18706              :       x9 = XEXP (x7, 0);
   18707              :       x10 = XEXP (x9, 0);
   18708              :       operands[2] = x10;
   18709              :       if (!vector_operand (operands[2], E_V2DFmode)
   18710              :           || pattern1880 (x3) != 0
   18711              :           || !
   18712              : #line 3809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18713              : (TARGET_SSE3
   18714              :    && INTVAL (operands[3]) != INTVAL (operands[4])
   18715              :    && INTVAL (operands[5]) != INTVAL (operands[6])))
   18716              :         return -1;
   18717              :       return 3228; /* *sse3_haddv2df3 */
   18718              : 
   18719              :     case MINUS:
   18720              :       if (pattern103 (x4, 
   18721              : E_DFmode) != 0)
   18722              :         return -1;
   18723              :       x7 = XEXP (x3, 1);
   18724              :       if (GET_CODE (x7) != MINUS
   18725              :           || GET_MODE (x7) != E_DFmode
   18726              :           || pattern1567 (x7, 
   18727              : E_DFmode) != 0
   18728              :           || !register_operand (operands[0], E_V2DFmode)
   18729              :           || GET_MODE (x3) != E_V2DFmode)
   18730              :         return -1;
   18731              :       x5 = XEXP (x4, 0);
   18732              :       x8 = XEXP (x5, 0);
   18733              :       operands[1] = x8;
   18734              :       if (!register_operand (operands[1], E_V2DFmode))
   18735              :         return -1;
   18736              :       x9 = XEXP (x7, 0);
   18737              :       x10 = XEXP (x9, 0);
   18738              :       operands[2] = x10;
   18739              :       if (!vector_operand (operands[2], E_V2DFmode))
   18740              :         return -1;
   18741              :       x6 = XEXP (x4, 1);
   18742              :       x11 = XEXP (x6, 0);
   18743              :       if (!rtx_equal_p (x11, operands[1]))
   18744              :         return -1;
   18745              :       x12 = XEXP (x7, 1);
   18746              :       x13 = XEXP (x12, 0);
   18747              :       if (!rtx_equal_p (x13, operands[2])
   18748              :           || !
   18749              : #line 3835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18750              : (TARGET_SSE3))
   18751              :         return -1;
   18752              :       return 3229; /* sse3_hsubv2df3 */
   18753              : 
   18754              :     case FLOAT:
   18755              :       switch (pattern187 (x3))
   18756              :         {
   18757              :         case 0:
   18758              :           if (!
   18759              : #line 8082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18760              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18761              :             return -1;
   18762              :           return 4572; /* *avx512fp16_vcvtdq2ph_v4si */
   18763              : 
   18764              :         case 1:
   18765              :           if (!
   18766              : #line 8082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18767              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18768              :             return -1;
   18769              :           return 4574; /* *avx512fp16_vcvtqq2ph_v4di */
   18770              : 
   18771              :         case 2:
   18772              :           if (!
   18773              : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18774              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18775              :             return -1;
   18776              :           return 4584; /* *avx512fp16_vcvtqq2ph_v2di */
   18777              : 
   18778              :         case 3:
   18779              :           if (!
   18780              : #line 9596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18781              : (TARGET_AVX512DQ && TARGET_AVX512VL))
   18782              :             return -1;
   18783              :           return 5028; /* *avx512dq_floatv2div2sf2 */
   18784              : 
   18785              :         default:
   18786              :           return -1;
   18787              :         }
   18788              : 
   18789              :     case UNSIGNED_FLOAT:
   18790              :       switch (pattern187 (x3))
   18791              :         {
   18792              :         case 0:
   18793              :           if (!
   18794              : #line 8082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18795              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18796              :             return -1;
   18797              :           return 4573; /* *avx512fp16_vcvtudq2ph_v4si */
   18798              : 
   18799              :         case 1:
   18800              :           if (!
   18801              : #line 8082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18802              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18803              :             return -1;
   18804              :           return 4575; /* *avx512fp16_vcvtuqq2ph_v4di */
   18805              : 
   18806              :         case 2:
   18807              :           if (!
   18808              : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18809              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18810              :             return -1;
   18811              :           return 4585; /* *avx512fp16_vcvtuqq2ph_v2di */
   18812              : 
   18813              :         case 3:
   18814              :           if (!
   18815              : #line 9596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18816              : (TARGET_AVX512DQ && TARGET_AVX512VL))
   18817              :             return -1;
   18818              :           return 5029; /* *avx512dq_floatunsv2div2sf2 */
   18819              : 
   18820              :         default:
   18821              :           return -1;
   18822              :         }
   18823              : 
   18824              :     case VEC_MERGE:
   18825              :       return recog_273 (x1, insn, pnum_clobbers);
   18826              : 
   18827              :     case FLOAT_TRUNCATE:
   18828              :       x7 = XEXP (x3, 1);
   18829              :       switch (GET_CODE (x7))
   18830              :         {
   18831              :         case CONST_INT:
   18832              :         case CONST_DOUBLE:
   18833              :         case CONST_VECTOR:
   18834              :           operands[2] = x7;
   18835              :           x5 = XEXP (x4, 0);
   18836              :           operands[1] = x5;
   18837              :           switch (GET_MODE (operands[0]))
   18838              :             {
   18839              :             case E_V8HFmode:
   18840              :               if (!register_operand (operands[0], E_V8HFmode)
   18841              :                   || GET_MODE (x3) != E_V8HFmode)
   18842              :                 return -1;
   18843              :               switch (GET_MODE (x4))
   18844              :                 {
   18845              :                 case E_V4HFmode:
   18846              :                   if (!const0_operand (operands[2], E_V4HFmode))
   18847              :                     return -1;
   18848              :                   switch (GET_MODE (operands[1]))
   18849              :                     {
   18850              :                     case E_V4DFmode:
   18851              :                       if (!vector_operand (operands[1], E_V4DFmode)
   18852              :                           || !
   18853              : #line 8549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18854              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18855              :                         return -1;
   18856              :                       return 4798; /* *avx512fp16_vcvtpd2ph_v4df */
   18857              : 
   18858              :                     case E_V4SFmode:
   18859              :                       if (!vector_operand (operands[1], E_V4SFmode)
   18860              :                           || !
   18861              : #line 8549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18862              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18863              :                         return -1;
   18864              :                       return 4799; /* *avx512fp16_vcvtps2ph_v4sf */
   18865              : 
   18866              :                     default:
   18867              :                       return -1;
   18868              :                     }
   18869              : 
   18870              :                 case E_V2HFmode:
   18871              :                   if (!vector_operand (operands[1], E_V2DFmode)
   18872              :                       || !const0_operand (operands[2], E_V6HFmode)
   18873              :                       || !
   18874              : #line 8628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18875              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   18876              :                     return -1;
   18877              :                   return 4804; /* *avx512fp16_vcvtpd2ph_v2df */
   18878              : 
   18879              :                 default:
   18880              :                   return -1;
   18881              :                 }
   18882              : 
   18883              :             case E_V4SFmode:
   18884              :               if (!register_operand (operands[0], E_V4SFmode)
   18885              :                   || GET_MODE (x3) != E_V4SFmode
   18886              :                   || GET_MODE (x4) != E_V2SFmode
   18887              :                   || !vector_operand (operands[1], E_V2DFmode)
   18888              :                   || !const0_operand (operands[2], E_V2SFmode)
   18889              :                   || !
   18890              : #line 10521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18891              : (TARGET_SSE2))
   18892              :                 return -1;
   18893              :               return 5203; /* *sse2_cvtpd2ps */
   18894              : 
   18895              :             case E_V8BFmode:
   18896              :               if (pattern186 (x3, 
   18897              : E_V4BFmode, 
   18898              : E_V4SFmode, 
   18899              : E_V8BFmode) != 0
   18900              :                   || !
   18901              : #line 32127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18902              : (TARGET_AVXNECONVERT || (TARGET_AVX512BF16 && TARGET_AVX512VL)))
   18903              :                 return -1;
   18904              :               return 10448; /* *vcvtneps2bf16_v4sf */
   18905              : 
   18906              :             default:
   18907              :               return -1;
   18908              :             }
   18909              : 
   18910              :         case FLOAT_TRUNCATE:
   18911              :           x5 = XEXP (x4, 0);
   18912              :           operands[2] = x5;
   18913              :           x9 = XEXP (x7, 0);
   18914              :           operands[1] = x9;
   18915              :           switch (GET_MODE (operands[0]))
   18916              :             {
   18917              :             case E_V32BFmode:
   18918              :               if (pattern798 (x3, 
   18919              : E_V16SFmode, 
   18920              : E_V16BFmode, 
   18921              : E_V32BFmode) != 0
   18922              :                   || !
   18923              : #line 32088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18924              : (TARGET_AVX512BF16))
   18925              :                 return -1;
   18926              :               return 10442; /* avx512f_cvtne2ps2bf16_v32bf */
   18927              : 
   18928              :             case E_V16BFmode:
   18929              :               if (pattern798 (x3, 
   18930              : E_V8SFmode, 
   18931              : E_V8BFmode, 
   18932              : E_V16BFmode) != 0
   18933              :                   || !(
   18934              : #line 32088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18935              : (TARGET_AVX512BF16) && 
   18936              : #line 32054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18937              : (TARGET_AVX512VL)))
   18938              :                 return -1;
   18939              :               return 10444; /* avx512f_cvtne2ps2bf16_v16bf */
   18940              : 
   18941              :             case E_V8BFmode:
   18942              :               if (pattern798 (x3, 
   18943              : E_V4SFmode, 
   18944              : E_V4BFmode, 
   18945              : E_V8BFmode) != 0
   18946              :                   || !(
   18947              : #line 32088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18948              : (TARGET_AVX512BF16) && 
   18949              : #line 32054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18950              : (TARGET_AVX512VL)))
   18951              :                 return -1;
   18952              :               return 10446; /* avx512f_cvtne2ps2bf16_v8bf */
   18953              : 
   18954              :             case E_V32HFmode:
   18955              :               if (pattern799 (x3, 
   18956              : E_V16SFmode, 
   18957              : E_V16HFmode, 
   18958              : E_V32HFmode) != 0
   18959              :                   || !
   18960              : #line 32789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18961              : (TARGET_AVX10_2 && 1))
   18962              :                 return -1;
   18963              :               return 10541; /* avx10_2_cvt2ps2phx_v32hf */
   18964              : 
   18965              :             case E_V16HFmode:
   18966              :               if (pattern799 (x3, 
   18967              : E_V8SFmode, 
   18968              : E_V8HFmode, 
   18969              : E_V16HFmode) != 0
   18970              :                   || !(
   18971              : #line 32789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18972              : (TARGET_AVX10_2 && 1) && 
   18973              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18974              : (TARGET_AVX512VL)))
   18975              :                 return -1;
   18976              :               return 10545; /* avx10_2_cvt2ps2phx_v16hf */
   18977              : 
   18978              :             case E_V8HFmode:
   18979              :               if (pattern799 (x3, 
   18980              : E_V4SFmode, 
   18981              : E_V4HFmode, 
   18982              : E_V8HFmode) != 0
   18983              :                   || !(
   18984              : #line 32789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18985              : (TARGET_AVX10_2 && 1) && 
   18986              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18987              : (TARGET_AVX512VL)))
   18988              :                 return -1;
   18989              :               return 10547; /* avx10_2_cvt2ps2phx_v8hf */
   18990              : 
   18991              :             default:
   18992              :               return -1;
   18993              :             }
   18994              : 
   18995              :         default:
   18996              :           return -1;
   18997              :         }
   18998              : 
   18999              :     case UNSPEC:
   19000              :       return recog_275 (x1, insn, pnum_clobbers);
   19001              : 
   19002              :     case UNSIGNED_FIX:
   19003              :       if (GET_MODE (x4) != E_V2SImode)
   19004              :         return -1;
   19005              :       x7 = XEXP (x3, 1);
   19006              :       if (GET_CODE (x7) != CONST_VECTOR
   19007              :           || XVECLEN (x7, 0) != 2
   19008              :           || GET_MODE (x7) != E_V2SImode
   19009              :           || pattern278 (x3, 
   19010              : E_V2DFmode, 
   19011              : E_V4SImode, 
   19012              : 0) != 0
   19013              :           || !
   19014              : #line 9982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19015              : (TARGET_AVX512VL))
   19016              :         return -1;
   19017              :       return 5082; /* *fixuns_truncv2dfv2si2 */
   19018              : 
   19019              :     case FIX:
   19020              :       if (GET_MODE (x4) != E_V2SImode)
   19021              :         return -1;
   19022              :       x7 = XEXP (x3, 1);
   19023              :       if (GET_CODE (x7) != CONST_VECTOR
   19024              :           || pattern514 (x7, 
   19025              : E_V2SImode, 
   19026              : 2) != 0
   19027              :           || !register_operand (operands[0], E_V4SImode)
   19028              :           || GET_MODE (x3) != E_V4SImode)
   19029              :         return -1;
   19030              :       x5 = XEXP (x4, 0);
   19031              :       operands[1] = x5;
   19032              :       if (!vector_operand (operands[1], E_V2DFmode)
   19033              :           || !
   19034              : #line 10340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19035              : (TARGET_SSE2))
   19036              :         return -1;
   19037              :       return 5184; /* sse2_cvttpd2dq */
   19038              : 
   19039              :     case REG:
   19040              :     case SUBREG:
   19041              :     case MEM:
   19042              :       x7 = XEXP (x3, 1);
   19043              :       switch (GET_CODE (x7))
   19044              :         {
   19045              :         case VEC_SELECT:
   19046              :           res = recog_271 (x1, insn, pnum_clobbers);
   19047              :           if (res >= 0)
   19048              :             return res;
   19049              :           break;
   19050              : 
   19051              :         case CONST_INT:
   19052              :         case CONST_DOUBLE:
   19053              :         case CONST_VECTOR:
   19054              :         case REG:
   19055              :         case SUBREG:
   19056              :         case MEM:
   19057              :           res = recog_272 (x1, insn, pnum_clobbers);
   19058              :           if (res >= 0)
   19059              :             return res;
   19060              :           break;
   19061              : 
   19062              :         case UNSPEC:
   19063              :           if (XVECLEN (x7, 0) == 1
   19064              :               && XINT (x7, 1) == 148)
   19065              :             {
   19066              :               x14 = XVECEXP (x7, 0, 0);
   19067              :               if (x14 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
   19068              :                 {
   19069              :                   operands[1] = x4;
   19070              :                   switch (GET_MODE (operands[0]))
   19071              :                     {
   19072              :                     case E_V8SImode:
   19073              :                       if (pattern1044 (x3, 
   19074              : E_V4SImode, 
   19075              : E_V8SImode) == 0
   19076              :                           && 
   19077              : #line 29859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19078              : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   19079              :                         return 9654; /* avx_si256_si */
   19080              :                       break;
   19081              : 
   19082              :                     case E_V8SFmode:
   19083              :                       if (pattern1044 (x3, 
   19084              : E_V4SFmode, 
   19085              : E_V8SFmode) == 0
   19086              :                           && 
   19087              : #line 29859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19088              : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   19089              :                         return 9655; /* avx_ps256_ps */
   19090              :                       break;
   19091              : 
   19092              :                     case E_V4DFmode:
   19093              :                       if (pattern1044 (x3, 
   19094              : E_V2DFmode, 
   19095              : E_V4DFmode) == 0
   19096              :                           && 
   19097              : #line 29859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19098              : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   19099              :                         return 9656; /* avx_pd256_pd */
   19100              :                       break;
   19101              : 
   19102              :                     case E_V16SImode:
   19103              :                       if (pattern1044 (x3, 
   19104              : E_V8SImode, 
   19105              : E_V16SImode) == 0
   19106              :                           && 
   19107              : #line 31211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19108              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   19109              :                         return 10210; /* avx512f_si512_256si */
   19110              :                       break;
   19111              : 
   19112              :                     case E_V16SFmode:
   19113              :                       if (pattern1044 (x3, 
   19114              : E_V8SFmode, 
   19115              : E_V16SFmode) == 0
   19116              :                           && 
   19117              : #line 31211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19118              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   19119              :                         return 10211; /* avx512f_ps512_256ps */
   19120              :                       break;
   19121              : 
   19122              :                     case E_V8DFmode:
   19123              :                       if (pattern1044 (x3, 
   19124              : E_V4DFmode, 
   19125              : E_V8DFmode) == 0
   19126              :                           && 
   19127              : #line 31211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19128              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   19129              :                         return 10212; /* avx512f_pd512_256pd */
   19130              :                       break;
   19131              : 
   19132              :                     default:
   19133              :                       break;
   19134              :                     }
   19135              :                 }
   19136              :             }
   19137              :           break;
   19138              : 
   19139              :         default:
   19140              :           break;
   19141              :         }
   19142              :       if (!register_operand (operands[0], E_V4DImode)
   19143              :           || GET_MODE (x3) != E_V4DImode)
   19144              :         return -1;
   19145              :       if (GET_CODE (x4) == SUBREG
   19146              :           && known_eq (SUBREG_BYTE (x4), 0)
   19147              :           && GET_MODE (x4) == E_V2DImode)
   19148              :         {
   19149              :           x5 = XEXP (x4, 0);
   19150              :           if (pattern89 (x5, 
   19151              : E_V16QImode, 
   19152              : 120, 
   19153              : 1) == 0
   19154              :               && GET_CODE (x7) == SUBREG
   19155              :               && pattern1265 (x7) == 0)
   19156              :             {
   19157              :               x15 = XVECEXP (x5, 0, 0);
   19158              :               operands[1] = x15;
   19159              :               if (memory_operand (operands[1], E_V16QImode))
   19160              :                 {
   19161              :                   x9 = XEXP (x7, 0);
   19162              :                   x16 = XVECEXP (x9, 0, 0);
   19163              :                   if (rtx_equal_p (x16, operands[1])
   19164              :                       && 
   19165              : #line 28852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19166              : (TARGET_AVX2 && ix86_pre_reload_split ()))
   19167              :                     return 9393; /* avx2_lddqu_inserti_to_bcasti */
   19168              :                 }
   19169              :             }
   19170              :         }
   19171              :       operands[1] = x4;
   19172              :       if (!nonimmediate_operand (operands[1], E_V2DImode))
   19173              :         return -1;
   19174              :       if (rtx_equal_p (x7, operands[1])
   19175              :           && 
   19176              : #line 28944 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19177              : (TARGET_AVX))
   19178              :         return 9411; /* avx_vbroadcastf128_v4di */
   19179              :       operands[2] = x7;
   19180              :       if (!nonimm_or_0_operand (operands[2], E_V2DImode)
   19181              :           || !
   19182              : #line 29992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19183              : (TARGET_AVX
   19184              :    && (operands[2] == CONST0_RTX (V2DImode)
   19185              :        || !MEM_P (operands[1]))))
   19186              :         return -1;
   19187              :       return 9716; /* avx_vec_concatv4di */
   19188              : 
   19189              :     case ZERO_EXTEND:
   19190              :       switch (pattern188 (x3))
   19191              :         {
   19192              :         case 0:
   19193              :           if (!
   19194              : #line 12496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19195              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()))
   19196              :             return -1;
   19197              :           return 5337; /* *vec_setv2di_0_zero_extendhi_1 */
   19198              : 
   19199              :         case 1:
   19200              :           if (!
   19201              : #line 12610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19202              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   19203              :             return -1;
   19204              :           return 5349; /* *vec_setv2di_0_zero_extendsi_1 */
   19205              : 
   19206              :         default:
   19207              :           return -1;
   19208              :         }
   19209              : 
   19210              :     case SS_TRUNCATE:
   19211              :       x5 = XEXP (x4, 0);
   19212              :       operands[1] = x5;
   19213              :       x7 = XEXP (x3, 1);
   19214              :       switch (GET_CODE (x7))
   19215              :         {
   19216              :         case CONST_INT:
   19217              :         case CONST_DOUBLE:
   19218              :         case CONST_VECTOR:
   19219              :           operands[2] = x7;
   19220              :           switch (pattern516 (x3))
   19221              :             {
   19222              :             case 0:
   19223              :               if (
   19224              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19225              : (TARGET_AVX512VL))
   19226              :                 return 7322; /* avx512vl_ss_truncatev4div4qi2 */
   19227              :               break;
   19228              : 
   19229              :             case 1:
   19230              :               if (
   19231              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19232              : (TARGET_AVX512VL))
   19233              :                 return 7331; /* avx512vl_ss_truncatev4siv4qi2 */
   19234              :               break;
   19235              : 
   19236              :             case 2:
   19237              :               if (
   19238              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19239              : (TARGET_AVX512VL))
   19240              :                 return 7325; /* avx512vl_ss_truncatev2div2qi2 */
   19241              :               break;
   19242              : 
   19243              :             case 3:
   19244              :               if (
   19245              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19246              : (TARGET_AVX512VL))
   19247              :                 return 7328; /* avx512vl_ss_truncatev8siv8qi2 */
   19248              :               break;
   19249              : 
   19250              :             case 4:
   19251              :               if ((
   19252              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19253              : (TARGET_AVX512VL) && 
   19254              : #line 15725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19255              : (TARGET_AVX512BW)))
   19256              :                 return 7334; /* avx512vl_ss_truncatev8hiv8qi2 */
   19257              :               break;
   19258              : 
   19259              :             case 5:
   19260              :               if ((
   19261              : #line 16124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19262              : (TARGET_AVX512VL) && 
   19263              : #line 16086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19264              : (TARGET_AVX2)))
   19265              :                 return 7413; /* avx512vl_ss_truncatev4div4hi2 */
   19266              :               break;
   19267              : 
   19268              :             case 6:
   19269              :               if (
   19270              : #line 16124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19271              : (TARGET_AVX512VL))
   19272              :                 return 7419; /* avx512vl_ss_truncatev4siv4hi2 */
   19273              :               break;
   19274              : 
   19275              :             case 7:
   19276              :               if (
   19277              : #line 16124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19278              : (TARGET_AVX512VL))
   19279              :                 return 7416; /* avx512vl_ss_truncatev2div2hi2 */
   19280              :               break;
   19281              : 
   19282              :             case 8:
   19283              :               if (
   19284              : #line 16361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19285              : (TARGET_AVX512VL))
   19286              :                 return 7468; /* avx512vl_ss_truncatev2div2si2 */
   19287              :               break;
   19288              : 
   19289              :             default:
   19290              :               break;
   19291              :             }
   19292              :           if (GET_CODE (x7) != CONST_VECTOR
   19293              :               || pattern514 (x7, 
   19294              : E_V8QImode, 
   19295              : 8) != 0)
   19296              :             return -1;
   19297              :           x17 = XVECEXP (x7, 0, 2);
   19298              :           if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   19299              :             return -1;
   19300              :           x18 = XVECEXP (x7, 0, 3);
   19301              :           if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   19302              :             return -1;
   19303              :           x19 = XVECEXP (x7, 0, 4);
   19304              :           if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   19305              :             return -1;
   19306              :           x20 = XVECEXP (x7, 0, 5);
   19307              :           if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   19308              :             return -1;
   19309              :           x21 = XVECEXP (x7, 0, 6);
   19310              :           if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   19311              :             return -1;
   19312              :           x22 = XVECEXP (x7, 0, 7);
   19313              :           if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   19314              :               || pattern620 (x3, 
   19315              : E_V8DImode, 
   19316              : E_V8QImode, 
   19317              : E_V16QImode) != 0
   19318              :               || !
   19319              : #line 16497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19320              : (TARGET_AVX512F))
   19321              :             return -1;
   19322              :           return 7487; /* avx512f_ss_truncatev8div16qi2 */
   19323              : 
   19324              :         case SS_TRUNCATE:
   19325              :           x9 = XEXP (x7, 0);
   19326              :           operands[2] = x9;
   19327              :           switch (GET_MODE (operands[0]))
   19328              :             {
   19329              :             case E_V16QImode:
   19330              :               if (pattern804 (x3, 
   19331              : E_V8HImode, 
   19332              : E_V8QImode, 
   19333              : E_V16QImode) != 0
   19334              :                   || !
   19335              : #line 19679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19336              : (TARGET_SSE2 && 1 && 1))
   19337              :                 return -1;
   19338              :               return 8376; /* sse2_packsswb */
   19339              : 
   19340              :             case E_V8HImode:
   19341              :               if (pattern804 (x3, 
   19342              : E_V4SImode, 
   19343              : E_V4HImode, 
   19344              : E_V8HImode) != 0
   19345              :                   || !
   19346              : #line 19773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19347              : (TARGET_SSE2 && 1 && 1))
   19348              :                 return -1;
   19349              :               return 8382; /* sse2_packssdw */
   19350              : 
   19351              :             default:
   19352              :               return -1;
   19353              :             }
   19354              : 
   19355              :         default:
   19356              :           return -1;
   19357              :         }
   19358              : 
   19359              :     case TRUNCATE:
   19360              :       x5 = XEXP (x4, 0);
   19361              :       operands[1] = x5;
   19362              :       x7 = XEXP (x3, 1);
   19363              :       operands[2] = x7;
   19364              :       switch (pattern516 (x3))
   19365              :         {
   19366              :         case 0:
   19367              :           if (
   19368              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19369              : (TARGET_AVX512VL))
   19370              :             return 7323; /* avx512vl_truncatev4div4qi2 */
   19371              :           break;
   19372              : 
   19373              :         case 1:
   19374              :           if (
   19375              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19376              : (TARGET_AVX512VL))
   19377              :             return 7332; /* avx512vl_truncatev4siv4qi2 */
   19378              :           break;
   19379              : 
   19380              :         case 2:
   19381              :           if (
   19382              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19383              : (TARGET_AVX512VL))
   19384              :             return 7326; /* avx512vl_truncatev2div2qi2 */
   19385              :           break;
   19386              : 
   19387              :         case 3:
   19388              :           if (
   19389              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19390              : (TARGET_AVX512VL))
   19391              :             return 7329; /* avx512vl_truncatev8siv8qi2 */
   19392              :           break;
   19393              : 
   19394              :         case 4:
   19395              :           if ((
   19396              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19397              : (TARGET_AVX512VL) && 
   19398              : #line 15725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19399              : (TARGET_AVX512BW)))
   19400              :             return 7335; /* avx512vl_truncatev8hiv8qi2 */
   19401              :           break;
   19402              : 
   19403              :         case 5:
   19404              :           if ((
   19405              : #line 16124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19406              : (TARGET_AVX512VL) && 
   19407              : #line 16086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19408              : (TARGET_AVX2)))
   19409              :             return 7414; /* avx512vl_truncatev4div4hi2 */
   19410              :           break;
   19411              : 
   19412              :         case 6:
   19413              :           if (
   19414              : #line 16124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19415              : (TARGET_AVX512VL))
   19416              :             return 7420; /* avx512vl_truncatev4siv4hi2 */
   19417              :           break;
   19418              : 
   19419              :         case 7:
   19420              :           if (
   19421              : #line 16124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19422              : (TARGET_AVX512VL))
   19423              :             return 7417; /* avx512vl_truncatev2div2hi2 */
   19424              :           break;
   19425              : 
   19426              :         case 8:
   19427              :           if (
   19428              : #line 16361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19429              : (TARGET_AVX512VL))
   19430              :             return 7469; /* avx512vl_truncatev2div2si2 */
   19431              :           break;
   19432              : 
   19433              :         default:
   19434              :           break;
   19435              :         }
   19436              :       if (!register_operand (operands[1], E_V8DImode)
   19437              :           || pattern517 (x3) != 0
   19438              :           || !
   19439              : #line 16497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19440              : (TARGET_AVX512F))
   19441              :         return -1;
   19442              :       return 7488; /* avx512f_truncatev8div16qi2 */
   19443              : 
   19444              :     case US_TRUNCATE:
   19445              :       x5 = XEXP (x4, 0);
   19446              :       operands[1] = x5;
   19447              :       x7 = XEXP (x3, 1);
   19448              :       operands[2] = x7;
   19449              :       switch (pattern516 (x3))
   19450              :         {
   19451              :         case 0:
   19452              :           if (
   19453              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19454              : (TARGET_AVX512VL))
   19455              :             return 7324; /* avx512vl_us_truncatev4div4qi2 */
   19456              :           break;
   19457              : 
   19458              :         case 1:
   19459              :           if (
   19460              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19461              : (TARGET_AVX512VL))
   19462              :             return 7333; /* avx512vl_us_truncatev4siv4qi2 */
   19463              :           break;
   19464              : 
   19465              :         case 2:
   19466              :           if (
   19467              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19468              : (TARGET_AVX512VL))
   19469              :             return 7327; /* avx512vl_us_truncatev2div2qi2 */
   19470              :           break;
   19471              : 
   19472              :         case 3:
   19473              :           if (
   19474              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19475              : (TARGET_AVX512VL))
   19476              :             return 7330; /* avx512vl_us_truncatev8siv8qi2 */
   19477              :           break;
   19478              : 
   19479              :         case 4:
   19480              :           if ((
   19481              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19482              : (TARGET_AVX512VL) && 
   19483              : #line 15725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19484              : (TARGET_AVX512BW)))
   19485              :             return 7336; /* avx512vl_us_truncatev8hiv8qi2 */
   19486              :           break;
   19487              : 
   19488              :         case 5:
   19489              :           if ((
   19490              : #line 16124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19491              : (TARGET_AVX512VL) && 
   19492              : #line 16086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19493              : (TARGET_AVX2)))
   19494              :             return 7415; /* avx512vl_us_truncatev4div4hi2 */
   19495              :           break;
   19496              : 
   19497              :         case 6:
   19498              :           if (
   19499              : #line 16124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19500              : (TARGET_AVX512VL))
   19501              :             return 7421; /* avx512vl_us_truncatev4siv4hi2 */
   19502              :           break;
   19503              : 
   19504              :         case 7:
   19505              :           if (
   19506              : #line 16124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19507              : (TARGET_AVX512VL))
   19508              :             return 7418; /* avx512vl_us_truncatev2div2hi2 */
   19509              :           break;
   19510              : 
   19511              :         case 8:
   19512              :           if (
   19513              : #line 16361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19514              : (TARGET_AVX512VL))
   19515              :             return 7470; /* avx512vl_us_truncatev2div2si2 */
   19516              :           break;
   19517              : 
   19518              :         default:
   19519              :           break;
   19520              :         }
   19521              :       if (!register_operand (operands[1], E_V8DImode)
   19522              :           || pattern517 (x3) != 0
   19523              :           || !
   19524              : #line 16497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19525              : (TARGET_AVX512F))
   19526              :         return -1;
   19527              :       return 7489; /* avx512f_us_truncatev8div16qi2 */
   19528              : 
   19529              :     default:
   19530              :       return -1;
   19531              :     }
   19532              : }
   19533              : 
   19534              :  int
   19535              : recog_328 (rtx x1 ATTRIBUTE_UNUSED,
   19536              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   19537              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   19538              : {
   19539              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   19540              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   19541              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   19542              :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
   19543              :   rtx x26, x27, x28, x29, x30, x31, x32, x33;
   19544              :   rtx x34, x35, x36, x37, x38, x39, x40, x41;
   19545              :   rtx x42, x43, x44, x45, x46, x47, x48, x49;
   19546              :   rtx x50, x51, x52, x53, x54, x55, x56, x57;
   19547              :   rtx x58, x59, x60, x61, x62, x63, x64, x65;
   19548              :   rtx x66, x67, x68, x69, x70, x71, x72, x73;
   19549              :   rtx x74, x75, x76;
   19550              :   int res ATTRIBUTE_UNUSED;
   19551              :   x2 = XEXP (x1, 0);
   19552              :   operands[0] = x2;
   19553              :   x3 = XEXP (x1, 1);
   19554              :   x4 = XEXP (x3, 0);
   19555              :   switch (GET_CODE (x4))
   19556              :     {
   19557              :     case REG:
   19558              :     case SUBREG:
   19559              :     case MEM:
   19560              :       switch (pattern54 (x3))
   19561              :         {
   19562              :         case 0:
   19563              :           if (!(
   19564              : #line 16757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19565              : (TARGET_SSE2 && 1 && 1
   19566              :    && ix86_binary_operator_ok (SS_PLUS, V64QImode, operands)) && 
   19567              : #line 728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19568              : (TARGET_AVX512BW)))
   19569              :             return -1;
   19570              :           return 7577; /* *avx512bw_ssaddv64qi3 */
   19571              : 
   19572              :         case 1:
   19573              :           if (!(
   19574              : #line 16757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19575              : (TARGET_SSE2 && 1 && 1
   19576              :    && ix86_binary_operator_ok (SS_PLUS, V32QImode, operands)) && 
   19577              : #line 728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19578              : (TARGET_AVX2)))
   19579              :             return -1;
   19580              :           return 7585; /* *avx2_ssaddv32qi3 */
   19581              : 
   19582              :         case 2:
   19583              :           if (!
   19584              : #line 16757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19585              : (TARGET_SSE2 && 1 && 1
   19586              :    && ix86_binary_operator_ok (SS_PLUS, V16QImode, operands)))
   19587              :             return -1;
   19588              :           return 7593; /* *sse2_ssaddv16qi3 */
   19589              : 
   19590              :         case 3:
   19591              :           if (!(
   19592              : #line 16757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19593              : (TARGET_SSE2 && 1 && 1
   19594              :    && ix86_binary_operator_ok (SS_PLUS, V32HImode, operands)) && 
   19595              : #line 729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19596              : (TARGET_AVX512BW)))
   19597              :             return -1;
   19598              :           return 7601; /* *avx512bw_ssaddv32hi3 */
   19599              : 
   19600              :         case 4:
   19601              :           if (!(
   19602              : #line 16757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19603              : (TARGET_SSE2 && 1 && 1
   19604              :    && ix86_binary_operator_ok (SS_PLUS, V16HImode, operands)) && 
   19605              : #line 729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19606              : (TARGET_AVX2)))
   19607              :             return -1;
   19608              :           return 7609; /* *avx2_ssaddv16hi3 */
   19609              : 
   19610              :         case 5:
   19611              :           if (!
   19612              : #line 16757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19613              : (TARGET_SSE2 && 1 && 1
   19614              :    && ix86_binary_operator_ok (SS_PLUS, V8HImode, operands)))
   19615              :             return -1;
   19616              :           return 7617; /* *sse2_ssaddv8hi3 */
   19617              : 
   19618              :         default:
   19619              :           return -1;
   19620              :         }
   19621              : 
   19622              :     case VEC_SELECT:
   19623              :       switch (pattern206 (x3))
   19624              :         {
   19625              :         case 0:
   19626              :           if (!
   19627              : #line 23090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19628              : (TARGET_AVX2))
   19629              :             return -1;
   19630              :           return 8663; /* avx2_phaddswv16hi3 */
   19631              : 
   19632              :         case 1:
   19633              :           if (!
   19634              : #line 23114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19635              : (TARGET_SSSE3))
   19636              :             return -1;
   19637              :           return 8667; /* ssse3_phaddswv8hi3 */
   19638              : 
   19639              :         default:
   19640              :           return -1;
   19641              :         }
   19642              : 
   19643              :     case MULT:
   19644              :       x5 = XEXP (x4, 0);
   19645              :       switch (GET_CODE (x5))
   19646              :         {
   19647              :         case ZERO_EXTEND:
   19648              :           x6 = XEXP (x5, 0);
   19649              :           if (GET_CODE (x6) != VEC_SELECT)
   19650              :             return -1;
   19651              :           x7 = XEXP (x6, 1);
   19652              :           if (GET_CODE (x7) != PARALLEL)
   19653              :             return -1;
   19654              :           x8 = XEXP (x4, 1);
   19655              :           if (GET_CODE (x8) != SIGN_EXTEND)
   19656              :             return -1;
   19657              :           x9 = XEXP (x8, 0);
   19658              :           if (GET_CODE (x9) != VEC_SELECT)
   19659              :             return -1;
   19660              :           x10 = XEXP (x9, 1);
   19661              :           if (GET_CODE (x10) != PARALLEL)
   19662              :             return -1;
   19663              :           x11 = XEXP (x3, 1);
   19664              :           if (GET_CODE (x11) != MULT)
   19665              :             return -1;
   19666              :           x12 = XEXP (x11, 0);
   19667              :           if (GET_CODE (x12) != ZERO_EXTEND)
   19668              :             return -1;
   19669              :           x13 = XEXP (x12, 0);
   19670              :           if (GET_CODE (x13) != VEC_SELECT)
   19671              :             return -1;
   19672              :           x14 = XEXP (x13, 1);
   19673              :           if (GET_CODE (x14) != PARALLEL)
   19674              :             return -1;
   19675              :           x15 = XEXP (x11, 1);
   19676              :           if (GET_CODE (x15) != SIGN_EXTEND)
   19677              :             return -1;
   19678              :           x16 = XEXP (x15, 0);
   19679              :           if (GET_CODE (x16) != VEC_SELECT)
   19680              :             return -1;
   19681              :           x17 = XEXP (x16, 1);
   19682              :           if (GET_CODE (x17) != PARALLEL)
   19683              :             return -1;
   19684              :           x18 = XEXP (x6, 0);
   19685              :           operands[1] = x18;
   19686              :           x19 = XEXP (x9, 0);
   19687              :           operands[2] = x19;
   19688              :           x20 = XEXP (x13, 0);
   19689              :           if (!rtx_equal_p (x20, operands[1]))
   19690              :             return -1;
   19691              :           x21 = XEXP (x16, 0);
   19692              :           if (!rtx_equal_p (x21, operands[2]))
   19693              :             return -1;
   19694              :           switch (XVECLEN (x7, 0))
   19695              :             {
   19696              :             case 16:
   19697              :               if (pattern1095 (x7, 
   19698              : 6, 
   19699              : 4, 
   19700              : 2, 
   19701              : 0) != 0)
   19702              :                 return -1;
   19703              :               x22 = XVECEXP (x7, 0, 4);
   19704              :               if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
   19705              :                 return -1;
   19706              :               x23 = XVECEXP (x7, 0, 5);
   19707              :               if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
   19708              :                 return -1;
   19709              :               x24 = XVECEXP (x7, 0, 6);
   19710              :               if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
   19711              :                 return -1;
   19712              :               x25 = XVECEXP (x7, 0, 7);
   19713              :               if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
   19714              :                 return -1;
   19715              :               x26 = XVECEXP (x7, 0, 8);
   19716              :               if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
   19717              :                 return -1;
   19718              :               x27 = XVECEXP (x7, 0, 9);
   19719              :               if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 18])
   19720              :                 return -1;
   19721              :               x28 = XVECEXP (x7, 0, 10);
   19722              :               if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 20])
   19723              :                 return -1;
   19724              :               x29 = XVECEXP (x7, 0, 11);
   19725              :               if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 22])
   19726              :                 return -1;
   19727              :               x30 = XVECEXP (x7, 0, 12);
   19728              :               if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
   19729              :                 return -1;
   19730              :               x31 = XVECEXP (x7, 0, 13);
   19731              :               if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
   19732              :                 return -1;
   19733              :               x32 = XVECEXP (x7, 0, 14);
   19734              :               if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
   19735              :                 return -1;
   19736              :               x33 = XVECEXP (x7, 0, 15);
   19737              :               if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 30]
   19738              :                   || pattern1322 (x10, 
   19739              : 16) != 0)
   19740              :                 return -1;
   19741              :               x34 = XVECEXP (x10, 0, 8);
   19742              :               if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
   19743              :                 return -1;
   19744              :               x35 = XVECEXP (x10, 0, 9);
   19745              :               if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 18])
   19746              :                 return -1;
   19747              :               x36 = XVECEXP (x10, 0, 10);
   19748              :               if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 20])
   19749              :                 return -1;
   19750              :               x37 = XVECEXP (x10, 0, 11);
   19751              :               if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 22])
   19752              :                 return -1;
   19753              :               x38 = XVECEXP (x10, 0, 12);
   19754              :               if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
   19755              :                 return -1;
   19756              :               x39 = XVECEXP (x10, 0, 13);
   19757              :               if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
   19758              :                 return -1;
   19759              :               x40 = XVECEXP (x10, 0, 14);
   19760              :               if (x40 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
   19761              :                 return -1;
   19762              :               x41 = XVECEXP (x10, 0, 15);
   19763              :               if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 30]
   19764              :                   || pattern1895 (x14, 
   19765              : 16) != 0)
   19766              :                 return -1;
   19767              :               x42 = XVECEXP (x14, 0, 8);
   19768              :               if (x42 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
   19769              :                 return -1;
   19770              :               x43 = XVECEXP (x14, 0, 9);
   19771              :               if (x43 != const_int_rtx[MAX_SAVED_CONST_INT + 19])
   19772              :                 return -1;
   19773              :               x44 = XVECEXP (x14, 0, 10);
   19774              :               if (x44 != const_int_rtx[MAX_SAVED_CONST_INT + 21])
   19775              :                 return -1;
   19776              :               x45 = XVECEXP (x14, 0, 11);
   19777              :               if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 23])
   19778              :                 return -1;
   19779              :               x46 = XVECEXP (x14, 0, 12);
   19780              :               if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
   19781              :                 return -1;
   19782              :               x47 = XVECEXP (x14, 0, 13);
   19783              :               if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
   19784              :                 return -1;
   19785              :               x48 = XVECEXP (x14, 0, 14);
   19786              :               if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
   19787              :                 return -1;
   19788              :               x49 = XVECEXP (x14, 0, 15);
   19789              :               if (x49 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
   19790              :                   || pattern1912 (x17, 
   19791              : 16) != 0)
   19792              :                 return -1;
   19793              :               x50 = XVECEXP (x17, 0, 8);
   19794              :               if (x50 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
   19795              :                 return -1;
   19796              :               x51 = XVECEXP (x17, 0, 9);
   19797              :               if (x51 != const_int_rtx[MAX_SAVED_CONST_INT + 19])
   19798              :                 return -1;
   19799              :               x52 = XVECEXP (x17, 0, 10);
   19800              :               if (x52 != const_int_rtx[MAX_SAVED_CONST_INT + 21])
   19801              :                 return -1;
   19802              :               x53 = XVECEXP (x17, 0, 11);
   19803              :               if (x53 != const_int_rtx[MAX_SAVED_CONST_INT + 23])
   19804              :                 return -1;
   19805              :               x54 = XVECEXP (x17, 0, 12);
   19806              :               if (x54 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
   19807              :                 return -1;
   19808              :               x55 = XVECEXP (x17, 0, 13);
   19809              :               if (x55 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
   19810              :                 return -1;
   19811              :               x56 = XVECEXP (x17, 0, 14);
   19812              :               if (x56 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
   19813              :                 return -1;
   19814              :               x57 = XVECEXP (x17, 0, 15);
   19815              :               if (x57 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
   19816              :                   || pattern1918 (x3, 
   19817              : E_V32QImode, 
   19818              : E_V16QImode, 
   19819              : E_V16HImode) != 0
   19820              :                   || GET_MODE (x8) != E_V16HImode
   19821              :                   || GET_MODE (x9) != E_V16QImode
   19822              :                   || !nonimmediate_operand (operands[2], E_V32QImode)
   19823              :                   || pattern338 (x11, 
   19824              : E_V16QImode, 
   19825              : E_V16HImode) != 0
   19826              :                   || !
   19827              : #line 23306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19828              : (TARGET_AVX2))
   19829              :                 return -1;
   19830              :               return 8680; /* avx2_pmaddubsw256 */
   19831              : 
   19832              :             case 8:
   19833              :               if (pattern1323 (x4) != 0
   19834              :                   || pattern1895 (x14, 
   19835              : 8) != 0
   19836              :                   || pattern1912 (x17, 
   19837              : 8) != 0
   19838              :                   || pattern1918 (x3, 
   19839              : E_V16QImode, 
   19840              : E_V8QImode, 
   19841              : E_V8HImode) != 0
   19842              :                   || GET_MODE (x8) != E_V8HImode
   19843              :                   || GET_MODE (x9) != E_V8QImode
   19844              :                   || !vector_operand (operands[2], E_V16QImode)
   19845              :                   || pattern338 (x11, 
   19846              : E_V8QImode, 
   19847              : E_V8HImode) != 0
   19848              :                   || !
   19849              : #line 23395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19850              : (TARGET_SSSE3))
   19851              :                 return -1;
   19852              :               return 8689; /* ssse3_pmaddubsw128 */
   19853              : 
   19854              :             default:
   19855              :               return -1;
   19856              :             }
   19857              : 
   19858              :         case REG:
   19859              :         case SUBREG:
   19860              :         case MEM:
   19861              :           switch (pattern336 (x3))
   19862              :             {
   19863              :             case 0:
   19864              :               if (!
   19865              : #line 26953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19866              : (TARGET_XOP))
   19867              :                 return -1;
   19868              :               return 9071; /* xop_pmacssww */
   19869              : 
   19870              :             case 1:
   19871              :               if (!
   19872              : #line 26953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19873              : (TARGET_XOP))
   19874              :                 return -1;
   19875              :               return 9073; /* xop_pmacssdd */
   19876              : 
   19877              :             default:
   19878              :               return -1;
   19879              :             }
   19880              : 
   19881              :         case SIGN_EXTEND:
   19882              :           if (pattern334 (x4) != 0)
   19883              :             return -1;
   19884              :           x11 = XEXP (x3, 1);
   19885              :           operands[3] = x11;
   19886              :           x6 = XEXP (x5, 0);
   19887              :           x7 = XEXP (x6, 1);
   19888              :           switch (XVECLEN (x7, 0))
   19889              :             {
   19890              :             case 2:
   19891              :               if (pattern1324 (x3) != 0)
   19892              :                 return -1;
   19893              :               x8 = XEXP (x4, 1);
   19894              :               if (GET_MODE (x8) != E_V2DImode)
   19895              :                 return -1;
   19896              :               x9 = XEXP (x8, 0);
   19897              :               if (GET_MODE (x9) != E_V2SImode
   19898              :                   || !nonimmediate_operand (operands[2], E_V4SImode))
   19899              :                 return -1;
   19900              :               switch (pattern1859 (x4))
   19901              :                 {
   19902              :                 case 0:
   19903              :                   if (!
   19904              : #line 26972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19905              : (TARGET_XOP))
   19906              :                     return -1;
   19907              :                   return 9075; /* xop_pmacssdql */
   19908              : 
   19909              :                 case 1:
   19910              :                   if (!
   19911              : #line 26991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19912              : (TARGET_XOP))
   19913              :                     return -1;
   19914              :                   return 9077; /* xop_pmacssdqh */
   19915              : 
   19916              :                 default:
   19917              :                   return -1;
   19918              :                 }
   19919              : 
   19920              :             case 4:
   19921              :               if (pattern1095 (x7, 
   19922              : 7, 
   19923              : 5, 
   19924              : 3, 
   19925              : 1) != 0)
   19926              :                 return -1;
   19927              :               x8 = XEXP (x4, 1);
   19928              :               x9 = XEXP (x8, 0);
   19929              :               x10 = XEXP (x9, 1);
   19930              :               if (pattern1638 (x10, 
   19931              : 7, 
   19932              : 5, 
   19933              : 3, 
   19934              : 1) != 0
   19935              :                   || !register_operand (operands[0], E_V4SImode)
   19936              :                   || GET_MODE (x3) != E_V4SImode
   19937              :                   || GET_MODE (x4) != E_V4SImode
   19938              :                   || GET_MODE (x5) != E_V4SImode
   19939              :                   || GET_MODE (x6) != E_V4HImode
   19940              :                   || !nonimmediate_operand (operands[1], E_V8HImode)
   19941              :                   || GET_MODE (x8) != E_V4SImode
   19942              :                   || GET_MODE (x9) != E_V4HImode
   19943              :                   || !nonimmediate_operand (operands[2], E_V8HImode)
   19944              :                   || !register_operand (operands[3], E_V4SImode)
   19945              :                   || !
   19946              : #line 27013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19947              : (TARGET_XOP))
   19948              :                 return -1;
   19949              :               return 9079; /* xop_pmacsswd */
   19950              : 
   19951              :             default:
   19952              :               return -1;
   19953              :             }
   19954              : 
   19955              :         default:
   19956              :           return -1;
   19957              :         }
   19958              : 
   19959              :     case PLUS:
   19960              :       if (GET_MODE (x4) != E_V4SImode)
   19961              :         return -1;
   19962              :       x5 = XEXP (x4, 0);
   19963              :       if (GET_CODE (x5) != MULT
   19964              :           || pattern337 (x5) != 0)
   19965              :         return -1;
   19966              :       x58 = XEXP (x5, 1);
   19967              :       if (GET_MODE (x58) != E_V4SImode)
   19968              :         return -1;
   19969              :       x59 = XEXP (x58, 0);
   19970              :       if (GET_CODE (x59) != VEC_SELECT
   19971              :           || GET_MODE (x59) != E_V4HImode)
   19972              :         return -1;
   19973              :       x60 = XEXP (x59, 1);
   19974              :       if (GET_CODE (x60) != PARALLEL
   19975              :           || XVECLEN (x60, 0) != 4)
   19976              :         return -1;
   19977              :       x61 = XVECEXP (x60, 0, 0);
   19978              :       if (x61 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   19979              :         return -1;
   19980              :       x62 = XVECEXP (x60, 0, 1);
   19981              :       if (x62 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
   19982              :         return -1;
   19983              :       x63 = XVECEXP (x60, 0, 2);
   19984              :       if (x63 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
   19985              :         return -1;
   19986              :       x64 = XVECEXP (x60, 0, 3);
   19987              :       if (x64 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
   19988              :         return -1;
   19989              :       x8 = XEXP (x4, 1);
   19990              :       if (GET_CODE (x8) != MULT
   19991              :           || GET_MODE (x8) != E_V4SImode)
   19992              :         return -1;
   19993              :       x9 = XEXP (x8, 0);
   19994              :       if (GET_CODE (x9) != SIGN_EXTEND
   19995              :           || GET_MODE (x9) != E_V4SImode)
   19996              :         return -1;
   19997              :       x19 = XEXP (x9, 0);
   19998              :       if (GET_CODE (x19) != VEC_SELECT
   19999              :           || GET_MODE (x19) != E_V4HImode)
   20000              :         return -1;
   20001              :       x65 = XEXP (x19, 1);
   20002              :       if (GET_CODE (x65) != PARALLEL
   20003              :           || XVECLEN (x65, 0) != 4)
   20004              :         return -1;
   20005              :       x66 = XVECEXP (x65, 0, 0);
   20006              :       if (x66 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   20007              :         return -1;
   20008              :       x67 = XVECEXP (x65, 0, 1);
   20009              :       if (x67 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
   20010              :         return -1;
   20011              :       x68 = XVECEXP (x65, 0, 2);
   20012              :       if (x68 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
   20013              :         return -1;
   20014              :       x69 = XVECEXP (x65, 0, 3);
   20015              :       if (x69 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
   20016              :         return -1;
   20017              :       x70 = XEXP (x8, 1);
   20018              :       if (GET_CODE (x70) != SIGN_EXTEND
   20019              :           || GET_MODE (x70) != E_V4SImode)
   20020              :         return -1;
   20021              :       x71 = XEXP (x70, 0);
   20022              :       if (GET_CODE (x71) != VEC_SELECT
   20023              :           || GET_MODE (x71) != E_V4HImode)
   20024              :         return -1;
   20025              :       x72 = XEXP (x71, 1);
   20026              :       if (GET_CODE (x72) != PARALLEL
   20027              :           || XVECLEN (x72, 0) != 4)
   20028              :         return -1;
   20029              :       x73 = XVECEXP (x72, 0, 0);
   20030              :       if (x73 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   20031              :         return -1;
   20032              :       x74 = XVECEXP (x72, 0, 1);
   20033              :       if (x74 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
   20034              :         return -1;
   20035              :       x75 = XVECEXP (x72, 0, 2);
   20036              :       if (x75 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
   20037              :         return -1;
   20038              :       x76 = XVECEXP (x72, 0, 3);
   20039              :       if (x76 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
   20040              :           || !register_operand (operands[0], E_V4SImode)
   20041              :           || GET_MODE (x3) != E_V4SImode
   20042              :           || pattern1915 (x3) != 0
   20043              :           || !
   20044              : #line 27046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20045              : (TARGET_XOP))
   20046              :         return -1;
   20047              :       return 9081; /* xop_pmadcsswd */
   20048              : 
   20049              :     default:
   20050              :       return -1;
   20051              :     }
   20052              : }
   20053              : 
   20054              :  int
   20055              : recog_332 (rtx x1 ATTRIBUTE_UNUSED,
   20056              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20057              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20058              : {
   20059              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20060              :   rtx x2, x3, x4, x5;
   20061              :   int res ATTRIBUTE_UNUSED;
   20062              :   x2 = XEXP (x1, 0);
   20063              :   operands[0] = x2;
   20064              :   x3 = XEXP (x1, 1);
   20065              :   x4 = XEXP (x3, 0);
   20066              :   operands[1] = x4;
   20067              :   x5 = XEXP (x3, 1);
   20068              :   operands[2] = x5;
   20069              :   switch (GET_MODE (operands[0]))
   20070              :     {
   20071              :     case E_V16HImode:
   20072              :       if (!register_operand (operands[0], E_V16HImode)
   20073              :           || GET_MODE (x3) != E_V16HImode)
   20074              :         return -1;
   20075              :       if (nonimmediate_operand (operands[1], E_V16HImode)
   20076              :           && nonmemory_operand (operands[2], E_DImode)
   20077              :           && (
   20078              : #line 17536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20079              : (TARGET_AVX512VL) && 
   20080              : #line 781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20081              : (TARGET_AVX512BW)))
   20082              :         return 7675; /* *ashrv16hi3 */
   20083              :       if (!register_operand (operands[1], E_V16HImode))
   20084              :         return -1;
   20085              :       if (nonmemory_operand (operands[2], E_DImode)
   20086              :           && (
   20087              : #line 17550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20088              : (TARGET_SSE2) && 
   20089              : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20090              : (TARGET_AVX2)))
   20091              :         return 7685; /* ashrv16hi3 */
   20092              :       if (!nonimmediate_operand (operands[2], E_V16HImode)
   20093              :           || !(
   20094              : #line 29959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20095              : (TARGET_AVX512BW) && 
   20096              : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20097              : (TARGET_AVX512VL)))
   20098              :         return -1;
   20099              :       return 9671; /* avx512vl_ashrvv16hi */
   20100              : 
   20101              :     case E_V8HImode:
   20102              :       if (!register_operand (operands[0], E_V8HImode)
   20103              :           || GET_MODE (x3) != E_V8HImode)
   20104              :         return -1;
   20105              :       if (nonimmediate_operand (operands[1], E_V8HImode)
   20106              :           && nonmemory_operand (operands[2], E_DImode)
   20107              :           && (
   20108              : #line 17536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20109              : (TARGET_AVX512VL) && 
   20110              : #line 781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20111              : (TARGET_AVX512BW)))
   20112              :         return 7677; /* *ashrv8hi3 */
   20113              :       if (!register_operand (operands[1], E_V8HImode))
   20114              :         return -1;
   20115              :       if (nonmemory_operand (operands[2], E_DImode)
   20116              :           && 
   20117              : #line 17550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20118              : (TARGET_SSE2))
   20119              :         return 7686; /* ashrv8hi3 */
   20120              :       if (!nonimmediate_operand (operands[2], E_V8HImode)
   20121              :           || !(
   20122              : #line 29959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20123              : (TARGET_AVX512BW) && 
   20124              : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20125              : (TARGET_AVX512VL)))
   20126              :         return -1;
   20127              :       return 9669; /* avx512vl_ashrvv8hi */
   20128              : 
   20129              :     case E_V8SImode:
   20130              :       if (!register_operand (operands[0], E_V8SImode)
   20131              :           || GET_MODE (x3) != E_V8SImode)
   20132              :         return -1;
   20133              :       if (nonimmediate_operand (operands[1], E_V8SImode)
   20134              :           && nonmemory_operand (operands[2], E_DImode)
   20135              :           && 
   20136              : #line 17536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20137              : (TARGET_AVX512VL))
   20138              :         return 7679; /* *ashrv8si3 */
   20139              :       if (!register_operand (operands[1], E_V8SImode))
   20140              :         return -1;
   20141              :       if (nonmemory_operand (operands[2], E_DImode)
   20142              :           && (
   20143              : #line 17550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20144              : (TARGET_SSE2) && 
   20145              : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20146              : (TARGET_AVX2)))
   20147              :         return 7687; /* ashrv8si3 */
   20148              :       if (!nonimmediate_operand (operands[2], E_V8SImode)
   20149              :           || !
   20150              : #line 29948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20151              : (TARGET_AVX2 && 1))
   20152              :         return -1;
   20153              :       return 9659; /* avx2_ashrvv8si */
   20154              : 
   20155              :     case E_V4SImode:
   20156              :       if (!register_operand (operands[0], E_V4SImode)
   20157              :           || GET_MODE (x3) != E_V4SImode)
   20158              :         return -1;
   20159              :       if (nonimmediate_operand (operands[1], E_V4SImode)
   20160              :           && nonmemory_operand (operands[2], E_DImode)
   20161              :           && 
   20162              : #line 17536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20163              : (TARGET_AVX512VL))
   20164              :         return 7681; /* *ashrv4si3 */
   20165              :       if (!register_operand (operands[1], E_V4SImode))
   20166              :         return -1;
   20167              :       if (nonmemory_operand (operands[2], E_DImode)
   20168              :           && 
   20169              : #line 17550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20170              : (TARGET_SSE2))
   20171              :         return 7688; /* ashrv4si3 */
   20172              :       if (!nonimmediate_operand (operands[2], E_V4SImode)
   20173              :           || !
   20174              : #line 29948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20175              : (TARGET_AVX2 && 1))
   20176              :         return -1;
   20177              :       return 9657; /* avx2_ashrvv4si */
   20178              : 
   20179              :     case E_V2DImode:
   20180              :       if (!register_operand (operands[0], E_V2DImode)
   20181              :           || GET_MODE (x3) != E_V2DImode)
   20182              :         return -1;
   20183              :       if (nonimmediate_operand (operands[1], E_V2DImode)
   20184              :           && nonmemory_operand (operands[2], E_DImode)
   20185              :           && 
   20186              : #line 17536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20187              : (TARGET_AVX512VL))
   20188              :         return 7683; /* *ashrv2di3 */
   20189              :       if (!register_operand (operands[1], E_V2DImode))
   20190              :         return -1;
   20191              :       if (nonmemory_operand (operands[2], E_DImode)
   20192              :           && 
   20193              : #line 27909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20194              : (TARGET_SSE2 && !TARGET_AVX512VL && ix86_pre_reload_split ()))
   20195              :         return 9137; /* *ashrv2di3 */
   20196              :       if (!nonimmediate_operand (operands[2], E_V2DImode)
   20197              :           || !(
   20198              : #line 29948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20199              : (TARGET_AVX2 && 1) && 
   20200              : #line 671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20201              : (TARGET_AVX512VL)))
   20202              :         return -1;
   20203              :       return 9663; /* avx2_ashrvv2di */
   20204              : 
   20205              :     case E_V32HImode:
   20206              :       if (!register_operand (operands[0], E_V32HImode)
   20207              :           || GET_MODE (x3) != E_V32HImode)
   20208              :         return -1;
   20209              :       if (nonimmediate_operand (operands[1], E_V32HImode)
   20210              :           && nonmemory_operand (operands[2], E_DImode)
   20211              :           && (
   20212              : #line 17580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20213              : (TARGET_AVX512F) && 
   20214              : #line 776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20215              : (TARGET_AVX512BW)))
   20216              :         return 7693; /* *ashrv32hi3 */
   20217              :       if (!register_operand (operands[1], E_V32HImode)
   20218              :           || !nonimmediate_operand (operands[2], E_V32HImode)
   20219              :           || !
   20220              : #line 29959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20221              : (TARGET_AVX512BW))
   20222              :         return -1;
   20223              :       return 9673; /* avx512bw_ashrvv32hi */
   20224              : 
   20225              :     case E_V4DImode:
   20226              :       if (!register_operand (operands[0], E_V4DImode)
   20227              :           || GET_MODE (x3) != E_V4DImode)
   20228              :         return -1;
   20229              :       if (nonimmediate_operand (operands[1], E_V4DImode)
   20230              :           && nonmemory_operand (operands[2], E_DImode)
   20231              :           && (
   20232              : #line 17580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20233              : (TARGET_AVX512F) && 
   20234              : #line 777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20235              : (TARGET_AVX512VL)))
   20236              :         return 7695; /* *ashrv4di3 */
   20237              :       if (!register_operand (operands[1], E_V4DImode)
   20238              :           || !nonimmediate_operand (operands[2], E_V4DImode)
   20239              :           || !(
   20240              : #line 29948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20241              : (TARGET_AVX2 && 1) && 
   20242              : #line 671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20243              : (TARGET_AVX512VL)))
   20244              :         return -1;
   20245              :       return 9665; /* avx2_ashrvv4di */
   20246              : 
   20247              :     case E_V16SImode:
   20248              :       if (!register_operand (operands[0], E_V16SImode)
   20249              :           || GET_MODE (x3) != E_V16SImode)
   20250              :         return -1;
   20251              :       if (nonimmediate_operand (operands[1], E_V16SImode)
   20252              :           && nonmemory_operand (operands[2], E_DImode)
   20253              :           && 
   20254              : #line 17580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20255              : (TARGET_AVX512F))
   20256              :         return 7697; /* *ashrv16si3 */
   20257              :       if (!register_operand (operands[1], E_V16SImode)
   20258              :           || !nonimmediate_operand (operands[2], E_V16SImode)
   20259              :           || !(
   20260              : #line 29948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20261              : (TARGET_AVX2 && 1) && 
   20262              : #line 670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20263              : (TARGET_AVX512F)))
   20264              :         return -1;
   20265              :       return 9661; /* avx512f_ashrvv16si */
   20266              : 
   20267              :     case E_V8DImode:
   20268              :       if (!register_operand (operands[0], E_V8DImode)
   20269              :           || GET_MODE (x3) != E_V8DImode)
   20270              :         return -1;
   20271              :       if (nonimmediate_operand (operands[1], E_V8DImode)
   20272              :           && nonmemory_operand (operands[2], E_DImode)
   20273              :           && 
   20274              : #line 17580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20275              : (TARGET_AVX512F))
   20276              :         return 7699; /* *ashrv8di3 */
   20277              :       if (!register_operand (operands[1], E_V8DImode)
   20278              :           || !nonimmediate_operand (operands[2], E_V8DImode)
   20279              :           || !(
   20280              : #line 29948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20281              : (TARGET_AVX2 && 1) && 
   20282              : #line 672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20283              : (TARGET_AVX512F)))
   20284              :         return -1;
   20285              :       return 9667; /* avx512f_ashrvv8di */
   20286              : 
   20287              :     case E_V1TImode:
   20288              :       if (pattern31 (x3) != 0
   20289              :           || !
   20290              : #line 17954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20291              : (TARGET_SSE2 && TARGET_64BIT
   20292              :    && ix86_pre_reload_split ()))
   20293              :         return -1;
   20294              :       return 7764; /* *ashrv1ti3_internal */
   20295              : 
   20296              :     default:
   20297              :       return -1;
   20298              :     }
   20299              : }
   20300              : 
   20301              :  int
   20302              : recog_335 (rtx x1 ATTRIBUTE_UNUSED,
   20303              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20304              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20305              : {
   20306              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20307              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   20308              :   rtx x10, x11;
   20309              :   int res ATTRIBUTE_UNUSED;
   20310              :   x2 = XEXP (x1, 0);
   20311              :   operands[0] = x2;
   20312              :   x3 = XEXP (x1, 1);
   20313              :   x4 = XEXP (x3, 0);
   20314              :   switch (GET_CODE (x4))
   20315              :     {
   20316              :     case REG:
   20317              :     case SUBREG:
   20318              :     case MEM:
   20319              :       operands[3] = x4;
   20320              :       x5 = XEXP (x3, 1);
   20321              :       operands[1] = x5;
   20322              :       x6 = XEXP (x3, 2);
   20323              :       operands[2] = x6;
   20324              :       switch (GET_MODE (operands[0]))
   20325              :         {
   20326              :         case E_V32QImode:
   20327              :           if (pattern821 (x3, 
   20328              : E_V32QImode) != 0
   20329              :               || !
   20330              : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20331              : (TARGET_XOP))
   20332              :             return -1;
   20333              :           return 9082; /* xop_pcmov_v32qi256 */
   20334              : 
   20335              :         case E_V16QImode:
   20336              :           if (pattern821 (x3, 
   20337              : E_V16QImode) != 0
   20338              :               || !
   20339              : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20340              : (TARGET_XOP))
   20341              :             return -1;
   20342              :           return 9083; /* xop_pcmov_v16qi */
   20343              : 
   20344              :         case E_V16HImode:
   20345              :           if (pattern821 (x3, 
   20346              : E_V16HImode) != 0
   20347              :               || !
   20348              : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20349              : (TARGET_XOP))
   20350              :             return -1;
   20351              :           return 9084; /* xop_pcmov_v16hi256 */
   20352              : 
   20353              :         case E_V8HImode:
   20354              :           if (pattern821 (x3, 
   20355              : E_V8HImode) != 0
   20356              :               || !
   20357              : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20358              : (TARGET_XOP))
   20359              :             return -1;
   20360              :           return 9085; /* xop_pcmov_v8hi */
   20361              : 
   20362              :         case E_V8SImode:
   20363              :           if (pattern821 (x3, 
   20364              : E_V8SImode) != 0
   20365              :               || !
   20366              : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20367              : (TARGET_XOP))
   20368              :             return -1;
   20369              :           return 9086; /* xop_pcmov_v8si256 */
   20370              : 
   20371              :         case E_V4SImode:
   20372              :           if (pattern821 (x3, 
   20373              : E_V4SImode) != 0
   20374              :               || !
   20375              : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20376              : (TARGET_XOP))
   20377              :             return -1;
   20378              :           return 9087; /* xop_pcmov_v4si */
   20379              : 
   20380              :         case E_V4DImode:
   20381              :           if (pattern821 (x3, 
   20382              : E_V4DImode) != 0
   20383              :               || !
   20384              : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20385              : (TARGET_XOP))
   20386              :             return -1;
   20387              :           return 9088; /* xop_pcmov_v4di256 */
   20388              : 
   20389              :         case E_V2DImode:
   20390              :           if (pattern821 (x3, 
   20391              : E_V2DImode) != 0
   20392              :               || !
   20393              : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20394              : (TARGET_XOP))
   20395              :             return -1;
   20396              :           return 9089; /* xop_pcmov_v2di */
   20397              : 
   20398              :         case E_V2TImode:
   20399              :           if (pattern821 (x3, 
   20400              : E_V2TImode) != 0
   20401              :               || !
   20402              : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20403              : (TARGET_XOP))
   20404              :             return -1;
   20405              :           return 9090; /* xop_pcmov_v2ti256 */
   20406              : 
   20407              :         case E_V1TImode:
   20408              :           if (pattern821 (x3, 
   20409              : E_V1TImode) != 0
   20410              :               || !
   20411              : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20412              : (TARGET_XOP))
   20413              :             return -1;
   20414              :           return 9091; /* xop_pcmov_v1ti */
   20415              : 
   20416              :         case E_V16HFmode:
   20417              :           if (pattern821 (x3, 
   20418              : E_V16HFmode) != 0
   20419              :               || !
   20420              : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20421              : (TARGET_XOP))
   20422              :             return -1;
   20423              :           return 9092; /* xop_pcmov_v16hf256 */
   20424              : 
   20425              :         case E_V8HFmode:
   20426              :           if (pattern821 (x3, 
   20427              : E_V8HFmode) != 0
   20428              :               || !
   20429              : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20430              : (TARGET_XOP))
   20431              :             return -1;
   20432              :           return 9093; /* xop_pcmov_v8hf */
   20433              : 
   20434              :         case E_V8SFmode:
   20435              :           if (pattern821 (x3, 
   20436              : E_V8SFmode) != 0
   20437              :               || !
   20438              : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20439              : (TARGET_XOP))
   20440              :             return -1;
   20441              :           return 9094; /* xop_pcmov_v8sf256 */
   20442              : 
   20443              :         case E_V4SFmode:
   20444              :           if (pattern821 (x3, 
   20445              : E_V4SFmode) != 0
   20446              :               || !
   20447              : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20448              : (TARGET_XOP))
   20449              :             return -1;
   20450              :           return 9095; /* xop_pcmov_v4sf */
   20451              : 
   20452              :         case E_V4DFmode:
   20453              :           if (pattern821 (x3, 
   20454              : E_V4DFmode) != 0
   20455              :               || !
   20456              : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20457              : (TARGET_XOP))
   20458              :             return -1;
   20459              :           return 9096; /* xop_pcmov_v4df256 */
   20460              : 
   20461              :         case E_V2DFmode:
   20462              :           if (pattern821 (x3, 
   20463              : E_V2DFmode) != 0
   20464              :               || !
   20465              : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20466              : (TARGET_XOP))
   20467              :             return -1;
   20468              :           return 9097; /* xop_pcmov_v2df */
   20469              : 
   20470              :         default:
   20471              :           return -1;
   20472              :         }
   20473              : 
   20474              :     case GE:
   20475              :       x7 = XEXP (x4, 1);
   20476              :       if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   20477              :         return -1;
   20478              :       x8 = XEXP (x4, 0);
   20479              :       operands[2] = x8;
   20480              :       x5 = XEXP (x3, 1);
   20481              :       switch (GET_CODE (x5))
   20482              :         {
   20483              :         case ROTATE:
   20484              :           x6 = XEXP (x3, 2);
   20485              :           if (GET_CODE (x6) != ROTATERT)
   20486              :             return -1;
   20487              :           x9 = XEXP (x6, 1);
   20488              :           if (GET_CODE (x9) != NEG)
   20489              :             return -1;
   20490              :           x10 = XEXP (x5, 0);
   20491              :           operands[1] = x10;
   20492              :           x11 = XEXP (x5, 1);
   20493              :           if (!rtx_equal_p (x11, operands[2]))
   20494              :             return -1;
   20495              :           switch (pattern1159 (x3))
   20496              :             {
   20497              :             case 0:
   20498              :               if (!
   20499              : #line 27514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20500              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20501              :                 return -1;
   20502              :               return 9125; /* xop_vrotlv16qi3 */
   20503              : 
   20504              :             case 1:
   20505              :               if (!
   20506              : #line 27514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20507              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20508              :                 return -1;
   20509              :               return 9126; /* xop_vrotlv8hi3 */
   20510              : 
   20511              :             case 2:
   20512              :               if (!
   20513              : #line 27514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20514              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20515              :                 return -1;
   20516              :               return 9127; /* xop_vrotlv4si3 */
   20517              : 
   20518              :             case 3:
   20519              :               if (!
   20520              : #line 27514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20521              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20522              :                 return -1;
   20523              :               return 9128; /* xop_vrotlv2di3 */
   20524              : 
   20525              :             default:
   20526              :               return -1;
   20527              :             }
   20528              : 
   20529              :         case ASHIFT:
   20530              :           x10 = XEXP (x5, 0);
   20531              :           operands[1] = x10;
   20532              :           x11 = XEXP (x5, 1);
   20533              :           if (!rtx_equal_p (x11, operands[2]))
   20534              :             return -1;
   20535              :           x6 = XEXP (x3, 2);
   20536              :           switch (GET_CODE (x6))
   20537              :             {
   20538              :             case ASHIFTRT:
   20539              :               x9 = XEXP (x6, 1);
   20540              :               if (GET_CODE (x9) != NEG)
   20541              :                 return -1;
   20542              :               switch (pattern1159 (x3))
   20543              :                 {
   20544              :                 case 0:
   20545              :                   if (!
   20546              : #line 27751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20547              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20548              :                     return -1;
   20549              :                   return 9129; /* xop_shav16qi3 */
   20550              : 
   20551              :                 case 1:
   20552              :                   if (!
   20553              : #line 27751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20554              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20555              :                     return -1;
   20556              :                   return 9130; /* xop_shav8hi3 */
   20557              : 
   20558              :                 case 2:
   20559              :                   if (!
   20560              : #line 27751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20561              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20562              :                     return -1;
   20563              :                   return 9131; /* xop_shav4si3 */
   20564              : 
   20565              :                 case 3:
   20566              :                   if (!
   20567              : #line 27751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20568              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20569              :                     return -1;
   20570              :                   return 9132; /* xop_shav2di3 */
   20571              : 
   20572              :                 default:
   20573              :                   return -1;
   20574              :                 }
   20575              : 
   20576              :             case LSHIFTRT:
   20577              :               x9 = XEXP (x6, 1);
   20578              :               if (GET_CODE (x9) != NEG)
   20579              :                 return -1;
   20580              :               switch (pattern1159 (x3))
   20581              :                 {
   20582              :                 case 0:
   20583              :                   if (!
   20584              : #line 27770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20585              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20586              :                     return -1;
   20587              :                   return 9133; /* xop_shlv16qi3 */
   20588              : 
   20589              :                 case 1:
   20590              :                   if (!
   20591              : #line 27770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20592              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20593              :                     return -1;
   20594              :                   return 9134; /* xop_shlv8hi3 */
   20595              : 
   20596              :                 case 2:
   20597              :                   if (!
   20598              : #line 27770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20599              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20600              :                     return -1;
   20601              :                   return 9135; /* xop_shlv4si3 */
   20602              : 
   20603              :                 case 3:
   20604              :                   if (!
   20605              : #line 27770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20606              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20607              :                     return -1;
   20608              :                   return 9136; /* xop_shlv2di3 */
   20609              : 
   20610              :                 default:
   20611              :                   return -1;
   20612              :                 }
   20613              : 
   20614              :             default:
   20615              :               return -1;
   20616              :             }
   20617              : 
   20618              :         default:
   20619              :           return -1;
   20620              :         }
   20621              : 
   20622              :     default:
   20623              :       return -1;
   20624              :     }
   20625              : }
   20626              : 
   20627              :  int
   20628              : recog_342 (rtx x1 ATTRIBUTE_UNUSED,
   20629              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20630              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20631              : {
   20632              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20633              :   rtx x2, x3, x4;
   20634              :   int res ATTRIBUTE_UNUSED;
   20635              :   x2 = XEXP (x1, 0);
   20636              :   operands[0] = x2;
   20637              :   x3 = XEXP (x1, 1);
   20638              :   x4 = XEXP (x3, 0);
   20639              :   operands[1] = x4;
   20640              :   switch (GET_MODE (operands[0]))
   20641              :     {
   20642              :     case E_V32HFmode:
   20643              :       if (!register_operand (operands[0], E_V32HFmode)
   20644              :           || GET_MODE (x3) != E_V32HFmode
   20645              :           || !vector_operand (operands[1], E_V32HFmode)
   20646              :           || !(
   20647              : #line 3111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20648              : (TARGET_SSE && 1 && 1) && 
   20649              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20650              : (TARGET_AVX512FP16)))
   20651              :         return -1;
   20652              :       return 2973; /* avx512fp16_sqrtv32hf2 */
   20653              : 
   20654              :     case E_V16HFmode:
   20655              :       if (!register_operand (operands[0], E_V16HFmode)
   20656              :           || GET_MODE (x3) != E_V16HFmode
   20657              :           || !vector_operand (operands[1], E_V16HFmode)
   20658              :           || !(
   20659              : #line 3111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20660              : (TARGET_SSE && 1 && 1) && 
   20661              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20662              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   20663              :         return -1;
   20664              :       return 2977; /* avx512fp16_sqrtv16hf2 */
   20665              : 
   20666              :     case E_V8HFmode:
   20667              :       if (!register_operand (operands[0], E_V8HFmode)
   20668              :           || GET_MODE (x3) != E_V8HFmode
   20669              :           || !vector_operand (operands[1], E_V8HFmode)
   20670              :           || !(
   20671              : #line 3111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20672              : (TARGET_SSE && 1 && 1) && 
   20673              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20674              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   20675              :         return -1;
   20676              :       return 2979; /* avx512fp16_sqrtv8hf2 */
   20677              : 
   20678              :     case E_V16SFmode:
   20679              :       if (!register_operand (operands[0], E_V16SFmode)
   20680              :           || GET_MODE (x3) != E_V16SFmode
   20681              :           || !vector_operand (operands[1], E_V16SFmode)
   20682              :           || !(
   20683              : #line 3111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20684              : (TARGET_SSE && 1 && 1) && 
   20685              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20686              : (TARGET_AVX512F)))
   20687              :         return -1;
   20688              :       return 2981; /* avx512f_sqrtv16sf2 */
   20689              : 
   20690              :     case E_V8SFmode:
   20691              :       if (!register_operand (operands[0], E_V8SFmode)
   20692              :           || GET_MODE (x3) != E_V8SFmode
   20693              :           || !vector_operand (operands[1], E_V8SFmode)
   20694              :           || !(
   20695              : #line 3111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20696              : (TARGET_SSE && 1 && 1) && 
   20697              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20698              : (TARGET_AVX)))
   20699              :         return -1;
   20700              :       return 2985; /* avx_sqrtv8sf2 */
   20701              : 
   20702              :     case E_V4SFmode:
   20703              :       if (!register_operand (operands[0], E_V4SFmode)
   20704              :           || GET_MODE (x3) != E_V4SFmode
   20705              :           || !vector_operand (operands[1], E_V4SFmode)
   20706              :           || !
   20707              : #line 3111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20708              : (TARGET_SSE && 1 && 1))
   20709              :         return -1;
   20710              :       return 2987; /* sse_sqrtv4sf2 */
   20711              : 
   20712              :     case E_V8DFmode:
   20713              :       if (!register_operand (operands[0], E_V8DFmode)
   20714              :           || GET_MODE (x3) != E_V8DFmode
   20715              :           || !vector_operand (operands[1], E_V8DFmode)
   20716              :           || !(
   20717              : #line 3111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20718              : (TARGET_SSE && 1 && 1) && 
   20719              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20720              : (TARGET_AVX512F)))
   20721              :         return -1;
   20722              :       return 2989; /* avx512f_sqrtv8df2 */
   20723              : 
   20724              :     case E_V4DFmode:
   20725              :       if (!register_operand (operands[0], E_V4DFmode)
   20726              :           || GET_MODE (x3) != E_V4DFmode
   20727              :           || !vector_operand (operands[1], E_V4DFmode)
   20728              :           || !(
   20729              : #line 3111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20730              : (TARGET_SSE && 1 && 1) && 
   20731              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20732              : (TARGET_AVX)))
   20733              :         return -1;
   20734              :       return 2993; /* avx_sqrtv4df2 */
   20735              : 
   20736              :     case E_V2DFmode:
   20737              :       if (!register_operand (operands[0], E_V2DFmode)
   20738              :           || GET_MODE (x3) != E_V2DFmode
   20739              :           || !vector_operand (operands[1], E_V2DFmode)
   20740              :           || !(
   20741              : #line 3111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20742              : (TARGET_SSE && 1 && 1) && 
   20743              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20744              : (TARGET_SSE2)))
   20745              :         return -1;
   20746              :       return 2995; /* sse2_sqrtv2df2 */
   20747              : 
   20748              :     case E_V32BFmode:
   20749              :       if (!register_operand (operands[0], E_V32BFmode)
   20750              :           || GET_MODE (x3) != E_V32BFmode
   20751              :           || !nonimmediate_operand (operands[1], E_V32BFmode)
   20752              :           || !
   20753              : #line 33473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20754              : (TARGET_AVX10_2))
   20755              :         return -1;
   20756              :       return 10786; /* avx10_2_sqrtbf16_v32bf */
   20757              : 
   20758              :     case E_V16BFmode:
   20759              :       if (!register_operand (operands[0], E_V16BFmode)
   20760              :           || GET_MODE (x3) != E_V16BFmode
   20761              :           || !nonimmediate_operand (operands[1], E_V16BFmode)
   20762              :           || !
   20763              : #line 33473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20764              : (TARGET_AVX10_2))
   20765              :         return -1;
   20766              :       return 10788; /* avx10_2_sqrtbf16_v16bf */
   20767              : 
   20768              :     case E_V8BFmode:
   20769              :       if (!register_operand (operands[0], E_V8BFmode)
   20770              :           || GET_MODE (x3) != E_V8BFmode
   20771              :           || !nonimmediate_operand (operands[1], E_V8BFmode)
   20772              :           || !
   20773              : #line 33473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20774              : (TARGET_AVX10_2))
   20775              :         return -1;
   20776              :       return 10790; /* avx10_2_sqrtbf16_v8bf */
   20777              : 
   20778              :     default:
   20779              :       return -1;
   20780              :     }
   20781              : }
   20782              : 
   20783              :  int
   20784              : recog_348 (rtx x1 ATTRIBUTE_UNUSED,
   20785              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20786              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20787              : {
   20788              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20789              :   rtx x2, x3, x4;
   20790              :   int res ATTRIBUTE_UNUSED;
   20791              :   switch (pattern35 (x1))
   20792              :     {
   20793              :     case 0:
   20794              :       if (!
   20795              : #line 24661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20796              : (TARGET_AVX2 && 1 && 1))
   20797              :         return -1;
   20798              :       return 8828; /* avx2_sign_extendv16qiv16hi2 */
   20799              : 
   20800              :     case 1:
   20801              :       if (!
   20802              : #line 24716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20803              : (TARGET_AVX512BW))
   20804              :         return -1;
   20805              :       return 8836; /* avx512bw_sign_extendv32qiv32hi2 */
   20806              : 
   20807              :     case 2:
   20808              :       if (!
   20809              : #line 24788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20810              : (TARGET_SSE4_1 && 1 && 1))
   20811              :         return -1;
   20812              :       return 8848; /* *sse4_1_sign_extendv8qiv8hi2_1 */
   20813              : 
   20814              :     case 3:
   20815              :       if (!
   20816              : #line 24940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20817              : (TARGET_AVX512F))
   20818              :         return -1;
   20819              :       return 8860; /* *avx512f_sign_extendv16qiv16si2 */
   20820              : 
   20821              :     case 4:
   20822              :       if (!
   20823              : #line 25144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20824              : (TARGET_AVX512F))
   20825              :         return -1;
   20826              :       return 8890; /* avx512f_sign_extendv16hiv16si2 */
   20827              : 
   20828              :     case 5:
   20829              :       if (!
   20830              : #line 24974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20831              : (TARGET_AVX2 && 1))
   20832              :         return -1;
   20833              :       return 8868; /* *avx2_sign_extendv8qiv8si2_1 */
   20834              : 
   20835              :     case 6:
   20836              :       if (!
   20837              : #line 25198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20838              : (TARGET_AVX2 && 1))
   20839              :         return -1;
   20840              :       return 8898; /* avx2_sign_extendv8hiv8si2 */
   20841              : 
   20842              :     case 7:
   20843              :       if (!
   20844              : #line 25064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20845              : (TARGET_SSE4_1 && 1))
   20846              :         return -1;
   20847              :       return 8880; /* *sse4_1_sign_extendv4qiv4si2_1 */
   20848              : 
   20849              :     case 8:
   20850              :       if (!
   20851              : #line 25270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20852              : (TARGET_SSE4_1 && 1))
   20853              :         return -1;
   20854              :       return 8910; /* *sse4_1_sign_extendv4hiv4si2_1 */
   20855              : 
   20856              :     case 9:
   20857              :       if (!
   20858              : #line 25428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20859              : (TARGET_AVX512F))
   20860              :         return -1;
   20861              :       return 8926; /* *avx512f_sign_extendv8qiv8di2_1 */
   20862              : 
   20863              :     case 10:
   20864              :       if (!
   20865              : #line 25659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20866              : (TARGET_AVX512F))
   20867              :         return -1;
   20868              :       return 8957; /* avx512f_sign_extendv8hiv8di2 */
   20869              : 
   20870              :     case 11:
   20871              :       if (!
   20872              : #line 25854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20873              : (TARGET_AVX512F))
   20874              :         return -1;
   20875              :       return 8985; /* avx512f_sign_extendv8siv8di2 */
   20876              : 
   20877              :     case 12:
   20878              :       if (!
   20879              : #line 25514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20880              : (TARGET_AVX2 && 1))
   20881              :         return -1;
   20882              :       return 8938; /* *avx2_sign_extendv4qiv4di2_1 */
   20883              : 
   20884              :     case 13:
   20885              :       if (!
   20886              : #line 25691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20887              : (TARGET_AVX2 && 1))
   20888              :         return -1;
   20889              :       return 8965; /* *avx2_sign_extendv4hiv4di2_1 */
   20890              : 
   20891              :     case 14:
   20892              :       if (!
   20893              : #line 25906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20894              : (TARGET_AVX2 && 1))
   20895              :         return -1;
   20896              :       return 8991; /* avx2_sign_extendv4siv4di2 */
   20897              : 
   20898              :     case 15:
   20899              :       if (!
   20900              : #line 25607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20901              : (TARGET_SSE4_1 && 1))
   20902              :         return -1;
   20903              :       return 8950; /* *sse4_1_sign_extendv2qiv2di2_1 */
   20904              : 
   20905              :     case 16:
   20906              :       if (!
   20907              : #line 25776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20908              : (TARGET_SSE4_1 && 1))
   20909              :         return -1;
   20910              :       return 8977; /* *sse4_1_sign_extendv2hiv2di2_1 */
   20911              : 
   20912              :     case 17:
   20913              :       if (!
   20914              : #line 25974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20915              : (TARGET_SSE4_1 && 1))
   20916              :         return -1;
   20917              :       return 9001; /* *sse4_1_sign_extendv2siv2di2_1 */
   20918              : 
   20919              :     case 18:
   20920              :       x2 = XEXP (x1, 1);
   20921              :       x3 = XEXP (x2, 0);
   20922              :       x4 = XEXP (x3, 0);
   20923              :       operands[1] = x4;
   20924              :       switch (pattern547 (x2))
   20925              :         {
   20926              :         case 0:
   20927              :           if (
   20928              : #line 24775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20929              : (TARGET_SSE4_1 && 1 && 1))
   20930              :             return 8844; /* sse4_1_sign_extendv8qiv8hi2 */
   20931              :           break;
   20932              : 
   20933              :         case 1:
   20934              :           if (
   20935              : #line 24962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20936              : (TARGET_AVX2 && 1))
   20937              :             return 8864; /* avx2_sign_extendv8qiv8si2 */
   20938              :           break;
   20939              : 
   20940              :         case 2:
   20941              :           if (
   20942              : #line 25417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20943              : (TARGET_AVX512F))
   20944              :             return 8922; /* avx512f_sign_extendv8qiv8di2 */
   20945              :           break;
   20946              : 
   20947              :         case 3:
   20948              :           if (
   20949              : #line 25051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20950              : (TARGET_SSE4_1 && 1))
   20951              :             return 8876; /* sse4_1_sign_extendv4qiv4si2 */
   20952              :           break;
   20953              : 
   20954              :         case 4:
   20955              :           if (
   20956              : #line 25257 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20957              : (TARGET_SSE4_1 && 1))
   20958              :             return 8906; /* sse4_1_sign_extendv4hiv4si2 */
   20959              :           break;
   20960              : 
   20961              :         case 5:
   20962              :           if (
   20963              : #line 25502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20964              : (TARGET_AVX2 && 1))
   20965              :             return 8934; /* avx2_sign_extendv4qiv4di2 */
   20966              :           break;
   20967              : 
   20968              :         case 6:
   20969              :           if (
   20970              : #line 25679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20971              : (TARGET_AVX2 && 1))
   20972              :             return 8961; /* avx2_sign_extendv4hiv4di2 */
   20973              :           break;
   20974              : 
   20975              :         case 7:
   20976              :           if (
   20977              : #line 25594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20978              : (TARGET_SSE4_1 && 1))
   20979              :             return 8946; /* sse4_1_sign_extendv2qiv2di2 */
   20980              :           break;
   20981              : 
   20982              :         case 8:
   20983              :           if (
   20984              : #line 25763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20985              : (TARGET_SSE4_1 && 1))
   20986              :             return 8973; /* sse4_1_sign_extendv2hiv2di2 */
   20987              :           break;
   20988              : 
   20989              :         case 9:
   20990              :           if (
   20991              : #line 25961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20992              : (TARGET_SSE4_1 && 1))
   20993              :             return 8997; /* sse4_1_sign_extendv2siv2di2 */
   20994              :           break;
   20995              : 
   20996              :         default:
   20997              :           break;
   20998              :         }
   20999              :       if (GET_CODE (x4) != SUBREG
   21000              :           || maybe_ne (SUBREG_BYTE (x4), 0))
   21001              :         return -1;
   21002              :       switch (pattern693 (x2))
   21003              :         {
   21004              :         case 0:
   21005              :           if (!
   21006              : #line 24813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21007              : (TARGET_SSE4_1
   21008              :    && ix86_pre_reload_split ()))
   21009              :             return -1;
   21010              :           return 8852; /* *sse4_1_sign_extendv8qiv8hi2_2 */
   21011              : 
   21012              :         case 1:
   21013              :           if (!
   21014              : #line 24994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21015              : (TARGET_AVX2
   21016              :    && ix86_pre_reload_split ()))
   21017              :             return -1;
   21018              :           return 8872; /* *avx2_sign_extendv8qiv8si2_2 */
   21019              : 
   21020              :         case 2:
   21021              :           if (!
   21022              : #line 25447 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21023              : (TARGET_AVX512F && ix86_pre_reload_split ()))
   21024              :             return -1;
   21025              :           return 8930; /* *avx512f_sign_extendv8qiv8di2_2 */
   21026              : 
   21027              :         case 3:
   21028              :           if (!
   21029              : #line 25290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21030              : (TARGET_SSE4_1
   21031              :    && ix86_pre_reload_split ()))
   21032              :             return -1;
   21033              :           return 8914; /* *sse4_1_sign_extendv4hiv4si2_2 */
   21034              : 
   21035              :         case 4:
   21036              :           if (!
   21037              : #line 25709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21038              : (TARGET_AVX2
   21039              :    && ix86_pre_reload_split ()))
   21040              :             return -1;
   21041              :           return 8969; /* *avx2_sign_extendv4hiv4di2_2 */
   21042              : 
   21043              :         case 5:
   21044              :           if (!
   21045              : #line 25993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21046              : (TARGET_SSE4_1
   21047              :    && ix86_pre_reload_split ()))
   21048              :             return -1;
   21049              :           return 9005; /* *sse4_1_sign_extendv2siv2di2_2 */
   21050              : 
   21051              :         case 6:
   21052              :           if (!
   21053              : #line 25088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21054              : (TARGET_SSE4_1 && 1
   21055              :    && ix86_pre_reload_split ()))
   21056              :             return -1;
   21057              :           return 8884; /* *sse4_1_sign_extendv4qiv4si2_2 */
   21058              : 
   21059              :         case 7:
   21060              :           if (!
   21061              : #line 25536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21062              : (TARGET_AVX2
   21063              :    && ix86_pre_reload_split ()))
   21064              :             return -1;
   21065              :           return 8942; /* *avx2_sign_extendv4qiv4di2_2 */
   21066              : 
   21067              :         case 8:
   21068              :           if (!
   21069              : #line 25799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21070              : (TARGET_SSE4_1
   21071              :    && ix86_pre_reload_split ()))
   21072              :             return -1;
   21073              :           return 8981; /* *sse4_1_sign_extendv2hiv2di2_2 */
   21074              : 
   21075              :         default:
   21076              :           return -1;
   21077              :         }
   21078              : 
   21079              :     default:
   21080              :       return -1;
   21081              :     }
   21082              : }
   21083              : 
   21084              :  int
   21085              : recog_354 (rtx x1 ATTRIBUTE_UNUSED,
   21086              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21087              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21088              : {
   21089              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21090              :   rtx x2, x3, x4;
   21091              :   int res ATTRIBUTE_UNUSED;
   21092              :   x2 = XEXP (x1, 0);
   21093              :   operands[0] = x2;
   21094              :   x3 = XEXP (x1, 1);
   21095              :   x4 = XEXP (x3, 0);
   21096              :   operands[1] = x4;
   21097              :   switch (GET_MODE (operands[0]))
   21098              :     {
   21099              :     case E_V8HFmode:
   21100              :       if (!register_operand (operands[0], E_V8HFmode)
   21101              :           || GET_MODE (x3) != E_V8HFmode)
   21102              :         return -1;
   21103              :       switch (GET_MODE (operands[1]))
   21104              :         {
   21105              :         case E_V8DFmode:
   21106              :           if (!vector_operand (operands[1], E_V8DFmode)
   21107              :               || !
   21108              : #line 8516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21109              : (TARGET_AVX512FP16))
   21110              :             return -1;
   21111              :           return 4786; /* avx512fp16_vcvtpd2ph_v8df */
   21112              : 
   21113              :         case E_V8SFmode:
   21114              :           if (!vector_operand (operands[1], E_V8SFmode)
   21115              :               || !(
   21116              : #line 8516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21117              : (TARGET_AVX512FP16) && 
   21118              : #line 982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21119              : (TARGET_AVX512VL)))
   21120              :             return -1;
   21121              :           return 4794; /* avx512fp16_vcvtps2ph_v8sf */
   21122              : 
   21123              :         default:
   21124              :           return -1;
   21125              :         }
   21126              : 
   21127              :     case E_V16HFmode:
   21128              :       if (!register_operand (operands[0], E_V16HFmode)
   21129              :           || GET_MODE (x3) != E_V16HFmode
   21130              :           || !vector_operand (operands[1], E_V16SFmode)
   21131              :           || !
   21132              : #line 8516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21133              : (TARGET_AVX512FP16))
   21134              :         return -1;
   21135              :       return 4790; /* avx512fp16_vcvtps2ph_v16sf */
   21136              : 
   21137              :     case E_V8SFmode:
   21138              :       if (!register_operand (operands[0], E_V8SFmode)
   21139              :           || GET_MODE (x3) != E_V8SFmode
   21140              :           || !vector_operand (operands[1], E_V8DFmode)
   21141              :           || !
   21142              : #line 10475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21143              : (TARGET_AVX512F))
   21144              :         return -1;
   21145              :       return 5197; /* *avx512f_cvtpd2ps512 */
   21146              : 
   21147              :     case E_V4SFmode:
   21148              :       if (!register_operand (operands[0], E_V4SFmode)
   21149              :           || GET_MODE (x3) != E_V4SFmode
   21150              :           || !nonimmediate_operand (operands[1], E_V4DFmode)
   21151              :           || !
   21152              : #line 10485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21153              : (TARGET_AVX && 1))
   21154              :         return -1;
   21155              :       return 5201; /* avx_cvtpd2ps256 */
   21156              : 
   21157              :     case E_V8BFmode:
   21158              :       if (!register_operand (operands[0], E_V8BFmode)
   21159              :           || GET_MODE (x3) != E_V8BFmode
   21160              :           || !nonimmediate_operand (operands[1], E_V8SFmode))
   21161              :         return -1;
   21162              :       if (
   21163              : #line 32208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21164              : (TARGET_AVXNECONVERT || (TARGET_AVX512BF16 && TARGET_AVX512VL)))
   21165              :         return 10450; /* vcvtneps2bf16_v8sf */
   21166              :       if (!(
   21167              : #line 32246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21168              : (TARGET_AVX512BF16) && 
   21169              : #line 32174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21170              : (TARGET_AVX512VL)))
   21171              :         return -1;
   21172              :       return 10453; /* avx512f_cvtneps2bf16_v8sf */
   21173              : 
   21174              :     case E_V16BFmode:
   21175              :       if (!register_operand (operands[0], E_V16BFmode)
   21176              :           || GET_MODE (x3) != E_V16BFmode
   21177              :           || !nonimmediate_operand (operands[1], E_V16SFmode)
   21178              :           || !
   21179              : #line 32246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21180              : (TARGET_AVX512BF16))
   21181              :         return -1;
   21182              :       return 10451; /* avx512f_cvtneps2bf16_v16sf */
   21183              : 
   21184              :     default:
   21185              :       return -1;
   21186              :     }
   21187              : }
   21188              : 
   21189              :  int
   21190              : recog_357 (rtx x1 ATTRIBUTE_UNUSED,
   21191              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21192              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21193              : {
   21194              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21195              :   int res ATTRIBUTE_UNUSED;
   21196              :   switch (pattern33 (x1))
   21197              :     {
   21198              :     case 0:
   21199              :       if (!
   21200              : #line 18024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21201              : (TARGET_SSE2 && TARGET_64BIT
   21202              :    && ix86_pre_reload_split ()))
   21203              :         return -1;
   21204              :       return 7766; /* *rotrv1ti3_internal */
   21205              : 
   21206              :     case 1:
   21207              :       if (!
   21208              : #line 18091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21209              : (TARGET_AVX512F))
   21210              :         return -1;
   21211              :       return 7803; /* avx512f_rorv16si */
   21212              : 
   21213              :     case 2:
   21214              :       if (!(
   21215              : #line 18091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21216              : (TARGET_AVX512F) && 
   21217              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21218              : (TARGET_AVX512VL)))
   21219              :         return -1;
   21220              :       return 7807; /* avx512vl_rorv8si */
   21221              : 
   21222              :     case 3:
   21223              :       if (const_0_to_255_operand (operands[2], E_SImode)
   21224              :           && (
   21225              : #line 18091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21226              : (TARGET_AVX512F) && 
   21227              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21228              : (TARGET_AVX512VL)))
   21229              :         return 7811; /* avx512vl_rorv4si */
   21230              :       if (!const_0_to_31_operand (operands[2], E_SImode)
   21231              :           || !
   21232              : #line 27468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21233              : (TARGET_XOP))
   21234              :         return -1;
   21235              :       return 9123; /* xop_rotrv4si3 */
   21236              : 
   21237              :     case 4:
   21238              :       if (!
   21239              : #line 18091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21240              : (TARGET_AVX512F))
   21241              :         return -1;
   21242              :       return 7815; /* avx512f_rorv8di */
   21243              : 
   21244              :     case 5:
   21245              :       if (!(
   21246              : #line 18091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21247              : (TARGET_AVX512F) && 
   21248              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21249              : (TARGET_AVX512VL)))
   21250              :         return -1;
   21251              :       return 7819; /* avx512vl_rorv4di */
   21252              : 
   21253              :     case 6:
   21254              :       if (const_0_to_255_operand (operands[2], E_SImode)
   21255              :           && (
   21256              : #line 18091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21257              : (TARGET_AVX512F) && 
   21258              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21259              : (TARGET_AVX512VL)))
   21260              :         return 7823; /* avx512vl_rorv2di */
   21261              :       if (!const_0_to_63_operand (operands[2], E_SImode)
   21262              :           || !
   21263              : #line 27468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21264              : (TARGET_XOP))
   21265              :         return -1;
   21266              :       return 9124; /* xop_rotrv2di3 */
   21267              : 
   21268              :     case 7:
   21269              :       if (!
   21270              : #line 27468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21271              : (TARGET_XOP))
   21272              :         return -1;
   21273              :       return 9121; /* xop_rotrv16qi3 */
   21274              : 
   21275              :     case 8:
   21276              :       if (!
   21277              : #line 27468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21278              : (TARGET_XOP))
   21279              :         return -1;
   21280              :       return 9122; /* xop_rotrv8hi3 */
   21281              : 
   21282              :     case 9:
   21283              :       if (!
   21284              : #line 18081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21285              : (TARGET_AVX512F))
   21286              :         return -1;
   21287              :       return 7779; /* avx512f_rorvv16si */
   21288              : 
   21289              :     case 10:
   21290              :       if (!(
   21291              : #line 18081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21292              : (TARGET_AVX512F) && 
   21293              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21294              : (TARGET_AVX512VL)))
   21295              :         return -1;
   21296              :       return 7783; /* avx512vl_rorvv8si */
   21297              : 
   21298              :     case 11:
   21299              :       if (!(
   21300              : #line 18081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21301              : (TARGET_AVX512F) && 
   21302              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21303              : (TARGET_AVX512VL)))
   21304              :         return -1;
   21305              :       return 7787; /* avx512vl_rorvv4si */
   21306              : 
   21307              :     case 12:
   21308              :       if (!
   21309              : #line 18081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21310              : (TARGET_AVX512F))
   21311              :         return -1;
   21312              :       return 7791; /* avx512f_rorvv8di */
   21313              : 
   21314              :     case 13:
   21315              :       if (!(
   21316              : #line 18081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21317              : (TARGET_AVX512F) && 
   21318              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21319              : (TARGET_AVX512VL)))
   21320              :         return -1;
   21321              :       return 7795; /* avx512vl_rorvv4di */
   21322              : 
   21323              :     case 14:
   21324              :       if (!(
   21325              : #line 18081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21326              : (TARGET_AVX512F) && 
   21327              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21328              : (TARGET_AVX512VL)))
   21329              :         return -1;
   21330              :       return 7799; /* avx512vl_rorvv2di */
   21331              : 
   21332              :     default:
   21333              :       return -1;
   21334              :     }
   21335              : }
   21336              : 
   21337              :  int
   21338              : recog_367 (rtx x1 ATTRIBUTE_UNUSED,
   21339              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21340              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21341              : {
   21342              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21343              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   21344              :   int res ATTRIBUTE_UNUSED;
   21345              :   switch (pattern345 (x1))
   21346              :     {
   21347              :     case 0:
   21348              :       x2 = XVECEXP (x1, 0, 0);
   21349              :       x3 = XEXP (x2, 0);
   21350              :       operands[0] = x3;
   21351              :       switch (pattern824 (x1))
   21352              :         {
   21353              :         case 0:
   21354              :           if ((
   21355              : #line 17523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21356              : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
   21357              :     || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
   21358              :          == (2 * 4 * BITS_PER_UNIT - 1)))
   21359              :    && ix86_pre_reload_split ()) && 
   21360              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21361              : (!TARGET_64BIT)))
   21362              :             return 1154; /* *lshrdi3_doubleword_mask */
   21363              :           break;
   21364              : 
   21365              :         case 1:
   21366              :           if ((
   21367              : #line 17523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21368              : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
   21369              :     || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
   21370              :          == (2 * 8 * BITS_PER_UNIT - 1)))
   21371              :    && ix86_pre_reload_split ()) && 
   21372              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21373              : (TARGET_64BIT)))
   21374              :             return 1156; /* *lshrti3_doubleword_mask */
   21375              :           break;
   21376              : 
   21377              :         case 2:
   21378              :           if ((
   21379              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21380              : (TARGET_AVX512F) && 
   21381              : #line 2104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21382              : (TARGET_AVX512DQ)))
   21383              :             return 2671; /* klshiftrtqi */
   21384              :           break;
   21385              : 
   21386              :         case 3:
   21387              :           if (
   21388              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21389              : (TARGET_AVX512F))
   21390              :             return 2673; /* klshiftrthi */
   21391              :           break;
   21392              : 
   21393              :         case 4:
   21394              :           if ((
   21395              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21396              : (TARGET_AVX512F) && 
   21397              : #line 2104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21398              : (TARGET_AVX512BW)))
   21399              :             return 2675; /* klshiftrtsi */
   21400              :           break;
   21401              : 
   21402              :         case 5:
   21403              :           if ((
   21404              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21405              : (TARGET_AVX512F) && 
   21406              : #line 2104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21407              : (TARGET_AVX512BW)))
   21408              :             return 2677; /* klshiftrtdi */
   21409              :           break;
   21410              : 
   21411              :         default:
   21412              :           break;
   21413              :         }
   21414              :       x4 = XEXP (x2, 1);
   21415              :       x5 = XEXP (x4, 1);
   21416              :       operands[2] = x5;
   21417              :       switch (pattern825 (x1))
   21418              :         {
   21419              :         case 0:
   21420              :           operands[0] = x3;
   21421              :           switch (GET_MODE (operands[0]))
   21422              :             {
   21423              :             case E_DImode:
   21424              :               if (register_operand (operands[0], E_DImode)
   21425              :                   && GET_MODE (x4) == E_DImode
   21426              :                   && register_operand (operands[1], E_DImode)
   21427              :                   && 
   21428              : #line 1226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21429              : (!TARGET_64BIT))
   21430              :                 return 1162; /* lshrdi3_doubleword */
   21431              :               break;
   21432              : 
   21433              :             case E_TImode:
   21434              :               if (register_operand (operands[0], E_TImode)
   21435              :                   && GET_MODE (x4) == E_TImode
   21436              :                   && register_operand (operands[1], E_TImode)
   21437              :                   && 
   21438              : #line 1227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21439              : (TARGET_64BIT))
   21440              :                 return 1164; /* lshrti3_doubleword */
   21441              :               break;
   21442              : 
   21443              :             case E_SImode:
   21444              :               if (nonimmediate_operand (operands[0], E_SImode)
   21445              :                   && GET_MODE (x4) == E_SImode
   21446              :                   && nonimmediate_operand (operands[1], E_SImode)
   21447              :                   && 
   21448              : #line 18353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21449              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)
   21450              :    && true))
   21451              :                 return 1213; /* *lshrsi3_1 */
   21452              :               break;
   21453              : 
   21454              :             case E_QImode:
   21455              :               if (nonimmediate_operand (operands[0], E_QImode)
   21456              :                   && GET_MODE (x4) == E_QImode
   21457              :                   && nonimmediate_operand (operands[1], E_QImode)
   21458              :                   && 
   21459              : #line 18528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21460              : (ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)
   21461              :    && true))
   21462              :                 return 1245; /* *lshrqi3_1 */
   21463              :               break;
   21464              : 
   21465              :             case E_HImode:
   21466              :               if (nonimmediate_operand (operands[0], E_HImode)
   21467              :                   && GET_MODE (x4) == E_HImode
   21468              :                   && nonimmediate_operand (operands[1], E_HImode)
   21469              :                   && 
   21470              : #line 18562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21471              : (ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)
   21472              :    && true))
   21473              :                 return 1247; /* *lshrhi3_1 */
   21474              :               break;
   21475              : 
   21476              :             case E_V2QImode:
   21477              :               if (register_operand (operands[0], E_V2QImode)
   21478              :                   && GET_MODE (x4) == E_V2QImode
   21479              :                   && register_operand (operands[1], E_V2QImode)
   21480              :                   && 
   21481              : #line 4039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   21482              : (!TARGET_PARTIAL_REG_STALL || optimize_size))
   21483              :                 return 2269; /* lshrv2qi3 */
   21484              :               break;
   21485              : 
   21486              :             default:
   21487              :               break;
   21488              :             }
   21489              :           break;
   21490              : 
   21491              :         case 1:
   21492              :           x6 = XEXP (x3, 0);
   21493              :           operands[0] = x6;
   21494              :           switch (pattern379 (x4))
   21495              :             {
   21496              :             case 0:
   21497              :               if (
   21498              : #line 18597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21499              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   21500              :                 return 1248; /* *lshrqi3_1_slp */
   21501              :               break;
   21502              : 
   21503              :             case 1:
   21504              :               if (
   21505              : #line 18597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21506              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   21507              :                 return 1250; /* *lshrhi3_1_slp */
   21508              :               break;
   21509              : 
   21510              :             default:
   21511              :               break;
   21512              :             }
   21513              :           break;
   21514              : 
   21515              :         default:
   21516              :           break;
   21517              :         }
   21518              :       x7 = XVECEXP (x1, 0, 1);
   21519              :       if (GET_CODE (x7) != CLOBBER)
   21520              :         return -1;
   21521              :       x8 = XEXP (x7, 0);
   21522              :       if (GET_CODE (x8) != REG
   21523              :           || REGNO (x8) != 17
   21524              :           || GET_MODE (x8) != E_CCmode)
   21525              :         return -1;
   21526              :       switch (GET_CODE (x5))
   21527              :         {
   21528              :         case CONST_INT:
   21529              :           if (pattern1243 (x2) == 0
   21530              :               && GET_MODE (x4) == E_DImode
   21531              :               && nonimmediate_operand (operands[1], E_DImode)
   21532              :               && 
   21533              : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21534              : (TARGET_64BIT))
   21535              :             return 1211; /* *highpartdisi2 */
   21536              :           break;
   21537              : 
   21538              :         case SUBREG:
   21539              :           switch (pattern1246 (x2, 
   21540              : E_SImode))
   21541              :             {
   21542              :             case 0:
   21543              :               if (
   21544              : #line 18773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21545              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   21546              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
   21547              :       == 4 * BITS_PER_UNIT - 1
   21548              :    && ix86_pre_reload_split ()))
   21549              :                 return 1277; /* *lshrsi3_mask */
   21550              :               break;
   21551              : 
   21552              :             case 1:
   21553              :               if (
   21554              : #line 18821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21555              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   21556              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   21557              :    && ix86_pre_reload_split ()))
   21558              :                 return 1289; /* *lshrsi3_add */
   21559              :               break;
   21560              : 
   21561              :             case 2:
   21562              :               if (
   21563              : #line 18867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21564              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   21565              :    && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   21566              :        || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
   21567              :           == 4 * BITS_PER_UNIT - 1)
   21568              :    && ix86_pre_reload_split ()))
   21569              :                 return 1301; /* *lshrsi3_sub */
   21570              :               break;
   21571              : 
   21572              :             default:
   21573              :               break;
   21574              :             }
   21575              :           break;
   21576              : 
   21577              :         default:
   21578              :           break;
   21579              :         }
   21580              :       operands[0] = x3;
   21581              :       if (!nonimmediate_operand (operands[0], E_DImode)
   21582              :           || GET_MODE (x4) != E_DImode
   21583              :           || !nonimmediate_operand (operands[1], E_DImode))
   21584              :         return -1;
   21585              :       operands[2] = x5;
   21586              :       if (nonmemory_operand (operands[2], E_QImode)
   21587              :           && (
   21588              : #line 18353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21589              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands, TARGET_APX_NDD)
   21590              :    && true) && 
   21591              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21592              : (TARGET_64BIT)))
   21593              :         return 1215; /* *lshrdi3_1 */
   21594              :       if (GET_CODE (x5) != SUBREG
   21595              :           || maybe_ne (SUBREG_BYTE (x5), 0)
   21596              :           || GET_MODE (x5) != E_QImode)
   21597              :         return -1;
   21598              :       x9 = XEXP (x5, 0);
   21599              :       switch (pattern1244 (x9))
   21600              :         {
   21601              :         case 0:
   21602              :           if (!(
   21603              : #line 18773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21604              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   21605              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
   21606              :       == 8 * BITS_PER_UNIT - 1
   21607              :    && ix86_pre_reload_split ()) && 
   21608              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21609              : (TARGET_64BIT)))
   21610              :             return -1;
   21611              :           return 1280; /* *lshrdi3_mask */
   21612              : 
   21613              :         case 1:
   21614              :           if (!(
   21615              : #line 18821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21616              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   21617              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   21618              :    && ix86_pre_reload_split ()) && 
   21619              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21620              : (TARGET_64BIT)))
   21621              :             return -1;
   21622              :           return 1292; /* *lshrdi3_add */
   21623              : 
   21624              :         case 2:
   21625              :           if (!(
   21626              : #line 18867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21627              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   21628              :    && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   21629              :        || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
   21630              :           == 8 * BITS_PER_UNIT - 1)
   21631              :    && ix86_pre_reload_split ()) && 
   21632              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21633              : (TARGET_64BIT)))
   21634              :             return -1;
   21635              :           return 1304; /* *lshrdi3_sub */
   21636              : 
   21637              :         default:
   21638              :           return -1;
   21639              :         }
   21640              : 
   21641              :     case 1:
   21642              :       if (register_operand (operands[0], E_DImode)
   21643              :           && register_operand (operands[1], E_DImode)
   21644              :           && (
   21645              : #line 17584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21646              : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
   21647              :     || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
   21648              :          == (2 * 4 * BITS_PER_UNIT - 1)))
   21649              :    && ix86_pre_reload_split ()) && 
   21650              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21651              : (!TARGET_64BIT)))
   21652              :         return 1158; /* *lshrdi3_doubleword_mask_1 */
   21653              :       if (!nonimmediate_operand (operands[0], E_DImode)
   21654              :           || !nonimmediate_operand (operands[1], E_DImode)
   21655              :           || !(
   21656              : #line 18798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21657              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   21658              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
   21659              :       == 8 * BITS_PER_UNIT - 1
   21660              :    && ix86_pre_reload_split ()) && 
   21661              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21662              : (TARGET_64BIT)))
   21663              :         return -1;
   21664              :       return 1286; /* *lshrdi3_mask_1 */
   21665              : 
   21666              :     case 2:
   21667              :       if (!(
   21668              : #line 17584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21669              : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
   21670              :     || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
   21671              :          == (2 * 8 * BITS_PER_UNIT - 1)))
   21672              :    && ix86_pre_reload_split ()) && 
   21673              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21674              : (TARGET_64BIT)))
   21675              :         return -1;
   21676              :       return 1160; /* *lshrti3_doubleword_mask_1 */
   21677              : 
   21678              :     case 3:
   21679              :       if (!
   21680              : #line 18798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21681              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   21682              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
   21683              :       == 4 * BITS_PER_UNIT - 1
   21684              :    && ix86_pre_reload_split ()))
   21685              :         return -1;
   21686              :       return 1283; /* *lshrsi3_mask_1 */
   21687              : 
   21688              :     case 4:
   21689              :       if (!
   21690              : #line 18845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21691              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   21692              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   21693              :    && ix86_pre_reload_split ()))
   21694              :         return -1;
   21695              :       return 1295; /* *lshrsi3_add_1 */
   21696              : 
   21697              :     case 5:
   21698              :       if (!(
   21699              : #line 18845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21700              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   21701              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   21702              :    && ix86_pre_reload_split ()) && 
   21703              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21704              : (TARGET_64BIT)))
   21705              :         return -1;
   21706              :       return 1298; /* *lshrdi3_add_1 */
   21707              : 
   21708              :     case 6:
   21709              :       if (!
   21710              : #line 18900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21711              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   21712              :    && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   21713              :        || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
   21714              :           == 4 * BITS_PER_UNIT - 1)
   21715              :    && ix86_pre_reload_split ()))
   21716              :         return -1;
   21717              :       return 1307; /* *lshrsi3_sub_1 */
   21718              : 
   21719              :     case 7:
   21720              :       if (!(
   21721              : #line 18900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21722              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   21723              :    && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   21724              :        || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
   21725              :           == 8 * BITS_PER_UNIT - 1)
   21726              :    && ix86_pre_reload_split ()) && 
   21727              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21728              : (TARGET_64BIT)))
   21729              :         return -1;
   21730              :       return 1310; /* *lshrdi3_sub_1 */
   21731              : 
   21732              :     default:
   21733              :       return -1;
   21734              :     }
   21735              : }
   21736              : 
   21737              :  int
   21738              : recog_381 (rtx x1 ATTRIBUTE_UNUSED,
   21739              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21740              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21741              : {
   21742              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21743              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   21744              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   21745              :   int res ATTRIBUTE_UNUSED;
   21746              :   x2 = XVECEXP (x1, 0, 0);
   21747              :   x3 = XEXP (x2, 1);
   21748              :   x4 = XEXP (x3, 0);
   21749              :   switch (GET_CODE (x4))
   21750              :     {
   21751              :     case REG:
   21752              :     case SUBREG:
   21753              :     case MEM:
   21754              :       operands[1] = x4;
   21755              :       if (pattern346 (x1) != 0)
   21756              :         return -1;
   21757              :       switch (pattern1164 (x3))
   21758              :         {
   21759              :         case 0:
   21760              :           if (!
   21761              : #line 4917 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21762              : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
   21763              :             return -1;
   21764              :           return 182; /* zero_extendqisi2_and */
   21765              : 
   21766              :         case 1:
   21767              :           if (!
   21768              : #line 4917 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21769              : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
   21770              :             return -1;
   21771              :           return 183; /* zero_extendhisi2_and */
   21772              : 
   21773              :         case 2:
   21774              :           if (!
   21775              : #line 4971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21776              : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
   21777              :             return -1;
   21778              :           return 186; /* zero_extendqihi2_and */
   21779              : 
   21780              :         default:
   21781              :           return -1;
   21782              :         }
   21783              : 
   21784              :     case PLUS:
   21785              :       return recog_379 (x1, insn, pnum_clobbers);
   21786              : 
   21787              :     case MINUS:
   21788              :       return recog_380 (x1, insn, pnum_clobbers);
   21789              : 
   21790              :     case MULT:
   21791              :       if (pattern347 (x1) != 0)
   21792              :         return -1;
   21793              :       switch (GET_MODE (operands[0]))
   21794              :         {
   21795              :         case E_SImode:
   21796              :           if (!register_operand (operands[0], E_SImode)
   21797              :               || GET_MODE (x3) != E_SImode
   21798              :               || GET_MODE (x4) != E_HImode
   21799              :               || !nonimmediate_operand (operands[1], E_HImode)
   21800              :               || !immediate_operand (operands[2], E_HImode)
   21801              :               || !
   21802              : #line 11404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21803              : (TARGET_APX_ZU && true))
   21804              :             return -1;
   21805              :           return 625; /* *imulhisizu */
   21806              : 
   21807              :         case E_DImode:
   21808              :           if (!register_operand (operands[0], E_DImode)
   21809              :               || GET_MODE (x3) != E_DImode)
   21810              :             return -1;
   21811              :           switch (GET_MODE (x4))
   21812              :             {
   21813              :             case E_HImode:
   21814              :               if (!nonimmediate_operand (operands[1], E_HImode)
   21815              :                   || !immediate_operand (operands[2], E_HImode)
   21816              :                   || !
   21817              : #line 11404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21818              : (TARGET_APX_ZU && true))
   21819              :                 return -1;
   21820              :               return 627; /* *imulhidizu */
   21821              : 
   21822              :             case E_SImode:
   21823              :               if (!nonimmediate_operand (operands[1], E_SImode)
   21824              :                   || !x86_64_general_operand (operands[2], E_SImode)
   21825              :                   || !
   21826              : #line 11416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21827              : (TARGET_64BIT
   21828              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   21829              :    && true))
   21830              :                 return -1;
   21831              :               return 629; /* *mulsi3_1_zext */
   21832              : 
   21833              :             default:
   21834              :               return -1;
   21835              :             }
   21836              : 
   21837              :         default:
   21838              :           return -1;
   21839              :         }
   21840              : 
   21841              :     case DIV:
   21842              :       if (pattern348 (x1, pnum_clobbers, 
   21843              : MOD) != 0)
   21844              :         return -1;
   21845              :       x5 = XEXP (x4, 0);
   21846              :       operands[2] = x5;
   21847              :       if (!register_operand (operands[2], E_SImode))
   21848              :         return -1;
   21849              :       x6 = XEXP (x4, 1);
   21850              :       operands[3] = x6;
   21851              :       if (!nonimmediate_operand (operands[3], E_SImode))
   21852              :         return -1;
   21853              :       x7 = XVECEXP (x1, 0, 1);
   21854              :       x8 = XEXP (x7, 0);
   21855              :       operands[1] = x8;
   21856              :       if (!register_operand (operands[1], E_SImode))
   21857              :         return -1;
   21858              :       x9 = XEXP (x7, 1);
   21859              :       x10 = XEXP (x9, 0);
   21860              :       if (!rtx_equal_p (x10, operands[2]))
   21861              :         return -1;
   21862              :       x11 = XEXP (x9, 1);
   21863              :       if (!rtx_equal_p (x11, operands[3])
   21864              :           || !
   21865              : #line 12460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21866              : (TARGET_64BIT))
   21867              :         return -1;
   21868              :       *pnum_clobbers = 1;
   21869              :       return 683; /* *divmodsi4_zext_1 */
   21870              : 
   21871              :     case UDIV:
   21872              :       if (pattern348 (x1, pnum_clobbers, 
   21873              : UMOD) != 0)
   21874              :         return -1;
   21875              :       x5 = XEXP (x4, 0);
   21876              :       operands[2] = x5;
   21877              :       if (!register_operand (operands[2], E_SImode))
   21878              :         return -1;
   21879              :       x6 = XEXP (x4, 1);
   21880              :       operands[3] = x6;
   21881              :       x7 = XVECEXP (x1, 0, 1);
   21882              :       x8 = XEXP (x7, 0);
   21883              :       operands[1] = x8;
   21884              :       if (!register_operand (operands[1], E_SImode))
   21885              :         return -1;
   21886              :       x9 = XEXP (x7, 1);
   21887              :       switch (pattern1640 (x9))
   21888              :         {
   21889              :         case 0:
   21890              :           if (!
   21891              : #line 12495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21892              : (TARGET_64BIT))
   21893              :             return -1;
   21894              :           *pnum_clobbers = 1;
   21895              :           return 684; /* *udivmodsi4_zext_1 */
   21896              : 
   21897              :         case 1:
   21898              :           if (!
   21899              : #line 12517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21900              : (TARGET_64BIT
   21901              :    && IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
   21902              :             return -1;
   21903              :           *pnum_clobbers = 1;
   21904              :           return 685; /* *udivmodsi4_pow2_zext_1 */
   21905              : 
   21906              :         default:
   21907              :           return -1;
   21908              :         }
   21909              : 
   21910              :     case MOD:
   21911              :       if (pattern349 (x1, pnum_clobbers, 
   21912              : DIV) != 0)
   21913              :         return -1;
   21914              :       x5 = XEXP (x4, 0);
   21915              :       operands[2] = x5;
   21916              :       if (!register_operand (operands[2], E_SImode))
   21917              :         return -1;
   21918              :       x6 = XEXP (x4, 1);
   21919              :       operands[3] = x6;
   21920              :       if (!nonimmediate_operand (operands[3], E_SImode))
   21921              :         return -1;
   21922              :       x7 = XVECEXP (x1, 0, 1);
   21923              :       x8 = XEXP (x7, 0);
   21924              :       operands[0] = x8;
   21925              :       if (!register_operand (operands[0], E_SImode))
   21926              :         return -1;
   21927              :       x9 = XEXP (x7, 1);
   21928              :       x10 = XEXP (x9, 0);
   21929              :       if (!rtx_equal_p (x10, operands[2]))
   21930              :         return -1;
   21931              :       x11 = XEXP (x9, 1);
   21932              :       if (!rtx_equal_p (x11, operands[3])
   21933              :           || !
   21934              : #line 12543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21935              : (TARGET_64BIT))
   21936              :         return -1;
   21937              :       *pnum_clobbers = 1;
   21938              :       return 686; /* *divmodsi4_zext_2 */
   21939              : 
   21940              :     case UMOD:
   21941              :       if (pattern349 (x1, pnum_clobbers, 
   21942              : UDIV) != 0)
   21943              :         return -1;
   21944              :       x5 = XEXP (x4, 0);
   21945              :       operands[2] = x5;
   21946              :       if (!register_operand (operands[2], E_SImode))
   21947              :         return -1;
   21948              :       x6 = XEXP (x4, 1);
   21949              :       operands[3] = x6;
   21950              :       x7 = XVECEXP (x1, 0, 1);
   21951              :       x8 = XEXP (x7, 0);
   21952              :       operands[0] = x8;
   21953              :       if (!register_operand (operands[0], E_SImode))
   21954              :         return -1;
   21955              :       x9 = XEXP (x7, 1);
   21956              :       switch (pattern1640 (x9))
   21957              :         {
   21958              :         case 0:
   21959              :           if (!
   21960              : #line 12579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21961              : (TARGET_64BIT))
   21962              :             return -1;
   21963              :           *pnum_clobbers = 1;
   21964              :           return 687; /* *udivmodsi4_zext_2 */
   21965              : 
   21966              :         case 1:
   21967              :           if (!
   21968              : #line 12601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21969              : (TARGET_64BIT
   21970              :    && IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
   21971              :             return -1;
   21972              :           *pnum_clobbers = 1;
   21973              :           return 688; /* *udivmodsi4_pow2_zext_2 */
   21974              : 
   21975              :         default:
   21976              :           return -1;
   21977              :         }
   21978              : 
   21979              :     case AND:
   21980              :       if (pattern346 (x1) != 0)
   21981              :         return -1;
   21982              :       x5 = XEXP (x4, 0);
   21983              :       switch (GET_CODE (x5))
   21984              :         {
   21985              :         case REG:
   21986              :         case SUBREG:
   21987              :         case MEM:
   21988              :           switch (pattern1052 (x3))
   21989              :             {
   21990              :             case 0:
   21991              :               if (!
   21992              : #line 13412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21993              : (TARGET_APX_NDD && true
   21994              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21995              :                 return -1;
   21996              :               return 737; /* *andqi_1_zexthi */
   21997              : 
   21998              :             case 1:
   21999              :               if (!
   22000              : #line 13412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22001              : (TARGET_APX_NDD && true
   22002              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22003              :                 return -1;
   22004              :               return 739; /* *andqi_1_zextsi */
   22005              : 
   22006              :             case 2:
   22007              :               if (!
   22008              : #line 13431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22009              : (TARGET_APX_NDD && true
   22010              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22011              :                 return -1;
   22012              :               return 743; /* *andhi_1_zextsi */
   22013              : 
   22014              :             case 3:
   22015              :               if (!
   22016              : #line 13412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22017              : (TARGET_APX_NDD && true
   22018              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22019              :                 return -1;
   22020              :               return 741; /* *andqi_1_zextdi */
   22021              : 
   22022              :             case 4:
   22023              :               if (!
   22024              : #line 13431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22025              : (TARGET_APX_NDD && true
   22026              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22027              :                 return -1;
   22028              :               return 745; /* *andhi_1_zextdi */
   22029              : 
   22030              :             case 5:
   22031              :               if (!
   22032              : #line 13452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22033              : (TARGET_64BIT
   22034              :    && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)))
   22035              :                 return -1;
   22036              :               return 746; /* *andsi_1_zext */
   22037              : 
   22038              :             default:
   22039              :               return -1;
   22040              :             }
   22041              : 
   22042              :         case PLUS:
   22043              :           if (pattern706 (x5) != 0
   22044              :               || !register_operand (operands[0], E_DImode)
   22045              :               || GET_MODE (x3) != E_DImode
   22046              :               || GET_MODE (x4) != E_SImode)
   22047              :             return -1;
   22048              :           x12 = XEXP (x5, 0);
   22049              :           x13 = XEXP (x12, 1);
   22050              :           operands[2] = x13;
   22051              :           if (!register_operand (operands[2], E_QImode))
   22052              :             return -1;
   22053              :           x6 = XEXP (x4, 1);
   22054              :           operands[1] = x6;
   22055              :           if (!nonimmediate_operand (operands[1], E_SImode)
   22056              :               || !
   22057              : #line 23126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22058              : (TARGET_64BIT && TARGET_BMI2))
   22059              :             return -1;
   22060              :           return 1630; /* *bmi2_bzhi_zero_extendsidi_4 */
   22061              : 
   22062              :         default:
   22063              :           return -1;
   22064              :         }
   22065              : 
   22066              :     case IOR:
   22067              :       if (pattern350 (x1) != 0)
   22068              :         return -1;
   22069              :       switch (pattern1052 (x3))
   22070              :         {
   22071              :         case 0:
   22072              :           if (!
   22073              : #line 14539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22074              : (TARGET_APX_NDD && true
   22075              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22076              :             return -1;
   22077              :           return 872; /* *iorqi_1_zexthi */
   22078              : 
   22079              :         case 1:
   22080              :           if (!
   22081              : #line 14539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22082              : (TARGET_APX_NDD && true
   22083              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22084              :             return -1;
   22085              :           return 876; /* *iorqi_1_zextsi */
   22086              : 
   22087              :         case 2:
   22088              :           if (!
   22089              : #line 14558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22090              : (TARGET_APX_NDD && true
   22091              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22092              :             return -1;
   22093              :           return 884; /* *iorhi_1_zextsi */
   22094              : 
   22095              :         case 3:
   22096              :           if (!
   22097              : #line 14539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22098              : (TARGET_APX_NDD && true
   22099              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22100              :             return -1;
   22101              :           return 880; /* *iorqi_1_zextdi */
   22102              : 
   22103              :         case 4:
   22104              :           if (!
   22105              : #line 14558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22106              : (TARGET_APX_NDD && true
   22107              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22108              :             return -1;
   22109              :           return 888; /* *iorhi_1_zextdi */
   22110              : 
   22111              :         case 5:
   22112              :           if (!
   22113              : #line 14579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22114              : (TARGET_64BIT
   22115              :    && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
   22116              :             return -1;
   22117              :           return 891; /* *iorsi_1_zext */
   22118              : 
   22119              :         default:
   22120              :           return -1;
   22121              :         }
   22122              : 
   22123              :     case XOR:
   22124              :       if (pattern346 (x1) != 0)
   22125              :         return -1;
   22126              :       x5 = XEXP (x4, 0);
   22127              :       switch (GET_CODE (x5))
   22128              :         {
   22129              :         case REG:
   22130              :         case SUBREG:
   22131              :         case MEM:
   22132              :           switch (pattern1052 (x3))
   22133              :             {
   22134              :             case 0:
   22135              :               if (!
   22136              : #line 14539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22137              : (TARGET_APX_NDD && true
   22138              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22139              :                 return -1;
   22140              :               return 874; /* *xorqi_1_zexthi */
   22141              : 
   22142              :             case 1:
   22143              :               if (!
   22144              : #line 14539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22145              : (TARGET_APX_NDD && true
   22146              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22147              :                 return -1;
   22148              :               return 878; /* *xorqi_1_zextsi */
   22149              : 
   22150              :             case 2:
   22151              :               if (!
   22152              : #line 14558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22153              : (TARGET_APX_NDD && true
   22154              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22155              :                 return -1;
   22156              :               return 886; /* *xorhi_1_zextsi */
   22157              : 
   22158              :             case 3:
   22159              :               if (!
   22160              : #line 14539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22161              : (TARGET_APX_NDD && true
   22162              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22163              :                 return -1;
   22164              :               return 882; /* *xorqi_1_zextdi */
   22165              : 
   22166              :             case 4:
   22167              :               if (!
   22168              : #line 14558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22169              : (TARGET_APX_NDD && true
   22170              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22171              :                 return -1;
   22172              :               return 890; /* *xorhi_1_zextdi */
   22173              : 
   22174              :             case 5:
   22175              :               if (!
   22176              : #line 14579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22177              : (TARGET_64BIT
   22178              :    && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
   22179              :                 return -1;
   22180              :               return 892; /* *xorsi_1_zext */
   22181              : 
   22182              :             default:
   22183              :               return -1;
   22184              :             }
   22185              : 
   22186              :         case MINUS:
   22187              :           if (pattern1168 (x4) != 0
   22188              :               || !register_operand (operands[0], E_DImode)
   22189              :               || GET_MODE (x3) != E_DImode
   22190              :               || GET_MODE (x4) != E_SImode)
   22191              :             return -1;
   22192              :           x14 = XEXP (x5, 1);
   22193              :           x15 = XEXP (x14, 0);
   22194              :           operands[1] = x15;
   22195              :           if (!nonimmediate_operand (operands[1], E_SImode)
   22196              :               || !
   22197              : #line 22357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22198              : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
   22199              :             return -1;
   22200              :           return 1563; /* *bsru_2 */
   22201              : 
   22202              :         default:
   22203              :           return -1;
   22204              :         }
   22205              : 
   22206              :     case NEG:
   22207              :       if (pattern351 (x1) != 0)
   22208              :         return -1;
   22209              :       switch (pattern353 (x3))
   22210              :         {
   22211              :         case 0:
   22212              :           if (!
   22213              : #line 15253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22214              : (TARGET_APX_NDD && true))
   22215              :             return -1;
   22216              :           return 995; /* *negqi_1_zexthi */
   22217              : 
   22218              :         case 1:
   22219              :           if (!
   22220              : #line 15253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22221              : (TARGET_APX_NDD && true))
   22222              :             return -1;
   22223              :           return 997; /* *negqi_1_zextsi */
   22224              : 
   22225              :         case 2:
   22226              :           if (!
   22227              : #line 15267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22228              : (TARGET_APX_NDD && true))
   22229              :             return -1;
   22230              :           return 1001; /* *neghi_1_zextsi */
   22231              : 
   22232              :         case 3:
   22233              :           if (!
   22234              : #line 15253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22235              : (TARGET_APX_NDD && true))
   22236              :             return -1;
   22237              :           return 999; /* *negqi_1_zextdi */
   22238              : 
   22239              :         case 4:
   22240              :           if (!
   22241              : #line 15267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22242              : (TARGET_APX_NDD && true))
   22243              :             return -1;
   22244              :           return 1003; /* *neghi_1_zextdi */
   22245              : 
   22246              :         case 5:
   22247              :           if (!
   22248              : #line 15282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22249              : (TARGET_64BIT
   22250              :    && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)))
   22251              :             return -1;
   22252              :           return 1004; /* *negsi_1_zext */
   22253              : 
   22254              :         default:
   22255              :           return -1;
   22256              :         }
   22257              : 
   22258              :     case ASHIFT:
   22259              :       switch (pattern355 (x1))
   22260              :         {
   22261              :         case 0:
   22262              :           if (!
   22263              : #line 16986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22264              : (TARGET_APX_NDD && true))
   22265              :             return -1;
   22266              :           return 1126; /* *ashlqi3_1_zexthi */
   22267              : 
   22268              :         case 1:
   22269              :           if (!
   22270              : #line 16986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22271              : (TARGET_APX_NDD && true))
   22272              :             return -1;
   22273              :           return 1128; /* *ashlqi3_1_zextsi */
   22274              : 
   22275              :         case 2:
   22276              :           if (!
   22277              : #line 17001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22278              : (TARGET_APX_NDD && true))
   22279              :             return -1;
   22280              :           return 1132; /* *ashlhi3_1_zextsi */
   22281              : 
   22282              :         case 3:
   22283              :           if (!
   22284              : #line 16986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22285              : (TARGET_APX_NDD && true))
   22286              :             return -1;
   22287              :           return 1130; /* *ashlqi3_1_zextdi */
   22288              : 
   22289              :         case 4:
   22290              :           if (!
   22291              : #line 17001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22292              : (TARGET_APX_NDD && true))
   22293              :             return -1;
   22294              :           return 1134; /* *ashlhi3_1_zextdi */
   22295              : 
   22296              :         case 5:
   22297              :           if (!
   22298              : #line 17017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22299              : (TARGET_64BIT
   22300              :    && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)))
   22301              :             return -1;
   22302              :           return 1135; /* *ashlsi3_1_zext */
   22303              : 
   22304              :         default:
   22305              :           return -1;
   22306              :         }
   22307              : 
   22308              :     case ASHIFTRT:
   22309              :       if (pattern347 (x1) != 0)
   22310              :         return -1;
   22311              :       switch (GET_MODE (operands[0]))
   22312              :         {
   22313              :         case E_DImode:
   22314              :           if (!register_operand (operands[0], E_DImode)
   22315              :               || GET_MODE (x3) != E_DImode)
   22316              :             return -1;
   22317              :           switch (GET_MODE (x4))
   22318              :             {
   22319              :             case E_SImode:
   22320              :               if (!nonimmediate_operand (operands[1], E_SImode))
   22321              :                 return -1;
   22322              :               if (const_int_operand (operands[2], E_QImode)
   22323              :                   && 
   22324              : #line 18228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22325              : (TARGET_64BIT && INTVAL (operands[2]) == 31
   22326              :    && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
   22327              :    && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
   22328              :                 return 1202; /* *ashrsi3_cvt_zext */
   22329              :               if (!nonmemory_operand (operands[2], E_QImode)
   22330              :                   || !
   22331              : #line 18451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22332              : (TARGET_64BIT
   22333              :    && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
   22334              :                 return -1;
   22335              :               return 1239; /* *ashrsi3_1_zext */
   22336              : 
   22337              :             case E_QImode:
   22338              :               if (!nonimmediate_operand (operands[1], E_QImode)
   22339              :                   || !nonmemory_operand (operands[2], E_QImode)
   22340              :                   || !
   22341              : #line 18420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22342              : (TARGET_APX_NDD && true))
   22343              :                 return -1;
   22344              :               return 1229; /* *ashrqi3_1_zextdi */
   22345              : 
   22346              :             case E_HImode:
   22347              :               if (!nonimmediate_operand (operands[1], E_HImode)
   22348              :                   || !nonmemory_operand (operands[2], E_QImode)
   22349              :                   || !
   22350              : #line 18435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22351              : (TARGET_APX_NDD && true))
   22352              :                 return -1;
   22353              :               return 1237; /* *ashrhi3_1_zextdi */
   22354              : 
   22355              :             default:
   22356              :               return -1;
   22357              :             }
   22358              : 
   22359              :         case E_HImode:
   22360              :           if (!register_operand (operands[0], E_HImode)
   22361              :               || GET_MODE (x3) != E_HImode
   22362              :               || GET_MODE (x4) != E_QImode
   22363              :               || !nonimmediate_operand (operands[1], E_QImode)
   22364              :               || !nonmemory_operand (operands[2], E_QImode)
   22365              :               || !
   22366              : #line 18420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22367              : (TARGET_APX_NDD && true))
   22368              :             return -1;
   22369              :           return 1221; /* *ashrqi3_1_zexthi */
   22370              : 
   22371              :         case E_SImode:
   22372              :           if (!register_operand (operands[0], E_SImode)
   22373              :               || GET_MODE (x3) != E_SImode
   22374              :               || !nonmemory_operand (operands[2], E_QImode))
   22375              :             return -1;
   22376              :           switch (GET_MODE (x4))
   22377              :             {
   22378              :             case E_QImode:
   22379              :               if (!nonimmediate_operand (operands[1], E_QImode)
   22380              :                   || !
   22381              : #line 18420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22382              : (TARGET_APX_NDD && true))
   22383              :                 return -1;
   22384              :               return 1225; /* *ashrqi3_1_zextsi */
   22385              : 
   22386              :             case E_HImode:
   22387              :               if (!nonimmediate_operand (operands[1], E_HImode)
   22388              :                   || !
   22389              : #line 18435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22390              : (TARGET_APX_NDD && true))
   22391              :                 return -1;
   22392              :               return 1233; /* *ashrhi3_1_zextsi */
   22393              : 
   22394              :             default:
   22395              :               return -1;
   22396              :             }
   22397              : 
   22398              :         default:
   22399              :           return -1;
   22400              :         }
   22401              : 
   22402              :     case LSHIFTRT:
   22403              :       x16 = XEXP (x2, 0);
   22404              :       operands[0] = x16;
   22405              :       x5 = XEXP (x4, 0);
   22406              :       operands[1] = x5;
   22407              :       x6 = XEXP (x4, 1);
   22408              :       operands[2] = x6;
   22409              :       x7 = XVECEXP (x1, 0, 1);
   22410              :       switch (GET_CODE (x7))
   22411              :         {
   22412              :         case CLOBBER:
   22413              :           x8 = XEXP (x7, 0);
   22414              :           if (GET_CODE (x8) != REG
   22415              :               || REGNO (x8) != 17
   22416              :               || GET_MODE (x8) != E_CCmode)
   22417              :             return -1;
   22418              :           switch (pattern354 (x3))
   22419              :             {
   22420              :             case 0:
   22421              :               if (!
   22422              : #line 18420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22423              : (TARGET_APX_NDD && true))
   22424              :                 return -1;
   22425              :               return 1219; /* *lshrqi3_1_zexthi */
   22426              : 
   22427              :             case 1:
   22428              :               if (!
   22429              : #line 18420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22430              : (TARGET_APX_NDD && true))
   22431              :                 return -1;
   22432              :               return 1223; /* *lshrqi3_1_zextsi */
   22433              : 
   22434              :             case 2:
   22435              :               if (!
   22436              : #line 18435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22437              : (TARGET_APX_NDD && true))
   22438              :                 return -1;
   22439              :               return 1231; /* *lshrhi3_1_zextsi */
   22440              : 
   22441              :             case 3:
   22442              :               if (!
   22443              : #line 18420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22444              : (TARGET_APX_NDD && true))
   22445              :                 return -1;
   22446              :               return 1227; /* *lshrqi3_1_zextdi */
   22447              : 
   22448              :             case 4:
   22449              :               if (!
   22450              : #line 18435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22451              : (TARGET_APX_NDD && true))
   22452              :                 return -1;
   22453              :               return 1235; /* *lshrhi3_1_zextdi */
   22454              : 
   22455              :             case 5:
   22456              :               if (!
   22457              : #line 18451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22458              : (TARGET_64BIT
   22459              :    && ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)))
   22460              :                 return -1;
   22461              :               return 1238; /* *lshrsi3_1_zext */
   22462              : 
   22463              :             default:
   22464              :               return -1;
   22465              :             }
   22466              : 
   22467              :         case UNSPEC:
   22468              :           if (XVECLEN (x7, 0) != 1
   22469              :               || XINT (x7, 1) != 175)
   22470              :             return -1;
   22471              :           x17 = XVECEXP (x7, 0, 0);
   22472              :           if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   22473              :               || pattern1241 (x3, 
   22474              : E_SImode, 
   22475              : E_DImode) != 0
   22476              :               || !const_0_to_31_operand (operands[2], E_VOIDmode)
   22477              :               || !
   22478              : #line 2341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22479              : (TARGET_AVX512BW))
   22480              :             return -1;
   22481              :           return 2678; /* *klshrsi3_1_zext */
   22482              : 
   22483              :         default:
   22484              :           return -1;
   22485              :         }
   22486              : 
   22487              :     case ROTATE:
   22488              :       switch (pattern355 (x1))
   22489              :         {
   22490              :         case 0:
   22491              :           if (!
   22492              : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22493              : (TARGET_APX_NDD && true))
   22494              :             return -1;
   22495              :           return 1384; /* *rotlqi3_1_zexthi */
   22496              : 
   22497              :         case 1:
   22498              :           if (!
   22499              : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22500              : (TARGET_APX_NDD && true))
   22501              :             return -1;
   22502              :           return 1388; /* *rotlqi3_1_zextsi */
   22503              : 
   22504              :         case 2:
   22505              :           if (!
   22506              : #line 19541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22507              : (TARGET_APX_NDD && true))
   22508              :             return -1;
   22509              :           return 1396; /* *rotlhi3_1_zextsi */
   22510              : 
   22511              :         case 3:
   22512              :           if (!
   22513              : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22514              : (TARGET_APX_NDD && true))
   22515              :             return -1;
   22516              :           return 1392; /* *rotlqi3_1_zextdi */
   22517              : 
   22518              :         case 4:
   22519              :           if (!
   22520              : #line 19541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22521              : (TARGET_APX_NDD && true))
   22522              :             return -1;
   22523              :           return 1400; /* *rotlhi3_1_zextdi */
   22524              : 
   22525              :         case 5:
   22526              :           if (!
   22527              : #line 19557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22528              : (TARGET_64BIT && ix86_binary_operator_ok (ROTATE, SImode, operands)))
   22529              :             return -1;
   22530              :           return 1403; /* *rotlsi3_1_zext */
   22531              : 
   22532              :         default:
   22533              :           return -1;
   22534              :         }
   22535              : 
   22536              :     case ROTATERT:
   22537              :       switch (pattern355 (x1))
   22538              :         {
   22539              :         case 0:
   22540              :           if (!
   22541              : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22542              : (TARGET_APX_NDD && true))
   22543              :             return -1;
   22544              :           return 1386; /* *rotrqi3_1_zexthi */
   22545              : 
   22546              :         case 1:
   22547              :           if (!
   22548              : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22549              : (TARGET_APX_NDD && true))
   22550              :             return -1;
   22551              :           return 1390; /* *rotrqi3_1_zextsi */
   22552              : 
   22553              :         case 2:
   22554              :           if (!
   22555              : #line 19541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22556              : (TARGET_APX_NDD && true))
   22557              :             return -1;
   22558              :           return 1398; /* *rotrhi3_1_zextsi */
   22559              : 
   22560              :         case 3:
   22561              :           if (!
   22562              : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22563              : (TARGET_APX_NDD && true))
   22564              :             return -1;
   22565              :           return 1394; /* *rotrqi3_1_zextdi */
   22566              : 
   22567              :         case 4:
   22568              :           if (!
   22569              : #line 19541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22570              : (TARGET_APX_NDD && true))
   22571              :             return -1;
   22572              :           return 1402; /* *rotrhi3_1_zextdi */
   22573              : 
   22574              :         case 5:
   22575              :           if (!
   22576              : #line 19557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22577              : (TARGET_64BIT && ix86_binary_operator_ok (ROTATERT, SImode, operands)))
   22578              :             return -1;
   22579              :           return 1404; /* *rotrsi3_1_zext */
   22580              : 
   22581              :         default:
   22582              :           return -1;
   22583              :         }
   22584              : 
   22585              :     case CTZ:
   22586              :       if (GET_MODE (x4) != E_SImode)
   22587              :         return -1;
   22588              :       x16 = XEXP (x2, 0);
   22589              :       operands[0] = x16;
   22590              :       if (!register_operand (operands[0], E_DImode)
   22591              :           || GET_MODE (x3) != E_DImode)
   22592              :         return -1;
   22593              :       switch (pattern942 (x1, pnum_clobbers))
   22594              :         {
   22595              :         case 0:
   22596              :           if (!
   22597              : #line 22178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22598              : (TARGET_64BIT))
   22599              :             return -1;
   22600              :           return 1551; /* *ctzsidi2_uext */
   22601              : 
   22602              :         case 1:
   22603              :           if (!
   22604              : #line 22218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22605              : (TARGET_64BIT))
   22606              :             return -1;
   22607              :           *pnum_clobbers = 1;
   22608              :           return 1553; /* *ctzsidi2_uext_falsedep */
   22609              : 
   22610              :         default:
   22611              :           return -1;
   22612              :         }
   22613              : 
   22614              :     case CLZ:
   22615              :       if (GET_MODE (x4) != E_SImode)
   22616              :         return -1;
   22617              :       x16 = XEXP (x2, 0);
   22618              :       operands[0] = x16;
   22619              :       if (!register_operand (operands[0], E_DImode)
   22620              :           || GET_MODE (x3) != E_DImode)
   22621              :         return -1;
   22622              :       switch (pattern559 (x1, pnum_clobbers))
   22623              :         {
   22624              :         case 0:
   22625              :           if (!nonimmediate_operand (operands[1], E_SImode)
   22626              :               || !
   22627              : #line 22621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22628              : (TARGET_LZCNT && TARGET_64BIT))
   22629              :             return -1;
   22630              :           return 1575; /* *clzsi2_lzcnt_zext_2 */
   22631              : 
   22632              :         case 1:
   22633              :           x7 = XVECEXP (x1, 0, 1);
   22634              :           x17 = XVECEXP (x7, 0, 0);
   22635              :           switch (pattern1432 (x17))
   22636              :             {
   22637              :             case 0:
   22638              :               if (!
   22639              : #line 22646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22640              : (TARGET_LZCNT))
   22641              :                 return -1;
   22642              :               *pnum_clobbers = 1;
   22643              :               return 1576; /* *clzsi2_lzcnt_zext_2_falsedep */
   22644              : 
   22645              :             case 1:
   22646              :               if (!(
   22647              : #line 22646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22648              : (TARGET_LZCNT) && 
   22649              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22650              : (TARGET_64BIT)))
   22651              :                 return -1;
   22652              :               *pnum_clobbers = 1;
   22653              :               return 1577; /* *clzsi2_lzcnt_zext_2_falsedep */
   22654              : 
   22655              :             default:
   22656              :               return -1;
   22657              :             }
   22658              : 
   22659              :         default:
   22660              :           return -1;
   22661              :         }
   22662              : 
   22663              :     case POPCOUNT:
   22664              :       x16 = XEXP (x2, 0);
   22665              :       operands[0] = x16;
   22666              :       switch (pattern559 (x1, pnum_clobbers))
   22667              :         {
   22668              :         case 0:
   22669              :           switch (GET_MODE (operands[0]))
   22670              :             {
   22671              :             case E_DImode:
   22672              :               if (pattern352 (x3, 
   22673              : E_SImode, 
   22674              : E_DImode) != 0
   22675              :                   || !
   22676              : #line 23460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22677              : (TARGET_POPCNT && TARGET_64BIT))
   22678              :                 return -1;
   22679              :               return 1666; /* *popcountsi2_zext_2 */
   22680              : 
   22681              :             case E_SImode:
   22682              :               if (pattern352 (x3, 
   22683              : E_HImode, 
   22684              : E_SImode) != 0
   22685              :                   || !
   22686              : #line 23526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22687              : (TARGET_POPCNT
   22688              :    && ix86_pre_reload_split ()))
   22689              :                 return -1;
   22690              :               return 1669; /* *popcounthi2_2 */
   22691              : 
   22692              :             default:
   22693              :               return -1;
   22694              :             }
   22695              : 
   22696              :         case 1:
   22697              :           if (!register_operand (operands[0], E_DImode)
   22698              :               || GET_MODE (x3) != E_DImode
   22699              :               || GET_MODE (x4) != E_SImode
   22700              :               || !nonimmediate_operand (operands[1], E_SImode))
   22701              :             return -1;
   22702              :           x7 = XVECEXP (x1, 0, 1);
   22703              :           x17 = XVECEXP (x7, 0, 0);
   22704              :           operands[2] = x17;
   22705              :           if (!register_operand (operands[2], E_DImode)
   22706              :               || !
   22707              : #line 23491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22708              : (TARGET_POPCNT && TARGET_64BIT))
   22709              :             return -1;
   22710              :           *pnum_clobbers = 1;
   22711              :           return 1667; /* *popcountsi2_zext_2_falsedep */
   22712              : 
   22713              :         default:
   22714              :           return -1;
   22715              :         }
   22716              : 
   22717              :     case NOT:
   22718              :       if (GET_MODE (x4) != E_SImode)
   22719              :         return -1;
   22720              :       x7 = XVECEXP (x1, 0, 1);
   22721              :       if (pattern386 (x7, 
   22722              : 175, 
   22723              : 0) != 0)
   22724              :         return -1;
   22725              :       x16 = XEXP (x2, 0);
   22726              :       operands[0] = x16;
   22727              :       if (!register_operand (operands[0], E_DImode)
   22728              :           || GET_MODE (x3) != E_DImode)
   22729              :         return -1;
   22730              :       x5 = XEXP (x4, 0);
   22731              :       operands[1] = x5;
   22732              :       if (!register_operand (operands[1], E_SImode)
   22733              :           || !
   22734              : #line 2264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22735              : (TARGET_AVX512BW))
   22736              :         return -1;
   22737              :       return 2665; /* *knotsi_1_zext */
   22738              : 
   22739              :     case UNSPEC:
   22740              :       return recog_378 (x1, insn, pnum_clobbers);
   22741              : 
   22742              :     default:
   22743              :       return -1;
   22744              :     }
   22745              : }
   22746              : 
   22747              :  int
   22748              : recog_403 (rtx x1 ATTRIBUTE_UNUSED,
   22749              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   22750              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   22751              : {
   22752              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   22753              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   22754              :   rtx x10, x11, x12, x13;
   22755              :   int res ATTRIBUTE_UNUSED;
   22756              :   x2 = XVECEXP (x1, 0, 0);
   22757              :   x3 = XEXP (x2, 1);
   22758              :   x4 = XEXP (x3, 0);
   22759              :   switch (GET_CODE (x4))
   22760              :     {
   22761              :     case CONST_INT:
   22762              :     case CONST_WIDE_INT:
   22763              :     case CONST_POLY_INT:
   22764              :     case CONST_FIXED:
   22765              :     case CONST_DOUBLE:
   22766              :     case CONST_VECTOR:
   22767              :     case CONST:
   22768              :     case REG:
   22769              :     case SUBREG:
   22770              :     case MEM:
   22771              :     case LABEL_REF:
   22772              :     case SYMBOL_REF:
   22773              :     case HIGH:
   22774              :       operands[1] = x4;
   22775              :       res = recog_402 (x1, insn, pnum_clobbers);
   22776              :       if (res >= 0)
   22777              :         return res;
   22778              :       x5 = XVECEXP (x1, 0, 1);
   22779              :       if (GET_CODE (x5) != CLOBBER)
   22780              :         return -1;
   22781              :       x6 = XEXP (x5, 0);
   22782              :       if (GET_CODE (x6) != REG
   22783              :           || REGNO (x6) != 17
   22784              :           || GET_MODE (x6) != E_CCmode)
   22785              :         return -1;
   22786              :       switch (GET_CODE (x4))
   22787              :         {
   22788              :         case SUBREG:
   22789              :           switch (pattern1059 (x2))
   22790              :             {
   22791              :             case 0:
   22792              :               if (!
   22793              : #line 8494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22794              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   22795              :                 return -1;
   22796              :               return 412; /* *subqi_exthi_2_slp */
   22797              : 
   22798              :             case 1:
   22799              :               if (!
   22800              : #line 8494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22801              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   22802              :                 return -1;
   22803              :               return 413; /* *subqi_extsi_2_slp */
   22804              : 
   22805              :             case 2:
   22806              :               if (!(
   22807              : #line 8494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22808              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   22809              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22810              : (TARGET_64BIT)))
   22811              :                 return -1;
   22812              :               return 414; /* *subqi_extdi_2_slp */
   22813              : 
   22814              :             case 3:
   22815              :               return 423; /* *subqi_ext2hi_0 */
   22816              : 
   22817              :             case 4:
   22818              :               return 424; /* *subqi_ext2si_0 */
   22819              : 
   22820              :             case 5:
   22821              :               if (!
   22822              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22823              : (TARGET_64BIT))
   22824              :                 return -1;
   22825              :               return 425; /* *subqi_ext2di_0 */
   22826              : 
   22827              :             default:
   22828              :               return -1;
   22829              :             }
   22830              : 
   22831              :         case CONST_INT:
   22832              :           x7 = XEXP (x3, 1);
   22833              :           if (GET_CODE (x7) != CLZ)
   22834              :             return -1;
   22835              :           x8 = XEXP (x2, 0);
   22836              :           operands[0] = x8;
   22837              :           x9 = XEXP (x7, 0);
   22838              :           operands[1] = x9;
   22839              :           switch (XWINT (x4, 0))
   22840              :             {
   22841              :             case 63L:
   22842              :               if (pattern1440 (x3, 
   22843              : E_DImode) != 0
   22844              :                   || !
   22845              : #line 22253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22846              : (!TARGET_LZCNT && TARGET_64BIT))
   22847              :                 return -1;
   22848              :               return 1555; /* bsr_rex64_1 */
   22849              : 
   22850              :             case 31L:
   22851              :               if (pattern1440 (x3, 
   22852              : E_SImode) != 0
   22853              :                   || !
   22854              : #line 22297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22855              : (!TARGET_LZCNT))
   22856              :                 return -1;
   22857              :               return 1558; /* bsr_1 */
   22858              : 
   22859              :             default:
   22860              :               return -1;
   22861              :             }
   22862              : 
   22863              :         default:
   22864              :           return -1;
   22865              :         }
   22866              : 
   22867              :     case MINUS:
   22868              :       x5 = XVECEXP (x1, 0, 1);
   22869              :       if (pattern357 (x5) != 0)
   22870              :         return -1;
   22871              :       x8 = XEXP (x2, 0);
   22872              :       operands[0] = x8;
   22873              :       x10 = XEXP (x4, 0);
   22874              :       operands[1] = x10;
   22875              :       x7 = XEXP (x3, 1);
   22876              :       operands[2] = x7;
   22877              :       x11 = XEXP (x4, 1);
   22878              :       switch (GET_CODE (x11))
   22879              :         {
   22880              :         case LTU:
   22881              :         case UNLT:
   22882              :           operands[4] = x11;
   22883              :           x12 = XEXP (x11, 1);
   22884              :           if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   22885              :             return -1;
   22886              :           x13 = XEXP (x11, 0);
   22887              :           operands[3] = x13;
   22888              :           if (!flags_reg_operand (operands[3], E_VOIDmode))
   22889              :             return -1;
   22890              :           switch (GET_MODE (operands[0]))
   22891              :             {
   22892              :             case E_QImode:
   22893              :               if (pattern1645 (x3, 
   22894              : E_QImode) != 0
   22895              :                   || !
   22896              : #line 9828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22897              : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
   22898              :                 return -1;
   22899              :               return 503; /* subqi3_carry */
   22900              : 
   22901              :             case E_HImode:
   22902              :               if (pattern1645 (x3, 
   22903              : E_HImode) != 0
   22904              :                   || !
   22905              : #line 9828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22906              : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
   22907              :                 return -1;
   22908              :               return 504; /* subhi3_carry */
   22909              : 
   22910              :             case E_SImode:
   22911              :               if (pattern1646 (x3, 
   22912              : E_SImode) != 0
   22913              :                   || !
   22914              : #line 9828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22915              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
   22916              :                 return -1;
   22917              :               return 505; /* subsi3_carry */
   22918              : 
   22919              :             case E_DImode:
   22920              :               if (pattern1646 (x3, 
   22921              : E_DImode) != 0
   22922              :                   || !(
   22923              : #line 9828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22924              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) && 
   22925              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22926              : (TARGET_64BIT)))
   22927              :                 return -1;
   22928              :               return 506; /* subdi3_carry */
   22929              : 
   22930              :             default:
   22931              :               return -1;
   22932              :             }
   22933              : 
   22934              :         case EQ:
   22935              :           x12 = XEXP (x11, 1);
   22936              :           if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   22937              :             return -1;
   22938              :           x13 = XEXP (x11, 0);
   22939              :           operands[3] = x13;
   22940              :           if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
   22941              :             return -1;
   22942              :           switch (GET_MODE (operands[0]))
   22943              :             {
   22944              :             case E_QImode:
   22945              :               if (pattern1579 (x3, 
   22946              : E_QImode) != 0
   22947              :                   || !
   22948              : #line 10986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22949              : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
   22950              :    && ix86_pre_reload_split ()))
   22951              :                 return -1;
   22952              :               return 598; /* *subqi3_eq */
   22953              : 
   22954              :             case E_HImode:
   22955              :               if (pattern1579 (x3, 
   22956              : E_HImode) != 0
   22957              :                   || !
   22958              : #line 10986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22959              : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
   22960              :    && ix86_pre_reload_split ()))
   22961              :                 return -1;
   22962              :               return 599; /* *subhi3_eq */
   22963              : 
   22964              :             case E_SImode:
   22965              :               if (pattern1580 (x3, 
   22966              : E_SImode) != 0
   22967              :                   || !
   22968              : #line 10986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22969              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
   22970              :    && ix86_pre_reload_split ()))
   22971              :                 return -1;
   22972              :               return 600; /* *subsi3_eq */
   22973              : 
   22974              :             case E_DImode:
   22975              :               if (pattern1580 (x3, 
   22976              : E_DImode) != 0
   22977              :                   || !(
   22978              : #line 10986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22979              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
   22980              :    && ix86_pre_reload_split ()) && 
   22981              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22982              : (TARGET_64BIT)))
   22983              :                 return -1;
   22984              :               return 601; /* *subdi3_eq */
   22985              : 
   22986              :             default:
   22987              :               return -1;
   22988              :             }
   22989              : 
   22990              :         default:
   22991              :           return -1;
   22992              :         }
   22993              : 
   22994              :     default:
   22995              :       return -1;
   22996              :     }
   22997              : }
   22998              : 
   22999              :  int
   23000              : recog_409 (rtx x1 ATTRIBUTE_UNUSED,
   23001              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   23002              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   23003              : {
   23004              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   23005              :   rtx x2, x3, x4, x5;
   23006              :   int res ATTRIBUTE_UNUSED;
   23007              :   switch (pattern563 (x1))
   23008              :     {
   23009              :     case 0:
   23010              :       x2 = XVECEXP (x1, 0, 1);
   23011              :       x3 = XEXP (x2, 0);
   23012              :       if (GET_CODE (x3) != REG
   23013              :           || REGNO (x3) != 17
   23014              :           || GET_MODE (x3) != E_CCmode)
   23015              :         return -1;
   23016              :       switch (GET_MODE (operands[0]))
   23017              :         {
   23018              :         case E_DImode:
   23019              :           if (!nonimmediate_operand (operands[0], E_DImode))
   23020              :             return -1;
   23021              :           x4 = XVECEXP (x1, 0, 0);
   23022              :           x5 = XEXP (x4, 1);
   23023              :           if (GET_MODE (x5) != E_DImode
   23024              :               || !nonimmediate_operand (operands[1], E_DImode))
   23025              :             return -1;
   23026              :           if (x86_64_hilo_general_operand (operands[2], E_DImode)
   23027              :               && (
   23028              : #line 13277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23029              : (ix86_binary_operator_ok (AND, DImode, operands, TARGET_APX_NDD)) && 
   23030              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23031              : (!TARGET_64BIT)))
   23032              :             return 731; /* *anddi3_doubleword */
   23033              :           if (x86_64_szext_general_operand (operands[2], E_DImode)
   23034              :               && 
   23035              : #line 13323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23036              : (TARGET_64BIT
   23037              :    && ix86_binary_operator_ok (AND, DImode, operands, TARGET_APX_NDD)
   23038              :    && true))
   23039              :             return 734; /* *anddi_1 */
   23040              :           if (!const_int_operand (operands[2], E_DImode)
   23041              :               || !
   23042              : #line 13361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23043              : (TARGET_64BIT && TARGET_USE_BT
   23044              :    && ix86_binary_operator_ok (AND, DImode, operands)
   23045              :    && IN_RANGE (exact_log2 (~INTVAL (operands[2])), 31, 63)))
   23046              :             return -1;
   23047              :           return 735; /* *anddi_1_btr */
   23048              : 
   23049              :         case E_TImode:
   23050              :           x4 = XVECEXP (x1, 0, 0);
   23051              :           x5 = XEXP (x4, 1);
   23052              :           if (pattern568 (x5, 
   23053              : E_TImode) != 0
   23054              :               || !(
   23055              : #line 13277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23056              : (ix86_binary_operator_ok (AND, TImode, operands, TARGET_APX_NDD)) && 
   23057              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23058              : (TARGET_64BIT)))
   23059              :             return -1;
   23060              :           return 732; /* *andti3_doubleword */
   23061              : 
   23062              :         case E_HImode:
   23063              :           x4 = XVECEXP (x1, 0, 0);
   23064              :           x5 = XEXP (x4, 1);
   23065              :           if (pattern569 (x5, 
   23066              : E_HImode) != 0
   23067              :               || !
   23068              : #line 13472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23069              : (ix86_binary_operator_ok (AND, HImode, operands, TARGET_APX_NDD)
   23070              :    && true))
   23071              :             return -1;
   23072              :           return 748; /* *andhi_1 */
   23073              : 
   23074              :         case E_SImode:
   23075              :           x4 = XVECEXP (x1, 0, 0);
   23076              :           x5 = XEXP (x4, 1);
   23077              :           if (pattern570 (x5) != 0
   23078              :               || !
   23079              : #line 13472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23080              : (ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)
   23081              :    && true))
   23082              :             return -1;
   23083              :           return 750; /* *andsi_1 */
   23084              : 
   23085              :         case E_QImode:
   23086              :           x4 = XVECEXP (x1, 0, 0);
   23087              :           x5 = XEXP (x4, 1);
   23088              :           if (pattern569 (x5, 
   23089              : E_QImode) != 0
   23090              :               || !
   23091              : #line 13516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23092              : (ix86_binary_operator_ok (AND, QImode, operands, TARGET_APX_NDD)
   23093              :    && true))
   23094              :             return -1;
   23095              :           return 752; /* *andqi_1 */
   23096              : 
   23097              :         case E_V4QImode:
   23098              :           x4 = XVECEXP (x1, 0, 0);
   23099              :           x5 = XEXP (x4, 1);
   23100              :           if (pattern571 (x5, 
   23101              : E_V4QImode) != 0
   23102              :               || !
   23103              : #line 4747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23104              : (ix86_binary_operator_ok (AND, V4QImode, operands)))
   23105              :             return -1;
   23106              :           return 2337; /* *andv4qi3 */
   23107              : 
   23108              :         case E_V2QImode:
   23109              :           x4 = XVECEXP (x1, 0, 0);
   23110              :           x5 = XEXP (x4, 1);
   23111              :           if (pattern571 (x5, 
   23112              : E_V2QImode) != 0
   23113              :               || !
   23114              : #line 4747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23115              : (ix86_binary_operator_ok (AND, V2QImode, operands)))
   23116              :             return -1;
   23117              :           return 2340; /* *andv2qi3 */
   23118              : 
   23119              :         case E_V2HImode:
   23120              :           x4 = XVECEXP (x1, 0, 0);
   23121              :           x5 = XEXP (x4, 1);
   23122              :           if (pattern571 (x5, 
   23123              : E_V2HImode) != 0
   23124              :               || !
   23125              : #line 4747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23126              : (ix86_binary_operator_ok (AND, V2HImode, operands)))
   23127              :             return -1;
   23128              :           return 2343; /* *andv2hi3 */
   23129              : 
   23130              :         default:
   23131              :           return -1;
   23132              :         }
   23133              : 
   23134              :     case 1:
   23135              :       switch (pattern573 (x1))
   23136              :         {
   23137              :         case 0:
   23138              :           if (!
   23139              : #line 2128 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23140              : (TARGET_AVX512F))
   23141              :             return -1;
   23142              :           return 2641; /* kandqi */
   23143              : 
   23144              :         case 1:
   23145              :           if (!
   23146              : #line 2128 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23147              : (TARGET_AVX512F))
   23148              :             return -1;
   23149              :           return 2644; /* kandhi */
   23150              : 
   23151              :         case 2:
   23152              :           if (!(
   23153              : #line 2128 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23154              : (TARGET_AVX512F) && 
   23155              : #line 2109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23156              : (TARGET_AVX512BW)))
   23157              :             return -1;
   23158              :           return 2647; /* kandsi */
   23159              : 
   23160              :         case 3:
   23161              :           if (!(
   23162              : #line 2128 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23163              : (TARGET_AVX512F) && 
   23164              : #line 2109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23165              : (TARGET_AVX512BW)))
   23166              :             return -1;
   23167              :           return 2650; /* kanddi */
   23168              : 
   23169              :         default:
   23170              :           return -1;
   23171              :         }
   23172              : 
   23173              :     case 2:
   23174              :       if (!
   23175              : #line 13553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23176              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   23177              :         return -1;
   23178              :       return 753; /* *andqi_1_slp */
   23179              : 
   23180              :     case 3:
   23181              :       if (!
   23182              : #line 13553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23183              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   23184              :         return -1;
   23185              :       return 756; /* *andhi_1_slp */
   23186              : 
   23187              :     default:
   23188              :       return -1;
   23189              :     }
   23190              : }
   23191              : 
   23192              :  int
   23193              : recog_416 (rtx x1 ATTRIBUTE_UNUSED,
   23194              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   23195              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   23196              : {
   23197              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   23198              :   rtx x2, x3, x4, x5, x6, x7;
   23199              :   int res ATTRIBUTE_UNUSED;
   23200              :   x2 = XVECEXP (x1, 0, 0);
   23201              :   x3 = XEXP (x2, 0);
   23202              :   operands[0] = x3;
   23203              :   x4 = XEXP (x2, 1);
   23204              :   x5 = XEXP (x4, 0);
   23205              :   operands[1] = x5;
   23206              :   x6 = XVECEXP (x1, 0, 1);
   23207              :   switch (GET_CODE (x6))
   23208              :     {
   23209              :     case CLOBBER:
   23210              :       x7 = XEXP (x6, 0);
   23211              :       switch (pattern707 (x7))
   23212              :         {
   23213              :         case 0:
   23214              :           if (!register_operand (operands[0], E_DImode)
   23215              :               || GET_MODE (x4) != E_DImode
   23216              :               || !general_operand (operands[1], E_DImode))
   23217              :             return -1;
   23218              :           if ((
   23219              : #line 15535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23220              : (TARGET_CMOVE
   23221              :    && ix86_pre_reload_split ()) && 
   23222              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23223              : (!TARGET_64BIT)))
   23224              :             return 1027; /* *absdi2_doubleword */
   23225              :           if (!(
   23226              : #line 15622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23227              : (TARGET_CMOVE
   23228              :    && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
   23229              :    && ix86_pre_reload_split ()) && 
   23230              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23231              : (TARGET_64BIT)))
   23232              :             return -1;
   23233              :           return 1034; /* *absdi2_1 */
   23234              : 
   23235              :         case 1:
   23236              :           if (!register_operand (operands[0], E_TImode)
   23237              :               || GET_MODE (x4) != E_TImode
   23238              :               || !general_operand (operands[1], E_TImode)
   23239              :               || !(
   23240              : #line 15535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23241              : (TARGET_CMOVE
   23242              :    && ix86_pre_reload_split ()) && 
   23243              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23244              : (TARGET_64BIT)))
   23245              :             return -1;
   23246              :           return 1028; /* *absti2_doubleword */
   23247              : 
   23248              :         case 2:
   23249              :           if (!register_operand (operands[0], E_QImode)
   23250              :               || GET_MODE (x4) != E_QImode
   23251              :               || !general_operand (operands[1], E_QImode)
   23252              :               || !
   23253              : #line 15622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23254              : (TARGET_CMOVE
   23255              :    && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
   23256              :    && ix86_pre_reload_split ()))
   23257              :             return -1;
   23258              :           return 1031; /* *absqi2_1 */
   23259              : 
   23260              :         case 3:
   23261              :           if (!register_operand (operands[0], E_HImode)
   23262              :               || GET_MODE (x4) != E_HImode
   23263              :               || !general_operand (operands[1], E_HImode)
   23264              :               || !
   23265              : #line 15622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23266              : (TARGET_CMOVE
   23267              :    && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
   23268              :    && ix86_pre_reload_split ()))
   23269              :             return -1;
   23270              :           return 1032; /* *abshi2_1 */
   23271              : 
   23272              :         case 4:
   23273              :           if (!register_operand (operands[0], E_SImode)
   23274              :               || GET_MODE (x4) != E_SImode
   23275              :               || !general_operand (operands[1], E_SImode)
   23276              :               || !
   23277              : #line 15622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23278              : (TARGET_CMOVE
   23279              :    && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
   23280              :    && ix86_pre_reload_split ()))
   23281              :             return -1;
   23282              :           return 1033; /* *abssi2_1 */
   23283              : 
   23284              :         case 5:
   23285              :           if (!register_operand (operands[0], E_SFmode)
   23286              :               || GET_MODE (x4) != E_SFmode
   23287              :               || !register_operand (operands[1], E_SFmode)
   23288              :               || !
   23289              : #line 15745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23290              : (TARGET_80387 && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
   23291              :             return -1;
   23292              :           return 1042; /* *abssf2_i387_1 */
   23293              : 
   23294              :         case 6:
   23295              :           if (!register_operand (operands[0], E_DFmode)
   23296              :               || GET_MODE (x4) != E_DFmode
   23297              :               || !register_operand (operands[1], E_DFmode)
   23298              :               || !
   23299              : #line 15745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23300              : (TARGET_80387 && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
   23301              :             return -1;
   23302              :           return 1044; /* *absdf2_i387_1 */
   23303              : 
   23304              :         case 7:
   23305              :           if (!register_operand (operands[0], E_XFmode)
   23306              :               || GET_MODE (x4) != E_XFmode
   23307              :               || !register_operand (operands[1], E_XFmode)
   23308              :               || !
   23309              : #line 15745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23310              : (TARGET_80387 && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)))
   23311              :             return -1;
   23312              :           return 1046; /* *absxf2_i387_1 */
   23313              : 
   23314              :         default:
   23315              :           return -1;
   23316              :         }
   23317              : 
   23318              :     case USE:
   23319              :       switch (pattern711 (x1, pnum_clobbers))
   23320              :         {
   23321              :         case 0:
   23322              :           if (!
   23323              : #line 15683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23324              : (TARGET_SSE))
   23325              :             return -1;
   23326              :           return 1039; /* *abstf2_1 */
   23327              : 
   23328              :         case 1:
   23329              :           if (!
   23330              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23331              : (TARGET_AVX512FP16))
   23332              :             return -1;
   23333              :           *pnum_clobbers = 1;
   23334              :           return 1048; /* *abshf2_1 */
   23335              : 
   23336              :         case 2:
   23337              :           if (!
   23338              : #line 15785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23339              : (TARGET_80387 || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
   23340              :             return -1;
   23341              :           *pnum_clobbers = 1;
   23342              :           return 1050; /* *abssf2_1 */
   23343              : 
   23344              :         case 3:
   23345              :           if (!
   23346              : #line 15785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23347              : (TARGET_80387 || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
   23348              :             return -1;
   23349              :           *pnum_clobbers = 1;
   23350              :           return 1052; /* *absdf2_1 */
   23351              : 
   23352              :         case 4:
   23353              :           if (!
   23354              : #line 707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23355              : (TARGET_MMX_WITH_SSE))
   23356              :             return -1;
   23357              :           return 2103; /* *mmx_absv2sf2 */
   23358              : 
   23359              :         case 5:
   23360              :           if (!
   23361              : #line 2266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23362              : (TARGET_SSE))
   23363              :             return -1;
   23364              :           return 2149; /* *mmx_absv2bf */
   23365              : 
   23366              :         case 6:
   23367              :           if (!(
   23368              : #line 2266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23369              : (TARGET_SSE) && 
   23370              : #line 2251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23371              : (TARGET_MMX_WITH_SSE)))
   23372              :             return -1;
   23373              :           return 2151; /* *mmx_absv4bf */
   23374              : 
   23375              :         case 7:
   23376              :           if (!
   23377              : #line 2266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23378              : (TARGET_SSE))
   23379              :             return -1;
   23380              :           return 2153; /* *mmx_absv2hf */
   23381              : 
   23382              :         case 8:
   23383              :           if (!(
   23384              : #line 2266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23385              : (TARGET_SSE) && 
   23386              : #line 2252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23387              : (TARGET_MMX_WITH_SSE)))
   23388              :             return -1;
   23389              :           return 2155; /* *mmx_absv4hf */
   23390              : 
   23391              :         case 9:
   23392              :           if (!(
   23393              : #line 2626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23394              : (TARGET_SSE) && 
   23395              : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23396              : (TARGET_AVX512F)))
   23397              :             return -1;
   23398              :           return 2722; /* *absv32bf2 */
   23399              : 
   23400              :         case 10:
   23401              :           if (!(
   23402              : #line 2626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23403              : (TARGET_SSE) && 
   23404              : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23405              : (TARGET_AVX)))
   23406              :             return -1;
   23407              :           return 2724; /* *absv16bf2 */
   23408              : 
   23409              :         case 11:
   23410              :           if (!(
   23411              : #line 2626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23412              : (TARGET_SSE) && 
   23413              : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23414              : (TARGET_SSE2)))
   23415              :             return -1;
   23416              :           return 2726; /* *absv8bf2 */
   23417              : 
   23418              :         case 12:
   23419              :           if (!(
   23420              : #line 2626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23421              : (TARGET_SSE) && 
   23422              : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23423              : (TARGET_AVX512F)))
   23424              :             return -1;
   23425              :           return 2728; /* *absv32hf2 */
   23426              : 
   23427              :         case 13:
   23428              :           if (!(
   23429              : #line 2626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23430              : (TARGET_SSE) && 
   23431              : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23432              : (TARGET_AVX)))
   23433              :             return -1;
   23434              :           return 2730; /* *absv16hf2 */
   23435              : 
   23436              :         case 14:
   23437              :           if (!(
   23438              : #line 2626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23439              : (TARGET_SSE) && 
   23440              : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23441              : (TARGET_SSE2)))
   23442              :             return -1;
   23443              :           return 2732; /* *absv8hf2 */
   23444              : 
   23445              :         case 15:
   23446              :           if (!(
   23447              : #line 2626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23448              : (TARGET_SSE) && 
   23449              : #line 419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23450              : (TARGET_AVX512F)))
   23451              :             return -1;
   23452              :           return 2734; /* *absv16sf2 */
   23453              : 
   23454              :         case 16:
   23455              :           if (!(
   23456              : #line 2626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23457              : (TARGET_SSE) && 
   23458              : #line 419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23459              : (TARGET_AVX)))
   23460              :             return -1;
   23461              :           return 2736; /* *absv8sf2 */
   23462              : 
   23463              :         case 17:
   23464              :           if (!
   23465              : #line 2626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23466              : (TARGET_SSE))
   23467              :             return -1;
   23468              :           return 2738; /* *absv4sf2 */
   23469              : 
   23470              :         case 18:
   23471              :           if (!(
   23472              : #line 2626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23473              : (TARGET_SSE) && 
   23474              : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23475              : (TARGET_AVX512F)))
   23476              :             return -1;
   23477              :           return 2740; /* *absv8df2 */
   23478              : 
   23479              :         case 19:
   23480              :           if (!(
   23481              : #line 2626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23482              : (TARGET_SSE) && 
   23483              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23484              : (TARGET_AVX)))
   23485              :             return -1;
   23486              :           return 2742; /* *absv4df2 */
   23487              : 
   23488              :         case 20:
   23489              :           if (!(
   23490              : #line 2626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23491              : (TARGET_SSE) && 
   23492              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23493              : (TARGET_SSE2)))
   23494              :             return -1;
   23495              :           return 2744; /* *absv2df2 */
   23496              : 
   23497              :         default:
   23498              :           return -1;
   23499              :         }
   23500              : 
   23501              :     default:
   23502              :       return -1;
   23503              :     }
   23504              : }
   23505              : 
   23506              :  int
   23507              : recog_423 (rtx x1 ATTRIBUTE_UNUSED,
   23508              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   23509              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   23510              : {
   23511              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   23512              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   23513              :   rtx x10, x11;
   23514              :   int res ATTRIBUTE_UNUSED;
   23515              :   x2 = XVECEXP (x1, 0, 0);
   23516              :   x3 = XEXP (x2, 0);
   23517              :   operands[0] = x3;
   23518              :   x4 = XEXP (x2, 1);
   23519              :   switch (XVECLEN (x4, 0))
   23520              :     {
   23521              :     case 1:
   23522              :       switch (XINT (x4, 1))
   23523              :         {
   23524              :         case 2:
   23525              :           x5 = XVECEXP (x1, 0, 1);
   23526              :           if (pattern237 (x5, 
   23527              : E_CCmode, 
   23528              : 17) != 0)
   23529              :             return -1;
   23530              :           x6 = XVECEXP (x4, 0, 0);
   23531              :           operands[1] = x6;
   23532              :           switch (GET_MODE (operands[0]))
   23533              :             {
   23534              :             case E_SImode:
   23535              :               if (!register_operand (operands[0], E_SImode)
   23536              :                   || GET_MODE (x4) != E_SImode
   23537              :                   || !register_operand (operands[1], E_SImode)
   23538              :                   || !(
   23539              : #line 28458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23540              : (ix86_target_stack_probe ()) && 
   23541              : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23542              : (Pmode == SImode)))
   23543              :                 return -1;
   23544              :               return 1911; /* allocate_stack_worker_probe_si */
   23545              : 
   23546              :             case E_DImode:
   23547              :               if (!register_operand (operands[0], E_DImode)
   23548              :                   || GET_MODE (x4) != E_DImode
   23549              :                   || !register_operand (operands[1], E_DImode)
   23550              :                   || !(
   23551              : #line 28458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23552              : (ix86_target_stack_probe ()) && 
   23553              : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23554              : (Pmode == DImode)))
   23555              :                 return -1;
   23556              :               return 1912; /* allocate_stack_worker_probe_di */
   23557              : 
   23558              :             default:
   23559              :               return -1;
   23560              :             }
   23561              : 
   23562              :         case 11:
   23563              :           if (pattern714 (x1, 
   23564              : 11) != 0
   23565              :               || !
   23566              : #line 30495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23567              : (TARGET_64BIT))
   23568              :             return -1;
   23569              :           return 1947; /* rdpmc_rex64 */
   23570              : 
   23571              :         case 9:
   23572              :           if (pattern715 (x1, 
   23573              : E_DImode, 
   23574              : 9) != 0
   23575              :               || !
   23576              : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23577              : (TARGET_64BIT))
   23578              :             return -1;
   23579              :           return 1949; /* rdtsc_rex64 */
   23580              : 
   23581              :         case 10:
   23582              :           if (pattern715 (x1, 
   23583              : E_SImode, 
   23584              : 10) != 0
   23585              :               || !
   23586              : #line 30523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23587              : (!TARGET_64BIT))
   23588              :             return -1;
   23589              :           return 1950; /* rdtscp */
   23590              : 
   23591              :         case 36:
   23592              :           if (pattern714 (x1, 
   23593              : 36) != 0
   23594              :               || !
   23595              : #line 30737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23596              : (TARGET_64BIT && TARGET_XSAVE))
   23597              :             return -1;
   23598              :           return 1977; /* xgetbv_rex64 */
   23599              : 
   23600              :         case 44:
   23601              :           switch (pattern716 (x1, 
   23602              : 44))
   23603              :             {
   23604              :             case 0:
   23605              :               if (!
   23606              : #line 30898 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23607              : (TARGET_RDRND))
   23608              :                 return -1;
   23609              :               return 2000; /* rdrandhi */
   23610              : 
   23611              :             case 1:
   23612              :               if (!
   23613              : #line 30898 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23614              : (TARGET_RDRND))
   23615              :                 return -1;
   23616              :               return 2001; /* rdrandsi */
   23617              : 
   23618              :             case 2:
   23619              :               if (!(
   23620              : #line 30898 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23621              : (TARGET_RDRND) && 
   23622              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23623              : (TARGET_64BIT)))
   23624              :                 return -1;
   23625              :               return 2002; /* rdranddi */
   23626              : 
   23627              :             default:
   23628              :               return -1;
   23629              :             }
   23630              : 
   23631              :         case 45:
   23632              :           switch (pattern716 (x1, 
   23633              : 45))
   23634              :             {
   23635              :             case 0:
   23636              :               if (!
   23637              : #line 30908 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23638              : (TARGET_RDSEED))
   23639              :                 return -1;
   23640              :               return 2003; /* rdseedhi */
   23641              : 
   23642              :             case 1:
   23643              :               if (!
   23644              : #line 30908 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23645              : (TARGET_RDSEED))
   23646              :                 return -1;
   23647              :               return 2004; /* rdseedsi */
   23648              : 
   23649              :             case 2:
   23650              :               if (!(
   23651              : #line 30908 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23652              : (TARGET_RDSEED) && 
   23653              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23654              : (TARGET_64BIT)))
   23655              :                 return -1;
   23656              :               return 2005; /* rdseeddi */
   23657              : 
   23658              :             default:
   23659              :               return -1;
   23660              :             }
   23661              : 
   23662              :         case 56:
   23663              :           if (GET_MODE (x4) != E_SImode)
   23664              :             return -1;
   23665              :           x5 = XVECEXP (x1, 0, 1);
   23666              :           if (GET_CODE (x5) != SET)
   23667              :             return -1;
   23668              :           x7 = XEXP (x5, 1);
   23669              :           if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   23670              :               || !register_operand (operands[0], E_SImode))
   23671              :             return -1;
   23672              :           x6 = XVECEXP (x4, 0, 0);
   23673              :           operands[2] = x6;
   23674              :           if (!register_operand (operands[2], E_SImode))
   23675              :             return -1;
   23676              :           x8 = XEXP (x5, 0);
   23677              :           operands[1] = x8;
   23678              :           if (!register_operand (operands[1], E_SImode)
   23679              :               || !
   23680              : #line 31151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23681              : (TARGET_PKU))
   23682              :             return -1;
   23683              :           return 2031; /* *rdpkru */
   23684              : 
   23685              :         default:
   23686              :           return -1;
   23687              :         }
   23688              : 
   23689              :     case 2:
   23690              :       switch (XINT (x4, 1))
   23691              :         {
   23692              :         case 3:
   23693              :           x5 = XVECEXP (x1, 0, 1);
   23694              :           if (pattern237 (x5, 
   23695              : E_CCmode, 
   23696              : 17) != 0)
   23697              :             return -1;
   23698              :           x6 = XVECEXP (x4, 0, 0);
   23699              :           operands[1] = x6;
   23700              :           x9 = XVECEXP (x4, 0, 1);
   23701              :           operands[2] = x9;
   23702              :           switch (GET_MODE (operands[0]))
   23703              :             {
   23704              :             case E_SImode:
   23705              :               if (pattern1447 (x4, 
   23706              : E_SImode) != 0
   23707              :                   || !
   23708              : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23709              : (Pmode == SImode))
   23710              :                 return -1;
   23711              :               return 1916; /* probe_stack_range_si */
   23712              : 
   23713              :             case E_DImode:
   23714              :               if (pattern1447 (x4, 
   23715              : E_DImode) != 0
   23716              :                   || !
   23717              : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23718              : (Pmode == DImode))
   23719              :                 return -1;
   23720              :               return 1917; /* probe_stack_range_di */
   23721              : 
   23722              :             default:
   23723              :               return -1;
   23724              :             }
   23725              : 
   23726              :         case 99:
   23727              :           if (pattern717 (x1, 
   23728              : 99) != 0
   23729              :               || !
   23730              : #line 32427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23731              : (TARGET_KL))
   23732              :             return -1;
   23733              :           return 10467; /* aesdec128klu8 */
   23734              : 
   23735              :         case 101:
   23736              :           if (pattern717 (x1, 
   23737              : 101) != 0
   23738              :               || !
   23739              : #line 32427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23740              : (TARGET_KL))
   23741              :             return -1;
   23742              :           return 10468; /* aesdec256klu8 */
   23743              : 
   23744              :         case 100:
   23745              :           if (pattern717 (x1, 
   23746              : 100) != 0
   23747              :               || !
   23748              : #line 32427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23749              : (TARGET_KL))
   23750              :             return -1;
   23751              :           return 10469; /* aesenc128klu8 */
   23752              : 
   23753              :         case 102:
   23754              :           if (pattern717 (x1, 
   23755              : 102) != 0
   23756              :               || !
   23757              : #line 32427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23758              : (TARGET_KL))
   23759              :             return -1;
   23760              :           return 10470; /* aesenc256klu8 */
   23761              : 
   23762              :         case 110:
   23763              :           x5 = XVECEXP (x1, 0, 1);
   23764              :           if (GET_CODE (x5) != SET)
   23765              :             return -1;
   23766              :           x6 = XVECEXP (x4, 0, 0);
   23767              :           operands[1] = x6;
   23768              :           x9 = XVECEXP (x4, 0, 1);
   23769              :           operands[3] = x9;
   23770              :           if (!const_int_operand (operands[3], E_SImode))
   23771              :             return -1;
   23772              :           x8 = XEXP (x5, 0);
   23773              :           if (!rtx_equal_p (x8, operands[1]))
   23774              :             return -1;
   23775              :           x7 = XEXP (x5, 1);
   23776              :           switch (GET_CODE (x7))
   23777              :             {
   23778              :             case PLUS:
   23779              :               if (pnum_clobbers == NULL)
   23780              :                 return -1;
   23781              :               x10 = XEXP (x7, 1);
   23782              :               operands[2] = x10;
   23783              :               x11 = XEXP (x7, 0);
   23784              :               if (!rtx_equal_p (x11, operands[1]))
   23785              :                 return -1;
   23786              :               switch (GET_MODE (operands[0]))
   23787              :                 {
   23788              :                 case E_QImode:
   23789              :                   if (pattern1583 (x1, 
   23790              : E_QImode) != 0
   23791              :                       || !
   23792              : #line 703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   23793              : (TARGET_XADD))
   23794              :                     return -1;
   23795              :                   *pnum_clobbers = 1;
   23796              :                   return 11110; /* atomic_fetch_addqi */
   23797              : 
   23798              :                 case E_HImode:
   23799              :                   if (pattern1583 (x1, 
   23800              : E_HImode) != 0
   23801              :                       || !
   23802              : #line 703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   23803              : (TARGET_XADD))
   23804              :                     return -1;
   23805              :                   *pnum_clobbers = 1;
   23806              :                   return 11111; /* atomic_fetch_addhi */
   23807              : 
   23808              :                 case E_SImode:
   23809              :                   if (pattern1583 (x1, 
   23810              : E_SImode) != 0
   23811              :                       || !
   23812              : #line 703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   23813              : (TARGET_XADD))
   23814              :                     return -1;
   23815              :                   *pnum_clobbers = 1;
   23816              :                   return 11112; /* atomic_fetch_addsi */
   23817              : 
   23818              :                 case E_DImode:
   23819              :                   if (pattern1583 (x1, 
   23820              : E_DImode) != 0
   23821              :                       || !(
   23822              : #line 703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   23823              : (TARGET_XADD) && 
   23824              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23825              : (TARGET_64BIT)))
   23826              :                     return -1;
   23827              :                   *pnum_clobbers = 1;
   23828              :                   return 11113; /* atomic_fetch_adddi */
   23829              : 
   23830              :                 default:
   23831              :                   return -1;
   23832              :                 }
   23833              : 
   23834              :             case REG:
   23835              :             case SUBREG:
   23836              :               operands[2] = x7;
   23837              :               switch (GET_MODE (operands[0]))
   23838              :                 {
   23839              :                 case E_QImode:
   23840              :                   if (pattern1505 (x4, 
   23841              : E_QImode) != 0)
   23842              :                     return -1;
   23843              :                   return 11118; /* atomic_exchangeqi */
   23844              : 
   23845              :                 case E_HImode:
   23846              :                   if (pattern1505 (x4, 
   23847              : E_HImode) != 0)
   23848              :                     return -1;
   23849              :                   return 11119; /* atomic_exchangehi */
   23850              : 
   23851              :                 case E_SImode:
   23852              :                   if (pattern1505 (x4, 
   23853              : E_SImode) != 0)
   23854              :                     return -1;
   23855              :                   return 11120; /* atomic_exchangesi */
   23856              : 
   23857              :                 case E_DImode:
   23858              :                   if (pattern1505 (x4, 
   23859              : E_DImode) != 0
   23860              :                       || !
   23861              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23862              : (TARGET_64BIT))
   23863              :                     return -1;
   23864              :                   return 11121; /* atomic_exchangedi */
   23865              : 
   23866              :                 default:
   23867              :                   return -1;
   23868              :                 }
   23869              : 
   23870              :             default:
   23871              :               return -1;
   23872              :             }
   23873              : 
   23874              :         case 111:
   23875              :           x5 = XVECEXP (x1, 0, 1);
   23876              :           if (pattern237 (x5, 
   23877              : E_CCmode, 
   23878              : 17) != 0)
   23879              :             return -1;
   23880              :           x9 = XVECEXP (x4, 0, 1);
   23881              :           operands[2] = x9;
   23882              :           if (!const_int_operand (operands[2], E_SImode))
   23883              :             return -1;
   23884              :           x6 = XVECEXP (x4, 0, 0);
   23885              :           switch (GET_CODE (x6))
   23886              :             {
   23887              :             case PLUS:
   23888              :               switch (pattern1449 (x4))
   23889              :                 {
   23890              :                 case 0:
   23891              :                   return 11130; /* atomic_addqi */
   23892              : 
   23893              :                 case 1:
   23894              :                   return 11131; /* atomic_addhi */
   23895              : 
   23896              :                 case 2:
   23897              :                   return 11132; /* atomic_addsi */
   23898              : 
   23899              :                 case 3:
   23900              :                   if (!
   23901              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23902              : (TARGET_64BIT))
   23903              :                     return -1;
   23904              :                   return 11133; /* atomic_adddi */
   23905              : 
   23906              :                 default:
   23907              :                   return -1;
   23908              :                 }
   23909              : 
   23910              :             case MINUS:
   23911              :               switch (pattern1449 (x4))
   23912              :                 {
   23913              :                 case 0:
   23914              :                   return 11134; /* atomic_subqi */
   23915              : 
   23916              :                 case 1:
   23917              :                   return 11135; /* atomic_subhi */
   23918              : 
   23919              :                 case 2:
   23920              :                   return 11136; /* atomic_subsi */
   23921              : 
   23922              :                 case 3:
   23923              :                   if (!
   23924              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23925              : (TARGET_64BIT))
   23926              :                     return -1;
   23927              :                   return 11137; /* atomic_subdi */
   23928              : 
   23929              :                 default:
   23930              :                   return -1;
   23931              :                 }
   23932              : 
   23933              :             case AND:
   23934              :               switch (pattern1449 (x4))
   23935              :                 {
   23936              :                 case 0:
   23937              :                   return 11138; /* atomic_andqi */
   23938              : 
   23939              :                 case 1:
   23940              :                   return 11141; /* atomic_andhi */
   23941              : 
   23942              :                 case 2:
   23943              :                   return 11144; /* atomic_andsi */
   23944              : 
   23945              :                 case 3:
   23946              :                   if (!
   23947              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23948              : (TARGET_64BIT))
   23949              :                     return -1;
   23950              :                   return 11147; /* atomic_anddi */
   23951              : 
   23952              :                 default:
   23953              :                   return -1;
   23954              :                 }
   23955              : 
   23956              :             case IOR:
   23957              :               switch (pattern1449 (x4))
   23958              :                 {
   23959              :                 case 0:
   23960              :                   return 11139; /* atomic_orqi */
   23961              : 
   23962              :                 case 1:
   23963              :                   return 11142; /* atomic_orhi */
   23964              : 
   23965              :                 case 2:
   23966              :                   return 11145; /* atomic_orsi */
   23967              : 
   23968              :                 case 3:
   23969              :                   if (!
   23970              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23971              : (TARGET_64BIT))
   23972              :                     return -1;
   23973              :                   return 11148; /* atomic_ordi */
   23974              : 
   23975              :                 default:
   23976              :                   return -1;
   23977              :                 }
   23978              : 
   23979              :             case XOR:
   23980              :               switch (pattern1449 (x4))
   23981              :                 {
   23982              :                 case 0:
   23983              :                   return 11140; /* atomic_xorqi */
   23984              : 
   23985              :                 case 1:
   23986              :                   return 11143; /* atomic_xorhi */
   23987              : 
   23988              :                 case 2:
   23989              :                   return 11146; /* atomic_xorsi */
   23990              : 
   23991              :                 case 3:
   23992              :                   if (!
   23993              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23994              : (TARGET_64BIT))
   23995              :                     return -1;
   23996              :                   return 11149; /* atomic_xordi */
   23997              : 
   23998              :                 default:
   23999              :                   return -1;
   24000              :                 }
   24001              : 
   24002              :             default:
   24003              :               return -1;
   24004              :             }
   24005              : 
   24006              :         default:
   24007              :           return -1;
   24008              :         }
   24009              : 
   24010              :     default:
   24011              :       return -1;
   24012              :     }
   24013              : }
   24014              : 
   24015              :  int
   24016              : recog_437 (rtx x1 ATTRIBUTE_UNUSED,
   24017              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   24018              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   24019              : {
   24020              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   24021              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   24022              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   24023              :   rtx x18, x19;
   24024              :   int res ATTRIBUTE_UNUSED;
   24025              :   x2 = XVECEXP (x1, 0, 0);
   24026              :   switch (GET_CODE (x2))
   24027              :     {
   24028              :     case SET:
   24029              :       x3 = XEXP (x2, 1);
   24030              :       switch (GET_CODE (x3))
   24031              :         {
   24032              :         case UNSPEC:
   24033              :           return recog_430 (x1, insn, pnum_clobbers);
   24034              : 
   24035              :         case SIGN_EXTEND:
   24036              :           x4 = XVECEXP (x1, 0, 2);
   24037              :           if (GET_CODE (x4) != CLOBBER)
   24038              :             return -1;
   24039              :           x5 = XEXP (x2, 0);
   24040              :           operands[0] = x5;
   24041              :           x6 = XEXP (x3, 0);
   24042              :           switch (GET_CODE (x6))
   24043              :             {
   24044              :             case REG:
   24045              :             case SUBREG:
   24046              :               operands[1] = x6;
   24047              :               x7 = XVECEXP (x1, 0, 1);
   24048              :               if (pattern237 (x7, 
   24049              : E_CCmode, 
   24050              : 17) != 0)
   24051              :                 return -1;
   24052              :               x8 = XEXP (x4, 0);
   24053              :               operands[2] = x8;
   24054              :               switch (GET_MODE (operands[0]))
   24055              :                 {
   24056              :                 case E_DImode:
   24057              :                   if (pattern1450 (x3, 
   24058              : E_SImode, 
   24059              : E_DImode) != 0
   24060              :                       || !
   24061              : #line 5094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24062              : (!TARGET_64BIT))
   24063              :                     return -1;
   24064              :                   return 189; /* extendsidi2_1 */
   24065              : 
   24066              :                 case E_TImode:
   24067              :                   if (pattern1450 (x3, 
   24068              : E_DImode, 
   24069              : E_TImode) != 0
   24070              :                       || !
   24071              : #line 5102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24072              : (TARGET_64BIT))
   24073              :                     return -1;
   24074              :                   return 190; /* extendditi2 */
   24075              : 
   24076              :                 default:
   24077              :                   return -1;
   24078              :                 }
   24079              : 
   24080              :             case CTZ:
   24081              :               if (GET_MODE (x6) != E_SImode)
   24082              :                 return -1;
   24083              :               x7 = XVECEXP (x1, 0, 1);
   24084              :               if (GET_CODE (x7) != UNSPEC
   24085              :                   || XVECLEN (x7, 0) != 1
   24086              :                   || XINT (x7, 1) != 39)
   24087              :                 return -1;
   24088              :               x8 = XEXP (x4, 0);
   24089              :               if (GET_CODE (x8) != REG
   24090              :                   || REGNO (x8) != 17
   24091              :                   || GET_MODE (x8) != E_CCmode
   24092              :                   || !register_operand (operands[0], E_DImode)
   24093              :                   || GET_MODE (x3) != E_DImode)
   24094              :                 return -1;
   24095              :               x9 = XEXP (x6, 0);
   24096              :               operands[1] = x9;
   24097              :               if (!nonimmediate_operand (operands[1], E_SImode))
   24098              :                 return -1;
   24099              :               x10 = XVECEXP (x7, 0, 0);
   24100              :               operands[2] = x10;
   24101              :               if (!register_operand (operands[2], E_DImode)
   24102              :                   || !
   24103              : #line 22218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24104              : (TARGET_64BIT))
   24105              :                 return -1;
   24106              :               return 1552; /* *ctzsidi2_sext_falsedep */
   24107              : 
   24108              :             default:
   24109              :               return -1;
   24110              :             }
   24111              : 
   24112              :         case FIX:
   24113              :           x7 = XVECEXP (x1, 0, 1);
   24114              :           if (GET_CODE (x7) != USE)
   24115              :             return -1;
   24116              :           x4 = XVECEXP (x1, 0, 2);
   24117              :           if (GET_CODE (x4) != USE)
   24118              :             return -1;
   24119              :           x5 = XEXP (x2, 0);
   24120              :           operands[0] = x5;
   24121              :           x6 = XEXP (x3, 0);
   24122              :           operands[1] = x6;
   24123              :           if (!register_operand (operands[1], E_VOIDmode))
   24124              :             return -1;
   24125              :           switch (pattern837 (x1, pnum_clobbers))
   24126              :             {
   24127              :             case 0:
   24128              :               if (!
   24129              : #line 6132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24130              : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   24131              :    && !TARGET_FISTTP
   24132              :    && !(TARGET_64BIT && SSE_FLOAT_MODE_P (GET_MODE (operands[1])))))
   24133              :                 return -1;
   24134              :               *pnum_clobbers = 1;
   24135              :               return 239; /* fix_truncdi_i387 */
   24136              : 
   24137              :             case 1:
   24138              :               if (!
   24139              : #line 6145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24140              : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   24141              :    && !TARGET_FISTTP
   24142              :    && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
   24143              :                 return -1;
   24144              :               return 240; /* fix_trunchi_i387 */
   24145              : 
   24146              :             case 2:
   24147              :               if (!
   24148              : #line 6145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24149              : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   24150              :    && !TARGET_FISTTP
   24151              :    && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
   24152              :                 return -1;
   24153              :               return 241; /* fix_truncsi_i387 */
   24154              : 
   24155              :             default:
   24156              :               return -1;
   24157              :             }
   24158              : 
   24159              :         case UNSIGNED_FLOAT:
   24160              :           x7 = XVECEXP (x1, 0, 1);
   24161              :           if (GET_CODE (x7) != CLOBBER)
   24162              :             return -1;
   24163              :           x4 = XVECEXP (x1, 0, 2);
   24164              :           if (GET_CODE (x4) != CLOBBER)
   24165              :             return -1;
   24166              :           switch (pattern578 (x1))
   24167              :             {
   24168              :             case 0:
   24169              :               if (!
   24170              : #line 6412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24171              : (!TARGET_64BIT
   24172              :    && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
   24173              :    && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
   24174              :                 return -1;
   24175              :               return 265; /* floatunssisf2_i387_with_xmm */
   24176              : 
   24177              :             case 1:
   24178              :               if (!
   24179              : #line 6412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24180              : (!TARGET_64BIT
   24181              :    && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
   24182              :    && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
   24183              :                 return -1;
   24184              :               return 266; /* floatunssidf2_i387_with_xmm */
   24185              : 
   24186              :             case 2:
   24187              :               if (!
   24188              : #line 6412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24189              : (!TARGET_64BIT
   24190              :    && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
   24191              :    && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
   24192              :                 return -1;
   24193              :               return 267; /* floatunssixf2_i387_with_xmm */
   24194              : 
   24195              :             default:
   24196              :               return -1;
   24197              :             }
   24198              : 
   24199              :         case EQ:
   24200              :           return recog_436 (x1, insn, pnum_clobbers);
   24201              : 
   24202              :         case SMUL_HIGHPART:
   24203              :           switch (pattern224 (x1))
   24204              :             {
   24205              :             case 0:
   24206              :               if (!
   24207              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24208              : (!TARGET_64BIT))
   24209              :                 return -1;
   24210              :               return 655; /* smulsi3_highpart */
   24211              : 
   24212              :             case 1:
   24213              :               if (!
   24214              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24215              : (TARGET_64BIT))
   24216              :                 return -1;
   24217              :               return 657; /* smuldi3_highpart */
   24218              : 
   24219              :             default:
   24220              :               return -1;
   24221              :             }
   24222              : 
   24223              :         case UMUL_HIGHPART:
   24224              :           switch (pattern224 (x1))
   24225              :             {
   24226              :             case 0:
   24227              :               if (!
   24228              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24229              : (!TARGET_64BIT))
   24230              :                 return -1;
   24231              :               return 656; /* umulsi3_highpart */
   24232              : 
   24233              :             case 1:
   24234              :               if (!
   24235              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24236              : (TARGET_64BIT))
   24237              :                 return -1;
   24238              :               return 658; /* umuldi3_highpart */
   24239              : 
   24240              :             default:
   24241              :               return -1;
   24242              :             }
   24243              : 
   24244              :         case ZERO_EXTEND:
   24245              :           return recog_431 (x1, insn, pnum_clobbers);
   24246              : 
   24247              :         case TRUNCATE:
   24248              :           x6 = XEXP (x3, 0);
   24249              :           if (GET_CODE (x6) != LSHIFTRT)
   24250              :             return -1;
   24251              :           x9 = XEXP (x6, 0);
   24252              :           if (GET_CODE (x9) != MULT)
   24253              :             return -1;
   24254              :           x11 = XEXP (x6, 1);
   24255              :           if (GET_CODE (x11) != CONST_INT)
   24256              :             return -1;
   24257              :           x7 = XVECEXP (x1, 0, 1);
   24258              :           if (GET_CODE (x7) != CLOBBER
   24259              :               || pattern841 (x1) != 0)
   24260              :             return -1;
   24261              :           x12 = XEXP (x7, 0);
   24262              :           operands[3] = x12;
   24263              :           x13 = XEXP (x9, 0);
   24264              :           switch (GET_CODE (x13))
   24265              :             {
   24266              :             case SIGN_EXTEND:
   24267              :               switch (pattern1507 (x3, 
   24268              : SIGN_EXTEND))
   24269              :                 {
   24270              :                 case 0:
   24271              :                   if (!
   24272              : #line 11950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24273              : (TARGET_64BIT
   24274              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   24275              :                     return -1;
   24276              :                   return 661; /* *smuldi3_highpart_1 */
   24277              : 
   24278              :                 case 1:
   24279              :                   if (!
   24280              : #line 11999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24281              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
   24282              :                     return -1;
   24283              :                   return 665; /* *smulsi3_highpart_1 */
   24284              : 
   24285              :                 default:
   24286              :                   return -1;
   24287              :                 }
   24288              : 
   24289              :             case ZERO_EXTEND:
   24290              :               switch (pattern1507 (x3, 
   24291              : ZERO_EXTEND))
   24292              :                 {
   24293              :                 case 0:
   24294              :                   if (!
   24295              : #line 11950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24296              : (TARGET_64BIT
   24297              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   24298              :                     return -1;
   24299              :                   return 662; /* *umuldi3_highpart_1 */
   24300              : 
   24301              :                 case 1:
   24302              :                   if (!
   24303              : #line 11999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24304              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
   24305              :                     return -1;
   24306              :                   return 666; /* *umulsi3_highpart_1 */
   24307              : 
   24308              :                 default:
   24309              :                   return -1;
   24310              :                 }
   24311              : 
   24312              :             default:
   24313              :               return -1;
   24314              :             }
   24315              : 
   24316              :         case DIV:
   24317              :           switch (pattern225 (x1))
   24318              :             {
   24319              :             case 0:
   24320              :               switch (pattern1343 (x1, pnum_clobbers))
   24321              :                 {
   24322              :                 case 0:
   24323              :                   *pnum_clobbers = 1;
   24324              :                   return 667; /* divmodsi4_1 */
   24325              : 
   24326              :                 case 1:
   24327              :                   if (!
   24328              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24329              : (TARGET_64BIT))
   24330              :                     return -1;
   24331              :                   *pnum_clobbers = 1;
   24332              :                   return 668; /* divmoddi4_1 */
   24333              : 
   24334              :                 case 2:
   24335              :                   if (!
   24336              : #line 1222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24337              : (TARGET_HIMODE_MATH))
   24338              :                     return -1;
   24339              :                   return 675; /* *divmodhi4 */
   24340              : 
   24341              :                 case 3:
   24342              :                   return 676; /* *divmodsi4 */
   24343              : 
   24344              :                 case 4:
   24345              :                   if (!
   24346              : #line 1223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24347              : (TARGET_64BIT))
   24348              :                     return -1;
   24349              :                   return 677; /* *divmoddi4 */
   24350              : 
   24351              :                 case 5:
   24352              :                   if ((
   24353              : #line 12627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24354              : (TARGET_APX_NF) && 
   24355              : #line 1222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24356              : (TARGET_HIMODE_MATH)))
   24357              :                     return 689; /* *divmodhi4_noext_nf */
   24358              :                   if (pnum_clobbers == NULL
   24359              :                       || !
   24360              : #line 1222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24361              : (TARGET_HIMODE_MATH))
   24362              :                     return -1;
   24363              :                   *pnum_clobbers = 1;
   24364              :                   return 695; /* *divmodhi4_noext */
   24365              : 
   24366              :                 case 6:
   24367              :                   if (
   24368              : #line 12627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24369              : (TARGET_APX_NF))
   24370              :                     return 691; /* *divmodsi4_noext_nf */
   24371              :                   if (pnum_clobbers == NULL)
   24372              :                     return -1;
   24373              :                   *pnum_clobbers = 1;
   24374              :                   return 697; /* *divmodsi4_noext */
   24375              : 
   24376              :                 case 7:
   24377              :                   if ((
   24378              : #line 12627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24379              : (TARGET_APX_NF) && 
   24380              : #line 1223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24381              : (TARGET_64BIT)))
   24382              :                     return 693; /* *divmoddi4_noext_nf */
   24383              :                   if (pnum_clobbers == NULL
   24384              :                       || !
   24385              : #line 1223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24386              : (TARGET_64BIT))
   24387              :                     return -1;
   24388              :                   *pnum_clobbers = 1;
   24389              :                   return 699; /* *divmoddi4_noext */
   24390              : 
   24391              :                 default:
   24392              :                   return -1;
   24393              :                 }
   24394              : 
   24395              :             case 1:
   24396              :               if (!const_int_operand (operands[2], E_SImode))
   24397              :                 return -1;
   24398              :               x4 = XVECEXP (x1, 0, 2);
   24399              :               if (pattern956 (x4, 
   24400              : E_CCmode, 
   24401              : 17) != 0
   24402              :                   || pattern1503 (x1) != 0
   24403              :                   || !
   24404              : #line 12683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24405              : (!optimize_function_for_size_p (cfun)))
   24406              :                 return -1;
   24407              :               return 705; /* *divmodsi4_const */
   24408              : 
   24409              :             default:
   24410              :               return -1;
   24411              :             }
   24412              : 
   24413              :         case UDIV:
   24414              :           switch (pattern226 (x1))
   24415              :             {
   24416              :             case 0:
   24417              :               switch (pattern1343 (x1, pnum_clobbers))
   24418              :                 {
   24419              :                 case 0:
   24420              :                   *pnum_clobbers = 1;
   24421              :                   return 669; /* udivmodsi4_1 */
   24422              : 
   24423              :                 case 1:
   24424              :                   if (!
   24425              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24426              : (TARGET_64BIT))
   24427              :                     return -1;
   24428              :                   *pnum_clobbers = 1;
   24429              :                   return 670; /* udivmoddi4_1 */
   24430              : 
   24431              :                 case 2:
   24432              :                   if (!
   24433              : #line 1222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24434              : (TARGET_HIMODE_MATH))
   24435              :                     return -1;
   24436              :                   return 678; /* *udivmodhi4 */
   24437              : 
   24438              :                 case 3:
   24439              :                   return 679; /* *udivmodsi4 */
   24440              : 
   24441              :                 case 4:
   24442              :                   if (!
   24443              : #line 1223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24444              : (TARGET_64BIT))
   24445              :                     return -1;
   24446              :                   return 680; /* *udivmoddi4 */
   24447              : 
   24448              :                 case 5:
   24449              :                   if ((
   24450              : #line 12627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24451              : (TARGET_APX_NF) && 
   24452              : #line 1222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24453              : (TARGET_HIMODE_MATH)))
   24454              :                     return 690; /* *udivmodhi4_noext_nf */
   24455              :                   if (pnum_clobbers == NULL
   24456              :                       || !
   24457              : #line 1222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24458              : (TARGET_HIMODE_MATH))
   24459              :                     return -1;
   24460              :                   *pnum_clobbers = 1;
   24461              :                   return 696; /* *udivmodhi4_noext */
   24462              : 
   24463              :                 case 6:
   24464              :                   if (
   24465              : #line 12627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24466              : (TARGET_APX_NF))
   24467              :                     return 692; /* *udivmodsi4_noext_nf */
   24468              :                   if (pnum_clobbers == NULL)
   24469              :                     return -1;
   24470              :                   *pnum_clobbers = 1;
   24471              :                   return 698; /* *udivmodsi4_noext */
   24472              : 
   24473              :                 case 7:
   24474              :                   if ((
   24475              : #line 12627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24476              : (TARGET_APX_NF) && 
   24477              : #line 1223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24478              : (TARGET_64BIT)))
   24479              :                     return 694; /* *udivmoddi4_noext_nf */
   24480              :                   if (pnum_clobbers == NULL
   24481              :                       || !
   24482              : #line 1223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24483              : (TARGET_64BIT))
   24484              :                     return -1;
   24485              :                   *pnum_clobbers = 1;
   24486              :                   return 700; /* *udivmoddi4_noext */
   24487              : 
   24488              :                 default:
   24489              :                   return -1;
   24490              :                 }
   24491              : 
   24492              :             case 1:
   24493              :               x4 = XVECEXP (x1, 0, 2);
   24494              :               if (pattern956 (x4, 
   24495              : E_CCmode, 
   24496              : 17) != 0)
   24497              :                 return -1;
   24498              :               switch (GET_MODE (operands[0]))
   24499              :                 {
   24500              :                 case E_SImode:
   24501              :                   if (pattern1504 (x1, 
   24502              : E_SImode) != 0
   24503              :                       || !
   24504              : #line 12436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24505              : (IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
   24506              :                     return -1;
   24507              :                   return 681; /* *udivmodsi4_pow2 */
   24508              : 
   24509              :                 case E_DImode:
   24510              :                   if (pattern1504 (x1, 
   24511              : E_DImode) != 0
   24512              :                       || !(
   24513              : #line 12436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24514              : (IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)) && 
   24515              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24516              : (TARGET_64BIT)))
   24517              :                     return -1;
   24518              :                   return 682; /* *udivmoddi4_pow2 */
   24519              : 
   24520              :                 default:
   24521              :                   return -1;
   24522              :                 }
   24523              : 
   24524              :             default:
   24525              :               return -1;
   24526              :             }
   24527              : 
   24528              :         case ABS:
   24529              :           switch (pattern228 (x1))
   24530              :             {
   24531              :             case 0:
   24532              :               if (!
   24533              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24534              : (TARGET_AVX512FP16))
   24535              :                 return -1;
   24536              :               return 1048; /* *abshf2_1 */
   24537              : 
   24538              :             case 1:
   24539              :               if (!
   24540              : #line 15785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24541              : (TARGET_80387 || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
   24542              :                 return -1;
   24543              :               return 1050; /* *abssf2_1 */
   24544              : 
   24545              :             case 2:
   24546              :               if (!
   24547              : #line 15785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24548              : (TARGET_80387 || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
   24549              :                 return -1;
   24550              :               return 1052; /* *absdf2_1 */
   24551              : 
   24552              :             default:
   24553              :               return -1;
   24554              :             }
   24555              : 
   24556              :         case NEG:
   24557              :           switch (pattern228 (x1))
   24558              :             {
   24559              :             case 0:
   24560              :               if (!
   24561              : #line 15769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24562              : (TARGET_AVX512FP16))
   24563              :                 return -1;
   24564              :               return 1049; /* *neghf2_1 */
   24565              : 
   24566              :             case 1:
   24567              :               if (!
   24568              : #line 15785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24569              : (TARGET_80387 || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
   24570              :                 return -1;
   24571              :               return 1051; /* *negsf2_1 */
   24572              : 
   24573              :             case 2:
   24574              :               if (!
   24575              : #line 15785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24576              : (TARGET_80387 || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
   24577              :                 return -1;
   24578              :               return 1053; /* *negdf2_1 */
   24579              : 
   24580              :             default:
   24581              :               return -1;
   24582              :             }
   24583              : 
   24584              :         case ROTATE:
   24585              :           switch (pattern230 (x1))
   24586              :             {
   24587              :             case 0:
   24588              :               if (!
   24589              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24590              : (!TARGET_64BIT))
   24591              :                 return -1;
   24592              :               return 1364; /* ix86_rotldi3_doubleword */
   24593              : 
   24594              :             case 1:
   24595              :               if (!
   24596              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24597              : (TARGET_64BIT))
   24598              :                 return -1;
   24599              :               return 1365; /* ix86_rotlti3_doubleword */
   24600              : 
   24601              :             default:
   24602              :               return -1;
   24603              :             }
   24604              : 
   24605              :         case ROTATERT:
   24606              :           switch (pattern230 (x1))
   24607              :             {
   24608              :             case 0:
   24609              :               if (!
   24610              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24611              : (!TARGET_64BIT))
   24612              :                 return -1;
   24613              :               return 1366; /* ix86_rotrdi3_doubleword */
   24614              : 
   24615              :             case 1:
   24616              :               if (!
   24617              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24618              : (TARGET_64BIT))
   24619              :                 return -1;
   24620              :               return 1367; /* ix86_rotrti3_doubleword */
   24621              : 
   24622              :             default:
   24623              :               return -1;
   24624              :             }
   24625              : 
   24626              :         case CALL:
   24627              :           return recog_433 (x1, insn, pnum_clobbers);
   24628              : 
   24629              :         case PLUS:
   24630              :           x4 = XVECEXP (x1, 0, 2);
   24631              :           if (pattern231 (x4) != 0)
   24632              :             return -1;
   24633              :           x6 = XEXP (x3, 0);
   24634              :           if (GET_CODE (x6) == REG
   24635              :               && REGNO (x6) == 6)
   24636              :             {
   24637              :               x14 = XEXP (x3, 1);
   24638              :               if (GET_CODE (x14) == CONST_INT)
   24639              :                 {
   24640              :                   x5 = XEXP (x2, 0);
   24641              :                   if (GET_CODE (x5) == REG
   24642              :                       && REGNO (x5) == 7)
   24643              :                     {
   24644              :                       x7 = XVECEXP (x1, 0, 1);
   24645              :                       if (pattern722 (x7, 
   24646              : 6, 
   24647              : MEM) == 0)
   24648              :                         {
   24649              :                           switch (XWINT (x14, 0))
   24650              :                             {
   24651              :                             case 4L:
   24652              :                               if (pattern1709 (x1, 
   24653              : E_SImode) == 0
   24654              :                                   && 
   24655              : #line 21873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24656              : (!TARGET_64BIT))
   24657              :                                 return 1534; /* *leave */
   24658              :                               break;
   24659              : 
   24660              :                             case 8L:
   24661              :                               if (pattern1709 (x1, 
   24662              : E_DImode) == 0
   24663              :                                   && 
   24664              : #line 21881 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24665              : (TARGET_64BIT))
   24666              :                                 return 1535; /* *leave_rex64 */
   24667              :                               break;
   24668              : 
   24669              :                             default:
   24670              :                               break;
   24671              :                             }
   24672              :                         }
   24673              :                     }
   24674              :                 }
   24675              :             }
   24676              :           x7 = XVECEXP (x1, 0, 1);
   24677              :           if (GET_CODE (x7) != CLOBBER)
   24678              :             return -1;
   24679              :           x12 = XEXP (x7, 0);
   24680              :           if (GET_CODE (x12) != REG
   24681              :               || REGNO (x12) != 17
   24682              :               || GET_MODE (x12) != E_CCmode)
   24683              :             return -1;
   24684              :           x5 = XEXP (x2, 0);
   24685              :           operands[0] = x5;
   24686              :           operands[1] = x6;
   24687              :           x14 = XEXP (x3, 1);
   24688              :           operands[2] = x14;
   24689              :           switch (GET_MODE (operands[0]))
   24690              :             {
   24691              :             case E_SImode:
   24692              :               if (pattern1433 (x3, 
   24693              : E_SImode) != 0
   24694              :                   || !
   24695              : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24696              : (Pmode == SImode))
   24697              :                 return -1;
   24698              :               return 1905; /* pro_epilogue_adjust_stack_add_si */
   24699              : 
   24700              :             case E_DImode:
   24701              :               if (pattern1433 (x3, 
   24702              : E_DImode) != 0
   24703              :                   || !
   24704              : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24705              : (Pmode == DImode))
   24706              :                 return -1;
   24707              :               return 1906; /* pro_epilogue_adjust_stack_add_di */
   24708              : 
   24709              :             default:
   24710              :               return -1;
   24711              :             }
   24712              : 
   24713              :         case FFS:
   24714              :           if (GET_MODE (x3) != E_SImode)
   24715              :             return -1;
   24716              :           x7 = XVECEXP (x1, 0, 1);
   24717              :           if (GET_CODE (x7) != CLOBBER)
   24718              :             return -1;
   24719              :           x4 = XVECEXP (x1, 0, 2);
   24720              :           if (GET_CODE (x4) != CLOBBER
   24721              :               || pattern721 (x1) != 0
   24722              :               || !
   24723              : #line 21976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24724              : (!TARGET_CMOVE))
   24725              :             return -1;
   24726              :           return 1537; /* ffssi2_no_cmove */
   24727              : 
   24728              :         case COMPARE:
   24729              :           return recog_434 (x1, insn, pnum_clobbers);
   24730              : 
   24731              :         case CTZ:
   24732              :           switch (pattern235 (x1))
   24733              :             {
   24734              :             case 0:
   24735              :               return 1546; /* *ctzsi2_falsedep */
   24736              : 
   24737              :             case 1:
   24738              :               if (!
   24739              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24740              : (TARGET_64BIT))
   24741              :                 return -1;
   24742              :               return 1547; /* *ctzdi2_falsedep */
   24743              : 
   24744              :             default:
   24745              :               return -1;
   24746              :             }
   24747              : 
   24748              :         case AND:
   24749              :           if (GET_MODE (x3) != E_DImode)
   24750              :             return -1;
   24751              :           x6 = XEXP (x3, 0);
   24752              :           if (GET_CODE (x6) != SUBREG
   24753              :               || maybe_ne (SUBREG_BYTE (x6), 0)
   24754              :               || GET_MODE (x6) != E_DImode)
   24755              :             return -1;
   24756              :           x14 = XEXP (x3, 1);
   24757              :           if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
   24758              :             return -1;
   24759              :           x7 = XVECEXP (x1, 0, 1);
   24760              :           if (GET_CODE (x7) != UNSPEC
   24761              :               || XVECLEN (x7, 0) != 1
   24762              :               || XINT (x7, 1) != 39
   24763              :               || pattern841 (x1) != 0
   24764              :               || !register_operand (operands[0], E_DImode))
   24765              :             return -1;
   24766              :           x9 = XEXP (x6, 0);
   24767              :           if (GET_MODE (x9) != E_SImode)
   24768              :             return -1;
   24769              :           x10 = XVECEXP (x7, 0, 0);
   24770              :           operands[2] = x10;
   24771              :           if (!register_operand (operands[2], E_DImode))
   24772              :             return -1;
   24773              :           switch (GET_CODE (x9))
   24774              :             {
   24775              :             case CTZ:
   24776              :               x13 = XEXP (x9, 0);
   24777              :               operands[1] = x13;
   24778              :               if (!nonimmediate_operand (operands[1], E_SImode)
   24779              :                   || !
   24780              : #line 22164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24781              : (TARGET_BMI && TARGET_64BIT))
   24782              :                 return -1;
   24783              :               return 1549; /* *ctzsi2_zext_falsedep */
   24784              : 
   24785              :             case CLZ:
   24786              :               x13 = XEXP (x9, 0);
   24787              :               operands[1] = x13;
   24788              :               switch (GET_MODE (operands[1]))
   24789              :                 {
   24790              :                 case E_SImode:
   24791              :                   if (!nonimmediate_operand (operands[1], E_SImode)
   24792              :                       || !
   24793              : #line 22610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24794              : (TARGET_LZCNT))
   24795              :                     return -1;
   24796              :                   return 1573; /* *clzsi2_lzcnt_zext_falsedep */
   24797              : 
   24798              :                 case E_DImode:
   24799              :                   if (!nonimmediate_operand (operands[1], E_DImode)
   24800              :                       || !(
   24801              : #line 22610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24802              : (TARGET_LZCNT) && 
   24803              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24804              : (TARGET_64BIT)))
   24805              :                     return -1;
   24806              :                   return 1574; /* *clzsi2_lzcnt_zext_falsedep */
   24807              : 
   24808              :                 default:
   24809              :                   return -1;
   24810              :                 }
   24811              : 
   24812              :             case POPCOUNT:
   24813              :               x13 = XEXP (x9, 0);
   24814              :               operands[1] = x13;
   24815              :               if (!nonimmediate_operand (operands[1], E_SImode)
   24816              :                   || !
   24817              : #line 23443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24818              : (TARGET_POPCNT && TARGET_64BIT))
   24819              :                 return -1;
   24820              :               return 1665; /* *popcountsi2_zext_falsedep */
   24821              : 
   24822              :             default:
   24823              :               return -1;
   24824              :             }
   24825              : 
   24826              :         case CLZ:
   24827              :           switch (pattern235 (x1))
   24828              :             {
   24829              :             case 0:
   24830              :               if (!
   24831              : #line 22567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24832              : (TARGET_LZCNT))
   24833              :                 return -1;
   24834              :               return 1570; /* *clzsi2_lzcnt_falsedep */
   24835              : 
   24836              :             case 1:
   24837              :               if (!(
   24838              : #line 22567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24839              : (TARGET_LZCNT) && 
   24840              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24841              : (TARGET_64BIT)))
   24842              :                 return -1;
   24843              :               return 1571; /* *clzdi2_lzcnt_falsedep */
   24844              : 
   24845              :             default:
   24846              :               return -1;
   24847              :             }
   24848              : 
   24849              :         case XOR:
   24850              :           x6 = XEXP (x3, 0);
   24851              :           if (GET_CODE (x6) != PLUS)
   24852              :             return -1;
   24853              :           x11 = XEXP (x6, 1);
   24854              :           if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
   24855              :             return -1;
   24856              :           x7 = XVECEXP (x1, 0, 1);
   24857              :           if (pattern237 (x7, 
   24858              : E_CCmode, 
   24859              : 17) != 0)
   24860              :             return -1;
   24861              :           x4 = XVECEXP (x1, 0, 2);
   24862              :           if (GET_CODE (x4) != UNSPEC
   24863              :               || XVECLEN (x4, 0) != 1
   24864              :               || XINT (x4, 1) != 39)
   24865              :             return -1;
   24866              :           x5 = XEXP (x2, 0);
   24867              :           operands[0] = x5;
   24868              :           x9 = XEXP (x6, 0);
   24869              :           operands[1] = x9;
   24870              :           x15 = XVECEXP (x4, 0, 0);
   24871              :           operands[2] = x15;
   24872              :           x14 = XEXP (x3, 1);
   24873              :           if (!rtx_equal_p (x14, operands[1]))
   24874              :             return -1;
   24875              :           switch (GET_MODE (operands[0]))
   24876              :             {
   24877              :             case E_SImode:
   24878              :               if (pattern1648 (x3, 
   24879              : E_SImode) != 0
   24880              :                   || !
   24881              : #line 22918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24882              : (TARGET_BMI))
   24883              :                 return -1;
   24884              :               return 1612; /* *bmi_blsmsk_si_falsedep */
   24885              : 
   24886              :             case E_DImode:
   24887              :               if (pattern1648 (x3, 
   24888              : E_DImode) != 0
   24889              :                   || !(
   24890              : #line 22918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24891              : (TARGET_BMI) && 
   24892              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24893              : (TARGET_64BIT)))
   24894              :                 return -1;
   24895              :               return 1613; /* *bmi_blsmsk_di_falsedep */
   24896              : 
   24897              :             default:
   24898              :               return -1;
   24899              :             }
   24900              : 
   24901              :         case POPCOUNT:
   24902              :           switch (pattern235 (x1))
   24903              :             {
   24904              :             case 0:
   24905              :               if (!
   24906              : #line 23388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24907              : (TARGET_POPCNT))
   24908              :                 return -1;
   24909              :               return 1662; /* *popcountsi2_falsedep */
   24910              : 
   24911              :             case 1:
   24912              :               if (!(
   24913              : #line 23388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24914              : (TARGET_POPCNT) && 
   24915              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24916              : (TARGET_64BIT)))
   24917              :                 return -1;
   24918              :               return 1663; /* *popcountdi2_falsedep */
   24919              : 
   24920              :             default:
   24921              :               return -1;
   24922              :             }
   24923              : 
   24924              :         case MEM:
   24925              :           return recog_435 (x1, insn, pnum_clobbers);
   24926              : 
   24927              :         case REG:
   24928              :         case SUBREG:
   24929              :           operands[2] = x3;
   24930              :           if (pattern236 (x1) != 0)
   24931              :             return -1;
   24932              :           x4 = XVECEXP (x1, 0, 2);
   24933              :           if (pattern387 (x4, 
   24934              : 37) != 0)
   24935              :             return -1;
   24936              :           x5 = XEXP (x2, 0);
   24937              :           x16 = XEXP (x5, 0);
   24938              :           operands[1] = x16;
   24939              :           x7 = XVECEXP (x1, 0, 1);
   24940              :           x12 = XEXP (x7, 0);
   24941              :           operands[0] = x12;
   24942              :           x17 = XEXP (x7, 1);
   24943              :           x18 = XEXP (x17, 0);
   24944              :           if (!rtx_equal_p (x18, operands[1]))
   24945              :             return -1;
   24946              :           x19 = XEXP (x17, 1);
   24947              :           switch (XWINT (x19, 0))
   24948              :             {
   24949              :             case 8L:
   24950              :               switch (pattern1588 (x1, 
   24951              : E_DImode))
   24952              :                 {
   24953              :                 case 0:
   24954              :                   if (!(
   24955              : #line 26957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24956              : (TARGET_64BIT
   24957              :    && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])
   24958              :    && ADDR_SPACE_GENERIC_P
   24959              :         (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) && 
   24960              : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24961              : (Pmode == SImode)))
   24962              :                     return -1;
   24963              :                   return 1807; /* *strsetdi_rex_1 */
   24964              : 
   24965              :                 case 1:
   24966              :                   if (!(
   24967              : #line 26957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24968              : (TARGET_64BIT
   24969              :    && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])
   24970              :    && ADDR_SPACE_GENERIC_P
   24971              :         (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) && 
   24972              : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24973              : (Pmode == DImode)))
   24974              :                     return -1;
   24975              :                   return 1808; /* *strsetdi_rex_1 */
   24976              : 
   24977              :                 default:
   24978              :                   return -1;
   24979              :                 }
   24980              : 
   24981              :             case 4L:
   24982              :               switch (pattern1588 (x1, 
   24983              : E_SImode))
   24984              :                 {
   24985              :                 case 0:
   24986              :                   if (!(
   24987              : #line 26973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24988              : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
   24989              :    && ADDR_SPACE_GENERIC_P
   24990              :         (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) && 
   24991              : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24992              : (Pmode == SImode)))
   24993              :                     return -1;
   24994              :                   return 1809; /* *strsetsi_1 */
   24995              : 
   24996              :                 case 1:
   24997              :                   if (!(
   24998              : #line 26973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24999              : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
   25000              :    && ADDR_SPACE_GENERIC_P
   25001              :         (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) && 
   25002              : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25003              : (Pmode == DImode)))
   25004              :                     return -1;
   25005              :                   return 1810; /* *strsetsi_1 */
   25006              : 
   25007              :                 default:
   25008              :                   return -1;
   25009              :                 }
   25010              : 
   25011              :             case 2L:
   25012              :               switch (pattern1588 (x1, 
   25013              : E_HImode))
   25014              :                 {
   25015              :                 case 0:
   25016              :                   if (!(
   25017              : #line 26988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25018              : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
   25019              :    && ADDR_SPACE_GENERIC_P
   25020              :         (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) && 
   25021              : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25022              : (Pmode == SImode)))
   25023              :                     return -1;
   25024              :                   return 1811; /* *strsethi_1 */
   25025              : 
   25026              :                 case 1:
   25027              :                   if (!(
   25028              : #line 26988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25029              : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
   25030              :    && ADDR_SPACE_GENERIC_P
   25031              :         (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) && 
   25032              : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25033              : (Pmode == DImode)))
   25034              :                     return -1;
   25035              :                   return 1812; /* *strsethi_1 */
   25036              : 
   25037              :                 default:
   25038              :                   return -1;
   25039              :                 }
   25040              : 
   25041              :             case 1L:
   25042              :               switch (pattern1588 (x1, 
   25043              : E_QImode))
   25044              :                 {
   25045              :                 case 0:
   25046              :                   if (!(
   25047              : #line 27003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25048              : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
   25049              :    && ADDR_SPACE_GENERIC_P
   25050              :         (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) && 
   25051              : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25052              : (Pmode == SImode)))
   25053              :                     return -1;
   25054              :                   return 1813; /* *strsetqi_1 */
   25055              : 
   25056              :                 case 1:
   25057              :                   if (!(
   25058              : #line 27003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25059              : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
   25060              :    && ADDR_SPACE_GENERIC_P
   25061              :         (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) && 
   25062              : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25063              : (Pmode == DImode)))
   25064              :                     return -1;
   25065              :                   return 1814; /* *strsetqi_1 */
   25066              : 
   25067              :                 default:
   25068              :                   return -1;
   25069              :                 }
   25070              : 
   25071              :             default:
   25072              :               return -1;
   25073              :             }
   25074              : 
   25075              :         case MINUS:
   25076              :           x7 = XVECEXP (x1, 0, 1);
   25077              :           if (pattern237 (x7, 
   25078              : E_CCmode, 
   25079              : 17) != 0)
   25080              :             return -1;
   25081              :           x4 = XVECEXP (x1, 0, 2);
   25082              :           if (pattern231 (x4) != 0)
   25083              :             return -1;
   25084              :           x5 = XEXP (x2, 0);
   25085              :           operands[0] = x5;
   25086              :           x6 = XEXP (x3, 0);
   25087              :           operands[1] = x6;
   25088              :           x14 = XEXP (x3, 1);
   25089              :           operands[2] = x14;
   25090              :           switch (GET_MODE (operands[0]))
   25091              :             {
   25092              :             case E_SImode:
   25093              :               if (pattern572 (x3, 
   25094              : E_SImode) != 0
   25095              :                   || !
   25096              : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25097              : (Pmode == SImode))
   25098              :                 return -1;
   25099              :               return 1909; /* pro_epilogue_adjust_stack_sub_si */
   25100              : 
   25101              :             case E_DImode:
   25102              :               if (pattern572 (x3, 
   25103              : E_DImode) != 0
   25104              :                   || !
   25105              : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25106              : (Pmode == DImode))
   25107              :                 return -1;
   25108              :               return 1910; /* pro_epilogue_adjust_stack_sub_di */
   25109              : 
   25110              :             default:
   25111              :               return -1;
   25112              :             }
   25113              : 
   25114              :         case UNSPEC_VOLATILE:
   25115              :           return recog_432 (x1, insn, pnum_clobbers);
   25116              : 
   25117              :         default:
   25118              :           return -1;
   25119              :         }
   25120              : 
   25121              :     case CALL:
   25122              :       x5 = XEXP (x2, 0);
   25123              :       if (GET_CODE (x5) != MEM
   25124              :           || GET_MODE (x5) != E_QImode
   25125              :           || pattern388 (x1) != 0)
   25126              :         return -1;
   25127              :       x16 = XEXP (x5, 0);
   25128              :       operands[0] = x16;
   25129              :       if (!memory_operand (operands[0], E_SImode))
   25130              :         return -1;
   25131              :       x3 = XEXP (x2, 1);
   25132              :       operands[1] = x3;
   25133              :       x7 = XVECEXP (x1, 0, 1);
   25134              :       x17 = XEXP (x7, 1);
   25135              :       x19 = XEXP (x17, 1);
   25136              :       operands[2] = x19;
   25137              :       if (!immediate_operand (operands[2], E_SImode)
   25138              :           || !
   25139              : #line 21255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25140              : (!TARGET_64BIT && !TARGET_INDIRECT_BRANCH_REGISTER))
   25141              :         return -1;
   25142              :       return 1504; /* *sibcall_pop_memory */
   25143              : 
   25144              :     default:
   25145              :       return -1;
   25146              :     }
   25147              : }
   25148              : 
   25149              :  rtx_insn *
   25150              : split_20 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   25151              : {
   25152              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   25153              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   25154              :   rtx_insn *res ATTRIBUTE_UNUSED;
   25155              :   x2 = XVECEXP (x1, 0, 0);
   25156              :   x3 = XEXP (x2, 1);
   25157              :   x4 = XEXP (x3, 1);
   25158              :   switch (GET_CODE (x4))
   25159              :     {
   25160              :     case CONST_INT:
   25161              :     case CONST_WIDE_INT:
   25162              :     case CONST_POLY_INT:
   25163              :     case CONST_FIXED:
   25164              :     case CONST_DOUBLE:
   25165              :     case CONST_VECTOR:
   25166              :     case CONST:
   25167              :     case REG:
   25168              :     case SUBREG:
   25169              :     case MEM:
   25170              :     case LABEL_REF:
   25171              :     case SYMBOL_REF:
   25172              :     case HIGH:
   25173              :       operands[2] = x4;
   25174              :       x5 = XEXP (x2, 0);
   25175              :       switch (GET_CODE (x5))
   25176              :         {
   25177              :         case REG:
   25178              :         case SUBREG:
   25179              :         case MEM:
   25180              :           operands[0] = x5;
   25181              :           switch (GET_MODE (operands[0]))
   25182              :             {
   25183              :             case E_DImode:
   25184              :               if (pattern568 (x3, 
   25185              : E_DImode) == 0
   25186              :                   && ((
   25187              : #line 8293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25188              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)) && 
   25189              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25190              : (!TARGET_64BIT)) && 
   25191              : #line 8295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25192              : ( reload_completed)))
   25193              :                 return gen_split_174 (insn, operands);
   25194              :               break;
   25195              : 
   25196              :             case E_TImode:
   25197              :               if (pattern568 (x3, 
   25198              : E_TImode) == 0
   25199              :                   && ((
   25200              : #line 8293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25201              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) && 
   25202              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25203              : (TARGET_64BIT)) && 
   25204              : #line 8295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25205              : ( reload_completed)))
   25206              :                 return gen_split_175 (insn, operands);
   25207              :               break;
   25208              : 
   25209              :             default:
   25210              :               break;
   25211              :             }
   25212              :           break;
   25213              : 
   25214              :         case STRICT_LOW_PART:
   25215              :           switch (pattern1335 (x2))
   25216              :             {
   25217              :             case 0:
   25218              :               if ((
   25219              : #line 8441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25220              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25221              : #line 8445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25222              : ( reload_completed
   25223              :    && !(rtx_equal_p (operands[0], operands[1])))))
   25224              :                 return gen_split_178 (insn, operands);
   25225              :               break;
   25226              : 
   25227              :             case 1:
   25228              :               if ((
   25229              : #line 8441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25230              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25231              : #line 8445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25232              : ( reload_completed
   25233              :    && !(rtx_equal_p (operands[0], operands[1])))))
   25234              :                 return gen_split_179 (insn, operands);
   25235              :               break;
   25236              : 
   25237              :             default:
   25238              :               break;
   25239              :             }
   25240              :           break;
   25241              : 
   25242              :         default:
   25243              :           break;
   25244              :         }
   25245              :       if (GET_CODE (x4) != SUBREG
   25246              :           || maybe_ne (SUBREG_BYTE (x4), 0)
   25247              :           || GET_MODE (x4) != E_QImode)
   25248              :         return NULL;
   25249              :       x6 = XEXP (x4, 0);
   25250              :       switch (GET_CODE (x6))
   25251              :         {
   25252              :         case ASHIFTRT:
   25253              :         case LSHIFTRT:
   25254              :         case SIGN_EXTRACT:
   25255              :         case ZERO_EXTRACT:
   25256              :           operands[3] = x6;
   25257              :           if (GET_CODE (x5) != STRICT_LOW_PART)
   25258              :             return NULL;
   25259              :           x7 = XEXP (x5, 0);
   25260              :           operands[0] = x7;
   25261              :           if (!register_operand (operands[0], E_QImode)
   25262              :               || GET_MODE (x3) != E_QImode
   25263              :               || !nonimmediate_operand (operands[1], E_QImode))
   25264              :             return NULL;
   25265              :           x8 = XEXP (x6, 0);
   25266              :           operands[2] = x8;
   25267              :           if (!int248_register_operand (operands[2], E_VOIDmode))
   25268              :             return NULL;
   25269              :           switch (pattern1786 ())
   25270              :             {
   25271              :             case 0:
   25272              :               if (!(
   25273              : #line 8465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25274              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25275              : #line 8469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25276              : ( reload_completed
   25277              :    && !rtx_equal_p (operands[0], operands[1]))))
   25278              :                 return NULL;
   25279              :               return gen_split_180 (insn, operands);
   25280              : 
   25281              :             case 1:
   25282              :               if (!(
   25283              : #line 8465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25284              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25285              : #line 8469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25286              : ( reload_completed
   25287              :    && !rtx_equal_p (operands[0], operands[1]))))
   25288              :                 return NULL;
   25289              :               return gen_split_181 (insn, operands);
   25290              : 
   25291              :             case 2:
   25292              :               if (!((
   25293              : #line 8465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25294              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25295              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25296              : (TARGET_64BIT)) && 
   25297              : #line 8469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25298              : ( reload_completed
   25299              :    && !rtx_equal_p (operands[0], operands[1]))))
   25300              :                 return NULL;
   25301              :               return gen_split_182 (insn, operands);
   25302              : 
   25303              :             default:
   25304              :               return NULL;
   25305              :             }
   25306              : 
   25307              :         default:
   25308              :           return NULL;
   25309              :         }
   25310              : 
   25311              :     case ZERO_EXTEND:
   25312              :       switch (pattern1177 (x2))
   25313              :         {
   25314              :         case 0:
   25315              :           if (!((
   25316              : #line 8331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25317              : (ix86_binary_operator_ok (UNKNOWN, DImode, operands, TARGET_APX_NDD)) && 
   25318              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25319              : (!TARGET_64BIT)) && 
   25320              : #line 8333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25321              : ( reload_completed)))
   25322              :             return NULL;
   25323              :           return gen_split_176 (insn, operands);
   25324              : 
   25325              :         case 1:
   25326              :           if (!((
   25327              : #line 8331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25328              : (ix86_binary_operator_ok (UNKNOWN, TImode, operands, TARGET_APX_NDD)) && 
   25329              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25330              : (TARGET_64BIT)) && 
   25331              : #line 8333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25332              : ( reload_completed)))
   25333              :             return NULL;
   25334              :           return gen_split_177 (insn, operands);
   25335              : 
   25336              :         default:
   25337              :           return NULL;
   25338              :         }
   25339              : 
   25340              :     case EQ:
   25341              :       x9 = XEXP (x4, 1);
   25342              :       if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   25343              :         return NULL;
   25344              :       switch (pattern703 (x2))
   25345              :         {
   25346              :         case 0:
   25347              :           if (!(
   25348              : #line 11063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25349              : (ix86_unary_operator_ok (MINUS, QImode, operands)
   25350              :    && ix86_pre_reload_split ()) && 
   25351              : #line 11066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25352              : ( 1)))
   25353              :             return NULL;
   25354              :           return gen_split_236 (insn, operands);
   25355              : 
   25356              :         case 1:
   25357              :           if (!(
   25358              : #line 11063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25359              : (ix86_unary_operator_ok (MINUS, HImode, operands)
   25360              :    && ix86_pre_reload_split ()) && 
   25361              : #line 11066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25362              : ( 1)))
   25363              :             return NULL;
   25364              :           return gen_split_237 (insn, operands);
   25365              : 
   25366              :         case 2:
   25367              :           if (!(
   25368              : #line 11063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25369              : (ix86_unary_operator_ok (MINUS, SImode, operands)
   25370              :    && ix86_pre_reload_split ()) && 
   25371              : #line 11066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25372              : ( 1)))
   25373              :             return NULL;
   25374              :           return gen_split_238 (insn, operands);
   25375              : 
   25376              :         case 3:
   25377              :           if (!((
   25378              : #line 11063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25379              : (ix86_unary_operator_ok (MINUS, DImode, operands)
   25380              :    && ix86_pre_reload_split ()) && 
   25381              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25382              : (TARGET_64BIT)) && 
   25383              : #line 11066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25384              : ( 1)))
   25385              :             return NULL;
   25386              :           return gen_split_239 (insn, operands);
   25387              : 
   25388              :         default:
   25389              :           return NULL;
   25390              :         }
   25391              : 
   25392              :     case NE:
   25393              :       x9 = XEXP (x4, 1);
   25394              :       if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   25395              :         return NULL;
   25396              :       switch (pattern703 (x2))
   25397              :         {
   25398              :         case 0:
   25399              :           if (!(
   25400              : #line 11084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25401              : (ix86_unary_operator_ok (MINUS, QImode, operands)
   25402              :    && ix86_pre_reload_split ()) && 
   25403              : #line 11087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25404              : ( 1)))
   25405              :             return NULL;
   25406              :           return gen_split_240 (insn, operands);
   25407              : 
   25408              :         case 1:
   25409              :           if (!(
   25410              : #line 11084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25411              : (ix86_unary_operator_ok (MINUS, HImode, operands)
   25412              :    && ix86_pre_reload_split ()) && 
   25413              : #line 11087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25414              : ( 1)))
   25415              :             return NULL;
   25416              :           return gen_split_241 (insn, operands);
   25417              : 
   25418              :         case 2:
   25419              :           if (!(
   25420              : #line 11084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25421              : (ix86_unary_operator_ok (MINUS, SImode, operands)
   25422              :    && ix86_pre_reload_split ()) && 
   25423              : #line 11087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25424              : ( 1)))
   25425              :             return NULL;
   25426              :           return gen_split_242 (insn, operands);
   25427              : 
   25428              :         case 3:
   25429              :           if (!((
   25430              : #line 11084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25431              : (ix86_unary_operator_ok (MINUS, DImode, operands)
   25432              :    && ix86_pre_reload_split ()) && 
   25433              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25434              : (TARGET_64BIT)) && 
   25435              : #line 11087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25436              : ( 1)))
   25437              :             return NULL;
   25438              :           return gen_split_243 (insn, operands);
   25439              : 
   25440              :         default:
   25441              :           return NULL;
   25442              :         }
   25443              : 
   25444              :     default:
   25445              :       return NULL;
   25446              :     }
   25447              : }
   25448              : 
   25449              :  rtx_insn *
   25450              : split_29 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   25451              : {
   25452              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   25453              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   25454              :   rtx_insn *res ATTRIBUTE_UNUSED;
   25455              :   x2 = XVECEXP (x1, 0, 1);
   25456              :   if (pattern237 (x2, 
   25457              : E_CCmode, 
   25458              : 17) != 0)
   25459              :     return NULL;
   25460              :   x3 = XVECEXP (x1, 0, 0);
   25461              :   x4 = XEXP (x3, 1);
   25462              :   x5 = XEXP (x4, 0);
   25463              :   switch (GET_CODE (x5))
   25464              :     {
   25465              :     case REG:
   25466              :     case SUBREG:
   25467              :     case MEM:
   25468              :       operands[1] = x5;
   25469              :       res = split_19 (x1, insn);
   25470              :       if (res != NULL_RTX)
   25471              :         return res;
   25472              :       if (GET_CODE (x5) != SUBREG
   25473              :           || pattern1189 (x4) != 0)
   25474              :         return NULL;
   25475              :       x6 = XEXP (x5, 0);
   25476              :       x7 = XEXP (x6, 0);
   25477              :       operands[2] = x7;
   25478              :       switch (pattern1649 (x3))
   25479              :         {
   25480              :         case 0:
   25481              :           if ((
   25482              : #line 7182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25483              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25484              : #line 7186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25485              : ( reload_completed
   25486              :    && !rtx_equal_p (operands[0], operands[1]))))
   25487              :             return gen_split_122 (insn, operands);
   25488              :           break;
   25489              : 
   25490              :         case 1:
   25491              :           if ((
   25492              : #line 7182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25493              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25494              : #line 7186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25495              : ( reload_completed
   25496              :    && !rtx_equal_p (operands[0], operands[1]))))
   25497              :             return gen_split_123 (insn, operands);
   25498              :           break;
   25499              : 
   25500              :         case 2:
   25501              :           if (((
   25502              : #line 7182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25503              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25504              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25505              : (TARGET_64BIT)) && 
   25506              : #line 7186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25507              : ( reload_completed
   25508              :    && !rtx_equal_p (operands[0], operands[1]))))
   25509              :             return gen_split_124 (insn, operands);
   25510              :           break;
   25511              : 
   25512              :         default:
   25513              :           break;
   25514              :         }
   25515              :       operands[1] = x7;
   25516              :       switch (pattern1650 (x3))
   25517              :         {
   25518              :         case 0:
   25519              :           if (!(
   25520              : #line 7211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25521              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25522              : #line 7213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25523              : ( reload_completed)))
   25524              :             return NULL;
   25525              :           return gen_split_125 (insn, operands);
   25526              : 
   25527              :         case 1:
   25528              :           if (!(
   25529              : #line 7211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25530              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25531              : #line 7213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25532              : ( reload_completed)))
   25533              :             return NULL;
   25534              :           return gen_split_126 (insn, operands);
   25535              : 
   25536              :         case 2:
   25537              :           if (!((
   25538              : #line 7211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25539              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25540              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25541              : (TARGET_64BIT)) && 
   25542              : #line 7213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25543              : ( reload_completed)))
   25544              :             return NULL;
   25545              :           return gen_split_127 (insn, operands);
   25546              : 
   25547              :         case 3:
   25548              :           if (!
   25549              : #line 7685 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25550              : ( reload_completed))
   25551              :             return NULL;
   25552              :           return gen_split_140 (insn, operands);
   25553              : 
   25554              :         case 4:
   25555              :           if (!
   25556              : #line 7685 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25557              : ( reload_completed))
   25558              :             return NULL;
   25559              :           return gen_split_141 (insn, operands);
   25560              : 
   25561              :         case 5:
   25562              :           if (!(
   25563              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25564              : (TARGET_64BIT) && 
   25565              : #line 7685 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25566              : ( reload_completed)))
   25567              :             return NULL;
   25568              :           return gen_split_142 (insn, operands);
   25569              : 
   25570              :         default:
   25571              :           return NULL;
   25572              :         }
   25573              : 
   25574              :     case ZERO_EXTEND:
   25575              :       switch (pattern945 (x3))
   25576              :         {
   25577              :         case 0:
   25578              :           if (!((
   25579              : #line 6672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25580              : (ix86_binary_operator_ok (UNKNOWN, DImode, operands, TARGET_APX_NDD)) && 
   25581              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25582              : (!TARGET_64BIT)) && 
   25583              : #line 6674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25584              : ( reload_completed)))
   25585              :             return NULL;
   25586              :           return gen_split_106 (insn, operands);
   25587              : 
   25588              :         case 1:
   25589              :           if (!((
   25590              : #line 6672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25591              : (ix86_binary_operator_ok (UNKNOWN, TImode, operands, TARGET_APX_NDD)) && 
   25592              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25593              : (TARGET_64BIT)) && 
   25594              : #line 6674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25595              : ( reload_completed)))
   25596              :             return NULL;
   25597              :           return gen_split_107 (insn, operands);
   25598              : 
   25599              :         default:
   25600              :           return NULL;
   25601              :         }
   25602              : 
   25603              :     case PLUS:
   25604              :       x8 = XEXP (x3, 0);
   25605              :       operands[0] = x8;
   25606              :       x6 = XEXP (x5, 0);
   25607              :       switch (GET_CODE (x6))
   25608              :         {
   25609              :         case ASHIFT:
   25610              :           switch (pattern1169 (x4))
   25611              :             {
   25612              :             case 0:
   25613              :               if (!((
   25614              : #line 6707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25615              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
   25616              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25617              : (!TARGET_64BIT)) && 
   25618              : #line 6709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25619              : ( reload_completed)))
   25620              :                 return NULL;
   25621              :               return gen_split_108 (insn, operands);
   25622              : 
   25623              :             case 1:
   25624              :               if (!((
   25625              : #line 6707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25626              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
   25627              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25628              : (TARGET_64BIT)) && 
   25629              : #line 6709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25630              : ( reload_completed)))
   25631              :                 return NULL;
   25632              :               return gen_split_111 (insn, operands);
   25633              : 
   25634              :             case 2:
   25635              :               if (!((
   25636              : #line 6738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25637              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
   25638              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25639              : (!TARGET_64BIT)) && 
   25640              : #line 6740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25641              : ( reload_completed)))
   25642              :                 return NULL;
   25643              :               return gen_split_114 (insn, operands);
   25644              : 
   25645              :             case 3:
   25646              :               if (!((
   25647              : #line 6738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25648              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
   25649              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25650              : (TARGET_64BIT)) && 
   25651              : #line 6740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25652              : ( reload_completed)))
   25653              :                 return NULL;
   25654              :               return gen_split_117 (insn, operands);
   25655              : 
   25656              :             default:
   25657              :               return NULL;
   25658              :             }
   25659              : 
   25660              :         case EQ:
   25661              :           switch (pattern1172 (x4))
   25662              :             {
   25663              :             case 0:
   25664              :               if (!(
   25665              : #line 10892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25666              : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
   25667              :    && ix86_pre_reload_split ()) && 
   25668              : #line 10895 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25669              : ( 1)))
   25670              :                 return NULL;
   25671              :               return gen_split_208 (insn, operands);
   25672              : 
   25673              :             case 1:
   25674              :               if (!(
   25675              : #line 10892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25676              : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
   25677              :    && ix86_pre_reload_split ()) && 
   25678              : #line 10895 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25679              : ( 1)))
   25680              :                 return NULL;
   25681              :               return gen_split_209 (insn, operands);
   25682              : 
   25683              :             case 2:
   25684              :               if (!(
   25685              : #line 10892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25686              : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
   25687              :    && ix86_pre_reload_split ()) && 
   25688              : #line 10895 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25689              : ( 1)))
   25690              :                 return NULL;
   25691              :               return gen_split_210 (insn, operands);
   25692              : 
   25693              :             case 3:
   25694              :               if (!((
   25695              : #line 10892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25696              : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
   25697              :    && ix86_pre_reload_split ()) && 
   25698              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25699              : (TARGET_64BIT)) && 
   25700              : #line 10895 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25701              : ( 1)))
   25702              :                 return NULL;
   25703              :               return gen_split_211 (insn, operands);
   25704              : 
   25705              :             default:
   25706              :               return NULL;
   25707              :             }
   25708              : 
   25709              :         case NE:
   25710              :           switch (pattern1175 (x4))
   25711              :             {
   25712              :             case 0:
   25713              :               if (!(
   25714              : #line 10913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25715              : (CONST_INT_P (operands[2])
   25716              :    && (QImode != DImode
   25717              :        || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
   25718              :    && ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
   25719              :    && ix86_pre_reload_split ()) && 
   25720              : #line 10919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25721              : ( 1)))
   25722              :                 return NULL;
   25723              :               return gen_split_212 (insn, operands);
   25724              : 
   25725              :             case 1:
   25726              :               if (!(
   25727              : #line 10913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25728              : (CONST_INT_P (operands[2])
   25729              :    && (HImode != DImode
   25730              :        || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
   25731              :    && ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
   25732              :    && ix86_pre_reload_split ()) && 
   25733              : #line 10919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25734              : ( 1)))
   25735              :                 return NULL;
   25736              :               return gen_split_213 (insn, operands);
   25737              : 
   25738              :             case 2:
   25739              :               if (!(
   25740              : #line 10913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25741              : (CONST_INT_P (operands[2])
   25742              :    && (SImode != DImode
   25743              :        || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
   25744              :    && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
   25745              :    && ix86_pre_reload_split ()) && 
   25746              : #line 10919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25747              : ( 1)))
   25748              :                 return NULL;
   25749              :               return gen_split_214 (insn, operands);
   25750              : 
   25751              :             case 3:
   25752              :               if (!((
   25753              : #line 10913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25754              : (CONST_INT_P (operands[2])
   25755              :    && (DImode != DImode
   25756              :        || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
   25757              :    && ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
   25758              :    && ix86_pre_reload_split ()) && 
   25759              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25760              : (TARGET_64BIT)) && 
   25761              : #line 10919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25762              : ( 1)))
   25763              :                 return NULL;
   25764              :               return gen_split_215 (insn, operands);
   25765              : 
   25766              :             default:
   25767              :               return NULL;
   25768              :             }
   25769              : 
   25770              :         default:
   25771              :           return NULL;
   25772              :         }
   25773              : 
   25774              :     case IOR:
   25775              :       switch (pattern1069 (x3))
   25776              :         {
   25777              :         case 0:
   25778              :           if (!((
   25779              : #line 6707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25780              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
   25781              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25782              : (!TARGET_64BIT)) && 
   25783              : #line 6709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25784              : ( reload_completed)))
   25785              :             return NULL;
   25786              :           return gen_split_109 (insn, operands);
   25787              : 
   25788              :         case 1:
   25789              :           if (!((
   25790              : #line 6707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25791              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
   25792              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25793              : (TARGET_64BIT)) && 
   25794              : #line 6709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25795              : ( reload_completed)))
   25796              :             return NULL;
   25797              :           return gen_split_112 (insn, operands);
   25798              : 
   25799              :         case 2:
   25800              :           if (!((
   25801              : #line 6738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25802              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
   25803              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25804              : (!TARGET_64BIT)) && 
   25805              : #line 6740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25806              : ( reload_completed)))
   25807              :             return NULL;
   25808              :           return gen_split_115 (insn, operands);
   25809              : 
   25810              :         case 3:
   25811              :           if (!((
   25812              : #line 6738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25813              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
   25814              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25815              : (TARGET_64BIT)) && 
   25816              : #line 6740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25817              : ( reload_completed)))
   25818              :             return NULL;
   25819              :           return gen_split_118 (insn, operands);
   25820              : 
   25821              :         default:
   25822              :           return NULL;
   25823              :         }
   25824              : 
   25825              :     case XOR:
   25826              :       switch (pattern1069 (x3))
   25827              :         {
   25828              :         case 0:
   25829              :           if (!((
   25830              : #line 6707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25831              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
   25832              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25833              : (!TARGET_64BIT)) && 
   25834              : #line 6709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25835              : ( reload_completed)))
   25836              :             return NULL;
   25837              :           return gen_split_110 (insn, operands);
   25838              : 
   25839              :         case 1:
   25840              :           if (!((
   25841              : #line 6707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25842              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
   25843              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25844              : (TARGET_64BIT)) && 
   25845              : #line 6709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25846              : ( reload_completed)))
   25847              :             return NULL;
   25848              :           return gen_split_113 (insn, operands);
   25849              : 
   25850              :         case 2:
   25851              :           if (!((
   25852              : #line 6738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25853              : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) && 
   25854              : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25855              : (!TARGET_64BIT)) && 
   25856              : #line 6740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25857              : ( reload_completed)))
   25858              :             return NULL;
   25859              :           return gen_split_116 (insn, operands);
   25860              : 
   25861              :         case 3:
   25862              :           if (!((
   25863              : #line 6738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25864              : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
   25865              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25866              : (TARGET_64BIT)) && 
   25867              : #line 6740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25868              : ( reload_completed)))
   25869              :             return NULL;
   25870              :           return gen_split_119 (insn, operands);
   25871              : 
   25872              :         default:
   25873              :           return NULL;
   25874              :         }
   25875              : 
   25876              :     case EQ:
   25877              :       x9 = XEXP (x5, 1);
   25878              :       if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   25879              :         return NULL;
   25880              :       switch (pattern365 (x3))
   25881              :         {
   25882              :         case 0:
   25883              :           if (!(
   25884              : #line 10939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25885              : (ix86_unary_operator_ok (PLUS, QImode, operands)
   25886              :    && ix86_pre_reload_split ()) && 
   25887              : #line 10942 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25888              : ( 1)))
   25889              :             return NULL;
   25890              :           return gen_split_216 (insn, operands);
   25891              : 
   25892              :         case 1:
   25893              :           if (!(
   25894              : #line 10939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25895              : (ix86_unary_operator_ok (PLUS, HImode, operands)
   25896              :    && ix86_pre_reload_split ()) && 
   25897              : #line 10942 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25898              : ( 1)))
   25899              :             return NULL;
   25900              :           return gen_split_217 (insn, operands);
   25901              : 
   25902              :         case 2:
   25903              :           if (!(
   25904              : #line 10939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25905              : (ix86_unary_operator_ok (PLUS, SImode, operands)
   25906              :    && ix86_pre_reload_split ()) && 
   25907              : #line 10942 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25908              : ( 1)))
   25909              :             return NULL;
   25910              :           return gen_split_218 (insn, operands);
   25911              : 
   25912              :         case 3:
   25913              :           if (!((
   25914              : #line 10939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25915              : (ix86_unary_operator_ok (PLUS, DImode, operands)
   25916              :    && ix86_pre_reload_split ()) && 
   25917              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25918              : (TARGET_64BIT)) && 
   25919              : #line 10942 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25920              : ( 1)))
   25921              :             return NULL;
   25922              :           return gen_split_219 (insn, operands);
   25923              : 
   25924              :         default:
   25925              :           return NULL;
   25926              :         }
   25927              : 
   25928              :     case NE:
   25929              :       x9 = XEXP (x5, 1);
   25930              :       if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   25931              :         return NULL;
   25932              :       switch (pattern365 (x3))
   25933              :         {
   25934              :         case 0:
   25935              :           if (!(
   25936              : #line 10960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25937              : (ix86_unary_operator_ok (PLUS, QImode, operands)
   25938              :    && ix86_pre_reload_split ()) && 
   25939              : #line 10963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25940              : ( 1)))
   25941              :             return NULL;
   25942              :           return gen_split_220 (insn, operands);
   25943              : 
   25944              :         case 1:
   25945              :           if (!(
   25946              : #line 10960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25947              : (ix86_unary_operator_ok (PLUS, HImode, operands)
   25948              :    && ix86_pre_reload_split ()) && 
   25949              : #line 10963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25950              : ( 1)))
   25951              :             return NULL;
   25952              :           return gen_split_221 (insn, operands);
   25953              : 
   25954              :         case 2:
   25955              :           if (!(
   25956              : #line 10960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25957              : (ix86_unary_operator_ok (PLUS, SImode, operands)
   25958              :    && ix86_pre_reload_split ()) && 
   25959              : #line 10963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25960              : ( 1)))
   25961              :             return NULL;
   25962              :           return gen_split_222 (insn, operands);
   25963              : 
   25964              :         case 3:
   25965              :           if (!((
   25966              : #line 10960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25967              : (ix86_unary_operator_ok (PLUS, DImode, operands)
   25968              :    && ix86_pre_reload_split ()) && 
   25969              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25970              : (TARGET_64BIT)) && 
   25971              : #line 10963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25972              : ( 1)))
   25973              :             return NULL;
   25974              :           return gen_split_223 (insn, operands);
   25975              : 
   25976              :         default:
   25977              :           return NULL;
   25978              :         }
   25979              : 
   25980              :     case MINUS:
   25981              :       switch (pattern949 (x3))
   25982              :         {
   25983              :         case 0:
   25984              :           if (!(
   25985              : #line 11008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25986              : (CONST_INT_P (operands[2])
   25987              :    && (QImode != DImode
   25988              :        || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
   25989              :    && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
   25990              :    && ix86_pre_reload_split ()) && 
   25991              : #line 11014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25992              : ( 1)))
   25993              :             return NULL;
   25994              :           return gen_split_228 (insn, operands);
   25995              : 
   25996              :         case 1:
   25997              :           if (!(
   25998              : #line 11008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25999              : (CONST_INT_P (operands[2])
   26000              :    && (HImode != DImode
   26001              :        || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
   26002              :    && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
   26003              :    && ix86_pre_reload_split ()) && 
   26004              : #line 11014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26005              : ( 1)))
   26006              :             return NULL;
   26007              :           return gen_split_229 (insn, operands);
   26008              : 
   26009              :         case 2:
   26010              :           if (!(
   26011              : #line 11008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26012              : (CONST_INT_P (operands[2])
   26013              :    && (SImode != DImode
   26014              :        || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
   26015              :    && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
   26016              :    && ix86_pre_reload_split ()) && 
   26017              : #line 11014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26018              : ( 1)))
   26019              :             return NULL;
   26020              :           return gen_split_230 (insn, operands);
   26021              : 
   26022              :         case 3:
   26023              :           if (!((
   26024              : #line 11008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26025              : (CONST_INT_P (operands[2])
   26026              :    && (DImode != DImode
   26027              :        || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
   26028              :    && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
   26029              :    && ix86_pre_reload_split ()) && 
   26030              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26031              : (TARGET_64BIT)) && 
   26032              : #line 11014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26033              : ( 1)))
   26034              :             return NULL;
   26035              :           return gen_split_231 (insn, operands);
   26036              : 
   26037              :         case 4:
   26038              :           if (!(
   26039              : #line 11037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26040              : (CONST_INT_P (operands[2])
   26041              :    && (QImode != DImode
   26042              :        || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
   26043              :    && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
   26044              :    && ix86_pre_reload_split ()) && 
   26045              : #line 11043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26046              : ( 1)))
   26047              :             return NULL;
   26048              :           return gen_split_232 (insn, operands);
   26049              : 
   26050              :         case 5:
   26051              :           if (!(
   26052              : #line 11037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26053              : (CONST_INT_P (operands[2])
   26054              :    && (HImode != DImode
   26055              :        || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
   26056              :    && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
   26057              :    && ix86_pre_reload_split ()) && 
   26058              : #line 11043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26059              : ( 1)))
   26060              :             return NULL;
   26061              :           return gen_split_233 (insn, operands);
   26062              : 
   26063              :         case 6:
   26064              :           if (!(
   26065              : #line 11037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26066              : (CONST_INT_P (operands[2])
   26067              :    && (SImode != DImode
   26068              :        || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
   26069              :    && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
   26070              :    && ix86_pre_reload_split ()) && 
   26071              : #line 11043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26072              : ( 1)))
   26073              :             return NULL;
   26074              :           return gen_split_234 (insn, operands);
   26075              : 
   26076              :         case 7:
   26077              :           if (!((
   26078              : #line 11037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26079              : (CONST_INT_P (operands[2])
   26080              :    && (DImode != DImode
   26081              :        || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
   26082              :    && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
   26083              :    && ix86_pre_reload_split ()) && 
   26084              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26085              : (TARGET_64BIT)) && 
   26086              : #line 11043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26087              : ( 1)))
   26088              :             return NULL;
   26089              :           return gen_split_235 (insn, operands);
   26090              : 
   26091              :         default:
   26092              :           return NULL;
   26093              :         }
   26094              : 
   26095              :     case UNSPEC:
   26096              :       switch (pattern953 (x3))
   26097              :         {
   26098              :         case 0:
   26099              :           if (!
   26100              : #line 1439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26101              : (ptr_mode == SImode))
   26102              :             return NULL;
   26103              :           return gen_split_928 (insn, operands);
   26104              : 
   26105              :         case 1:
   26106              :           if (!
   26107              : #line 1439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26108              : (ptr_mode == DImode))
   26109              :             return NULL;
   26110              :           return gen_split_929 (insn, operands);
   26111              : 
   26112              :         case 2:
   26113              :           if (!(
   26114              : #line 24353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26115              : (!TARGET_64BIT && TARGET_GNU2_TLS) && 
   26116              : #line 24355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26117              : ( 1)))
   26118              :             return NULL;
   26119              :           return gen_split_931 (insn, operands);
   26120              : 
   26121              :         case 3:
   26122              :           if (!((
   26123              : #line 24416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26124              : (TARGET_64BIT && TARGET_GNU2_TLS) && 
   26125              : #line 1439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26126              : (ptr_mode == SImode)) && 
   26127              : #line 24418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26128              : ( 1)))
   26129              :             return NULL;
   26130              :           return gen_split_932 (insn, operands);
   26131              : 
   26132              :         case 4:
   26133              :           if (!((
   26134              : #line 24416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26135              : (TARGET_64BIT && TARGET_GNU2_TLS) && 
   26136              : #line 1439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26137              : (ptr_mode == DImode)) && 
   26138              : #line 24418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26139              : ( 1)))
   26140              :             return NULL;
   26141              :           return gen_split_933 (insn, operands);
   26142              : 
   26143              :         default:
   26144              :           return NULL;
   26145              :         }
   26146              : 
   26147              :     default:
   26148              :       return NULL;
   26149              :     }
   26150              : }
   26151              : 
   26152              :  rtx_insn *
   26153              : split_44 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   26154              : {
   26155              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   26156              :   rtx x2, x3, x4, x5, x6, x7, x8;
   26157              :   rtx_insn *res ATTRIBUTE_UNUSED;
   26158              :   x2 = XEXP (x1, 1);
   26159              :   switch (XVECLEN (x2, 0))
   26160              :     {
   26161              :     case 3:
   26162              :       x3 = XEXP (x1, 0);
   26163              :       operands[0] = x3;
   26164              :       switch (XINT (x2, 1))
   26165              :         {
   26166              :         case 52:
   26167              :           x4 = XVECEXP (x2, 0, 0);
   26168              :           operands[1] = x4;
   26169              :           x5 = XVECEXP (x2, 0, 1);
   26170              :           operands[2] = x5;
   26171              :           x6 = XVECEXP (x2, 0, 2);
   26172              :           switch (GET_CODE (x6))
   26173              :             {
   26174              :             case LT:
   26175              :               switch (pattern743 (x2))
   26176              :                 {
   26177              :                 case 0:
   26178              :                   if ((
   26179              : #line 27942 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26180              : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
   26181              :   && (rtx_equal_p (operands[1], operands[3])
   26182              :       && rtx_equal_p (operands[2], operands[4]))
   26183              :   && ix86_pre_reload_split ()) && 
   26184              : #line 27947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26185              : ( 1)))
   26186              :                     return gen_split_963 (insn, operands);
   26187              :                   if (!(
   26188              : #line 27963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26189              : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
   26190              :   && (rtx_equal_p (operands[1], operands[4])
   26191              :       && rtx_equal_p (operands[2], operands[3]))
   26192              :   && ix86_pre_reload_split ()) && 
   26193              : #line 27968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26194              : ( 1)))
   26195              :                     return NULL;
   26196              :                   return gen_split_965 (insn, operands);
   26197              : 
   26198              :                 case 1:
   26199              :                   if ((
   26200              : #line 27942 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26201              : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
   26202              :   && (rtx_equal_p (operands[1], operands[3])
   26203              :       && rtx_equal_p (operands[2], operands[4]))
   26204              :   && ix86_pre_reload_split ()) && 
   26205              : #line 27947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26206              : ( 1)))
   26207              :                     return gen_split_964 (insn, operands);
   26208              :                   if (!(
   26209              : #line 27963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26210              : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
   26211              :   && (rtx_equal_p (operands[1], operands[4])
   26212              :       && rtx_equal_p (operands[2], operands[3]))
   26213              :   && ix86_pre_reload_split ()) && 
   26214              : #line 27968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26215              : ( 1)))
   26216              :                     return NULL;
   26217              :                   return gen_split_966 (insn, operands);
   26218              : 
   26219              :                 default:
   26220              :                   return NULL;
   26221              :                 }
   26222              : 
   26223              :             case EQ:
   26224              :               switch (pattern745 (x2))
   26225              :                 {
   26226              :                 case 0:
   26227              :                   if (!(
   26228              : #line 4371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26229              : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()) && 
   26230              : #line 4373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26231              : ( 1)))
   26232              :                     return NULL;
   26233              :                   return gen_split_1104 (insn, operands);
   26234              : 
   26235              :                 case 1:
   26236              :                   if (!(
   26237              : #line 4448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26238              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   26239              : #line 4450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26240              : ( 1)))
   26241              :                     return NULL;
   26242              :                   return gen_split_1107 (insn, operands);
   26243              : 
   26244              :                 case 2:
   26245              :                   if (!(
   26246              : #line 4448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26247              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   26248              : #line 4450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26249              : ( 1)))
   26250              :                     return NULL;
   26251              :                   return gen_split_1108 (insn, operands);
   26252              : 
   26253              :                 case 3:
   26254              :                   if (!(
   26255              : #line 4448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26256              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   26257              : #line 4450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26258              : ( 1)))
   26259              :                     return NULL;
   26260              :                   return gen_split_1109 (insn, operands);
   26261              : 
   26262              :                 default:
   26263              :                   return NULL;
   26264              :                 }
   26265              : 
   26266              :             case SUBREG:
   26267              :               switch (pattern860 (x2))
   26268              :                 {
   26269              :                 case 0:
   26270              :                   if (!(
   26271              : #line 4399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26272              : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()) && 
   26273              : #line 4401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26274              : ( 1)))
   26275              :                     return NULL;
   26276              :                   return gen_split_1105 (insn, operands);
   26277              : 
   26278              :                 case 1:
   26279              :                   if (!(
   26280              : #line 4399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26281              : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()) && 
   26282              : #line 4401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26283              : ( 1)))
   26284              :                     return NULL;
   26285              :                   return gen_split_1106 (insn, operands);
   26286              : 
   26287              :                 case 2:
   26288              :                   if (!(
   26289              : #line 4476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26290              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   26291              : #line 4478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26292              : ( 1)))
   26293              :                     return NULL;
   26294              :                   return gen_split_1110 (insn, operands);
   26295              : 
   26296              :                 default:
   26297              :                   return NULL;
   26298              :                 }
   26299              : 
   26300              :             default:
   26301              :               return NULL;
   26302              :             }
   26303              : 
   26304              :         case 60:
   26305              :           switch (pattern602 (x2))
   26306              :             {
   26307              :             case 0:
   26308              :               if (!((
   26309              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26310              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26311              :    && rtx_equal_p (operands[1], operands[2])
   26312              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26313              : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26314              : (TARGET_AVX512BW)) && 
   26315              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26316              : ( 1)))
   26317              :                 return NULL;
   26318              :               return gen_split_1490 (insn, operands);
   26319              : 
   26320              :             case 1:
   26321              :               if (!((
   26322              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26323              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26324              :    && rtx_equal_p (operands[1], operands[2])
   26325              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26326              : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26327              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
   26328              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26329              : ( 1)))
   26330              :                 return NULL;
   26331              :               return gen_split_1492 (insn, operands);
   26332              : 
   26333              :             case 2:
   26334              :               if (!((
   26335              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26336              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26337              :    && rtx_equal_p (operands[1], operands[2])
   26338              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26339              : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26340              : (TARGET_AVX512BW)) && 
   26341              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26342              : ( 1)))
   26343              :                 return NULL;
   26344              :               return gen_split_1496 (insn, operands);
   26345              : 
   26346              :             case 3:
   26347              :               if (!((
   26348              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26349              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26350              :    && rtx_equal_p (operands[1], operands[2])
   26351              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26352              : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26353              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
   26354              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26355              : ( 1)))
   26356              :                 return NULL;
   26357              :               return gen_split_1494 (insn, operands);
   26358              : 
   26359              :             case 4:
   26360              :               if (!((
   26361              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26362              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26363              :    && rtx_equal_p (operands[1], operands[2])
   26364              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26365              : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26366              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
   26367              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26368              : ( 1)))
   26369              :                 return NULL;
   26370              :               return gen_split_1498 (insn, operands);
   26371              : 
   26372              :             case 5:
   26373              :               if (!(
   26374              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26375              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26376              :    && rtx_equal_p (operands[1], operands[2])
   26377              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26378              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26379              : ( 1)))
   26380              :                 return NULL;
   26381              :               return gen_split_1502 (insn, operands);
   26382              : 
   26383              :             case 6:
   26384              :               if (!((
   26385              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26386              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26387              :    && rtx_equal_p (operands[1], operands[2])
   26388              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26389              : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26390              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
   26391              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26392              : ( 1)))
   26393              :                 return NULL;
   26394              :               return gen_split_1500 (insn, operands);
   26395              : 
   26396              :             case 7:
   26397              :               if (!((
   26398              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26399              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26400              :    && rtx_equal_p (operands[1], operands[2])
   26401              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26402              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26403              : (TARGET_AVX512VL)) && 
   26404              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26405              : ( 1)))
   26406              :                 return NULL;
   26407              :               return gen_split_1504 (insn, operands);
   26408              : 
   26409              :             case 8:
   26410              :               if (!((
   26411              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26412              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26413              :    && rtx_equal_p (operands[1], operands[2])
   26414              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26415              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26416              : (TARGET_AVX512VL)) && 
   26417              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26418              : ( 1)))
   26419              :                 return NULL;
   26420              :               return gen_split_1506 (insn, operands);
   26421              : 
   26422              :             case 9:
   26423              :               if (!(
   26424              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26425              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26426              :    && rtx_equal_p (operands[1], operands[2])
   26427              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26428              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26429              : ( 1)))
   26430              :                 return NULL;
   26431              :               return gen_split_1508 (insn, operands);
   26432              : 
   26433              :             case 10:
   26434              :               if (!((
   26435              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26436              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26437              :    && rtx_equal_p (operands[1], operands[2])
   26438              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26439              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26440              : (TARGET_AVX512VL)) && 
   26441              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26442              : ( 1)))
   26443              :                 return NULL;
   26444              :               return gen_split_1510 (insn, operands);
   26445              : 
   26446              :             case 11:
   26447              :               if (!((
   26448              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26449              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26450              :    && rtx_equal_p (operands[1], operands[2])
   26451              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26452              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26453              : (TARGET_AVX512VL)) && 
   26454              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26455              : ( 1)))
   26456              :                 return NULL;
   26457              :               return gen_split_1512 (insn, operands);
   26458              : 
   26459              :             case 12:
   26460              :               if (!(
   26461              : #line 5193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26462              : (TARGET_AVX512BW && ix86_pre_reload_split ()
   26463              :   && ix86_binary_operator_ok (US_MINUS, V64QImode, operands)
   26464              :   && (INTVAL (operands[4]) & 3) == 0) && 
   26465              : #line 5197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26466              : ( 1)))
   26467              :                 return NULL;
   26468              :               return gen_split_1556 (insn, operands);
   26469              : 
   26470              :             case 13:
   26471              :               if (!((
   26472              : #line 5193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26473              : (TARGET_AVX512BW && ix86_pre_reload_split ()
   26474              :   && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)
   26475              :   && (INTVAL (operands[4]) & 3) == 0) && 
   26476              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26477              : (TARGET_AVX512VL)) && 
   26478              : #line 5197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26479              : ( 1)))
   26480              :                 return NULL;
   26481              :               return gen_split_1558 (insn, operands);
   26482              : 
   26483              :             case 14:
   26484              :               if (!((
   26485              : #line 5193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26486              : (TARGET_AVX512BW && ix86_pre_reload_split ()
   26487              :   && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)
   26488              :   && (INTVAL (operands[4]) & 3) == 0) && 
   26489              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26490              : (TARGET_AVX512VL)) && 
   26491              : #line 5197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26492              : ( 1)))
   26493              :                 return NULL;
   26494              :               return gen_split_1564 (insn, operands);
   26495              : 
   26496              :             case 15:
   26497              :               if (!((
   26498              : #line 5193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26499              : (TARGET_AVX512BW && ix86_pre_reload_split ()
   26500              :   && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)
   26501              :   && (INTVAL (operands[4]) & 3) == 0) && 
   26502              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26503              : (TARGET_AVX512VL)) && 
   26504              : #line 5197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26505              : ( 1)))
   26506              :                 return NULL;
   26507              :               return gen_split_1560 (insn, operands);
   26508              : 
   26509              :             case 16:
   26510              :               if (!(
   26511              : #line 5193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26512              : (TARGET_AVX512BW && ix86_pre_reload_split ()
   26513              :   && ix86_binary_operator_ok (US_MINUS, V32HImode, operands)
   26514              :   && (INTVAL (operands[4]) & 3) == 0) && 
   26515              : #line 5197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26516              : ( 1)))
   26517              :                 return NULL;
   26518              :               return gen_split_1562 (insn, operands);
   26519              : 
   26520              :             case 17:
   26521              :               if (!((
   26522              : #line 5193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26523              : (TARGET_AVX512BW && ix86_pre_reload_split ()
   26524              :   && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)
   26525              :   && (INTVAL (operands[4]) & 3) == 0) && 
   26526              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26527              : (TARGET_AVX512VL)) && 
   26528              : #line 5197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26529              : ( 1)))
   26530              :                 return NULL;
   26531              :               return gen_split_1566 (insn, operands);
   26532              : 
   26533              :             default:
   26534              :               return NULL;
   26535              :             }
   26536              : 
   26537              :         case 158:
   26538              :           switch (pattern602 (x2))
   26539              :             {
   26540              :             case 0:
   26541              :               if (!((
   26542              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26543              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26544              :    && rtx_equal_p (operands[1], operands[2])
   26545              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26546              : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26547              : (TARGET_AVX512BW)) && 
   26548              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26549              : ( 1)))
   26550              :                 return NULL;
   26551              :               return gen_split_1491 (insn, operands);
   26552              : 
   26553              :             case 1:
   26554              :               if (!((
   26555              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26556              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26557              :    && rtx_equal_p (operands[1], operands[2])
   26558              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26559              : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26560              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
   26561              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26562              : ( 1)))
   26563              :                 return NULL;
   26564              :               return gen_split_1493 (insn, operands);
   26565              : 
   26566              :             case 2:
   26567              :               if (!((
   26568              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26569              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26570              :    && rtx_equal_p (operands[1], operands[2])
   26571              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26572              : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26573              : (TARGET_AVX512BW)) && 
   26574              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26575              : ( 1)))
   26576              :                 return NULL;
   26577              :               return gen_split_1497 (insn, operands);
   26578              : 
   26579              :             case 3:
   26580              :               if (!((
   26581              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26582              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26583              :    && rtx_equal_p (operands[1], operands[2])
   26584              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26585              : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26586              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
   26587              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26588              : ( 1)))
   26589              :                 return NULL;
   26590              :               return gen_split_1495 (insn, operands);
   26591              : 
   26592              :             case 4:
   26593              :               if (!((
   26594              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26595              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26596              :    && rtx_equal_p (operands[1], operands[2])
   26597              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26598              : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26599              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
   26600              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26601              : ( 1)))
   26602              :                 return NULL;
   26603              :               return gen_split_1499 (insn, operands);
   26604              : 
   26605              :             case 5:
   26606              :               if (!(
   26607              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26608              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26609              :    && rtx_equal_p (operands[1], operands[2])
   26610              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26611              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26612              : ( 1)))
   26613              :                 return NULL;
   26614              :               return gen_split_1503 (insn, operands);
   26615              : 
   26616              :             case 6:
   26617              :               if (!((
   26618              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26619              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26620              :    && rtx_equal_p (operands[1], operands[2])
   26621              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26622              : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26623              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
   26624              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26625              : ( 1)))
   26626              :                 return NULL;
   26627              :               return gen_split_1501 (insn, operands);
   26628              : 
   26629              :             case 7:
   26630              :               if (!((
   26631              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26632              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26633              :    && rtx_equal_p (operands[1], operands[2])
   26634              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26635              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26636              : (TARGET_AVX512VL)) && 
   26637              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26638              : ( 1)))
   26639              :                 return NULL;
   26640              :               return gen_split_1505 (insn, operands);
   26641              : 
   26642              :             case 8:
   26643              :               if (!((
   26644              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26645              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26646              :    && rtx_equal_p (operands[1], operands[2])
   26647              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26648              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26649              : (TARGET_AVX512VL)) && 
   26650              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26651              : ( 1)))
   26652              :                 return NULL;
   26653              :               return gen_split_1507 (insn, operands);
   26654              : 
   26655              :             case 9:
   26656              :               if (!(
   26657              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26658              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26659              :    && rtx_equal_p (operands[1], operands[2])
   26660              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26661              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26662              : ( 1)))
   26663              :                 return NULL;
   26664              :               return gen_split_1509 (insn, operands);
   26665              : 
   26666              :             case 10:
   26667              :               if (!((
   26668              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26669              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26670              :    && rtx_equal_p (operands[1], operands[2])
   26671              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26672              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26673              : (TARGET_AVX512VL)) && 
   26674              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26675              : ( 1)))
   26676              :                 return NULL;
   26677              :               return gen_split_1511 (insn, operands);
   26678              : 
   26679              :             case 11:
   26680              :               if (!((
   26681              : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26682              : (TARGET_AVX512F && ix86_pre_reload_split ()
   26683              :    && rtx_equal_p (operands[1], operands[2])
   26684              :    && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) && 
   26685              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26686              : (TARGET_AVX512VL)) && 
   26687              : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26688              : ( 1)))
   26689              :                 return NULL;
   26690              :               return gen_split_1513 (insn, operands);
   26691              : 
   26692              :             case 12:
   26693              :               if (!(
   26694              : #line 5193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26695              : (TARGET_AVX512BW && ix86_pre_reload_split ()
   26696              :   && ix86_binary_operator_ok (US_MINUS, V64QImode, operands)
   26697              :   && (INTVAL (operands[4]) & 1) == 0) && 
   26698              : #line 5197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26699              : ( 1)))
   26700              :                 return NULL;
   26701              :               return gen_split_1557 (insn, operands);
   26702              : 
   26703              :             case 13:
   26704              :               if (!((
   26705              : #line 5193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26706              : (TARGET_AVX512BW && ix86_pre_reload_split ()
   26707              :   && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)
   26708              :   && (INTVAL (operands[4]) & 1) == 0) && 
   26709              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26710              : (TARGET_AVX512VL)) && 
   26711              : #line 5197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26712              : ( 1)))
   26713              :                 return NULL;
   26714              :               return gen_split_1559 (insn, operands);
   26715              : 
   26716              :             case 14:
   26717              :               if (!((
   26718              : #line 5193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26719              : (TARGET_AVX512BW && ix86_pre_reload_split ()
   26720              :   && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)
   26721              :   && (INTVAL (operands[4]) & 1) == 0) && 
   26722              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26723              : (TARGET_AVX512VL)) && 
   26724              : #line 5197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26725              : ( 1)))
   26726              :                 return NULL;
   26727              :               return gen_split_1565 (insn, operands);
   26728              : 
   26729              :             case 15:
   26730              :               if (!((
   26731              : #line 5193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26732              : (TARGET_AVX512BW && ix86_pre_reload_split ()
   26733              :   && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)
   26734              :   && (INTVAL (operands[4]) & 1) == 0) && 
   26735              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26736              : (TARGET_AVX512VL)) && 
   26737              : #line 5197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26738              : ( 1)))
   26739              :                 return NULL;
   26740              :               return gen_split_1561 (insn, operands);
   26741              : 
   26742              :             case 16:
   26743              :               if (!(
   26744              : #line 5193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26745              : (TARGET_AVX512BW && ix86_pre_reload_split ()
   26746              :   && ix86_binary_operator_ok (US_MINUS, V32HImode, operands)
   26747              :   && (INTVAL (operands[4]) & 1) == 0) && 
   26748              : #line 5197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26749              : ( 1)))
   26750              :                 return NULL;
   26751              :               return gen_split_1563 (insn, operands);
   26752              : 
   26753              :             case 17:
   26754              :               if (!((
   26755              : #line 5193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26756              : (TARGET_AVX512BW && ix86_pre_reload_split ()
   26757              :   && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)
   26758              :   && (INTVAL (operands[4]) & 1) == 0) && 
   26759              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26760              : (TARGET_AVX512VL)) && 
   26761              : #line 5197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26762              : ( 1)))
   26763              :                 return NULL;
   26764              :               return gen_split_1567 (insn, operands);
   26765              : 
   26766              :             default:
   26767              :               return NULL;
   26768              :             }
   26769              : 
   26770              :         case 122:
   26771              :           if (pattern308 (x2) != 0
   26772              :               || !
   26773              : #line 23819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26774              : ((TARGET_SSSE3 && reload_completed
   26775              :     && SSE_REGNO_P (REGNO (operands[0])))
   26776              :    || operands[3] == const0_rtx
   26777              :    || INTVAL (operands[3]) == 64))
   26778              :             return NULL;
   26779              :           return gen_split_3585 (insn, operands);
   26780              : 
   26781              :         default:
   26782              :           return NULL;
   26783              :         }
   26784              : 
   26785              :     case 2:
   26786              :       switch (XINT (x2, 1))
   26787              :         {
   26788              :         case 58:
   26789              :           switch (pattern68 (x1))
   26790              :             {
   26791              :             case 0:
   26792              :               if (!(
   26793              : #line 4826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26794              : (TARGET_MMX || TARGET_MMX_WITH_SSE) && 
   26795              : #line 4831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26796              : ( reload_completed
   26797              :    && SSE_REGNO_P (REGNO (operands[0])))))
   26798              :                 return NULL;
   26799              :               return gen_split_1145 (insn, operands);
   26800              : 
   26801              :             case 1:
   26802              :               if (!(
   26803              : #line 4865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26804              : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE) && 
   26805              : #line 4867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26806              : ( reload_completed)))
   26807              :                 return NULL;
   26808              :               return gen_split_1147 (insn, operands);
   26809              : 
   26810              :             default:
   26811              :               return NULL;
   26812              :             }
   26813              : 
   26814              :         case 131:
   26815              :           x3 = XEXP (x1, 0);
   26816              :           if (GET_CODE (x3) != REG
   26817              :               || REGNO (x3) != 17)
   26818              :             return NULL;
   26819              :           x4 = XVECEXP (x2, 0, 0);
   26820              :           switch (GET_CODE (x4))
   26821              :             {
   26822              :             case AND:
   26823              :               switch (pattern613 (x1))
   26824              :                 {
   26825              :                 case 0:
   26826              :                   if (!(
   26827              : #line 26183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26828              : (TARGET_SSE4_1
   26829              :    && ix86_pre_reload_split ()) && 
   26830              : #line 26186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26831              : ( 1)))
   26832              :                     return NULL;
   26833              :                   return gen_split_3693 (insn, operands);
   26834              : 
   26835              :                 case 1:
   26836              :                   if (!(
   26837              : #line 26183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26838              : (TARGET_SSE4_1
   26839              :    && ix86_pre_reload_split ()) && 
   26840              : #line 26186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26841              : ( 1)))
   26842              :                     return NULL;
   26843              :                   return gen_split_3694 (insn, operands);
   26844              : 
   26845              :                 case 2:
   26846              :                   if (!(
   26847              : #line 26183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26848              : (TARGET_SSE4_1
   26849              :    && ix86_pre_reload_split ()) && 
   26850              : #line 26186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26851              : ( 1)))
   26852              :                     return NULL;
   26853              :                   return gen_split_3695 (insn, operands);
   26854              : 
   26855              :                 case 3:
   26856              :                   if (!(
   26857              : #line 26183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26858              : (TARGET_SSE4_1
   26859              :    && ix86_pre_reload_split ()) && 
   26860              : #line 26186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26861              : ( 1)))
   26862              :                     return NULL;
   26863              :                   return gen_split_3696 (insn, operands);
   26864              : 
   26865              :                 case 4:
   26866              :                   if (!(
   26867              : #line 26183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26868              : (TARGET_SSE4_1
   26869              :    && ix86_pre_reload_split ()) && 
   26870              : #line 26186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26871              : ( 1)))
   26872              :                     return NULL;
   26873              :                   return gen_split_3697 (insn, operands);
   26874              : 
   26875              :                 case 5:
   26876              :                   if (!(
   26877              : #line 26183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26878              : (TARGET_SSE4_1
   26879              :    && ix86_pre_reload_split ()) && 
   26880              : #line 26186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26881              : ( 1)))
   26882              :                     return NULL;
   26883              :                   return gen_split_3698 (insn, operands);
   26884              : 
   26885              :                 case 6:
   26886              :                   if (!(
   26887              : #line 26183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26888              : (TARGET_SSE4_1
   26889              :    && ix86_pre_reload_split ()) && 
   26890              : #line 26186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26891              : ( 1)))
   26892              :                     return NULL;
   26893              :                   return gen_split_3699 (insn, operands);
   26894              : 
   26895              :                 case 7:
   26896              :                   if (!((
   26897              : #line 26183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26898              : (TARGET_SSE4_1
   26899              :    && ix86_pre_reload_split ()) && 
   26900              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26901              : (TARGET_AVX)) && 
   26902              : #line 26186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26903              : ( 1)))
   26904              :                     return NULL;
   26905              :                   return gen_split_3700 (insn, operands);
   26906              : 
   26907              :                 case 8:
   26908              :                   if (!((
   26909              : #line 26183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26910              : (TARGET_SSE4_1
   26911              :    && ix86_pre_reload_split ()) && 
   26912              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26913              : (TARGET_AVX)) && 
   26914              : #line 26186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26915              : ( 1)))
   26916              :                     return NULL;
   26917              :                   return gen_split_3701 (insn, operands);
   26918              : 
   26919              :                 case 9:
   26920              :                   if (!((
   26921              : #line 26183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26922              : (TARGET_SSE4_1
   26923              :    && ix86_pre_reload_split ()) && 
   26924              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26925              : (TARGET_AVX)) && 
   26926              : #line 26186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26927              : ( 1)))
   26928              :                     return NULL;
   26929              :                   return gen_split_3702 (insn, operands);
   26930              : 
   26931              :                 case 10:
   26932              :                   if (!((
   26933              : #line 26183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26934              : (TARGET_SSE4_1
   26935              :    && ix86_pre_reload_split ()) && 
   26936              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26937              : (TARGET_AVX)) && 
   26938              : #line 26186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26939              : ( 1)))
   26940              :                     return NULL;
   26941              :                   return gen_split_3703 (insn, operands);
   26942              : 
   26943              :                 case 11:
   26944              :                   if (!((
   26945              : #line 26183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26946              : (TARGET_SSE4_1
   26947              :    && ix86_pre_reload_split ()) && 
   26948              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26949              : (TARGET_AVX)) && 
   26950              : #line 26186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26951              : ( 1)))
   26952              :                     return NULL;
   26953              :                   return gen_split_3704 (insn, operands);
   26954              : 
   26955              :                 case 12:
   26956              :                   if (!((
   26957              : #line 26183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26958              : (TARGET_SSE4_1
   26959              :    && ix86_pre_reload_split ()) && 
   26960              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26961              : (TARGET_AVX)) && 
   26962              : #line 26186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26963              : ( 1)))
   26964              :                     return NULL;
   26965              :                   return gen_split_3705 (insn, operands);
   26966              : 
   26967              :                 case 13:
   26968              :                   if (!((
   26969              : #line 26183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26970              : (TARGET_SSE4_1
   26971              :    && ix86_pre_reload_split ()) && 
   26972              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26973              : (TARGET_AVX)) && 
   26974              : #line 26186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26975              : ( 1)))
   26976              :                     return NULL;
   26977              :                   return gen_split_3706 (insn, operands);
   26978              : 
   26979              :                 default:
   26980              :                   return NULL;
   26981              :                 }
   26982              : 
   26983              :             case REG:
   26984              :             case SUBREG:
   26985              :               operands[0] = x4;
   26986              :               if (GET_MODE (x3) != E_CCCmode
   26987              :                   || GET_MODE (x2) != E_CCCmode)
   26988              :                 return NULL;
   26989              :               x5 = XVECEXP (x2, 0, 1);
   26990              :               operands[1] = x5;
   26991              :               switch (GET_MODE (operands[0]))
   26992              :                 {
   26993              :                 case E_V16QImode:
   26994              :                   if (!register_operand (operands[0], E_V16QImode)
   26995              :                       || !register_operand (operands[1], E_V16QImode)
   26996              :                       || !
   26997              : #line 26196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26998              : (TARGET_SSE4_1
   26999              :    && rtx_equal_p (operands[0], operands[1])))
   27000              :                     return NULL;
   27001              :                   return gen_split_3707 (insn, operands);
   27002              : 
   27003              :                 case E_V8HImode:
   27004              :                   if (!register_operand (operands[0], E_V8HImode)
   27005              :                       || !register_operand (operands[1], E_V8HImode)
   27006              :                       || !
   27007              : #line 26196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27008              : (TARGET_SSE4_1
   27009              :    && rtx_equal_p (operands[0], operands[1])))
   27010              :                     return NULL;
   27011              :                   return gen_split_3708 (insn, operands);
   27012              : 
   27013              :                 case E_V4SImode:
   27014              :                   if (!register_operand (operands[0], E_V4SImode)
   27015              :                       || !register_operand (operands[1], E_V4SImode)
   27016              :                       || !
   27017              : #line 26196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27018              : (TARGET_SSE4_1
   27019              :    && rtx_equal_p (operands[0], operands[1])))
   27020              :                     return NULL;
   27021              :                   return gen_split_3709 (insn, operands);
   27022              : 
   27023              :                 case E_V2DImode:
   27024              :                   if (!register_operand (operands[0], E_V2DImode)
   27025              :                       || !register_operand (operands[1], E_V2DImode)
   27026              :                       || !
   27027              : #line 26196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27028              : (TARGET_SSE4_1
   27029              :    && rtx_equal_p (operands[0], operands[1])))
   27030              :                     return NULL;
   27031              :                   return gen_split_3710 (insn, operands);
   27032              : 
   27033              :                 case E_V1TImode:
   27034              :                   if (!register_operand (operands[0], E_V1TImode)
   27035              :                       || !register_operand (operands[1], E_V1TImode)
   27036              :                       || !
   27037              : #line 26196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27038              : (TARGET_SSE4_1
   27039              :    && rtx_equal_p (operands[0], operands[1])))
   27040              :                     return NULL;
   27041              :                   return gen_split_3711 (insn, operands);
   27042              : 
   27043              :                 case E_V4SFmode:
   27044              :                   if (!register_operand (operands[0], E_V4SFmode)
   27045              :                       || !register_operand (operands[1], E_V4SFmode)
   27046              :                       || !
   27047              : #line 26196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27048              : (TARGET_SSE4_1
   27049              :    && rtx_equal_p (operands[0], operands[1])))
   27050              :                     return NULL;
   27051              :                   return gen_split_3712 (insn, operands);
   27052              : 
   27053              :                 case E_V2DFmode:
   27054              :                   if (!register_operand (operands[0], E_V2DFmode)
   27055              :                       || !register_operand (operands[1], E_V2DFmode)
   27056              :                       || !
   27057              : #line 26196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27058              : (TARGET_SSE4_1
   27059              :    && rtx_equal_p (operands[0], operands[1])))
   27060              :                     return NULL;
   27061              :                   return gen_split_3713 (insn, operands);
   27062              : 
   27063              :                 case E_V32QImode:
   27064              :                   if (!register_operand (operands[0], E_V32QImode)
   27065              :                       || !register_operand (operands[1], E_V32QImode)
   27066              :                       || !(
   27067              : #line 26196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27068              : (TARGET_SSE4_1
   27069              :    && rtx_equal_p (operands[0], operands[1])) && 
   27070              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27071              : (TARGET_AVX)))
   27072              :                     return NULL;
   27073              :                   return gen_split_3714 (insn, operands);
   27074              : 
   27075              :                 case E_V16HImode:
   27076              :                   if (!register_operand (operands[0], E_V16HImode)
   27077              :                       || !register_operand (operands[1], E_V16HImode)
   27078              :                       || !(
   27079              : #line 26196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27080              : (TARGET_SSE4_1
   27081              :    && rtx_equal_p (operands[0], operands[1])) && 
   27082              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27083              : (TARGET_AVX)))
   27084              :                     return NULL;
   27085              :                   return gen_split_3715 (insn, operands);
   27086              : 
   27087              :                 case E_V8SImode:
   27088              :                   if (!register_operand (operands[0], E_V8SImode)
   27089              :                       || !register_operand (operands[1], E_V8SImode)
   27090              :                       || !(
   27091              : #line 26196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27092              : (TARGET_SSE4_1
   27093              :    && rtx_equal_p (operands[0], operands[1])) && 
   27094              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27095              : (TARGET_AVX)))
   27096              :                     return NULL;
   27097              :                   return gen_split_3716 (insn, operands);
   27098              : 
   27099              :                 case E_V4DImode:
   27100              :                   if (!register_operand (operands[0], E_V4DImode)
   27101              :                       || !register_operand (operands[1], E_V4DImode)
   27102              :                       || !(
   27103              : #line 26196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27104              : (TARGET_SSE4_1
   27105              :    && rtx_equal_p (operands[0], operands[1])) && 
   27106              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27107              : (TARGET_AVX)))
   27108              :                     return NULL;
   27109              :                   return gen_split_3717 (insn, operands);
   27110              : 
   27111              :                 case E_V2TImode:
   27112              :                   if (!register_operand (operands[0], E_V2TImode)
   27113              :                       || !register_operand (operands[1], E_V2TImode)
   27114              :                       || !(
   27115              : #line 26196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27116              : (TARGET_SSE4_1
   27117              :    && rtx_equal_p (operands[0], operands[1])) && 
   27118              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27119              : (TARGET_AVX)))
   27120              :                     return NULL;
   27121              :                   return gen_split_3718 (insn, operands);
   27122              : 
   27123              :                 case E_V8SFmode:
   27124              :                   if (!register_operand (operands[0], E_V8SFmode)
   27125              :                       || !register_operand (operands[1], E_V8SFmode)
   27126              :                       || !(
   27127              : #line 26196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27128              : (TARGET_SSE4_1
   27129              :    && rtx_equal_p (operands[0], operands[1])) && 
   27130              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27131              : (TARGET_AVX)))
   27132              :                     return NULL;
   27133              :                   return gen_split_3719 (insn, operands);
   27134              : 
   27135              :                 case E_V4DFmode:
   27136              :                   if (!register_operand (operands[0], E_V4DFmode)
   27137              :                       || !register_operand (operands[1], E_V4DFmode)
   27138              :                       || !(
   27139              : #line 26196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27140              : (TARGET_SSE4_1
   27141              :    && rtx_equal_p (operands[0], operands[1])) && 
   27142              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27143              : (TARGET_AVX)))
   27144              :                     return NULL;
   27145              :                   return gen_split_3720 (insn, operands);
   27146              : 
   27147              :                 default:
   27148              :                   return NULL;
   27149              :                 }
   27150              : 
   27151              :             case EQ:
   27152              :               switch (pattern615 (x1))
   27153              :                 {
   27154              :                 case 0:
   27155              :                   if (!((
   27156              : #line 26269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27157              : (TARGET_SSE4_1
   27158              :    && ix86_pre_reload_split ()) && 
   27159              : #line 578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27160              : (TARGET_AVX)) && 
   27161              : #line 26272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27162              : ( 1)))
   27163              :                     return NULL;
   27164              :                   return gen_split_3805 (insn, operands);
   27165              : 
   27166              :                 case 1:
   27167              :                   if (!(
   27168              : #line 26269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27169              : (TARGET_SSE4_1
   27170              :    && ix86_pre_reload_split ()) && 
   27171              : #line 26272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27172              : ( 1)))
   27173              :                     return NULL;
   27174              :                   return gen_split_3806 (insn, operands);
   27175              : 
   27176              :                 case 2:
   27177              :                   if (!((
   27178              : #line 26269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27179              : (TARGET_SSE4_1
   27180              :    && ix86_pre_reload_split ()) && 
   27181              : #line 579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27182              : (TARGET_AVX)) && 
   27183              : #line 26272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27184              : ( 1)))
   27185              :                     return NULL;
   27186              :                   return gen_split_3807 (insn, operands);
   27187              : 
   27188              :                 case 3:
   27189              :                   if (!(
   27190              : #line 26269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27191              : (TARGET_SSE4_1
   27192              :    && ix86_pre_reload_split ()) && 
   27193              : #line 26272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27194              : ( 1)))
   27195              :                     return NULL;
   27196              :                   return gen_split_3808 (insn, operands);
   27197              : 
   27198              :                 case 4:
   27199              :                   if (!((
   27200              : #line 26269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27201              : (TARGET_SSE4_1
   27202              :    && ix86_pre_reload_split ()) && 
   27203              : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27204              : (TARGET_AVX)) && 
   27205              : #line 26272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27206              : ( 1)))
   27207              :                     return NULL;
   27208              :                   return gen_split_3809 (insn, operands);
   27209              : 
   27210              :                 case 5:
   27211              :                   if (!(
   27212              : #line 26269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27213              : (TARGET_SSE4_1
   27214              :    && ix86_pre_reload_split ()) && 
   27215              : #line 26272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27216              : ( 1)))
   27217              :                     return NULL;
   27218              :                   return gen_split_3810 (insn, operands);
   27219              : 
   27220              :                 case 6:
   27221              :                   if (!((
   27222              : #line 26269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27223              : (TARGET_SSE4_1
   27224              :    && ix86_pre_reload_split ()) && 
   27225              : #line 581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27226              : (TARGET_AVX)) && 
   27227              : #line 26272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27228              : ( 1)))
   27229              :                     return NULL;
   27230              :                   return gen_split_3811 (insn, operands);
   27231              : 
   27232              :                 case 7:
   27233              :                   if (!(
   27234              : #line 26269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27235              : (TARGET_SSE4_1
   27236              :    && ix86_pre_reload_split ()) && 
   27237              : #line 26272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27238              : ( 1)))
   27239              :                     return NULL;
   27240              :                   return gen_split_3812 (insn, operands);
   27241              : 
   27242              :                 default:
   27243              :                   return NULL;
   27244              :                 }
   27245              : 
   27246              :             default:
   27247              :               return NULL;
   27248              :             }
   27249              : 
   27250              :         default:
   27251              :           return NULL;
   27252              :         }
   27253              : 
   27254              :     case 1:
   27255              :       x3 = XEXP (x1, 0);
   27256              :       operands[0] = x3;
   27257              :       switch (XINT (x2, 1))
   27258              :         {
   27259              :         case 50:
   27260              :           if (GET_MODE (x2) != E_SImode
   27261              :               || !register_operand (operands[0], E_SImode))
   27262              :             return NULL;
   27263              :           x4 = XVECEXP (x2, 0, 0);
   27264              :           switch (GET_CODE (x4))
   27265              :             {
   27266              :             case REG:
   27267              :             case SUBREG:
   27268              :               operands[1] = x4;
   27269              :               if (register_operand (operands[1], E_V8QImode)
   27270              :                   && 
   27271              : #line 6887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   27272              : (TARGET_SSE2 && reload_completed
   27273              :    && SSE_REGNO_P (REGNO (operands[1]))))
   27274              :                 return gen_split_1170 (insn, operands);
   27275              :               if (GET_CODE (x4) != SUBREG
   27276              :                   || maybe_ne (SUBREG_BYTE (x4), 0))
   27277              :                 return NULL;
   27278              :               x7 = XEXP (x4, 0);
   27279              :               switch (GET_CODE (x7))
   27280              :                 {
   27281              :                 case VEC_MERGE:
   27282              :                   switch (pattern1108 (x4))
   27283              :                     {
   27284              :                     case 0:
   27285              :                       if (!((
   27286              : #line 22500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27287              : (TARGET_SSE) && 
   27288              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27289              : (TARGET_AVX)) && 
   27290              : #line 22502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27291              : ( reload_completed)))
   27292              :                         return NULL;
   27293              :                       return gen_split_3521 (insn, operands);
   27294              : 
   27295              :                     case 1:
   27296              :                       if (!(
   27297              : #line 22500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27298              : (TARGET_SSE) && 
   27299              : #line 22502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27300              : ( reload_completed)))
   27301              :                         return NULL;
   27302              :                       return gen_split_3522 (insn, operands);
   27303              : 
   27304              :                     case 2:
   27305              :                       if (!((
   27306              : #line 22500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27307              : (TARGET_SSE) && 
   27308              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27309              : (TARGET_AVX)) && 
   27310              : #line 22502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27311              : ( reload_completed)))
   27312              :                         return NULL;
   27313              :                       return gen_split_3523 (insn, operands);
   27314              : 
   27315              :                     case 3:
   27316              :                       if (!((
   27317              : #line 22500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27318              : (TARGET_SSE) && 
   27319              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27320              : (TARGET_SSE2)) && 
   27321              : #line 22502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27322              : ( reload_completed)))
   27323              :                         return NULL;
   27324              :                       return gen_split_3524 (insn, operands);
   27325              : 
   27326              :                     default:
   27327              :                       return NULL;
   27328              :                     }
   27329              : 
   27330              :                 case ASHIFTRT:
   27331              :                   switch (pattern1109 (x4))
   27332              :                     {
   27333              :                     case 0:
   27334              :                       if (!((
   27335              : #line 22563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27336              : (TARGET_SSE) && 
   27337              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27338              : (TARGET_AVX)) && 
   27339              : #line 22565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27340              : ( reload_completed)))
   27341              :                         return NULL;
   27342              :                       return gen_split_3541 (insn, operands);
   27343              : 
   27344              :                     case 1:
   27345              :                       if (!(
   27346              : #line 22563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27347              : (TARGET_SSE) && 
   27348              : #line 22565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27349              : ( reload_completed)))
   27350              :                         return NULL;
   27351              :                       return gen_split_3542 (insn, operands);
   27352              : 
   27353              :                     case 2:
   27354              :                       if (!((
   27355              : #line 22563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27356              : (TARGET_SSE) && 
   27357              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27358              : (TARGET_AVX)) && 
   27359              : #line 22565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27360              : ( reload_completed)))
   27361              :                         return NULL;
   27362              :                       return gen_split_3543 (insn, operands);
   27363              : 
   27364              :                     case 3:
   27365              :                       if (!((
   27366              : #line 22563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27367              : (TARGET_SSE) && 
   27368              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27369              : (TARGET_SSE2)) && 
   27370              : #line 22565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27371              : ( reload_completed)))
   27372              :                         return NULL;
   27373              :                       return gen_split_3544 (insn, operands);
   27374              : 
   27375              :                     default:
   27376              :                       return NULL;
   27377              :                     }
   27378              : 
   27379              :                 case NOT:
   27380              :                   x8 = XEXP (x7, 0);
   27381              :                   operands[1] = x8;
   27382              :                   if (!register_operand (operands[1], E_VOIDmode))
   27383              :                     return NULL;
   27384              :                   switch (GET_MODE (x4))
   27385              :                     {
   27386              :                     case E_V32QImode:
   27387              :                       if (!(
   27388              : #line 22705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27389              : (TARGET_SSE2
   27390              :    && GET_MODE_CLASS (GET_MODE (operands[1])) == MODE_VECTOR_INT
   27391              :    && GET_MODE_SIZE (GET_MODE (operands[1])) == 32) && 
   27392              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27393              : (TARGET_AVX2)))
   27394              :                         return NULL;
   27395              :                       return gen_split_3557 (insn, operands);
   27396              : 
   27397              :                     case E_V16QImode:
   27398              :                       if (!
   27399              : #line 22705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27400              : (TARGET_SSE2
   27401              :    && GET_MODE_CLASS (GET_MODE (operands[1])) == MODE_VECTOR_INT
   27402              :    && GET_MODE_SIZE (GET_MODE (operands[1])) == 16))
   27403              :                         return NULL;
   27404              :                       return gen_split_3558 (insn, operands);
   27405              : 
   27406              :                     default:
   27407              :                       return NULL;
   27408              :                     }
   27409              : 
   27410              :                 default:
   27411              :                   return NULL;
   27412              :                 }
   27413              : 
   27414              :             case LT:
   27415              :               switch (pattern771 (x4))
   27416              :                 {
   27417              :                 case 0:
   27418              :                   if (!((
   27419              : #line 22476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27420              : (TARGET_SSE) && 
   27421              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27422              : (TARGET_AVX)) && 
   27423              : #line 22478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27424              : ( reload_completed)))
   27425              :                     return NULL;
   27426              :                   return gen_split_3517 (insn, operands);
   27427              : 
   27428              :                 case 1:
   27429              :                   if (!(
   27430              : #line 22476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27431              : (TARGET_SSE) && 
   27432              : #line 22478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27433              : ( reload_completed)))
   27434              :                     return NULL;
   27435              :                   return gen_split_3518 (insn, operands);
   27436              : 
   27437              :                 case 2:
   27438              :                   if (!((
   27439              : #line 22476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27440              : (TARGET_SSE) && 
   27441              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27442              : (TARGET_AVX)) && 
   27443              : #line 22478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27444              : ( reload_completed)))
   27445              :                     return NULL;
   27446              :                   return gen_split_3519 (insn, operands);
   27447              : 
   27448              :                 case 3:
   27449              :                   if (!((
   27450              : #line 22476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27451              : (TARGET_SSE) && 
   27452              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27453              : (TARGET_SSE2)) && 
   27454              : #line 22478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27455              : ( reload_completed)))
   27456              :                     return NULL;
   27457              :                   return gen_split_3520 (insn, operands);
   27458              : 
   27459              :                 case 4:
   27460              :                   if (!((
   27461              : #line 22731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27462              : (TARGET_SSE2) && 
   27463              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27464              : (TARGET_AVX2)) && 
   27465              : #line 22733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27466              : ( 1)))
   27467              :                     return NULL;
   27468              :                   return gen_split_3559 (insn, operands);
   27469              : 
   27470              :                 case 5:
   27471              :                   if (!(
   27472              : #line 22731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27473              : (TARGET_SSE2) && 
   27474              : #line 22733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27475              : ( 1)))
   27476              :                     return NULL;
   27477              :                   return gen_split_3560 (insn, operands);
   27478              : 
   27479              :                 default:
   27480              :                   return NULL;
   27481              :                 }
   27482              : 
   27483              :             case NOT:
   27484              :               x7 = XEXP (x4, 0);
   27485              :               operands[1] = x7;
   27486              :               switch (GET_MODE (x4))
   27487              :                 {
   27488              :                 case E_V32QImode:
   27489              :                   if (!register_operand (operands[1], E_V32QImode)
   27490              :                       || !(
   27491              : #line 22683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27492              : (TARGET_SSE2) && 
   27493              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27494              : (TARGET_AVX2)))
   27495              :                     return NULL;
   27496              :                   return gen_split_3555 (insn, operands);
   27497              : 
   27498              :                 case E_V16QImode:
   27499              :                   if (!register_operand (operands[1], E_V16QImode)
   27500              :                       || !
   27501              : #line 22683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27502              : (TARGET_SSE2))
   27503              :                     return NULL;
   27504              :                   return gen_split_3556 (insn, operands);
   27505              : 
   27506              :                 default:
   27507              :                   return NULL;
   27508              :                 }
   27509              : 
   27510              :             case VEC_MERGE:
   27511              :               switch (pattern773 (x4))
   27512              :                 {
   27513              :                 case 0:
   27514              :                   if (!((
   27515              : #line 22759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27516              : (TARGET_SSE2) && 
   27517              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27518              : (TARGET_AVX2)) && 
   27519              : #line 22761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27520              : ( 1)))
   27521              :                     return NULL;
   27522              :                   return gen_split_3561 (insn, operands);
   27523              : 
   27524              :                 case 1:
   27525              :                   if (!(
   27526              : #line 22759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27527              : (TARGET_SSE2) && 
   27528              : #line 22761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27529              : ( 1)))
   27530              :                     return NULL;
   27531              :                   return gen_split_3562 (insn, operands);
   27532              : 
   27533              :                 case 2:
   27534              :                   if (!(
   27535              : #line 22887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27536              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   27537              : #line 22889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27538              : ( 1)))
   27539              :                     return NULL;
   27540              :                   return gen_split_3570 (insn, operands);
   27541              : 
   27542              :                 case 3:
   27543              :                   if (!(
   27544              : #line 22901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27545              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   27546              : #line 22903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27547              : ( 1)))
   27548              :                     return NULL;
   27549              :                   return gen_split_3571 (insn, operands);
   27550              : 
   27551              :                 default:
   27552              :                   return NULL;
   27553              :                 }
   27554              : 
   27555              :             default:
   27556              :               return NULL;
   27557              :             }
   27558              : 
   27559              :         case 173:
   27560              :           if (GET_MODE (x2) != E_V2SImode
   27561              :               || !register_operand (operands[0], E_V2SImode))
   27562              :             return NULL;
   27563              :           x4 = XVECEXP (x2, 0, 0);
   27564              :           operands[1] = x4;
   27565              :           if (!nonimmediate_operand (operands[1], E_V4SFmode)
   27566              :               || !
   27567              : #line 8845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27568              : (TARGET_SSE2 && reload_completed
   27569              :    && SSE_REG_P (operands[0])))
   27570              :             return NULL;
   27571              :           return gen_split_1600 (insn, operands);
   27572              : 
   27573              :         default:
   27574              :           return NULL;
   27575              :         }
   27576              : 
   27577              :     default:
   27578              :       return NULL;
   27579              :     }
   27580              : }
   27581              : 
   27582              :  rtx_insn *
   27583              : split_71 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   27584              : {
   27585              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   27586              :   rtx x2, x3, x4;
   27587              :   rtx_insn *res ATTRIBUTE_UNUSED;
   27588              :   x2 = XEXP (x1, 1);
   27589              :   x3 = XEXP (x2, 0);
   27590              :   switch (GET_CODE (x3))
   27591              :     {
   27592              :     case AND:
   27593              :       x4 = XEXP (x3, 0);
   27594              :       switch (GET_CODE (x4))
   27595              :         {
   27596              :         case REG:
   27597              :         case SUBREG:
   27598              :         case MEM:
   27599              :         case NOT:
   27600              :           switch (pattern537 (x2))
   27601              :             {
   27602              :             case 0:
   27603              :               if (!((
   27604              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27605              : ((64 == 64 || TARGET_AVX512VL
   27606              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27607              :    && ix86_pre_reload_split ()
   27608              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27609              :                     STRIP_UNARY (operands[4]))
   27610              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27611              :                        STRIP_UNARY (operands[4]))
   27612              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27613              :                        STRIP_UNARY (operands[3]))
   27614              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27615              :                        STRIP_UNARY (operands[3])))) && 
   27616              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27617              : (TARGET_AVX512F)) && 
   27618              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27619              : ( 1)))
   27620              :                 return NULL;
   27621              :               return gen_split_1740 (insn, operands);
   27622              : 
   27623              :             case 1:
   27624              :               if (!((
   27625              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27626              : ((32 == 64 || TARGET_AVX512VL
   27627              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27628              :    && ix86_pre_reload_split ()
   27629              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27630              :                     STRIP_UNARY (operands[4]))
   27631              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27632              :                        STRIP_UNARY (operands[4]))
   27633              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27634              :                        STRIP_UNARY (operands[3]))
   27635              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27636              :                        STRIP_UNARY (operands[3])))) && 
   27637              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27638              : (TARGET_AVX)) && 
   27639              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27640              : ( 1)))
   27641              :                 return NULL;
   27642              :               return gen_split_1767 (insn, operands);
   27643              : 
   27644              :             case 2:
   27645              :               if (!(
   27646              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27647              : ((16 == 64 || TARGET_AVX512VL
   27648              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27649              :    && ix86_pre_reload_split ()
   27650              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27651              :                     STRIP_UNARY (operands[4]))
   27652              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27653              :                        STRIP_UNARY (operands[4]))
   27654              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27655              :                        STRIP_UNARY (operands[3]))
   27656              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27657              :                        STRIP_UNARY (operands[3])))) && 
   27658              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27659              : ( 1)))
   27660              :                 return NULL;
   27661              :               return gen_split_1794 (insn, operands);
   27662              : 
   27663              :             case 3:
   27664              :               if (!((
   27665              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27666              : ((64 == 64 || TARGET_AVX512VL
   27667              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27668              :    && ix86_pre_reload_split ()
   27669              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27670              :                     STRIP_UNARY (operands[4]))
   27671              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27672              :                        STRIP_UNARY (operands[4]))
   27673              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27674              :                        STRIP_UNARY (operands[3]))
   27675              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27676              :                        STRIP_UNARY (operands[3])))) && 
   27677              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27678              : (TARGET_AVX512F)) && 
   27679              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27680              : ( 1)))
   27681              :                 return NULL;
   27682              :               return gen_split_1821 (insn, operands);
   27683              : 
   27684              :             case 4:
   27685              :               if (!((
   27686              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27687              : ((32 == 64 || TARGET_AVX512VL
   27688              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27689              :    && ix86_pre_reload_split ()
   27690              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27691              :                     STRIP_UNARY (operands[4]))
   27692              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27693              :                        STRIP_UNARY (operands[4]))
   27694              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27695              :                        STRIP_UNARY (operands[3]))
   27696              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27697              :                        STRIP_UNARY (operands[3])))) && 
   27698              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27699              : (TARGET_AVX)) && 
   27700              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27701              : ( 1)))
   27702              :                 return NULL;
   27703              :               return gen_split_1848 (insn, operands);
   27704              : 
   27705              :             case 5:
   27706              :               if (!(
   27707              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27708              : ((16 == 64 || TARGET_AVX512VL
   27709              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27710              :    && ix86_pre_reload_split ()
   27711              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27712              :                     STRIP_UNARY (operands[4]))
   27713              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27714              :                        STRIP_UNARY (operands[4]))
   27715              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27716              :                        STRIP_UNARY (operands[3]))
   27717              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27718              :                        STRIP_UNARY (operands[3])))) && 
   27719              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27720              : ( 1)))
   27721              :                 return NULL;
   27722              :               return gen_split_1875 (insn, operands);
   27723              : 
   27724              :             case 6:
   27725              :               if (!((
   27726              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27727              : ((64 == 64 || TARGET_AVX512VL
   27728              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27729              :    && ix86_pre_reload_split ()
   27730              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27731              :                     STRIP_UNARY (operands[4]))
   27732              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27733              :                        STRIP_UNARY (operands[4]))
   27734              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27735              :                        STRIP_UNARY (operands[3]))
   27736              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27737              :                        STRIP_UNARY (operands[3])))) && 
   27738              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27739              : (TARGET_AVX512F)) && 
   27740              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27741              : ( 1)))
   27742              :                 return NULL;
   27743              :               return gen_split_1902 (insn, operands);
   27744              : 
   27745              :             case 7:
   27746              :               if (!((
   27747              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27748              : ((32 == 64 || TARGET_AVX512VL
   27749              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27750              :    && ix86_pre_reload_split ()
   27751              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27752              :                     STRIP_UNARY (operands[4]))
   27753              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27754              :                        STRIP_UNARY (operands[4]))
   27755              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27756              :                        STRIP_UNARY (operands[3]))
   27757              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27758              :                        STRIP_UNARY (operands[3])))) && 
   27759              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27760              : (TARGET_AVX)) && 
   27761              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27762              : ( 1)))
   27763              :                 return NULL;
   27764              :               return gen_split_1929 (insn, operands);
   27765              : 
   27766              :             case 8:
   27767              :               if (!(
   27768              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27769              : ((16 == 64 || TARGET_AVX512VL
   27770              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27771              :    && ix86_pre_reload_split ()
   27772              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27773              :                     STRIP_UNARY (operands[4]))
   27774              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27775              :                        STRIP_UNARY (operands[4]))
   27776              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27777              :                        STRIP_UNARY (operands[3]))
   27778              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27779              :                        STRIP_UNARY (operands[3])))) && 
   27780              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27781              : ( 1)))
   27782              :                 return NULL;
   27783              :               return gen_split_1956 (insn, operands);
   27784              : 
   27785              :             case 9:
   27786              :               if (!((
   27787              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27788              : ((64 == 64 || TARGET_AVX512VL
   27789              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27790              :    && ix86_pre_reload_split ()
   27791              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27792              :                     STRIP_UNARY (operands[4]))
   27793              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27794              :                        STRIP_UNARY (operands[4]))
   27795              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27796              :                        STRIP_UNARY (operands[3]))
   27797              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27798              :                        STRIP_UNARY (operands[3])))) && 
   27799              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27800              : (TARGET_AVX512F)) && 
   27801              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27802              : ( 1)))
   27803              :                 return NULL;
   27804              :               return gen_split_1983 (insn, operands);
   27805              : 
   27806              :             case 10:
   27807              :               if (!((
   27808              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27809              : ((32 == 64 || TARGET_AVX512VL
   27810              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27811              :    && ix86_pre_reload_split ()
   27812              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27813              :                     STRIP_UNARY (operands[4]))
   27814              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27815              :                        STRIP_UNARY (operands[4]))
   27816              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27817              :                        STRIP_UNARY (operands[3]))
   27818              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27819              :                        STRIP_UNARY (operands[3])))) && 
   27820              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27821              : (TARGET_AVX)) && 
   27822              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27823              : ( 1)))
   27824              :                 return NULL;
   27825              :               return gen_split_2010 (insn, operands);
   27826              : 
   27827              :             case 11:
   27828              :               if (!(
   27829              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27830              : ((16 == 64 || TARGET_AVX512VL
   27831              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27832              :    && ix86_pre_reload_split ()
   27833              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27834              :                     STRIP_UNARY (operands[4]))
   27835              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27836              :                        STRIP_UNARY (operands[4]))
   27837              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27838              :                        STRIP_UNARY (operands[3]))
   27839              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27840              :                        STRIP_UNARY (operands[3])))) && 
   27841              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27842              : ( 1)))
   27843              :                 return NULL;
   27844              :               return gen_split_2037 (insn, operands);
   27845              : 
   27846              :             case 12:
   27847              :               if (!((
   27848              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27849              : ((64 == 64 || TARGET_AVX512VL
   27850              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27851              :    && ix86_pre_reload_split ()
   27852              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27853              :                     STRIP_UNARY (operands[4]))
   27854              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27855              :                        STRIP_UNARY (operands[4]))
   27856              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27857              :                        STRIP_UNARY (operands[3]))
   27858              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27859              :                        STRIP_UNARY (operands[3])))) && 
   27860              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27861              : (TARGET_AVX512F)) && 
   27862              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27863              : ( 1)))
   27864              :                 return NULL;
   27865              :               return gen_split_1743 (insn, operands);
   27866              : 
   27867              :             case 13:
   27868              :               if (!((
   27869              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27870              : ((32 == 64 || TARGET_AVX512VL
   27871              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27872              :    && ix86_pre_reload_split ()
   27873              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27874              :                     STRIP_UNARY (operands[4]))
   27875              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27876              :                        STRIP_UNARY (operands[4]))
   27877              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27878              :                        STRIP_UNARY (operands[3]))
   27879              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27880              :                        STRIP_UNARY (operands[3])))) && 
   27881              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27882              : (TARGET_AVX)) && 
   27883              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27884              : ( 1)))
   27885              :                 return NULL;
   27886              :               return gen_split_1770 (insn, operands);
   27887              : 
   27888              :             case 14:
   27889              :               if (!(
   27890              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27891              : ((16 == 64 || TARGET_AVX512VL
   27892              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27893              :    && ix86_pre_reload_split ()
   27894              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27895              :                     STRIP_UNARY (operands[4]))
   27896              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27897              :                        STRIP_UNARY (operands[4]))
   27898              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27899              :                        STRIP_UNARY (operands[3]))
   27900              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27901              :                        STRIP_UNARY (operands[3])))) && 
   27902              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27903              : ( 1)))
   27904              :                 return NULL;
   27905              :               return gen_split_1797 (insn, operands);
   27906              : 
   27907              :             case 15:
   27908              :               if (!((
   27909              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27910              : ((64 == 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 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27922              : (TARGET_AVX512F)) && 
   27923              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27924              : ( 1)))
   27925              :                 return NULL;
   27926              :               return gen_split_1824 (insn, operands);
   27927              : 
   27928              :             case 16:
   27929              :               if (!((
   27930              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27931              : ((32 == 64 || TARGET_AVX512VL
   27932              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27933              :    && ix86_pre_reload_split ()
   27934              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27935              :                     STRIP_UNARY (operands[4]))
   27936              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27937              :                        STRIP_UNARY (operands[4]))
   27938              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27939              :                        STRIP_UNARY (operands[3]))
   27940              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27941              :                        STRIP_UNARY (operands[3])))) && 
   27942              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27943              : (TARGET_AVX)) && 
   27944              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27945              : ( 1)))
   27946              :                 return NULL;
   27947              :               return gen_split_1851 (insn, operands);
   27948              : 
   27949              :             case 17:
   27950              :               if (!(
   27951              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27952              : ((16 == 64 || TARGET_AVX512VL
   27953              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27954              :    && ix86_pre_reload_split ()
   27955              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27956              :                     STRIP_UNARY (operands[4]))
   27957              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27958              :                        STRIP_UNARY (operands[4]))
   27959              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27960              :                        STRIP_UNARY (operands[3]))
   27961              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27962              :                        STRIP_UNARY (operands[3])))) && 
   27963              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27964              : ( 1)))
   27965              :                 return NULL;
   27966              :               return gen_split_1878 (insn, operands);
   27967              : 
   27968              :             case 18:
   27969              :               if (!((
   27970              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27971              : ((64 == 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 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27983              : (TARGET_AVX512F)) && 
   27984              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27985              : ( 1)))
   27986              :                 return NULL;
   27987              :               return gen_split_1905 (insn, operands);
   27988              : 
   27989              :             case 19:
   27990              :               if (!((
   27991              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27992              : ((32 == 64 || TARGET_AVX512VL
   27993              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27994              :    && ix86_pre_reload_split ()
   27995              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27996              :                     STRIP_UNARY (operands[4]))
   27997              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27998              :                        STRIP_UNARY (operands[4]))
   27999              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28000              :                        STRIP_UNARY (operands[3]))
   28001              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28002              :                        STRIP_UNARY (operands[3])))) && 
   28003              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28004              : (TARGET_AVX)) && 
   28005              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28006              : ( 1)))
   28007              :                 return NULL;
   28008              :               return gen_split_1932 (insn, operands);
   28009              : 
   28010              :             case 20:
   28011              :               if (!(
   28012              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28013              : ((16 == 64 || TARGET_AVX512VL
   28014              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28015              :    && ix86_pre_reload_split ()
   28016              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28017              :                     STRIP_UNARY (operands[4]))
   28018              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28019              :                        STRIP_UNARY (operands[4]))
   28020              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28021              :                        STRIP_UNARY (operands[3]))
   28022              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28023              :                        STRIP_UNARY (operands[3])))) && 
   28024              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28025              : ( 1)))
   28026              :                 return NULL;
   28027              :               return gen_split_1959 (insn, operands);
   28028              : 
   28029              :             case 21:
   28030              :               if (!((
   28031              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28032              : ((64 == 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 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28044              : (TARGET_AVX512F)) && 
   28045              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28046              : ( 1)))
   28047              :                 return NULL;
   28048              :               return gen_split_1986 (insn, operands);
   28049              : 
   28050              :             case 22:
   28051              :               if (!((
   28052              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28053              : ((32 == 64 || TARGET_AVX512VL
   28054              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28055              :    && ix86_pre_reload_split ()
   28056              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28057              :                     STRIP_UNARY (operands[4]))
   28058              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28059              :                        STRIP_UNARY (operands[4]))
   28060              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28061              :                        STRIP_UNARY (operands[3]))
   28062              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28063              :                        STRIP_UNARY (operands[3])))) && 
   28064              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28065              : (TARGET_AVX)) && 
   28066              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28067              : ( 1)))
   28068              :                 return NULL;
   28069              :               return gen_split_2013 (insn, operands);
   28070              : 
   28071              :             case 23:
   28072              :               if (!(
   28073              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28074              : ((16 == 64 || TARGET_AVX512VL
   28075              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28076              :    && ix86_pre_reload_split ()
   28077              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28078              :                     STRIP_UNARY (operands[4]))
   28079              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28080              :                        STRIP_UNARY (operands[4]))
   28081              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28082              :                        STRIP_UNARY (operands[3]))
   28083              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28084              :                        STRIP_UNARY (operands[3])))) && 
   28085              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28086              : ( 1)))
   28087              :                 return NULL;
   28088              :               return gen_split_2040 (insn, operands);
   28089              : 
   28090              :             case 24:
   28091              :               if (!((
   28092              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28093              : ((64 == 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 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28105              : (TARGET_AVX512F)) && 
   28106              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28107              : ( 1)))
   28108              :                 return NULL;
   28109              :               return gen_split_1746 (insn, operands);
   28110              : 
   28111              :             case 25:
   28112              :               if (!((
   28113              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28114              : ((32 == 64 || TARGET_AVX512VL
   28115              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28116              :    && ix86_pre_reload_split ()
   28117              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28118              :                     STRIP_UNARY (operands[4]))
   28119              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28120              :                        STRIP_UNARY (operands[4]))
   28121              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28122              :                        STRIP_UNARY (operands[3]))
   28123              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28124              :                        STRIP_UNARY (operands[3])))) && 
   28125              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28126              : (TARGET_AVX)) && 
   28127              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28128              : ( 1)))
   28129              :                 return NULL;
   28130              :               return gen_split_1773 (insn, operands);
   28131              : 
   28132              :             case 26:
   28133              :               if (!(
   28134              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28135              : ((16 == 64 || TARGET_AVX512VL
   28136              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28137              :    && ix86_pre_reload_split ()
   28138              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28139              :                     STRIP_UNARY (operands[4]))
   28140              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28141              :                        STRIP_UNARY (operands[4]))
   28142              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28143              :                        STRIP_UNARY (operands[3]))
   28144              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28145              :                        STRIP_UNARY (operands[3])))) && 
   28146              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28147              : ( 1)))
   28148              :                 return NULL;
   28149              :               return gen_split_1800 (insn, operands);
   28150              : 
   28151              :             case 27:
   28152              :               if (!((
   28153              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28154              : ((64 == 64 || TARGET_AVX512VL
   28155              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28156              :    && ix86_pre_reload_split ()
   28157              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28158              :                     STRIP_UNARY (operands[4]))
   28159              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28160              :                        STRIP_UNARY (operands[4]))
   28161              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28162              :                        STRIP_UNARY (operands[3]))
   28163              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28164              :                        STRIP_UNARY (operands[3])))) && 
   28165              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28166              : (TARGET_AVX512F)) && 
   28167              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28168              : ( 1)))
   28169              :                 return NULL;
   28170              :               return gen_split_1827 (insn, operands);
   28171              : 
   28172              :             case 28:
   28173              :               if (!((
   28174              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28175              : ((32 == 64 || TARGET_AVX512VL
   28176              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28177              :    && ix86_pre_reload_split ()
   28178              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28179              :                     STRIP_UNARY (operands[4]))
   28180              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28181              :                        STRIP_UNARY (operands[4]))
   28182              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28183              :                        STRIP_UNARY (operands[3]))
   28184              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28185              :                        STRIP_UNARY (operands[3])))) && 
   28186              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28187              : (TARGET_AVX)) && 
   28188              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28189              : ( 1)))
   28190              :                 return NULL;
   28191              :               return gen_split_1854 (insn, operands);
   28192              : 
   28193              :             case 29:
   28194              :               if (!(
   28195              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28196              : ((16 == 64 || TARGET_AVX512VL
   28197              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28198              :    && ix86_pre_reload_split ()
   28199              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28200              :                     STRIP_UNARY (operands[4]))
   28201              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28202              :                        STRIP_UNARY (operands[4]))
   28203              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28204              :                        STRIP_UNARY (operands[3]))
   28205              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28206              :                        STRIP_UNARY (operands[3])))) && 
   28207              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28208              : ( 1)))
   28209              :                 return NULL;
   28210              :               return gen_split_1881 (insn, operands);
   28211              : 
   28212              :             case 30:
   28213              :               if (!((
   28214              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28215              : ((64 == 64 || TARGET_AVX512VL
   28216              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28217              :    && ix86_pre_reload_split ()
   28218              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28219              :                     STRIP_UNARY (operands[4]))
   28220              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28221              :                        STRIP_UNARY (operands[4]))
   28222              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28223              :                        STRIP_UNARY (operands[3]))
   28224              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28225              :                        STRIP_UNARY (operands[3])))) && 
   28226              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28227              : (TARGET_AVX512F)) && 
   28228              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28229              : ( 1)))
   28230              :                 return NULL;
   28231              :               return gen_split_1908 (insn, operands);
   28232              : 
   28233              :             case 31:
   28234              :               if (!((
   28235              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28236              : ((32 == 64 || TARGET_AVX512VL
   28237              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28238              :    && ix86_pre_reload_split ()
   28239              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28240              :                     STRIP_UNARY (operands[4]))
   28241              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28242              :                        STRIP_UNARY (operands[4]))
   28243              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28244              :                        STRIP_UNARY (operands[3]))
   28245              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28246              :                        STRIP_UNARY (operands[3])))) && 
   28247              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28248              : (TARGET_AVX)) && 
   28249              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28250              : ( 1)))
   28251              :                 return NULL;
   28252              :               return gen_split_1935 (insn, operands);
   28253              : 
   28254              :             case 32:
   28255              :               if (!(
   28256              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28257              : ((16 == 64 || TARGET_AVX512VL
   28258              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28259              :    && ix86_pre_reload_split ()
   28260              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28261              :                     STRIP_UNARY (operands[4]))
   28262              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28263              :                        STRIP_UNARY (operands[4]))
   28264              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28265              :                        STRIP_UNARY (operands[3]))
   28266              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28267              :                        STRIP_UNARY (operands[3])))) && 
   28268              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28269              : ( 1)))
   28270              :                 return NULL;
   28271              :               return gen_split_1962 (insn, operands);
   28272              : 
   28273              :             case 33:
   28274              :               if (!((
   28275              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28276              : ((64 == 64 || TARGET_AVX512VL
   28277              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28278              :    && ix86_pre_reload_split ()
   28279              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28280              :                     STRIP_UNARY (operands[4]))
   28281              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28282              :                        STRIP_UNARY (operands[4]))
   28283              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28284              :                        STRIP_UNARY (operands[3]))
   28285              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28286              :                        STRIP_UNARY (operands[3])))) && 
   28287              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28288              : (TARGET_AVX512F)) && 
   28289              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28290              : ( 1)))
   28291              :                 return NULL;
   28292              :               return gen_split_1989 (insn, operands);
   28293              : 
   28294              :             case 34:
   28295              :               if (!((
   28296              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28297              : ((32 == 64 || TARGET_AVX512VL
   28298              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28299              :    && ix86_pre_reload_split ()
   28300              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28301              :                     STRIP_UNARY (operands[4]))
   28302              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28303              :                        STRIP_UNARY (operands[4]))
   28304              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28305              :                        STRIP_UNARY (operands[3]))
   28306              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28307              :                        STRIP_UNARY (operands[3])))) && 
   28308              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28309              : (TARGET_AVX)) && 
   28310              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28311              : ( 1)))
   28312              :                 return NULL;
   28313              :               return gen_split_2016 (insn, operands);
   28314              : 
   28315              :             case 35:
   28316              :               if (!(
   28317              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28318              : ((16 == 64 || TARGET_AVX512VL
   28319              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28320              :    && ix86_pre_reload_split ()
   28321              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28322              :                     STRIP_UNARY (operands[4]))
   28323              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28324              :                        STRIP_UNARY (operands[4]))
   28325              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28326              :                        STRIP_UNARY (operands[3]))
   28327              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28328              :                        STRIP_UNARY (operands[3])))) && 
   28329              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28330              : ( 1)))
   28331              :                 return NULL;
   28332              :               return gen_split_2043 (insn, operands);
   28333              : 
   28334              :             case 36:
   28335              :               if (!((
   28336              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28337              : ((64 == 64 || TARGET_AVX512VL
   28338              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28339              :    && ix86_pre_reload_split ()) && 
   28340              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28341              : (TARGET_AVX512F)) && 
   28342              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28343              : ( 1)))
   28344              :                 return NULL;
   28345              :               return gen_split_3036 (insn, operands);
   28346              : 
   28347              :             case 37:
   28348              :               if (!((
   28349              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28350              : ((32 == 64 || TARGET_AVX512VL
   28351              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28352              :    && ix86_pre_reload_split ()) && 
   28353              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28354              : (TARGET_AVX)) && 
   28355              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28356              : ( 1)))
   28357              :                 return NULL;
   28358              :               return gen_split_3045 (insn, operands);
   28359              : 
   28360              :             case 38:
   28361              :               if (!(
   28362              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28363              : ((16 == 64 || TARGET_AVX512VL
   28364              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28365              :    && ix86_pre_reload_split ()) && 
   28366              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28367              : ( 1)))
   28368              :                 return NULL;
   28369              :               return gen_split_3054 (insn, operands);
   28370              : 
   28371              :             case 39:
   28372              :               if (!((
   28373              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28374              : ((64 == 64 || TARGET_AVX512VL
   28375              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28376              :    && ix86_pre_reload_split ()) && 
   28377              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28378              : (TARGET_AVX512F)) && 
   28379              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28380              : ( 1)))
   28381              :                 return NULL;
   28382              :               return gen_split_3063 (insn, operands);
   28383              : 
   28384              :             case 40:
   28385              :               if (!((
   28386              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28387              : ((32 == 64 || TARGET_AVX512VL
   28388              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28389              :    && ix86_pre_reload_split ()) && 
   28390              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28391              : (TARGET_AVX)) && 
   28392              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28393              : ( 1)))
   28394              :                 return NULL;
   28395              :               return gen_split_3072 (insn, operands);
   28396              : 
   28397              :             case 41:
   28398              :               if (!(
   28399              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28400              : ((16 == 64 || TARGET_AVX512VL
   28401              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28402              :    && ix86_pre_reload_split ()) && 
   28403              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28404              : ( 1)))
   28405              :                 return NULL;
   28406              :               return gen_split_3081 (insn, operands);
   28407              : 
   28408              :             case 42:
   28409              :               if (!((
   28410              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28411              : ((64 == 64 || TARGET_AVX512VL
   28412              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28413              :    && ix86_pre_reload_split ()) && 
   28414              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28415              : (TARGET_AVX512F)) && 
   28416              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28417              : ( 1)))
   28418              :                 return NULL;
   28419              :               return gen_split_3090 (insn, operands);
   28420              : 
   28421              :             case 43:
   28422              :               if (!((
   28423              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28424              : ((32 == 64 || TARGET_AVX512VL
   28425              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28426              :    && ix86_pre_reload_split ()) && 
   28427              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28428              : (TARGET_AVX)) && 
   28429              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28430              : ( 1)))
   28431              :                 return NULL;
   28432              :               return gen_split_3099 (insn, operands);
   28433              : 
   28434              :             case 44:
   28435              :               if (!(
   28436              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28437              : ((16 == 64 || TARGET_AVX512VL
   28438              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28439              :    && ix86_pre_reload_split ()) && 
   28440              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28441              : ( 1)))
   28442              :                 return NULL;
   28443              :               return gen_split_3108 (insn, operands);
   28444              : 
   28445              :             case 45:
   28446              :               if (!((
   28447              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28448              : ((64 == 64 || TARGET_AVX512VL
   28449              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28450              :    && ix86_pre_reload_split ()) && 
   28451              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28452              : (TARGET_AVX512F)) && 
   28453              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28454              : ( 1)))
   28455              :                 return NULL;
   28456              :               return gen_split_3117 (insn, operands);
   28457              : 
   28458              :             case 46:
   28459              :               if (!((
   28460              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28461              : ((32 == 64 || TARGET_AVX512VL
   28462              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28463              :    && ix86_pre_reload_split ()) && 
   28464              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28465              : (TARGET_AVX)) && 
   28466              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28467              : ( 1)))
   28468              :                 return NULL;
   28469              :               return gen_split_3126 (insn, operands);
   28470              : 
   28471              :             case 47:
   28472              :               if (!(
   28473              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28474              : ((16 == 64 || TARGET_AVX512VL
   28475              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28476              :    && ix86_pre_reload_split ()) && 
   28477              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28478              : ( 1)))
   28479              :                 return NULL;
   28480              :               return gen_split_3135 (insn, operands);
   28481              : 
   28482              :             default:
   28483              :               return NULL;
   28484              :             }
   28485              : 
   28486              :         case AND:
   28487              :           switch (pattern539 (x2))
   28488              :             {
   28489              :             case 0:
   28490              :               if (!((
   28491              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28492              : ((64 == 64 || TARGET_AVX512VL
   28493              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28494              :    && ix86_pre_reload_split ()
   28495              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28496              :                     STRIP_UNARY (operands[4]))
   28497              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28498              :                        STRIP_UNARY (operands[4]))
   28499              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28500              :                        STRIP_UNARY (operands[3]))
   28501              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28502              :                        STRIP_UNARY (operands[3])))) && 
   28503              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28504              : (TARGET_AVX512F)) && 
   28505              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28506              : ( 1)))
   28507              :                 return NULL;
   28508              :               return gen_split_2388 (insn, operands);
   28509              : 
   28510              :             case 1:
   28511              :               if (!((
   28512              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28513              : ((32 == 64 || TARGET_AVX512VL
   28514              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28515              :    && ix86_pre_reload_split ()
   28516              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28517              :                     STRIP_UNARY (operands[4]))
   28518              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28519              :                        STRIP_UNARY (operands[4]))
   28520              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28521              :                        STRIP_UNARY (operands[3]))
   28522              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28523              :                        STRIP_UNARY (operands[3])))) && 
   28524              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28525              : (TARGET_AVX)) && 
   28526              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28527              : ( 1)))
   28528              :                 return NULL;
   28529              :               return gen_split_2415 (insn, operands);
   28530              : 
   28531              :             case 2:
   28532              :               if (!(
   28533              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28534              : ((16 == 64 || TARGET_AVX512VL
   28535              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28536              :    && ix86_pre_reload_split ()
   28537              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28538              :                     STRIP_UNARY (operands[4]))
   28539              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28540              :                        STRIP_UNARY (operands[4]))
   28541              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28542              :                        STRIP_UNARY (operands[3]))
   28543              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28544              :                        STRIP_UNARY (operands[3])))) && 
   28545              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28546              : ( 1)))
   28547              :                 return NULL;
   28548              :               return gen_split_2442 (insn, operands);
   28549              : 
   28550              :             case 3:
   28551              :               if (!((
   28552              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28553              : ((64 == 64 || TARGET_AVX512VL
   28554              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28555              :    && ix86_pre_reload_split ()
   28556              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28557              :                     STRIP_UNARY (operands[4]))
   28558              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28559              :                        STRIP_UNARY (operands[4]))
   28560              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28561              :                        STRIP_UNARY (operands[3]))
   28562              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28563              :                        STRIP_UNARY (operands[3])))) && 
   28564              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28565              : (TARGET_AVX512F)) && 
   28566              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28567              : ( 1)))
   28568              :                 return NULL;
   28569              :               return gen_split_2469 (insn, operands);
   28570              : 
   28571              :             case 4:
   28572              :               if (!((
   28573              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28574              : ((32 == 64 || TARGET_AVX512VL
   28575              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28576              :    && ix86_pre_reload_split ()
   28577              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28578              :                     STRIP_UNARY (operands[4]))
   28579              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28580              :                        STRIP_UNARY (operands[4]))
   28581              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28582              :                        STRIP_UNARY (operands[3]))
   28583              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28584              :                        STRIP_UNARY (operands[3])))) && 
   28585              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28586              : (TARGET_AVX)) && 
   28587              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28588              : ( 1)))
   28589              :                 return NULL;
   28590              :               return gen_split_2496 (insn, operands);
   28591              : 
   28592              :             case 5:
   28593              :               if (!(
   28594              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28595              : ((16 == 64 || TARGET_AVX512VL
   28596              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28597              :    && ix86_pre_reload_split ()
   28598              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28599              :                     STRIP_UNARY (operands[4]))
   28600              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28601              :                        STRIP_UNARY (operands[4]))
   28602              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28603              :                        STRIP_UNARY (operands[3]))
   28604              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28605              :                        STRIP_UNARY (operands[3])))) && 
   28606              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28607              : ( 1)))
   28608              :                 return NULL;
   28609              :               return gen_split_2523 (insn, operands);
   28610              : 
   28611              :             case 6:
   28612              :               if (!((
   28613              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28614              : ((64 == 64 || TARGET_AVX512VL
   28615              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28616              :    && ix86_pre_reload_split ()
   28617              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28618              :                     STRIP_UNARY (operands[4]))
   28619              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28620              :                        STRIP_UNARY (operands[4]))
   28621              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28622              :                        STRIP_UNARY (operands[3]))
   28623              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28624              :                        STRIP_UNARY (operands[3])))) && 
   28625              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28626              : (TARGET_AVX512F)) && 
   28627              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28628              : ( 1)))
   28629              :                 return NULL;
   28630              :               return gen_split_2550 (insn, operands);
   28631              : 
   28632              :             case 7:
   28633              :               if (!((
   28634              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28635              : ((32 == 64 || TARGET_AVX512VL
   28636              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28637              :    && ix86_pre_reload_split ()
   28638              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28639              :                     STRIP_UNARY (operands[4]))
   28640              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28641              :                        STRIP_UNARY (operands[4]))
   28642              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28643              :                        STRIP_UNARY (operands[3]))
   28644              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28645              :                        STRIP_UNARY (operands[3])))) && 
   28646              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28647              : (TARGET_AVX)) && 
   28648              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28649              : ( 1)))
   28650              :                 return NULL;
   28651              :               return gen_split_2577 (insn, operands);
   28652              : 
   28653              :             case 8:
   28654              :               if (!(
   28655              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28656              : ((16 == 64 || TARGET_AVX512VL
   28657              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28658              :    && ix86_pre_reload_split ()
   28659              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28660              :                     STRIP_UNARY (operands[4]))
   28661              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28662              :                        STRIP_UNARY (operands[4]))
   28663              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28664              :                        STRIP_UNARY (operands[3]))
   28665              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28666              :                        STRIP_UNARY (operands[3])))) && 
   28667              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28668              : ( 1)))
   28669              :                 return NULL;
   28670              :               return gen_split_2604 (insn, operands);
   28671              : 
   28672              :             case 9:
   28673              :               if (!((
   28674              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28675              : ((64 == 64 || TARGET_AVX512VL
   28676              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28677              :    && ix86_pre_reload_split ()
   28678              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28679              :                     STRIP_UNARY (operands[4]))
   28680              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28681              :                        STRIP_UNARY (operands[4]))
   28682              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28683              :                        STRIP_UNARY (operands[3]))
   28684              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28685              :                        STRIP_UNARY (operands[3])))) && 
   28686              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28687              : (TARGET_AVX512F)) && 
   28688              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28689              : ( 1)))
   28690              :                 return NULL;
   28691              :               return gen_split_2631 (insn, operands);
   28692              : 
   28693              :             case 10:
   28694              :               if (!((
   28695              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28696              : ((32 == 64 || TARGET_AVX512VL
   28697              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28698              :    && ix86_pre_reload_split ()
   28699              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28700              :                     STRIP_UNARY (operands[4]))
   28701              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28702              :                        STRIP_UNARY (operands[4]))
   28703              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28704              :                        STRIP_UNARY (operands[3]))
   28705              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28706              :                        STRIP_UNARY (operands[3])))) && 
   28707              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28708              : (TARGET_AVX)) && 
   28709              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28710              : ( 1)))
   28711              :                 return NULL;
   28712              :               return gen_split_2658 (insn, operands);
   28713              : 
   28714              :             case 11:
   28715              :               if (!(
   28716              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28717              : ((16 == 64 || TARGET_AVX512VL
   28718              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28719              :    && ix86_pre_reload_split ()
   28720              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28721              :                     STRIP_UNARY (operands[4]))
   28722              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28723              :                        STRIP_UNARY (operands[4]))
   28724              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28725              :                        STRIP_UNARY (operands[3]))
   28726              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28727              :                        STRIP_UNARY (operands[3])))) && 
   28728              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28729              : ( 1)))
   28730              :                 return NULL;
   28731              :               return gen_split_2685 (insn, operands);
   28732              : 
   28733              :             default:
   28734              :               return NULL;
   28735              :             }
   28736              : 
   28737              :         case IOR:
   28738              :           switch (pattern539 (x2))
   28739              :             {
   28740              :             case 0:
   28741              :               if (!((
   28742              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28743              : ((64 == 64 || TARGET_AVX512VL
   28744              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28745              :    && ix86_pre_reload_split ()
   28746              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28747              :                     STRIP_UNARY (operands[4]))
   28748              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28749              :                        STRIP_UNARY (operands[4]))
   28750              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28751              :                        STRIP_UNARY (operands[3]))
   28752              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28753              :                        STRIP_UNARY (operands[3])))) && 
   28754              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28755              : (TARGET_AVX512F)) && 
   28756              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28757              : ( 1)))
   28758              :                 return NULL;
   28759              :               return gen_split_2391 (insn, operands);
   28760              : 
   28761              :             case 1:
   28762              :               if (!((
   28763              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28764              : ((32 == 64 || TARGET_AVX512VL
   28765              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28766              :    && ix86_pre_reload_split ()
   28767              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28768              :                     STRIP_UNARY (operands[4]))
   28769              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28770              :                        STRIP_UNARY (operands[4]))
   28771              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28772              :                        STRIP_UNARY (operands[3]))
   28773              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28774              :                        STRIP_UNARY (operands[3])))) && 
   28775              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28776              : (TARGET_AVX)) && 
   28777              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28778              : ( 1)))
   28779              :                 return NULL;
   28780              :               return gen_split_2418 (insn, operands);
   28781              : 
   28782              :             case 2:
   28783              :               if (!(
   28784              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28785              : ((16 == 64 || TARGET_AVX512VL
   28786              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28787              :    && ix86_pre_reload_split ()
   28788              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28789              :                     STRIP_UNARY (operands[4]))
   28790              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28791              :                        STRIP_UNARY (operands[4]))
   28792              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28793              :                        STRIP_UNARY (operands[3]))
   28794              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28795              :                        STRIP_UNARY (operands[3])))) && 
   28796              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28797              : ( 1)))
   28798              :                 return NULL;
   28799              :               return gen_split_2445 (insn, operands);
   28800              : 
   28801              :             case 3:
   28802              :               if (!((
   28803              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28804              : ((64 == 64 || TARGET_AVX512VL
   28805              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28806              :    && ix86_pre_reload_split ()
   28807              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28808              :                     STRIP_UNARY (operands[4]))
   28809              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28810              :                        STRIP_UNARY (operands[4]))
   28811              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28812              :                        STRIP_UNARY (operands[3]))
   28813              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28814              :                        STRIP_UNARY (operands[3])))) && 
   28815              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28816              : (TARGET_AVX512F)) && 
   28817              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28818              : ( 1)))
   28819              :                 return NULL;
   28820              :               return gen_split_2472 (insn, operands);
   28821              : 
   28822              :             case 4:
   28823              :               if (!((
   28824              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28825              : ((32 == 64 || TARGET_AVX512VL
   28826              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28827              :    && ix86_pre_reload_split ()
   28828              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28829              :                     STRIP_UNARY (operands[4]))
   28830              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28831              :                        STRIP_UNARY (operands[4]))
   28832              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28833              :                        STRIP_UNARY (operands[3]))
   28834              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28835              :                        STRIP_UNARY (operands[3])))) && 
   28836              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28837              : (TARGET_AVX)) && 
   28838              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28839              : ( 1)))
   28840              :                 return NULL;
   28841              :               return gen_split_2499 (insn, operands);
   28842              : 
   28843              :             case 5:
   28844              :               if (!(
   28845              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28846              : ((16 == 64 || TARGET_AVX512VL
   28847              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28848              :    && ix86_pre_reload_split ()
   28849              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28850              :                     STRIP_UNARY (operands[4]))
   28851              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28852              :                        STRIP_UNARY (operands[4]))
   28853              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28854              :                        STRIP_UNARY (operands[3]))
   28855              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28856              :                        STRIP_UNARY (operands[3])))) && 
   28857              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28858              : ( 1)))
   28859              :                 return NULL;
   28860              :               return gen_split_2526 (insn, operands);
   28861              : 
   28862              :             case 6:
   28863              :               if (!((
   28864              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28865              : ((64 == 64 || TARGET_AVX512VL
   28866              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28867              :    && ix86_pre_reload_split ()
   28868              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28869              :                     STRIP_UNARY (operands[4]))
   28870              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28871              :                        STRIP_UNARY (operands[4]))
   28872              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28873              :                        STRIP_UNARY (operands[3]))
   28874              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28875              :                        STRIP_UNARY (operands[3])))) && 
   28876              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28877              : (TARGET_AVX512F)) && 
   28878              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28879              : ( 1)))
   28880              :                 return NULL;
   28881              :               return gen_split_2553 (insn, operands);
   28882              : 
   28883              :             case 7:
   28884              :               if (!((
   28885              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28886              : ((32 == 64 || TARGET_AVX512VL
   28887              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28888              :    && ix86_pre_reload_split ()
   28889              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28890              :                     STRIP_UNARY (operands[4]))
   28891              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28892              :                        STRIP_UNARY (operands[4]))
   28893              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28894              :                        STRIP_UNARY (operands[3]))
   28895              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28896              :                        STRIP_UNARY (operands[3])))) && 
   28897              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28898              : (TARGET_AVX)) && 
   28899              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28900              : ( 1)))
   28901              :                 return NULL;
   28902              :               return gen_split_2580 (insn, operands);
   28903              : 
   28904              :             case 8:
   28905              :               if (!(
   28906              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28907              : ((16 == 64 || TARGET_AVX512VL
   28908              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28909              :    && ix86_pre_reload_split ()
   28910              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28911              :                     STRIP_UNARY (operands[4]))
   28912              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28913              :                        STRIP_UNARY (operands[4]))
   28914              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28915              :                        STRIP_UNARY (operands[3]))
   28916              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28917              :                        STRIP_UNARY (operands[3])))) && 
   28918              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28919              : ( 1)))
   28920              :                 return NULL;
   28921              :               return gen_split_2607 (insn, operands);
   28922              : 
   28923              :             case 9:
   28924              :               if (!((
   28925              : #line 14263 "/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 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28938              : (TARGET_AVX512F)) && 
   28939              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28940              : ( 1)))
   28941              :                 return NULL;
   28942              :               return gen_split_2634 (insn, operands);
   28943              : 
   28944              :             case 10:
   28945              :               if (!((
   28946              : #line 14263 "/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 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28959              : (TARGET_AVX)) && 
   28960              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28961              : ( 1)))
   28962              :                 return NULL;
   28963              :               return gen_split_2661 (insn, operands);
   28964              : 
   28965              :             case 11:
   28966              :               if (!(
   28967              : #line 14263 "/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 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28980              : ( 1)))
   28981              :                 return NULL;
   28982              :               return gen_split_2688 (insn, operands);
   28983              : 
   28984              :             default:
   28985              :               return NULL;
   28986              :             }
   28987              : 
   28988              :         case XOR:
   28989              :           switch (pattern539 (x2))
   28990              :             {
   28991              :             case 0:
   28992              :               if (!((
   28993              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28994              : ((64 == 64 || TARGET_AVX512VL
   28995              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28996              :    && ix86_pre_reload_split ()
   28997              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28998              :                     STRIP_UNARY (operands[4]))
   28999              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29000              :                        STRIP_UNARY (operands[4]))
   29001              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29002              :                        STRIP_UNARY (operands[3]))
   29003              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29004              :                        STRIP_UNARY (operands[3])))) && 
   29005              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29006              : (TARGET_AVX512F)) && 
   29007              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29008              : ( 1)))
   29009              :                 return NULL;
   29010              :               return gen_split_2394 (insn, operands);
   29011              : 
   29012              :             case 1:
   29013              :               if (!((
   29014              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29015              : ((32 == 64 || TARGET_AVX512VL
   29016              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29017              :    && ix86_pre_reload_split ()
   29018              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29019              :                     STRIP_UNARY (operands[4]))
   29020              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29021              :                        STRIP_UNARY (operands[4]))
   29022              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29023              :                        STRIP_UNARY (operands[3]))
   29024              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29025              :                        STRIP_UNARY (operands[3])))) && 
   29026              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29027              : (TARGET_AVX)) && 
   29028              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29029              : ( 1)))
   29030              :                 return NULL;
   29031              :               return gen_split_2421 (insn, operands);
   29032              : 
   29033              :             case 2:
   29034              :               if (!(
   29035              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29036              : ((16 == 64 || TARGET_AVX512VL
   29037              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29038              :    && ix86_pre_reload_split ()
   29039              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29040              :                     STRIP_UNARY (operands[4]))
   29041              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29042              :                        STRIP_UNARY (operands[4]))
   29043              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29044              :                        STRIP_UNARY (operands[3]))
   29045              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29046              :                        STRIP_UNARY (operands[3])))) && 
   29047              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29048              : ( 1)))
   29049              :                 return NULL;
   29050              :               return gen_split_2448 (insn, operands);
   29051              : 
   29052              :             case 3:
   29053              :               if (!((
   29054              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29055              : ((64 == 64 || TARGET_AVX512VL
   29056              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29057              :    && ix86_pre_reload_split ()
   29058              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29059              :                     STRIP_UNARY (operands[4]))
   29060              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29061              :                        STRIP_UNARY (operands[4]))
   29062              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29063              :                        STRIP_UNARY (operands[3]))
   29064              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29065              :                        STRIP_UNARY (operands[3])))) && 
   29066              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29067              : (TARGET_AVX512F)) && 
   29068              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29069              : ( 1)))
   29070              :                 return NULL;
   29071              :               return gen_split_2475 (insn, operands);
   29072              : 
   29073              :             case 4:
   29074              :               if (!((
   29075              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29076              : ((32 == 64 || TARGET_AVX512VL
   29077              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29078              :    && ix86_pre_reload_split ()
   29079              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29080              :                     STRIP_UNARY (operands[4]))
   29081              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29082              :                        STRIP_UNARY (operands[4]))
   29083              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29084              :                        STRIP_UNARY (operands[3]))
   29085              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29086              :                        STRIP_UNARY (operands[3])))) && 
   29087              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29088              : (TARGET_AVX)) && 
   29089              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29090              : ( 1)))
   29091              :                 return NULL;
   29092              :               return gen_split_2502 (insn, operands);
   29093              : 
   29094              :             case 5:
   29095              :               if (!(
   29096              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29097              : ((16 == 64 || TARGET_AVX512VL
   29098              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29099              :    && ix86_pre_reload_split ()
   29100              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29101              :                     STRIP_UNARY (operands[4]))
   29102              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29103              :                        STRIP_UNARY (operands[4]))
   29104              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29105              :                        STRIP_UNARY (operands[3]))
   29106              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29107              :                        STRIP_UNARY (operands[3])))) && 
   29108              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29109              : ( 1)))
   29110              :                 return NULL;
   29111              :               return gen_split_2529 (insn, operands);
   29112              : 
   29113              :             case 6:
   29114              :               if (!((
   29115              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29116              : ((64 == 64 || TARGET_AVX512VL
   29117              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29118              :    && ix86_pre_reload_split ()
   29119              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29120              :                     STRIP_UNARY (operands[4]))
   29121              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29122              :                        STRIP_UNARY (operands[4]))
   29123              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29124              :                        STRIP_UNARY (operands[3]))
   29125              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29126              :                        STRIP_UNARY (operands[3])))) && 
   29127              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29128              : (TARGET_AVX512F)) && 
   29129              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29130              : ( 1)))
   29131              :                 return NULL;
   29132              :               return gen_split_2556 (insn, operands);
   29133              : 
   29134              :             case 7:
   29135              :               if (!((
   29136              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29137              : ((32 == 64 || TARGET_AVX512VL
   29138              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29139              :    && ix86_pre_reload_split ()
   29140              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29141              :                     STRIP_UNARY (operands[4]))
   29142              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29143              :                        STRIP_UNARY (operands[4]))
   29144              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29145              :                        STRIP_UNARY (operands[3]))
   29146              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29147              :                        STRIP_UNARY (operands[3])))) && 
   29148              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29149              : (TARGET_AVX)) && 
   29150              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29151              : ( 1)))
   29152              :                 return NULL;
   29153              :               return gen_split_2583 (insn, operands);
   29154              : 
   29155              :             case 8:
   29156              :               if (!(
   29157              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29158              : ((16 == 64 || TARGET_AVX512VL
   29159              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29160              :    && ix86_pre_reload_split ()
   29161              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29162              :                     STRIP_UNARY (operands[4]))
   29163              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29164              :                        STRIP_UNARY (operands[4]))
   29165              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29166              :                        STRIP_UNARY (operands[3]))
   29167              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29168              :                        STRIP_UNARY (operands[3])))) && 
   29169              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29170              : ( 1)))
   29171              :                 return NULL;
   29172              :               return gen_split_2610 (insn, operands);
   29173              : 
   29174              :             case 9:
   29175              :               if (!((
   29176              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29177              : ((64 == 64 || TARGET_AVX512VL
   29178              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29179              :    && ix86_pre_reload_split ()
   29180              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29181              :                     STRIP_UNARY (operands[4]))
   29182              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29183              :                        STRIP_UNARY (operands[4]))
   29184              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29185              :                        STRIP_UNARY (operands[3]))
   29186              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29187              :                        STRIP_UNARY (operands[3])))) && 
   29188              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29189              : (TARGET_AVX512F)) && 
   29190              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29191              : ( 1)))
   29192              :                 return NULL;
   29193              :               return gen_split_2637 (insn, operands);
   29194              : 
   29195              :             case 10:
   29196              :               if (!((
   29197              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29198              : ((32 == 64 || TARGET_AVX512VL
   29199              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29200              :    && ix86_pre_reload_split ()
   29201              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29202              :                     STRIP_UNARY (operands[4]))
   29203              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29204              :                        STRIP_UNARY (operands[4]))
   29205              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29206              :                        STRIP_UNARY (operands[3]))
   29207              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29208              :                        STRIP_UNARY (operands[3])))) && 
   29209              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29210              : (TARGET_AVX)) && 
   29211              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29212              : ( 1)))
   29213              :                 return NULL;
   29214              :               return gen_split_2664 (insn, operands);
   29215              : 
   29216              :             case 11:
   29217              :               if (!(
   29218              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29219              : ((16 == 64 || TARGET_AVX512VL
   29220              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29221              :    && ix86_pre_reload_split ()
   29222              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29223              :                     STRIP_UNARY (operands[4]))
   29224              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29225              :                        STRIP_UNARY (operands[4]))
   29226              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29227              :                        STRIP_UNARY (operands[3]))
   29228              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29229              :                        STRIP_UNARY (operands[3])))) && 
   29230              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29231              : ( 1)))
   29232              :                 return NULL;
   29233              :               return gen_split_2691 (insn, operands);
   29234              : 
   29235              :             default:
   29236              :               return NULL;
   29237              :             }
   29238              : 
   29239              :         default:
   29240              :           return NULL;
   29241              :         }
   29242              : 
   29243              :     case IOR:
   29244              :       x4 = XEXP (x3, 0);
   29245              :       switch (GET_CODE (x4))
   29246              :         {
   29247              :         case REG:
   29248              :         case SUBREG:
   29249              :         case MEM:
   29250              :         case NOT:
   29251              :           switch (pattern537 (x2))
   29252              :             {
   29253              :             case 0:
   29254              :               if (!((
   29255              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29256              : ((64 == 64 || TARGET_AVX512VL
   29257              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29258              :    && ix86_pre_reload_split ()
   29259              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29260              :                     STRIP_UNARY (operands[4]))
   29261              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29262              :                        STRIP_UNARY (operands[4]))
   29263              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29264              :                        STRIP_UNARY (operands[3]))
   29265              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29266              :                        STRIP_UNARY (operands[3])))) && 
   29267              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29268              : (TARGET_AVX512F)) && 
   29269              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29270              : ( 1)))
   29271              :                 return NULL;
   29272              :               return gen_split_1749 (insn, operands);
   29273              : 
   29274              :             case 1:
   29275              :               if (!((
   29276              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29277              : ((32 == 64 || TARGET_AVX512VL
   29278              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29279              :    && ix86_pre_reload_split ()
   29280              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29281              :                     STRIP_UNARY (operands[4]))
   29282              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29283              :                        STRIP_UNARY (operands[4]))
   29284              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29285              :                        STRIP_UNARY (operands[3]))
   29286              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29287              :                        STRIP_UNARY (operands[3])))) && 
   29288              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29289              : (TARGET_AVX)) && 
   29290              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29291              : ( 1)))
   29292              :                 return NULL;
   29293              :               return gen_split_1776 (insn, operands);
   29294              : 
   29295              :             case 2:
   29296              :               if (!(
   29297              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29298              : ((16 == 64 || TARGET_AVX512VL
   29299              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29300              :    && ix86_pre_reload_split ()
   29301              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29302              :                     STRIP_UNARY (operands[4]))
   29303              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29304              :                        STRIP_UNARY (operands[4]))
   29305              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29306              :                        STRIP_UNARY (operands[3]))
   29307              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29308              :                        STRIP_UNARY (operands[3])))) && 
   29309              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29310              : ( 1)))
   29311              :                 return NULL;
   29312              :               return gen_split_1803 (insn, operands);
   29313              : 
   29314              :             case 3:
   29315              :               if (!((
   29316              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29317              : ((64 == 64 || TARGET_AVX512VL
   29318              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29319              :    && ix86_pre_reload_split ()
   29320              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29321              :                     STRIP_UNARY (operands[4]))
   29322              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29323              :                        STRIP_UNARY (operands[4]))
   29324              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29325              :                        STRIP_UNARY (operands[3]))
   29326              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29327              :                        STRIP_UNARY (operands[3])))) && 
   29328              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29329              : (TARGET_AVX512F)) && 
   29330              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29331              : ( 1)))
   29332              :                 return NULL;
   29333              :               return gen_split_1830 (insn, operands);
   29334              : 
   29335              :             case 4:
   29336              :               if (!((
   29337              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29338              : ((32 == 64 || TARGET_AVX512VL
   29339              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29340              :    && ix86_pre_reload_split ()
   29341              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29342              :                     STRIP_UNARY (operands[4]))
   29343              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29344              :                        STRIP_UNARY (operands[4]))
   29345              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29346              :                        STRIP_UNARY (operands[3]))
   29347              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29348              :                        STRIP_UNARY (operands[3])))) && 
   29349              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29350              : (TARGET_AVX)) && 
   29351              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29352              : ( 1)))
   29353              :                 return NULL;
   29354              :               return gen_split_1857 (insn, operands);
   29355              : 
   29356              :             case 5:
   29357              :               if (!(
   29358              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29359              : ((16 == 64 || TARGET_AVX512VL
   29360              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29361              :    && ix86_pre_reload_split ()
   29362              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29363              :                     STRIP_UNARY (operands[4]))
   29364              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29365              :                        STRIP_UNARY (operands[4]))
   29366              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29367              :                        STRIP_UNARY (operands[3]))
   29368              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29369              :                        STRIP_UNARY (operands[3])))) && 
   29370              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29371              : ( 1)))
   29372              :                 return NULL;
   29373              :               return gen_split_1884 (insn, operands);
   29374              : 
   29375              :             case 6:
   29376              :               if (!((
   29377              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29378              : ((64 == 64 || TARGET_AVX512VL
   29379              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29380              :    && ix86_pre_reload_split ()
   29381              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29382              :                     STRIP_UNARY (operands[4]))
   29383              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29384              :                        STRIP_UNARY (operands[4]))
   29385              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29386              :                        STRIP_UNARY (operands[3]))
   29387              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29388              :                        STRIP_UNARY (operands[3])))) && 
   29389              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29390              : (TARGET_AVX512F)) && 
   29391              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29392              : ( 1)))
   29393              :                 return NULL;
   29394              :               return gen_split_1911 (insn, operands);
   29395              : 
   29396              :             case 7:
   29397              :               if (!((
   29398              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29399              : ((32 == 64 || TARGET_AVX512VL
   29400              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29401              :    && ix86_pre_reload_split ()
   29402              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29403              :                     STRIP_UNARY (operands[4]))
   29404              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29405              :                        STRIP_UNARY (operands[4]))
   29406              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29407              :                        STRIP_UNARY (operands[3]))
   29408              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29409              :                        STRIP_UNARY (operands[3])))) && 
   29410              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29411              : (TARGET_AVX)) && 
   29412              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29413              : ( 1)))
   29414              :                 return NULL;
   29415              :               return gen_split_1938 (insn, operands);
   29416              : 
   29417              :             case 8:
   29418              :               if (!(
   29419              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29420              : ((16 == 64 || TARGET_AVX512VL
   29421              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29422              :    && ix86_pre_reload_split ()
   29423              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29424              :                     STRIP_UNARY (operands[4]))
   29425              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29426              :                        STRIP_UNARY (operands[4]))
   29427              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29428              :                        STRIP_UNARY (operands[3]))
   29429              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29430              :                        STRIP_UNARY (operands[3])))) && 
   29431              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29432              : ( 1)))
   29433              :                 return NULL;
   29434              :               return gen_split_1965 (insn, operands);
   29435              : 
   29436              :             case 9:
   29437              :               if (!((
   29438              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29439              : ((64 == 64 || TARGET_AVX512VL
   29440              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29441              :    && ix86_pre_reload_split ()
   29442              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29443              :                     STRIP_UNARY (operands[4]))
   29444              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29445              :                        STRIP_UNARY (operands[4]))
   29446              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29447              :                        STRIP_UNARY (operands[3]))
   29448              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29449              :                        STRIP_UNARY (operands[3])))) && 
   29450              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29451              : (TARGET_AVX512F)) && 
   29452              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29453              : ( 1)))
   29454              :                 return NULL;
   29455              :               return gen_split_1992 (insn, operands);
   29456              : 
   29457              :             case 10:
   29458              :               if (!((
   29459              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29460              : ((32 == 64 || TARGET_AVX512VL
   29461              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29462              :    && ix86_pre_reload_split ()
   29463              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29464              :                     STRIP_UNARY (operands[4]))
   29465              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29466              :                        STRIP_UNARY (operands[4]))
   29467              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29468              :                        STRIP_UNARY (operands[3]))
   29469              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29470              :                        STRIP_UNARY (operands[3])))) && 
   29471              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29472              : (TARGET_AVX)) && 
   29473              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29474              : ( 1)))
   29475              :                 return NULL;
   29476              :               return gen_split_2019 (insn, operands);
   29477              : 
   29478              :             case 11:
   29479              :               if (!(
   29480              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29481              : ((16 == 64 || TARGET_AVX512VL
   29482              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29483              :    && ix86_pre_reload_split ()
   29484              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29485              :                     STRIP_UNARY (operands[4]))
   29486              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29487              :                        STRIP_UNARY (operands[4]))
   29488              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29489              :                        STRIP_UNARY (operands[3]))
   29490              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29491              :                        STRIP_UNARY (operands[3])))) && 
   29492              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29493              : ( 1)))
   29494              :                 return NULL;
   29495              :               return gen_split_2046 (insn, operands);
   29496              : 
   29497              :             case 12:
   29498              :               if (!((
   29499              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29500              : ((64 == 64 || TARGET_AVX512VL
   29501              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29502              :    && ix86_pre_reload_split ()
   29503              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29504              :                     STRIP_UNARY (operands[4]))
   29505              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29506              :                        STRIP_UNARY (operands[4]))
   29507              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29508              :                        STRIP_UNARY (operands[3]))
   29509              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29510              :                        STRIP_UNARY (operands[3])))) && 
   29511              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29512              : (TARGET_AVX512F)) && 
   29513              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29514              : ( 1)))
   29515              :                 return NULL;
   29516              :               return gen_split_1752 (insn, operands);
   29517              : 
   29518              :             case 13:
   29519              :               if (!((
   29520              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29521              : ((32 == 64 || TARGET_AVX512VL
   29522              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29523              :    && ix86_pre_reload_split ()
   29524              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29525              :                     STRIP_UNARY (operands[4]))
   29526              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29527              :                        STRIP_UNARY (operands[4]))
   29528              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29529              :                        STRIP_UNARY (operands[3]))
   29530              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29531              :                        STRIP_UNARY (operands[3])))) && 
   29532              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29533              : (TARGET_AVX)) && 
   29534              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29535              : ( 1)))
   29536              :                 return NULL;
   29537              :               return gen_split_1779 (insn, operands);
   29538              : 
   29539              :             case 14:
   29540              :               if (!(
   29541              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29542              : ((16 == 64 || TARGET_AVX512VL
   29543              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29544              :    && ix86_pre_reload_split ()
   29545              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29546              :                     STRIP_UNARY (operands[4]))
   29547              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29548              :                        STRIP_UNARY (operands[4]))
   29549              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29550              :                        STRIP_UNARY (operands[3]))
   29551              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29552              :                        STRIP_UNARY (operands[3])))) && 
   29553              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29554              : ( 1)))
   29555              :                 return NULL;
   29556              :               return gen_split_1806 (insn, operands);
   29557              : 
   29558              :             case 15:
   29559              :               if (!((
   29560              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29561              : ((64 == 64 || TARGET_AVX512VL
   29562              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29563              :    && ix86_pre_reload_split ()
   29564              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29565              :                     STRIP_UNARY (operands[4]))
   29566              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29567              :                        STRIP_UNARY (operands[4]))
   29568              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29569              :                        STRIP_UNARY (operands[3]))
   29570              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29571              :                        STRIP_UNARY (operands[3])))) && 
   29572              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29573              : (TARGET_AVX512F)) && 
   29574              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29575              : ( 1)))
   29576              :                 return NULL;
   29577              :               return gen_split_1833 (insn, operands);
   29578              : 
   29579              :             case 16:
   29580              :               if (!((
   29581              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29582              : ((32 == 64 || TARGET_AVX512VL
   29583              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29584              :    && ix86_pre_reload_split ()
   29585              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29586              :                     STRIP_UNARY (operands[4]))
   29587              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29588              :                        STRIP_UNARY (operands[4]))
   29589              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29590              :                        STRIP_UNARY (operands[3]))
   29591              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29592              :                        STRIP_UNARY (operands[3])))) && 
   29593              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29594              : (TARGET_AVX)) && 
   29595              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29596              : ( 1)))
   29597              :                 return NULL;
   29598              :               return gen_split_1860 (insn, operands);
   29599              : 
   29600              :             case 17:
   29601              :               if (!(
   29602              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29603              : ((16 == 64 || TARGET_AVX512VL
   29604              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29605              :    && ix86_pre_reload_split ()
   29606              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29607              :                     STRIP_UNARY (operands[4]))
   29608              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29609              :                        STRIP_UNARY (operands[4]))
   29610              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29611              :                        STRIP_UNARY (operands[3]))
   29612              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29613              :                        STRIP_UNARY (operands[3])))) && 
   29614              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29615              : ( 1)))
   29616              :                 return NULL;
   29617              :               return gen_split_1887 (insn, operands);
   29618              : 
   29619              :             case 18:
   29620              :               if (!((
   29621              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29622              : ((64 == 64 || TARGET_AVX512VL
   29623              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29624              :    && ix86_pre_reload_split ()
   29625              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29626              :                     STRIP_UNARY (operands[4]))
   29627              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29628              :                        STRIP_UNARY (operands[4]))
   29629              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29630              :                        STRIP_UNARY (operands[3]))
   29631              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29632              :                        STRIP_UNARY (operands[3])))) && 
   29633              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29634              : (TARGET_AVX512F)) && 
   29635              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29636              : ( 1)))
   29637              :                 return NULL;
   29638              :               return gen_split_1914 (insn, operands);
   29639              : 
   29640              :             case 19:
   29641              :               if (!((
   29642              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29643              : ((32 == 64 || TARGET_AVX512VL
   29644              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29645              :    && ix86_pre_reload_split ()
   29646              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29647              :                     STRIP_UNARY (operands[4]))
   29648              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29649              :                        STRIP_UNARY (operands[4]))
   29650              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29651              :                        STRIP_UNARY (operands[3]))
   29652              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29653              :                        STRIP_UNARY (operands[3])))) && 
   29654              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29655              : (TARGET_AVX)) && 
   29656              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29657              : ( 1)))
   29658              :                 return NULL;
   29659              :               return gen_split_1941 (insn, operands);
   29660              : 
   29661              :             case 20:
   29662              :               if (!(
   29663              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29664              : ((16 == 64 || TARGET_AVX512VL
   29665              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29666              :    && ix86_pre_reload_split ()
   29667              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29668              :                     STRIP_UNARY (operands[4]))
   29669              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29670              :                        STRIP_UNARY (operands[4]))
   29671              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29672              :                        STRIP_UNARY (operands[3]))
   29673              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29674              :                        STRIP_UNARY (operands[3])))) && 
   29675              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29676              : ( 1)))
   29677              :                 return NULL;
   29678              :               return gen_split_1968 (insn, operands);
   29679              : 
   29680              :             case 21:
   29681              :               if (!((
   29682              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29683              : ((64 == 64 || TARGET_AVX512VL
   29684              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29685              :    && ix86_pre_reload_split ()
   29686              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29687              :                     STRIP_UNARY (operands[4]))
   29688              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29689              :                        STRIP_UNARY (operands[4]))
   29690              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29691              :                        STRIP_UNARY (operands[3]))
   29692              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29693              :                        STRIP_UNARY (operands[3])))) && 
   29694              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29695              : (TARGET_AVX512F)) && 
   29696              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29697              : ( 1)))
   29698              :                 return NULL;
   29699              :               return gen_split_1995 (insn, operands);
   29700              : 
   29701              :             case 22:
   29702              :               if (!((
   29703              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29704              : ((32 == 64 || TARGET_AVX512VL
   29705              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29706              :    && ix86_pre_reload_split ()
   29707              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29708              :                     STRIP_UNARY (operands[4]))
   29709              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29710              :                        STRIP_UNARY (operands[4]))
   29711              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29712              :                        STRIP_UNARY (operands[3]))
   29713              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29714              :                        STRIP_UNARY (operands[3])))) && 
   29715              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29716              : (TARGET_AVX)) && 
   29717              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29718              : ( 1)))
   29719              :                 return NULL;
   29720              :               return gen_split_2022 (insn, operands);
   29721              : 
   29722              :             case 23:
   29723              :               if (!(
   29724              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29725              : ((16 == 64 || TARGET_AVX512VL
   29726              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29727              :    && ix86_pre_reload_split ()
   29728              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29729              :                     STRIP_UNARY (operands[4]))
   29730              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29731              :                        STRIP_UNARY (operands[4]))
   29732              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29733              :                        STRIP_UNARY (operands[3]))
   29734              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29735              :                        STRIP_UNARY (operands[3])))) && 
   29736              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29737              : ( 1)))
   29738              :                 return NULL;
   29739              :               return gen_split_2049 (insn, operands);
   29740              : 
   29741              :             case 24:
   29742              :               if (!((
   29743              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29744              : ((64 == 64 || TARGET_AVX512VL
   29745              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29746              :    && ix86_pre_reload_split ()
   29747              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29748              :                     STRIP_UNARY (operands[4]))
   29749              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29750              :                        STRIP_UNARY (operands[4]))
   29751              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29752              :                        STRIP_UNARY (operands[3]))
   29753              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29754              :                        STRIP_UNARY (operands[3])))) && 
   29755              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29756              : (TARGET_AVX512F)) && 
   29757              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29758              : ( 1)))
   29759              :                 return NULL;
   29760              :               return gen_split_1755 (insn, operands);
   29761              : 
   29762              :             case 25:
   29763              :               if (!((
   29764              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29765              : ((32 == 64 || TARGET_AVX512VL
   29766              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29767              :    && ix86_pre_reload_split ()
   29768              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29769              :                     STRIP_UNARY (operands[4]))
   29770              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29771              :                        STRIP_UNARY (operands[4]))
   29772              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29773              :                        STRIP_UNARY (operands[3]))
   29774              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29775              :                        STRIP_UNARY (operands[3])))) && 
   29776              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29777              : (TARGET_AVX)) && 
   29778              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29779              : ( 1)))
   29780              :                 return NULL;
   29781              :               return gen_split_1782 (insn, operands);
   29782              : 
   29783              :             case 26:
   29784              :               if (!(
   29785              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29786              : ((16 == 64 || TARGET_AVX512VL
   29787              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29788              :    && ix86_pre_reload_split ()
   29789              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29790              :                     STRIP_UNARY (operands[4]))
   29791              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29792              :                        STRIP_UNARY (operands[4]))
   29793              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29794              :                        STRIP_UNARY (operands[3]))
   29795              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29796              :                        STRIP_UNARY (operands[3])))) && 
   29797              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29798              : ( 1)))
   29799              :                 return NULL;
   29800              :               return gen_split_1809 (insn, operands);
   29801              : 
   29802              :             case 27:
   29803              :               if (!((
   29804              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29805              : ((64 == 64 || TARGET_AVX512VL
   29806              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29807              :    && ix86_pre_reload_split ()
   29808              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29809              :                     STRIP_UNARY (operands[4]))
   29810              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29811              :                        STRIP_UNARY (operands[4]))
   29812              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29813              :                        STRIP_UNARY (operands[3]))
   29814              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29815              :                        STRIP_UNARY (operands[3])))) && 
   29816              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29817              : (TARGET_AVX512F)) && 
   29818              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29819              : ( 1)))
   29820              :                 return NULL;
   29821              :               return gen_split_1836 (insn, operands);
   29822              : 
   29823              :             case 28:
   29824              :               if (!((
   29825              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29826              : ((32 == 64 || TARGET_AVX512VL
   29827              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29828              :    && ix86_pre_reload_split ()
   29829              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29830              :                     STRIP_UNARY (operands[4]))
   29831              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29832              :                        STRIP_UNARY (operands[4]))
   29833              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29834              :                        STRIP_UNARY (operands[3]))
   29835              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29836              :                        STRIP_UNARY (operands[3])))) && 
   29837              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29838              : (TARGET_AVX)) && 
   29839              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29840              : ( 1)))
   29841              :                 return NULL;
   29842              :               return gen_split_1863 (insn, operands);
   29843              : 
   29844              :             case 29:
   29845              :               if (!(
   29846              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29847              : ((16 == 64 || TARGET_AVX512VL
   29848              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29849              :    && ix86_pre_reload_split ()
   29850              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29851              :                     STRIP_UNARY (operands[4]))
   29852              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29853              :                        STRIP_UNARY (operands[4]))
   29854              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29855              :                        STRIP_UNARY (operands[3]))
   29856              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29857              :                        STRIP_UNARY (operands[3])))) && 
   29858              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29859              : ( 1)))
   29860              :                 return NULL;
   29861              :               return gen_split_1890 (insn, operands);
   29862              : 
   29863              :             case 30:
   29864              :               if (!((
   29865              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29866              : ((64 == 64 || TARGET_AVX512VL
   29867              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29868              :    && ix86_pre_reload_split ()
   29869              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29870              :                     STRIP_UNARY (operands[4]))
   29871              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29872              :                        STRIP_UNARY (operands[4]))
   29873              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29874              :                        STRIP_UNARY (operands[3]))
   29875              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29876              :                        STRIP_UNARY (operands[3])))) && 
   29877              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29878              : (TARGET_AVX512F)) && 
   29879              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29880              : ( 1)))
   29881              :                 return NULL;
   29882              :               return gen_split_1917 (insn, operands);
   29883              : 
   29884              :             case 31:
   29885              :               if (!((
   29886              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29887              : ((32 == 64 || TARGET_AVX512VL
   29888              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29889              :    && ix86_pre_reload_split ()
   29890              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29891              :                     STRIP_UNARY (operands[4]))
   29892              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29893              :                        STRIP_UNARY (operands[4]))
   29894              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29895              :                        STRIP_UNARY (operands[3]))
   29896              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29897              :                        STRIP_UNARY (operands[3])))) && 
   29898              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29899              : (TARGET_AVX)) && 
   29900              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29901              : ( 1)))
   29902              :                 return NULL;
   29903              :               return gen_split_1944 (insn, operands);
   29904              : 
   29905              :             case 32:
   29906              :               if (!(
   29907              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29908              : ((16 == 64 || TARGET_AVX512VL
   29909              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29910              :    && ix86_pre_reload_split ()
   29911              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29912              :                     STRIP_UNARY (operands[4]))
   29913              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29914              :                        STRIP_UNARY (operands[4]))
   29915              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29916              :                        STRIP_UNARY (operands[3]))
   29917              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29918              :                        STRIP_UNARY (operands[3])))) && 
   29919              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29920              : ( 1)))
   29921              :                 return NULL;
   29922              :               return gen_split_1971 (insn, operands);
   29923              : 
   29924              :             case 33:
   29925              :               if (!((
   29926              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29927              : ((64 == 64 || TARGET_AVX512VL
   29928              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29929              :    && ix86_pre_reload_split ()
   29930              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29931              :                     STRIP_UNARY (operands[4]))
   29932              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29933              :                        STRIP_UNARY (operands[4]))
   29934              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29935              :                        STRIP_UNARY (operands[3]))
   29936              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29937              :                        STRIP_UNARY (operands[3])))) && 
   29938              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29939              : (TARGET_AVX512F)) && 
   29940              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29941              : ( 1)))
   29942              :                 return NULL;
   29943              :               return gen_split_1998 (insn, operands);
   29944              : 
   29945              :             case 34:
   29946              :               if (!((
   29947              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29948              : ((32 == 64 || TARGET_AVX512VL
   29949              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29950              :    && ix86_pre_reload_split ()
   29951              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29952              :                     STRIP_UNARY (operands[4]))
   29953              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29954              :                        STRIP_UNARY (operands[4]))
   29955              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29956              :                        STRIP_UNARY (operands[3]))
   29957              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29958              :                        STRIP_UNARY (operands[3])))) && 
   29959              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29960              : (TARGET_AVX)) && 
   29961              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29962              : ( 1)))
   29963              :                 return NULL;
   29964              :               return gen_split_2025 (insn, operands);
   29965              : 
   29966              :             case 35:
   29967              :               if (!(
   29968              : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29969              : ((16 == 64 || TARGET_AVX512VL
   29970              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29971              :    && ix86_pre_reload_split ()
   29972              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29973              :                     STRIP_UNARY (operands[4]))
   29974              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29975              :                        STRIP_UNARY (operands[4]))
   29976              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29977              :                        STRIP_UNARY (operands[3]))
   29978              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29979              :                        STRIP_UNARY (operands[3])))) && 
   29980              : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29981              : ( 1)))
   29982              :                 return NULL;
   29983              :               return gen_split_2052 (insn, operands);
   29984              : 
   29985              :             case 36:
   29986              :               if (!((
   29987              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29988              : ((64 == 64 || TARGET_AVX512VL
   29989              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29990              :    && ix86_pre_reload_split ()) && 
   29991              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29992              : (TARGET_AVX512F)) && 
   29993              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29994              : ( 1)))
   29995              :                 return NULL;
   29996              :               return gen_split_3039 (insn, operands);
   29997              : 
   29998              :             case 37:
   29999              :               if (!((
   30000              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30001              : ((32 == 64 || TARGET_AVX512VL
   30002              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30003              :    && ix86_pre_reload_split ()) && 
   30004              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30005              : (TARGET_AVX)) && 
   30006              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30007              : ( 1)))
   30008              :                 return NULL;
   30009              :               return gen_split_3048 (insn, operands);
   30010              : 
   30011              :             case 38:
   30012              :               if (!(
   30013              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30014              : ((16 == 64 || TARGET_AVX512VL
   30015              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30016              :    && ix86_pre_reload_split ()) && 
   30017              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30018              : ( 1)))
   30019              :                 return NULL;
   30020              :               return gen_split_3057 (insn, operands);
   30021              : 
   30022              :             case 39:
   30023              :               if (!((
   30024              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30025              : ((64 == 64 || TARGET_AVX512VL
   30026              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30027              :    && ix86_pre_reload_split ()) && 
   30028              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30029              : (TARGET_AVX512F)) && 
   30030              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30031              : ( 1)))
   30032              :                 return NULL;
   30033              :               return gen_split_3066 (insn, operands);
   30034              : 
   30035              :             case 40:
   30036              :               if (!((
   30037              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30038              : ((32 == 64 || TARGET_AVX512VL
   30039              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30040              :    && ix86_pre_reload_split ()) && 
   30041              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30042              : (TARGET_AVX)) && 
   30043              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30044              : ( 1)))
   30045              :                 return NULL;
   30046              :               return gen_split_3075 (insn, operands);
   30047              : 
   30048              :             case 41:
   30049              :               if (!(
   30050              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30051              : ((16 == 64 || TARGET_AVX512VL
   30052              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30053              :    && ix86_pre_reload_split ()) && 
   30054              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30055              : ( 1)))
   30056              :                 return NULL;
   30057              :               return gen_split_3084 (insn, operands);
   30058              : 
   30059              :             case 42:
   30060              :               if (!((
   30061              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30062              : ((64 == 64 || TARGET_AVX512VL
   30063              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30064              :    && ix86_pre_reload_split ()) && 
   30065              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30066              : (TARGET_AVX512F)) && 
   30067              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30068              : ( 1)))
   30069              :                 return NULL;
   30070              :               return gen_split_3093 (insn, operands);
   30071              : 
   30072              :             case 43:
   30073              :               if (!((
   30074              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30075              : ((32 == 64 || TARGET_AVX512VL
   30076              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30077              :    && ix86_pre_reload_split ()) && 
   30078              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30079              : (TARGET_AVX)) && 
   30080              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30081              : ( 1)))
   30082              :                 return NULL;
   30083              :               return gen_split_3102 (insn, operands);
   30084              : 
   30085              :             case 44:
   30086              :               if (!(
   30087              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30088              : ((16 == 64 || TARGET_AVX512VL
   30089              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30090              :    && ix86_pre_reload_split ()) && 
   30091              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30092              : ( 1)))
   30093              :                 return NULL;
   30094              :               return gen_split_3111 (insn, operands);
   30095              : 
   30096              :             case 45:
   30097              :               if (!((
   30098              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30099              : ((64 == 64 || TARGET_AVX512VL
   30100              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30101              :    && ix86_pre_reload_split ()) && 
   30102              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30103              : (TARGET_AVX512F)) && 
   30104              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30105              : ( 1)))
   30106              :                 return NULL;
   30107              :               return gen_split_3120 (insn, operands);
   30108              : 
   30109              :             case 46:
   30110              :               if (!((
   30111              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30112              : ((32 == 64 || TARGET_AVX512VL
   30113              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30114              :    && ix86_pre_reload_split ()) && 
   30115              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30116              : (TARGET_AVX)) && 
   30117              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30118              : ( 1)))
   30119              :                 return NULL;
   30120              :               return gen_split_3129 (insn, operands);
   30121              : 
   30122              :             case 47:
   30123              :               if (!(
   30124              : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30125              : ((16 == 64 || TARGET_AVX512VL
   30126              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30127              :    && ix86_pre_reload_split ()) && 
   30128              : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30129              : ( 1)))
   30130              :                 return NULL;
   30131              :               return gen_split_3138 (insn, operands);
   30132              : 
   30133              :             default:
   30134              :               return NULL;
   30135              :             }
   30136              : 
   30137              :         case AND:
   30138              :           switch (pattern539 (x2))
   30139              :             {
   30140              :             case 0:
   30141              :               if (!((
   30142              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30143              : ((64 == 64 || TARGET_AVX512VL
   30144              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30145              :    && ix86_pre_reload_split ()
   30146              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30147              :                     STRIP_UNARY (operands[4]))
   30148              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30149              :                        STRIP_UNARY (operands[4]))
   30150              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30151              :                        STRIP_UNARY (operands[3]))
   30152              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30153              :                        STRIP_UNARY (operands[3])))) && 
   30154              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30155              : (TARGET_AVX512F)) && 
   30156              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30157              : ( 1)))
   30158              :                 return NULL;
   30159              :               return gen_split_2397 (insn, operands);
   30160              : 
   30161              :             case 1:
   30162              :               if (!((
   30163              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30164              : ((32 == 64 || TARGET_AVX512VL
   30165              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30166              :    && ix86_pre_reload_split ()
   30167              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30168              :                     STRIP_UNARY (operands[4]))
   30169              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30170              :                        STRIP_UNARY (operands[4]))
   30171              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30172              :                        STRIP_UNARY (operands[3]))
   30173              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30174              :                        STRIP_UNARY (operands[3])))) && 
   30175              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30176              : (TARGET_AVX)) && 
   30177              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30178              : ( 1)))
   30179              :                 return NULL;
   30180              :               return gen_split_2424 (insn, operands);
   30181              : 
   30182              :             case 2:
   30183              :               if (!(
   30184              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30185              : ((16 == 64 || TARGET_AVX512VL
   30186              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30187              :    && ix86_pre_reload_split ()
   30188              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30189              :                     STRIP_UNARY (operands[4]))
   30190              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30191              :                        STRIP_UNARY (operands[4]))
   30192              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30193              :                        STRIP_UNARY (operands[3]))
   30194              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30195              :                        STRIP_UNARY (operands[3])))) && 
   30196              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30197              : ( 1)))
   30198              :                 return NULL;
   30199              :               return gen_split_2451 (insn, operands);
   30200              : 
   30201              :             case 3:
   30202              :               if (!((
   30203              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30204              : ((64 == 64 || TARGET_AVX512VL
   30205              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30206              :    && ix86_pre_reload_split ()
   30207              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30208              :                     STRIP_UNARY (operands[4]))
   30209              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30210              :                        STRIP_UNARY (operands[4]))
   30211              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30212              :                        STRIP_UNARY (operands[3]))
   30213              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30214              :                        STRIP_UNARY (operands[3])))) && 
   30215              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30216              : (TARGET_AVX512F)) && 
   30217              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30218              : ( 1)))
   30219              :                 return NULL;
   30220              :               return gen_split_2478 (insn, operands);
   30221              : 
   30222              :             case 4:
   30223              :               if (!((
   30224              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30225              : ((32 == 64 || TARGET_AVX512VL
   30226              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30227              :    && ix86_pre_reload_split ()
   30228              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30229              :                     STRIP_UNARY (operands[4]))
   30230              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30231              :                        STRIP_UNARY (operands[4]))
   30232              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30233              :                        STRIP_UNARY (operands[3]))
   30234              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30235              :                        STRIP_UNARY (operands[3])))) && 
   30236              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30237              : (TARGET_AVX)) && 
   30238              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30239              : ( 1)))
   30240              :                 return NULL;
   30241              :               return gen_split_2505 (insn, operands);
   30242              : 
   30243              :             case 5:
   30244              :               if (!(
   30245              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30246              : ((16 == 64 || TARGET_AVX512VL
   30247              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30248              :    && ix86_pre_reload_split ()
   30249              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30250              :                     STRIP_UNARY (operands[4]))
   30251              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30252              :                        STRIP_UNARY (operands[4]))
   30253              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30254              :                        STRIP_UNARY (operands[3]))
   30255              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30256              :                        STRIP_UNARY (operands[3])))) && 
   30257              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30258              : ( 1)))
   30259              :                 return NULL;
   30260              :               return gen_split_2532 (insn, operands);
   30261              : 
   30262              :             case 6:
   30263              :               if (!((
   30264              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30265              : ((64 == 64 || TARGET_AVX512VL
   30266              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30267              :    && ix86_pre_reload_split ()
   30268              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30269              :                     STRIP_UNARY (operands[4]))
   30270              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30271              :                        STRIP_UNARY (operands[4]))
   30272              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30273              :                        STRIP_UNARY (operands[3]))
   30274              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30275              :                        STRIP_UNARY (operands[3])))) && 
   30276              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30277              : (TARGET_AVX512F)) && 
   30278              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30279              : ( 1)))
   30280              :                 return NULL;
   30281              :               return gen_split_2559 (insn, operands);
   30282              : 
   30283              :             case 7:
   30284              :               if (!((
   30285              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30286              : ((32 == 64 || TARGET_AVX512VL
   30287              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30288              :    && ix86_pre_reload_split ()
   30289              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30290              :                     STRIP_UNARY (operands[4]))
   30291              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30292              :                        STRIP_UNARY (operands[4]))
   30293              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30294              :                        STRIP_UNARY (operands[3]))
   30295              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30296              :                        STRIP_UNARY (operands[3])))) && 
   30297              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30298              : (TARGET_AVX)) && 
   30299              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30300              : ( 1)))
   30301              :                 return NULL;
   30302              :               return gen_split_2586 (insn, operands);
   30303              : 
   30304              :             case 8:
   30305              :               if (!(
   30306              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30307              : ((16 == 64 || TARGET_AVX512VL
   30308              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30309              :    && ix86_pre_reload_split ()
   30310              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30311              :                     STRIP_UNARY (operands[4]))
   30312              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30313              :                        STRIP_UNARY (operands[4]))
   30314              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30315              :                        STRIP_UNARY (operands[3]))
   30316              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30317              :                        STRIP_UNARY (operands[3])))) && 
   30318              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30319              : ( 1)))
   30320              :                 return NULL;
   30321              :               return gen_split_2613 (insn, operands);
   30322              : 
   30323              :             case 9:
   30324              :               if (!((
   30325              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30326              : ((64 == 64 || TARGET_AVX512VL
   30327              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30328              :    && ix86_pre_reload_split ()
   30329              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30330              :                     STRIP_UNARY (operands[4]))
   30331              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30332              :                        STRIP_UNARY (operands[4]))
   30333              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30334              :                        STRIP_UNARY (operands[3]))
   30335              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30336              :                        STRIP_UNARY (operands[3])))) && 
   30337              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30338              : (TARGET_AVX512F)) && 
   30339              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30340              : ( 1)))
   30341              :                 return NULL;
   30342              :               return gen_split_2640 (insn, operands);
   30343              : 
   30344              :             case 10:
   30345              :               if (!((
   30346              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30347              : ((32 == 64 || TARGET_AVX512VL
   30348              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30349              :    && ix86_pre_reload_split ()
   30350              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30351              :                     STRIP_UNARY (operands[4]))
   30352              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30353              :                        STRIP_UNARY (operands[4]))
   30354              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30355              :                        STRIP_UNARY (operands[3]))
   30356              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30357              :                        STRIP_UNARY (operands[3])))) && 
   30358              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30359              : (TARGET_AVX)) && 
   30360              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30361              : ( 1)))
   30362              :                 return NULL;
   30363              :               return gen_split_2667 (insn, operands);
   30364              : 
   30365              :             case 11:
   30366              :               if (!(
   30367              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30368              : ((16 == 64 || TARGET_AVX512VL
   30369              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30370              :    && ix86_pre_reload_split ()
   30371              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30372              :                     STRIP_UNARY (operands[4]))
   30373              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30374              :                        STRIP_UNARY (operands[4]))
   30375              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30376              :                        STRIP_UNARY (operands[3]))
   30377              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30378              :                        STRIP_UNARY (operands[3])))) && 
   30379              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30380              : ( 1)))
   30381              :                 return NULL;
   30382              :               return gen_split_2694 (insn, operands);
   30383              : 
   30384              :             default:
   30385              :               return NULL;
   30386              :             }
   30387              : 
   30388              :         case IOR:
   30389              :           switch (pattern539 (x2))
   30390              :             {
   30391              :             case 0:
   30392              :               if (!((
   30393              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30394              : ((64 == 64 || TARGET_AVX512VL
   30395              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30396              :    && ix86_pre_reload_split ()
   30397              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30398              :                     STRIP_UNARY (operands[4]))
   30399              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30400              :                        STRIP_UNARY (operands[4]))
   30401              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30402              :                        STRIP_UNARY (operands[3]))
   30403              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30404              :                        STRIP_UNARY (operands[3])))) && 
   30405              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30406              : (TARGET_AVX512F)) && 
   30407              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30408              : ( 1)))
   30409              :                 return NULL;
   30410              :               return gen_split_2400 (insn, operands);
   30411              : 
   30412              :             case 1:
   30413              :               if (!((
   30414              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30415              : ((32 == 64 || TARGET_AVX512VL
   30416              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30417              :    && ix86_pre_reload_split ()
   30418              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30419              :                     STRIP_UNARY (operands[4]))
   30420              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30421              :                        STRIP_UNARY (operands[4]))
   30422              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30423              :                        STRIP_UNARY (operands[3]))
   30424              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30425              :                        STRIP_UNARY (operands[3])))) && 
   30426              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30427              : (TARGET_AVX)) && 
   30428              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30429              : ( 1)))
   30430              :                 return NULL;
   30431              :               return gen_split_2427 (insn, operands);
   30432              : 
   30433              :             case 2:
   30434              :               if (!(
   30435              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30436              : ((16 == 64 || TARGET_AVX512VL
   30437              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30438              :    && ix86_pre_reload_split ()
   30439              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30440              :                     STRIP_UNARY (operands[4]))
   30441              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30442              :                        STRIP_UNARY (operands[4]))
   30443              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30444              :                        STRIP_UNARY (operands[3]))
   30445              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30446              :                        STRIP_UNARY (operands[3])))) && 
   30447              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30448              : ( 1)))
   30449              :                 return NULL;
   30450              :               return gen_split_2454 (insn, operands);
   30451              : 
   30452              :             case 3:
   30453              :               if (!((
   30454              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30455              : ((64 == 64 || TARGET_AVX512VL
   30456              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30457              :    && ix86_pre_reload_split ()
   30458              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30459              :                     STRIP_UNARY (operands[4]))
   30460              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30461              :                        STRIP_UNARY (operands[4]))
   30462              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30463              :                        STRIP_UNARY (operands[3]))
   30464              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30465              :                        STRIP_UNARY (operands[3])))) && 
   30466              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30467              : (TARGET_AVX512F)) && 
   30468              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30469              : ( 1)))
   30470              :                 return NULL;
   30471              :               return gen_split_2481 (insn, operands);
   30472              : 
   30473              :             case 4:
   30474              :               if (!((
   30475              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30476              : ((32 == 64 || TARGET_AVX512VL
   30477              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30478              :    && ix86_pre_reload_split ()
   30479              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30480              :                     STRIP_UNARY (operands[4]))
   30481              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30482              :                        STRIP_UNARY (operands[4]))
   30483              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30484              :                        STRIP_UNARY (operands[3]))
   30485              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30486              :                        STRIP_UNARY (operands[3])))) && 
   30487              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30488              : (TARGET_AVX)) && 
   30489              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30490              : ( 1)))
   30491              :                 return NULL;
   30492              :               return gen_split_2508 (insn, operands);
   30493              : 
   30494              :             case 5:
   30495              :               if (!(
   30496              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30497              : ((16 == 64 || TARGET_AVX512VL
   30498              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30499              :    && ix86_pre_reload_split ()
   30500              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30501              :                     STRIP_UNARY (operands[4]))
   30502              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30503              :                        STRIP_UNARY (operands[4]))
   30504              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30505              :                        STRIP_UNARY (operands[3]))
   30506              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30507              :                        STRIP_UNARY (operands[3])))) && 
   30508              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30509              : ( 1)))
   30510              :                 return NULL;
   30511              :               return gen_split_2535 (insn, operands);
   30512              : 
   30513              :             case 6:
   30514              :               if (!((
   30515              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30516              : ((64 == 64 || TARGET_AVX512VL
   30517              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30518              :    && ix86_pre_reload_split ()
   30519              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30520              :                     STRIP_UNARY (operands[4]))
   30521              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30522              :                        STRIP_UNARY (operands[4]))
   30523              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30524              :                        STRIP_UNARY (operands[3]))
   30525              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30526              :                        STRIP_UNARY (operands[3])))) && 
   30527              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30528              : (TARGET_AVX512F)) && 
   30529              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30530              : ( 1)))
   30531              :                 return NULL;
   30532              :               return gen_split_2562 (insn, operands);
   30533              : 
   30534              :             case 7:
   30535              :               if (!((
   30536              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30537              : ((32 == 64 || TARGET_AVX512VL
   30538              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30539              :    && ix86_pre_reload_split ()
   30540              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30541              :                     STRIP_UNARY (operands[4]))
   30542              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30543              :                        STRIP_UNARY (operands[4]))
   30544              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30545              :                        STRIP_UNARY (operands[3]))
   30546              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30547              :                        STRIP_UNARY (operands[3])))) && 
   30548              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30549              : (TARGET_AVX)) && 
   30550              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30551              : ( 1)))
   30552              :                 return NULL;
   30553              :               return gen_split_2589 (insn, operands);
   30554              : 
   30555              :             case 8:
   30556              :               if (!(
   30557              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30558              : ((16 == 64 || TARGET_AVX512VL
   30559              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30560              :    && ix86_pre_reload_split ()
   30561              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30562              :                     STRIP_UNARY (operands[4]))
   30563              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30564              :                        STRIP_UNARY (operands[4]))
   30565              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30566              :                        STRIP_UNARY (operands[3]))
   30567              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30568              :                        STRIP_UNARY (operands[3])))) && 
   30569              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30570              : ( 1)))
   30571              :                 return NULL;
   30572              :               return gen_split_2616 (insn, operands);
   30573              : 
   30574              :             case 9:
   30575              :               if (!((
   30576              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30577              : ((64 == 64 || TARGET_AVX512VL
   30578              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30579              :    && ix86_pre_reload_split ()
   30580              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30581              :                     STRIP_UNARY (operands[4]))
   30582              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30583              :                        STRIP_UNARY (operands[4]))
   30584              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30585              :                        STRIP_UNARY (operands[3]))
   30586              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30587              :                        STRIP_UNARY (operands[3])))) && 
   30588              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30589              : (TARGET_AVX512F)) && 
   30590              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30591              : ( 1)))
   30592              :                 return NULL;
   30593              :               return gen_split_2643 (insn, operands);
   30594              : 
   30595              :             case 10:
   30596              :               if (!((
   30597              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30598              : ((32 == 64 || TARGET_AVX512VL
   30599              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30600              :    && ix86_pre_reload_split ()
   30601              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30602              :                     STRIP_UNARY (operands[4]))
   30603              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30604              :                        STRIP_UNARY (operands[4]))
   30605              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30606              :                        STRIP_UNARY (operands[3]))
   30607              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30608              :                        STRIP_UNARY (operands[3])))) && 
   30609              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30610              : (TARGET_AVX)) && 
   30611              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30612              : ( 1)))
   30613              :                 return NULL;
   30614              :               return gen_split_2670 (insn, operands);
   30615              : 
   30616              :             case 11:
   30617              :               if (!(
   30618              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30619              : ((16 == 64 || TARGET_AVX512VL
   30620              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30621              :    && ix86_pre_reload_split ()
   30622              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30623              :                     STRIP_UNARY (operands[4]))
   30624              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30625              :                        STRIP_UNARY (operands[4]))
   30626              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30627              :                        STRIP_UNARY (operands[3]))
   30628              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30629              :                        STRIP_UNARY (operands[3])))) && 
   30630              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30631              : ( 1)))
   30632              :                 return NULL;
   30633              :               return gen_split_2697 (insn, operands);
   30634              : 
   30635              :             default:
   30636              :               return NULL;
   30637              :             }
   30638              : 
   30639              :         case XOR:
   30640              :           switch (pattern539 (x2))
   30641              :             {
   30642              :             case 0:
   30643              :               if (!((
   30644              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30645              : ((64 == 64 || TARGET_AVX512VL
   30646              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30647              :    && ix86_pre_reload_split ()
   30648              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30649              :                     STRIP_UNARY (operands[4]))
   30650              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30651              :                        STRIP_UNARY (operands[4]))
   30652              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30653              :                        STRIP_UNARY (operands[3]))
   30654              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30655              :                        STRIP_UNARY (operands[3])))) && 
   30656              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30657              : (TARGET_AVX512F)) && 
   30658              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30659              : ( 1)))
   30660              :                 return NULL;
   30661              :               return gen_split_2403 (insn, operands);
   30662              : 
   30663              :             case 1:
   30664              :               if (!((
   30665              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30666              : ((32 == 64 || TARGET_AVX512VL
   30667              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30668              :    && ix86_pre_reload_split ()
   30669              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30670              :                     STRIP_UNARY (operands[4]))
   30671              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30672              :                        STRIP_UNARY (operands[4]))
   30673              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30674              :                        STRIP_UNARY (operands[3]))
   30675              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30676              :                        STRIP_UNARY (operands[3])))) && 
   30677              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30678              : (TARGET_AVX)) && 
   30679              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30680              : ( 1)))
   30681              :                 return NULL;
   30682              :               return gen_split_2430 (insn, operands);
   30683              : 
   30684              :             case 2:
   30685              :               if (!(
   30686              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30687              : ((16 == 64 || TARGET_AVX512VL
   30688              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30689              :    && ix86_pre_reload_split ()
   30690              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30691              :                     STRIP_UNARY (operands[4]))
   30692              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30693              :                        STRIP_UNARY (operands[4]))
   30694              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30695              :                        STRIP_UNARY (operands[3]))
   30696              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30697              :                        STRIP_UNARY (operands[3])))) && 
   30698              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30699              : ( 1)))
   30700              :                 return NULL;
   30701              :               return gen_split_2457 (insn, operands);
   30702              : 
   30703              :             case 3:
   30704              :               if (!((
   30705              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30706              : ((64 == 64 || TARGET_AVX512VL
   30707              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30708              :    && ix86_pre_reload_split ()
   30709              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30710              :                     STRIP_UNARY (operands[4]))
   30711              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30712              :                        STRIP_UNARY (operands[4]))
   30713              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30714              :                        STRIP_UNARY (operands[3]))
   30715              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30716              :                        STRIP_UNARY (operands[3])))) && 
   30717              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30718              : (TARGET_AVX512F)) && 
   30719              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30720              : ( 1)))
   30721              :                 return NULL;
   30722              :               return gen_split_2484 (insn, operands);
   30723              : 
   30724              :             case 4:
   30725              :               if (!((
   30726              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30727              : ((32 == 64 || TARGET_AVX512VL
   30728              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30729              :    && ix86_pre_reload_split ()
   30730              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30731              :                     STRIP_UNARY (operands[4]))
   30732              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30733              :                        STRIP_UNARY (operands[4]))
   30734              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30735              :                        STRIP_UNARY (operands[3]))
   30736              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30737              :                        STRIP_UNARY (operands[3])))) && 
   30738              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30739              : (TARGET_AVX)) && 
   30740              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30741              : ( 1)))
   30742              :                 return NULL;
   30743              :               return gen_split_2511 (insn, operands);
   30744              : 
   30745              :             case 5:
   30746              :               if (!(
   30747              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30748              : ((16 == 64 || TARGET_AVX512VL
   30749              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30750              :    && ix86_pre_reload_split ()
   30751              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30752              :                     STRIP_UNARY (operands[4]))
   30753              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30754              :                        STRIP_UNARY (operands[4]))
   30755              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30756              :                        STRIP_UNARY (operands[3]))
   30757              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30758              :                        STRIP_UNARY (operands[3])))) && 
   30759              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30760              : ( 1)))
   30761              :                 return NULL;
   30762              :               return gen_split_2538 (insn, operands);
   30763              : 
   30764              :             case 6:
   30765              :               if (!((
   30766              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30767              : ((64 == 64 || TARGET_AVX512VL
   30768              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30769              :    && ix86_pre_reload_split ()
   30770              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30771              :                     STRIP_UNARY (operands[4]))
   30772              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30773              :                        STRIP_UNARY (operands[4]))
   30774              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30775              :                        STRIP_UNARY (operands[3]))
   30776              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30777              :                        STRIP_UNARY (operands[3])))) && 
   30778              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30779              : (TARGET_AVX512F)) && 
   30780              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30781              : ( 1)))
   30782              :                 return NULL;
   30783              :               return gen_split_2565 (insn, operands);
   30784              : 
   30785              :             case 7:
   30786              :               if (!((
   30787              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30788              : ((32 == 64 || TARGET_AVX512VL
   30789              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30790              :    && ix86_pre_reload_split ()
   30791              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30792              :                     STRIP_UNARY (operands[4]))
   30793              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30794              :                        STRIP_UNARY (operands[4]))
   30795              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30796              :                        STRIP_UNARY (operands[3]))
   30797              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30798              :                        STRIP_UNARY (operands[3])))) && 
   30799              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30800              : (TARGET_AVX)) && 
   30801              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30802              : ( 1)))
   30803              :                 return NULL;
   30804              :               return gen_split_2592 (insn, operands);
   30805              : 
   30806              :             case 8:
   30807              :               if (!(
   30808              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30809              : ((16 == 64 || TARGET_AVX512VL
   30810              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30811              :    && ix86_pre_reload_split ()
   30812              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30813              :                     STRIP_UNARY (operands[4]))
   30814              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30815              :                        STRIP_UNARY (operands[4]))
   30816              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30817              :                        STRIP_UNARY (operands[3]))
   30818              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30819              :                        STRIP_UNARY (operands[3])))) && 
   30820              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30821              : ( 1)))
   30822              :                 return NULL;
   30823              :               return gen_split_2619 (insn, operands);
   30824              : 
   30825              :             case 9:
   30826              :               if (!((
   30827              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30828              : ((64 == 64 || TARGET_AVX512VL
   30829              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30830              :    && ix86_pre_reload_split ()
   30831              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30832              :                     STRIP_UNARY (operands[4]))
   30833              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30834              :                        STRIP_UNARY (operands[4]))
   30835              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30836              :                        STRIP_UNARY (operands[3]))
   30837              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30838              :                        STRIP_UNARY (operands[3])))) && 
   30839              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30840              : (TARGET_AVX512F)) && 
   30841              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30842              : ( 1)))
   30843              :                 return NULL;
   30844              :               return gen_split_2646 (insn, operands);
   30845              : 
   30846              :             case 10:
   30847              :               if (!((
   30848              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30849              : ((32 == 64 || TARGET_AVX512VL
   30850              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30851              :    && ix86_pre_reload_split ()
   30852              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30853              :                     STRIP_UNARY (operands[4]))
   30854              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30855              :                        STRIP_UNARY (operands[4]))
   30856              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30857              :                        STRIP_UNARY (operands[3]))
   30858              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30859              :                        STRIP_UNARY (operands[3])))) && 
   30860              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30861              : (TARGET_AVX)) && 
   30862              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30863              : ( 1)))
   30864              :                 return NULL;
   30865              :               return gen_split_2673 (insn, operands);
   30866              : 
   30867              :             case 11:
   30868              :               if (!(
   30869              : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30870              : ((16 == 64 || TARGET_AVX512VL
   30871              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30872              :    && ix86_pre_reload_split ()
   30873              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30874              :                     STRIP_UNARY (operands[4]))
   30875              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30876              :                        STRIP_UNARY (operands[4]))
   30877              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30878              :                        STRIP_UNARY (operands[3]))
   30879              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30880              :                        STRIP_UNARY (operands[3])))) && 
   30881              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30882              : ( 1)))
   30883              :                 return NULL;
   30884              :               return gen_split_2700 (insn, operands);
   30885              : 
   30886              :             default:
   30887              :               return NULL;
   30888              :             }
   30889              : 
   30890              :         default:
   30891              :           return NULL;
   30892              :         }
   30893              : 
   30894              :     case XOR:
   30895              :       return split_65 (x1, insn);
   30896              : 
   30897              :     case VEC_DUPLICATE:
   30898              :       switch (pattern607 (x2))
   30899              :         {
   30900              :         case 0:
   30901              :           if (!(
   30902              : #line 19111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30903              : (64 == 64 || TARGET_AVX512VL
   30904              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30905              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30906              : (TARGET_AVX512F)))
   30907              :             return NULL;
   30908              :           return gen_split_3472 (insn, operands);
   30909              : 
   30910              :         case 1:
   30911              :           if (!(
   30912              : #line 19111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30913              : (64 == 64 || TARGET_AVX512VL
   30914              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30915              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30916              : (TARGET_AVX512F)))
   30917              :             return NULL;
   30918              :           return gen_split_3473 (insn, operands);
   30919              : 
   30920              :         case 2:
   30921              :           if (!(
   30922              : #line 19111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30923              : (64 == 64 || TARGET_AVX512VL
   30924              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30925              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30926              : (TARGET_AVX512BW)))
   30927              :             return NULL;
   30928              :           return gen_split_3474 (insn, operands);
   30929              : 
   30930              :         case 3:
   30931              :           if (!(
   30932              : #line 19111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30933              : (32 == 64 || TARGET_AVX512VL
   30934              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30935              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30936              : (TARGET_AVX)))
   30937              :             return NULL;
   30938              :           return gen_split_3475 (insn, operands);
   30939              : 
   30940              :         case 4:
   30941              :           if (!
   30942              : #line 19111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30943              : (16 == 64 || TARGET_AVX512VL
   30944              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
   30945              :             return NULL;
   30946              :           return gen_split_3476 (insn, operands);
   30947              : 
   30948              :         case 5:
   30949              :           if (!(
   30950              : #line 19111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30951              : (64 == 64 || TARGET_AVX512VL
   30952              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30953              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30954              : (TARGET_AVX512BW)))
   30955              :             return NULL;
   30956              :           return gen_split_3477 (insn, operands);
   30957              : 
   30958              :         case 6:
   30959              :           if (!(
   30960              : #line 19111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30961              : (32 == 64 || TARGET_AVX512VL
   30962              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30963              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30964              : (TARGET_AVX)))
   30965              :             return NULL;
   30966              :           return gen_split_3478 (insn, operands);
   30967              : 
   30968              :         case 7:
   30969              :           if (!
   30970              : #line 19111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30971              : (16 == 64 || TARGET_AVX512VL
   30972              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
   30973              :             return NULL;
   30974              :           return gen_split_3479 (insn, operands);
   30975              : 
   30976              :         case 8:
   30977              :           if (!(
   30978              : #line 19111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30979              : (32 == 64 || TARGET_AVX512VL
   30980              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30981              : #line 559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30982              : (TARGET_AVX)))
   30983              :             return NULL;
   30984              :           return gen_split_3480 (insn, operands);
   30985              : 
   30986              :         case 9:
   30987              :           if (!
   30988              : #line 19111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30989              : (16 == 64 || TARGET_AVX512VL
   30990              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
   30991              :             return NULL;
   30992              :           return gen_split_3481 (insn, operands);
   30993              : 
   30994              :         case 10:
   30995              :           if (!(
   30996              : #line 19111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30997              : (32 == 64 || TARGET_AVX512VL
   30998              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30999              : #line 560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31000              : (TARGET_AVX)))
   31001              :             return NULL;
   31002              :           return gen_split_3482 (insn, operands);
   31003              : 
   31004              :         case 11:
   31005              :           if (!
   31006              : #line 19111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31007              : (16 == 64 || TARGET_AVX512VL
   31008              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
   31009              :             return NULL;
   31010              :           return gen_split_3483 (insn, operands);
   31011              : 
   31012              :         default:
   31013              :           return NULL;
   31014              :         }
   31015              : 
   31016              :     default:
   31017              :       return NULL;
   31018              :     }
   31019              : }
   31020              : 
   31021              :  rtx_insn *
   31022              : peephole2_17 (rtx x1 ATTRIBUTE_UNUSED,
   31023              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31024              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31025              : {
   31026              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31027              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   31028              :   rtx x10, x11, x12, x13;
   31029              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31030              :   x2 = XEXP (x1, 1);
   31031              :   operands[1] = x2;
   31032              :   if (register_operand (operands[0], E_DImode))
   31033              :     {
   31034              :       res = peephole2_16 (x1, insn, pmatch_len_);
   31035              :       if (res != NULL_RTX)
   31036              :         return res;
   31037              :     }
   31038              :   if (peep2_current_count < 2
   31039              :       || peep2_current_count < 3
   31040              :       || !general_reg_operand (operands[0], E_DImode))
   31041              :     return NULL;
   31042              :   x3 = PATTERN (peep2_next_insn (1));
   31043              :   if (GET_CODE (x3) == PARALLEL
   31044              :       && XVECLEN (x3, 0) == 2)
   31045              :     {
   31046              :       x4 = XVECEXP (x3, 0, 0);
   31047              :       if (GET_CODE (x4) == SET)
   31048              :         {
   31049              :           if (memory_operand (operands[1], E_DImode))
   31050              :             {
   31051              :               switch (pattern1207 (x3, 
   31052              : E_DImode, 
   31053              : E_TImode))
   31054              :                 {
   31055              :                 case 0:
   31056              :                   if ((
   31057              : #line 8982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31058              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31059              :    && peep2_reg_dead_p (3, operands[0])
   31060              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31061              :    && !reg_overlap_mentioned_p (operands[0], operands[2])) && 
   31062              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31063              : (TARGET_64BIT)))
   31064              :                     {
   31065              :                       *pmatch_len_ = 2;
   31066              :                       res = gen_peephole2_81 (insn, operands);
   31067              :                       if (res != NULL_RTX)
   31068              :                         return res;
   31069              :                     }
   31070              :                   break;
   31071              : 
   31072              :                 case 1:
   31073              :                   if ((
   31074              : #line 9009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31075              : (TARGET_APX_NDD
   31076              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31077              :    && peep2_reg_dead_p (3, operands[0])
   31078              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31079              :    && !reg_overlap_mentioned_p (operands[0], operands[2])) && 
   31080              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31081              : (TARGET_64BIT)))
   31082              :                     {
   31083              :                       *pmatch_len_ = 2;
   31084              :                       res = gen_peephole2_85 (insn, operands);
   31085              :                       if (res != NULL_RTX)
   31086              :                         return res;
   31087              :                     }
   31088              :                   break;
   31089              : 
   31090              :                 case 2:
   31091              :                   if ((
   31092              : #line 9568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31093              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31094              :    && peep2_reg_dead_p (3, operands[0])
   31095              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31096              :    && !reg_overlap_mentioned_p (operands[0], operands[2])) && 
   31097              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31098              : (TARGET_64BIT)))
   31099              :                     {
   31100              :                       *pmatch_len_ = 2;
   31101              :                       res = gen_peephole2_101 (insn, operands);
   31102              :                       if (res != NULL_RTX)
   31103              :                         return res;
   31104              :                     }
   31105              :                   break;
   31106              : 
   31107              :                 case 3:
   31108              :                   x5 = PATTERN (peep2_next_insn (2));
   31109              :                   x6 = XEXP (x5, 0);
   31110              :                   if (rtx_equal_p (x6, operands[1])
   31111              :                       && (
   31112              : #line 9624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31113              : (TARGET_APX_NDD
   31114              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31115              :    && peep2_reg_dead_p (3, operands[0])
   31116              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31117              :    && !reg_overlap_mentioned_p (operands[0], operands[2])) && 
   31118              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31119              : (TARGET_64BIT)))
   31120              :                     {
   31121              :                       *pmatch_len_ = 2;
   31122              :                       res = gen_peephole2_103 (insn, operands);
   31123              :                       if (res != NULL_RTX)
   31124              :                         return res;
   31125              :                     }
   31126              :                   if (rtx_equal_p (x6, operands[2])
   31127              :                       && (
   31128              : #line 9679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31129              : (TARGET_APX_NDD
   31130              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31131              :    && peep2_reg_dead_p (3, operands[0])
   31132              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31133              :    && !reg_overlap_mentioned_p (operands[0], operands[2])) && 
   31134              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31135              : (TARGET_64BIT)))
   31136              :                     {
   31137              :                       *pmatch_len_ = 2;
   31138              :                       res = gen_peephole2_105 (insn, operands);
   31139              :                       if (res != NULL_RTX)
   31140              :                         return res;
   31141              :                     }
   31142              :                   break;
   31143              : 
   31144              :                 case 4:
   31145              :                   if ((
   31146              : #line 10292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31147              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31148              :    && peep2_reg_dead_p (3, operands[0])
   31149              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31150              :    && !reg_overlap_mentioned_p (operands[0], operands[2])) && 
   31151              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31152              : (TARGET_64BIT)))
   31153              :                     {
   31154              :                       *pmatch_len_ = 2;
   31155              :                       res = gen_peephole2_117 (insn, operands);
   31156              :                       if (res != NULL_RTX)
   31157              :                         return res;
   31158              :                     }
   31159              :                   break;
   31160              : 
   31161              :                 case 5:
   31162              :                   if ((
   31163              : #line 10337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31164              : (TARGET_APX_NDD
   31165              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31166              :    && peep2_reg_dead_p (3, operands[0])
   31167              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31168              :    && !reg_overlap_mentioned_p (operands[0], operands[2])) && 
   31169              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31170              : (TARGET_64BIT)))
   31171              :                     {
   31172              :                       *pmatch_len_ = 2;
   31173              :                       res = gen_peephole2_119 (insn, operands);
   31174              :                       if (res != NULL_RTX)
   31175              :                         return res;
   31176              :                     }
   31177              :                   break;
   31178              : 
   31179              :                 case 6:
   31180              :                   if ((
   31181              : #line 10717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31182              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31183              :    && peep2_reg_dead_p (3, operands[0])
   31184              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31185              :    && !reg_overlap_mentioned_p (operands[0], operands[2])) && 
   31186              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31187              : (TARGET_64BIT)))
   31188              :                     {
   31189              :                       *pmatch_len_ = 2;
   31190              :                       res = gen_peephole2_131 (insn, operands);
   31191              :                       if (res != NULL_RTX)
   31192              :                         return res;
   31193              :                     }
   31194              :                   break;
   31195              : 
   31196              :                 case 7:
   31197              :                   if ((
   31198              : #line 9137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31199              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31200              :    && peep2_reg_dead_p (3, operands[0])
   31201              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31202              :    && !reg_overlap_mentioned_p (operands[0], operands[2])) && 
   31203              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31204              : (TARGET_64BIT)))
   31205              :                     {
   31206              :                       *pmatch_len_ = 2;
   31207              :                       res = gen_peephole2_93 (insn, operands);
   31208              :                       if (res != NULL_RTX)
   31209              :                         return res;
   31210              :                     }
   31211              :                   break;
   31212              : 
   31213              :                 case 8:
   31214              :                   if ((
   31215              : #line 9163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31216              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31217              :    && peep2_reg_dead_p (3, operands[0])
   31218              :    && peep2_reg_dead_p (4, operands[5])
   31219              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31220              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31221              :    && !reg_overlap_mentioned_p (operands[5], operands[1])) && 
   31222              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31223              : (TARGET_64BIT)))
   31224              :                     {
   31225              :                       *pmatch_len_ = 3;
   31226              :                       res = gen_peephole2_97 (insn, operands);
   31227              :                       if (res != NULL_RTX)
   31228              :                         return res;
   31229              :                     }
   31230              :                   break;
   31231              : 
   31232              :                 case 9:
   31233              :                   if ((
   31234              : #line 9858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31235              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31236              :    && peep2_reg_dead_p (3, operands[0])
   31237              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31238              :    && !reg_overlap_mentioned_p (operands[0], operands[2])) && 
   31239              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31240              : (TARGET_64BIT)))
   31241              :                     {
   31242              :                       *pmatch_len_ = 2;
   31243              :                       res = gen_peephole2_111 (insn, operands);
   31244              :                       if (res != NULL_RTX)
   31245              :                         return res;
   31246              :                     }
   31247              :                   break;
   31248              : 
   31249              :                 case 10:
   31250              :                   if ((
   31251              : #line 9884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31252              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31253              :    && peep2_reg_dead_p (3, operands[0])
   31254              :    && peep2_reg_dead_p (4, operands[5])
   31255              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31256              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31257              :    && !reg_overlap_mentioned_p (operands[5], operands[1])) && 
   31258              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31259              : (TARGET_64BIT)))
   31260              :                     {
   31261              :                       *pmatch_len_ = 3;
   31262              :                       res = gen_peephole2_115 (insn, operands);
   31263              :                       if (res != NULL_RTX)
   31264              :                         return res;
   31265              :                     }
   31266              :                   break;
   31267              : 
   31268              :                 default:
   31269              :                   break;
   31270              :                 }
   31271              :             }
   31272              :           if (peep2_current_count >= 4
   31273              :               && pattern1209 (x3, 
   31274              : E_DImode) == 0
   31275              :               && (
   31276              : #line 15174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31277              : (REGNO (operands[0]) != REGNO (operands[2])
   31278              :    && !reg_mentioned_p (operands[0], operands[1])
   31279              :    && !reg_mentioned_p (operands[2], operands[1])) && 
   31280              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31281              : (TARGET_64BIT)))
   31282              :             {
   31283              :               *pmatch_len_ = 3;
   31284              :               res = gen_peephole2_172 (insn, operands);
   31285              :               if (res != NULL_RTX)
   31286              :                 return res;
   31287              :             }
   31288              :           if (general_reg_operand (operands[1], E_DImode))
   31289              :             {
   31290              :               x5 = PATTERN (peep2_next_insn (2));
   31291              :               if (GET_CODE (x5) == SET)
   31292              :                 {
   31293              :                   x7 = XEXP (x4, 1);
   31294              :                   if (GET_CODE (x7) == NEG
   31295              :                       && pattern1355 (x3, 
   31296              : E_DImode) == 0
   31297              :                       && 
   31298              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31299              : (TARGET_64BIT))
   31300              :                     {
   31301              :                       *pmatch_len_ = 2;
   31302              :                       res = gen_peephole2_178 (insn, operands);
   31303              :                       if (res != NULL_RTX)
   31304              :                         return res;
   31305              :                     }
   31306              :                   if (peep2_current_count >= 4
   31307              :                       && pattern1357 (x3, 
   31308              : E_DImode) == 0
   31309              :                       && (
   31310              : #line 27645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31311              : (TARGET_CMOVE
   31312              :   && REGNO (operands[2]) != REGNO (operands[0])
   31313              :   && REGNO (operands[2]) != REGNO (operands[1])
   31314              :   && peep2_reg_dead_p (1, operands[1])
   31315              :   && peep2_reg_dead_p (4, operands[2])
   31316              :   && !reg_overlap_mentioned_p (operands[0], operands[3])) && 
   31317              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31318              : (TARGET_64BIT)))
   31319              :                     {
   31320              :                       *pmatch_len_ = 3;
   31321              :                       res = gen_peephole2_229 (insn, operands);
   31322              :                       if (res != NULL_RTX)
   31323              :                         return res;
   31324              :                     }
   31325              :                 }
   31326              :             }
   31327              :         }
   31328              :     }
   31329              :   if (!immediate_operand (operands[1], E_DImode)
   31330              :       || GET_CODE (x3) != SET)
   31331              :     return NULL;
   31332              :   switch (pattern964 (x3, 
   31333              : E_TImode, 
   31334              : E_DImode))
   31335              :     {
   31336              :     case 0:
   31337              :       if (!(
   31338              : #line 11861 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31339              : (REGNO (operands[3]) != AX_REG
   31340              :    && REGNO (operands[0]) != REGNO (operands[2])
   31341              :    && REGNO (operands[0]) != REGNO (operands[3])
   31342              :    && (REGNO (operands[0]) == REGNO (operands[4])
   31343              :        || REGNO (operands[0]) == DX_REG
   31344              :        || peep2_reg_dead_p (3, operands[0]))) && 
   31345              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31346              : (TARGET_64BIT)))
   31347              :         return NULL;
   31348              :       *pmatch_len_ = 2;
   31349              :       return gen_peephole2_135 (insn, operands);
   31350              : 
   31351              :     case 1:
   31352              :       if (!(
   31353              : #line 11883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31354              : (REGNO (operands[3]) != DX_REG
   31355              :    && REGNO (operands[0]) != REGNO (operands[2])
   31356              :    && REGNO (operands[0]) != REGNO (operands[3])
   31357              :    && (REGNO (operands[0]) == REGNO (operands[4])
   31358              :        || REGNO (operands[0]) == REGNO (operands[5])
   31359              :        || peep2_reg_dead_p (3, operands[0]))
   31360              :    && (REGNO (operands[2]) == REGNO (operands[4])
   31361              :        || REGNO (operands[2]) == REGNO (operands[5])
   31362              :        || peep2_reg_dead_p (3, operands[2]))) && 
   31363              : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31364              : (TARGET_64BIT)))
   31365              :         return NULL;
   31366              :       *pmatch_len_ = 2;
   31367              :       return gen_peephole2_137 (insn, operands);
   31368              : 
   31369              :     case 2:
   31370              :       if (!general_reg_operand (operands[4], E_DImode))
   31371              :         return NULL;
   31372              :       x5 = PATTERN (peep2_next_insn (2));
   31373              :       x8 = XVECEXP (x5, 0, 0);
   31374              :       x9 = XEXP (x8, 1);
   31375              :       if (GET_MODE (x9) != E_DImode)
   31376              :         return NULL;
   31377              :       x10 = XVECEXP (x5, 0, 1);
   31378              :       x11 = XEXP (x10, 0);
   31379              :       if (!rtx_equal_p (x11, operands[2]))
   31380              :         return NULL;
   31381              :       switch (GET_CODE (x9))
   31382              :         {
   31383              :         case SMUL_HIGHPART:
   31384              :           x12 = XEXP (x9, 0);
   31385              :           if (!rtx_equal_p (x12, operands[2]))
   31386              :             return NULL;
   31387              :           x13 = XEXP (x9, 1);
   31388              :           if (!rtx_equal_p (x13, operands[0])
   31389              :               || !(
   31390              : #line 12022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31391              : (REGNO (operands[3]) != AX_REG
   31392              :    && REGNO (operands[0]) != REGNO (operands[2])
   31393              :    && REGNO (operands[0]) != REGNO (operands[3])
   31394              :    && (REGNO (operands[0]) == REGNO (operands[4])
   31395              :        || peep2_reg_dead_p (3, operands[0]))) && 
   31396              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31397              : (TARGET_64BIT)))
   31398              :             return NULL;
   31399              :           *pmatch_len_ = 2;
   31400              :           return gen_peephole2_140 (insn, operands);
   31401              : 
   31402              :         case UMUL_HIGHPART:
   31403              :           x12 = XEXP (x9, 0);
   31404              :           if (!rtx_equal_p (x12, operands[2]))
   31405              :             return NULL;
   31406              :           x13 = XEXP (x9, 1);
   31407              :           if (!rtx_equal_p (x13, operands[0])
   31408              :               || !(
   31409              : #line 12022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31410              : (REGNO (operands[3]) != AX_REG
   31411              :    && REGNO (operands[0]) != REGNO (operands[2])
   31412              :    && REGNO (operands[0]) != REGNO (operands[3])
   31413              :    && (REGNO (operands[0]) == REGNO (operands[4])
   31414              :        || peep2_reg_dead_p (3, operands[0]))) && 
   31415              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31416              : (TARGET_64BIT)))
   31417              :             return NULL;
   31418              :           *pmatch_len_ = 2;
   31419              :           return gen_peephole2_141 (insn, operands);
   31420              : 
   31421              :         default:
   31422              :           return NULL;
   31423              :         }
   31424              : 
   31425              :     default:
   31426              :       return NULL;
   31427              :     }
   31428              : }
   31429              : 
   31430              :  rtx_insn *
   31431              : peephole2_34 (rtx x1 ATTRIBUTE_UNUSED,
   31432              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31433              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31434              : {
   31435              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31436              :   rtx x2, x3, x4, x5, x6;
   31437              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31438              :   x2 = XEXP (x1, 0);
   31439              :   if (REGNO (x2) != 17)
   31440              :     return NULL;
   31441              :   x3 = XEXP (x1, 1);
   31442              :   operands[0] = x3;
   31443              :   x4 = PATTERN (peep2_next_insn (1));
   31444              :   if (GET_CODE (x4) != SET)
   31445              :     return NULL;
   31446              :   x5 = XEXP (x4, 1);
   31447              :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   31448              :     return NULL;
   31449              :   x6 = XEXP (x4, 0);
   31450              :   operands[1] = x6;
   31451              :   switch (GET_MODE (operands[1]))
   31452              :     {
   31453              :     case E_QImode:
   31454              :       if (!general_reg_operand (operands[1], E_QImode)
   31455              :           || !
   31456              : #line 28168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31457              : (peep2_regno_dead_p (0, FLAGS_REG)
   31458              :    && !reg_overlap_mentioned_p (operands[1], operands[0])))
   31459              :         return NULL;
   31460              :       *pmatch_len_ = 1;
   31461              :       return gen_peephole2_237 (insn, operands);
   31462              : 
   31463              :     case E_HImode:
   31464              :       if (!general_reg_operand (operands[1], E_HImode)
   31465              :           || !
   31466              : #line 28168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31467              : (peep2_regno_dead_p (0, FLAGS_REG)
   31468              :    && !reg_overlap_mentioned_p (operands[1], operands[0])))
   31469              :         return NULL;
   31470              :       *pmatch_len_ = 1;
   31471              :       return gen_peephole2_238 (insn, operands);
   31472              : 
   31473              :     case E_SImode:
   31474              :       if (!general_reg_operand (operands[1], E_SImode)
   31475              :           || !
   31476              : #line 28168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31477              : (peep2_regno_dead_p (0, FLAGS_REG)
   31478              :    && !reg_overlap_mentioned_p (operands[1], operands[0])))
   31479              :         return NULL;
   31480              :       *pmatch_len_ = 1;
   31481              :       return gen_peephole2_239 (insn, operands);
   31482              : 
   31483              :     case E_DImode:
   31484              :       if (!general_reg_operand (operands[1], E_DImode)
   31485              :           || !(
   31486              : #line 28168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31487              : (peep2_regno_dead_p (0, FLAGS_REG)
   31488              :    && !reg_overlap_mentioned_p (operands[1], operands[0])) && 
   31489              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31490              : (TARGET_64BIT)))
   31491              :         return NULL;
   31492              :       *pmatch_len_ = 1;
   31493              :       return gen_peephole2_240 (insn, operands);
   31494              : 
   31495              :     default:
   31496              :       return NULL;
   31497              :     }
   31498              : }
   31499              : 
   31500              :  rtx_insn *
   31501              : peephole2_38 (rtx x1 ATTRIBUTE_UNUSED,
   31502              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31503              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31504              : {
   31505              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31506              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   31507              :   rtx x10, x11;
   31508              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31509              :   x2 = XEXP (x1, 1);
   31510              :   if (XWINT (x2, 0) == -1L)
   31511              :     {
   31512              :       switch (GET_MODE (operands[0]))
   31513              :         {
   31514              :         case E_HImode:
   31515              :           if (general_reg_operand (operands[0], E_HImode)
   31516              :               && 
   31517              : #line 29897 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31518              : ((TARGET_MOVE_M1_VIA_OR || optimize_insn_for_size_p ())
   31519              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   31520              :             {
   31521              :               *pmatch_len_ = 0;
   31522              :               res = gen_peephole2_371 (insn, operands);
   31523              :               if (res != NULL_RTX)
   31524              :                 return res;
   31525              :             }
   31526              :           break;
   31527              : 
   31528              :         case E_SImode:
   31529              :           if (general_reg_operand (operands[0], E_SImode)
   31530              :               && 
   31531              : #line 29897 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31532              : ((TARGET_MOVE_M1_VIA_OR || optimize_insn_for_size_p ())
   31533              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   31534              :             {
   31535              :               *pmatch_len_ = 0;
   31536              :               res = gen_peephole2_372 (insn, operands);
   31537              :               if (res != NULL_RTX)
   31538              :                 return res;
   31539              :             }
   31540              :           break;
   31541              : 
   31542              :         case E_DImode:
   31543              :           if (general_reg_operand (operands[0], E_DImode)
   31544              :               && (
   31545              : #line 29897 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31546              : ((TARGET_MOVE_M1_VIA_OR || optimize_insn_for_size_p ())
   31547              :    && peep2_regno_dead_p (0, FLAGS_REG)) && 
   31548              : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31549              : (TARGET_64BIT)))
   31550              :             {
   31551              :               *pmatch_len_ = 0;
   31552              :               res = gen_peephole2_373 (insn, operands);
   31553              :               if (res != NULL_RTX)
   31554              :                 return res;
   31555              :             }
   31556              :           break;
   31557              : 
   31558              :         default:
   31559              :           break;
   31560              :         }
   31561              :     }
   31562              :   if (peep2_current_count < 2
   31563              :       || peep2_current_count < 3)
   31564              :     return NULL;
   31565              :   operands[2] = x2;
   31566              :   x3 = PATTERN (peep2_next_insn (1));
   31567              :   if (pattern610 (x3, 
   31568              : 2) != 0)
   31569              :     return NULL;
   31570              :   x4 = XVECEXP (x3, 0, 0);
   31571              :   x5 = XEXP (x4, 1);
   31572              :   if (XINT (x5, 1) != 110)
   31573              :     return NULL;
   31574              :   x6 = XVECEXP (x3, 0, 1);
   31575              :   if (GET_CODE (x6) != SET)
   31576              :     return NULL;
   31577              :   x7 = XEXP (x6, 1);
   31578              :   if (GET_CODE (x7) != PLUS
   31579              :       || pattern1518 (x3) != 0
   31580              :       || pattern1714 (x3) != 0)
   31581              :     return NULL;
   31582              :   x8 = PATTERN (peep2_next_insn (2));
   31583              :   x9 = XEXP (x8, 1);
   31584              :   x10 = XEXP (x9, 1);
   31585              :   operands[3] = x10;
   31586              :   x11 = XEXP (x9, 0);
   31587              :   if (!rtx_equal_p (x11, operands[0]))
   31588              :     return NULL;
   31589              :   switch (GET_MODE (operands[0]))
   31590              :     {
   31591              :     case E_HImode:
   31592              :       if (pattern1890 (x3, 
   31593              : E_HImode) != 0
   31594              :           || !
   31595              : #line 724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   31596              : (peep2_reg_dead_p (3, operands[0])
   31597              :    && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
   31598              :       == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   31599              :    && !reg_overlap_mentioned_p (operands[0], operands[1])))
   31600              :         return NULL;
   31601              :       *pmatch_len_ = 2;
   31602              :       return gen_peephole2_452 (insn, operands);
   31603              : 
   31604              :     case E_SImode:
   31605              :       if (pattern1890 (x3, 
   31606              : E_SImode) != 0
   31607              :           || !
   31608              : #line 724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   31609              : (peep2_reg_dead_p (3, operands[0])
   31610              :    && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
   31611              :       == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   31612              :    && !reg_overlap_mentioned_p (operands[0], operands[1])))
   31613              :         return NULL;
   31614              :       *pmatch_len_ = 2;
   31615              :       return gen_peephole2_453 (insn, operands);
   31616              : 
   31617              :     case E_DImode:
   31618              :       if (pattern1890 (x3, 
   31619              : E_DImode) != 0
   31620              :           || !(
   31621              : #line 724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   31622              : (peep2_reg_dead_p (3, operands[0])
   31623              :    && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
   31624              :       == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   31625              :    && !reg_overlap_mentioned_p (operands[0], operands[1])) && 
   31626              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31627              : (TARGET_64BIT)))
   31628              :         return NULL;
   31629              :       *pmatch_len_ = 2;
   31630              :       return gen_peephole2_454 (insn, operands);
   31631              : 
   31632              :     default:
   31633              :       return NULL;
   31634              :     }
   31635              : }
   31636              : 
   31637              :  rtx_insn *
   31638              : peephole2_45 (rtx x1 ATTRIBUTE_UNUSED,
   31639              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31640              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31641              : {
   31642              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31643              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   31644              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   31645              :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
   31646              :   rtx x26;
   31647              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31648              :   x2 = XVECEXP (x1, 0, 0);
   31649              :   x3 = XEXP (x2, 0);
   31650              :   if (GET_CODE (x3) != REG
   31651              :       || REGNO (x3) != 17)
   31652              :     return NULL;
   31653              :   x4 = XVECEXP (x1, 0, 1);
   31654              :   if (GET_CODE (x4) != SET)
   31655              :     return NULL;
   31656              :   x5 = XEXP (x2, 1);
   31657              :   x6 = XEXP (x5, 0);
   31658              :   switch (GET_CODE (x6))
   31659              :     {
   31660              :     case REG:
   31661              :       operands[0] = x6;
   31662              :       x7 = XEXP (x4, 1);
   31663              :       if (GET_CODE (x7) != MINUS
   31664              :           || GET_MODE (x3) != E_CCmode
   31665              :           || GET_MODE (x5) != E_CCmode)
   31666              :         return NULL;
   31667              :       x8 = XEXP (x5, 1);
   31668              :       operands[1] = x8;
   31669              :       x9 = XEXP (x7, 0);
   31670              :       if (!rtx_equal_p (x9, operands[0]))
   31671              :         return NULL;
   31672              :       x10 = XEXP (x7, 1);
   31673              :       if (!rtx_equal_p (x10, operands[1]))
   31674              :         return NULL;
   31675              :       x11 = XEXP (x4, 0);
   31676              :       if (!rtx_equal_p (x11, operands[0]))
   31677              :         return NULL;
   31678              :       switch (GET_MODE (operands[0]))
   31679              :         {
   31680              :         case E_QImode:
   31681              :           if (!general_reg_operand (operands[0], E_QImode)
   31682              :               || !general_gr_operand (operands[1], E_QImode)
   31683              :               || GET_MODE (x7) != E_QImode
   31684              :               || !
   31685              : #line 8969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31686              : (find_regno_note (peep2_next_insn (0), REG_UNUSED, REGNO (operands[0])) != 0))
   31687              :             return NULL;
   31688              :           *pmatch_len_ = 0;
   31689              :           return gen_peephole2_74 (insn, operands);
   31690              : 
   31691              :         case E_HImode:
   31692              :           if (!general_reg_operand (operands[0], E_HImode)
   31693              :               || !general_gr_operand (operands[1], E_HImode)
   31694              :               || GET_MODE (x7) != E_HImode
   31695              :               || !
   31696              : #line 8969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31697              : (find_regno_note (peep2_next_insn (0), REG_UNUSED, REGNO (operands[0])) != 0))
   31698              :             return NULL;
   31699              :           *pmatch_len_ = 0;
   31700              :           return gen_peephole2_75 (insn, operands);
   31701              : 
   31702              :         case E_SImode:
   31703              :           if (!general_reg_operand (operands[0], E_SImode)
   31704              :               || !general_gr_operand (operands[1], E_SImode)
   31705              :               || GET_MODE (x7) != E_SImode
   31706              :               || !
   31707              : #line 8969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31708              : (find_regno_note (peep2_next_insn (0), REG_UNUSED, REGNO (operands[0])) != 0))
   31709              :             return NULL;
   31710              :           *pmatch_len_ = 0;
   31711              :           return gen_peephole2_76 (insn, operands);
   31712              : 
   31713              :         case E_DImode:
   31714              :           if (!general_reg_operand (operands[0], E_DImode)
   31715              :               || !general_gr_operand (operands[1], E_DImode)
   31716              :               || GET_MODE (x7) != E_DImode
   31717              :               || !(
   31718              : #line 8969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31719              : (find_regno_note (peep2_next_insn (0), REG_UNUSED, REGNO (operands[0])) != 0) && 
   31720              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31721              : (TARGET_64BIT)))
   31722              :             return NULL;
   31723              :           *pmatch_len_ = 0;
   31724              :           return gen_peephole2_77 (insn, operands);
   31725              : 
   31726              :         default:
   31727              :           return NULL;
   31728              :         }
   31729              : 
   31730              :     case ZERO_EXTEND:
   31731              :       if (peep2_current_count < 2)
   31732              :         return NULL;
   31733              :       x12 = XEXP (x6, 0);
   31734              :       if (GET_CODE (x12) != PLUS)
   31735              :         return NULL;
   31736              :       x13 = XEXP (x12, 0);
   31737              :       if (GET_CODE (x13) != PLUS)
   31738              :         return NULL;
   31739              :       x14 = XEXP (x13, 0);
   31740              :       switch (GET_CODE (x14))
   31741              :         {
   31742              :         case LTU:
   31743              :         case UNLT:
   31744              :           operands[4] = x14;
   31745              :           x15 = XEXP (x14, 1);
   31746              :           if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   31747              :             return NULL;
   31748              :           x8 = XEXP (x5, 1);
   31749              :           if (GET_CODE (x8) != PLUS)
   31750              :             return NULL;
   31751              :           x16 = XEXP (x8, 0);
   31752              :           switch (GET_CODE (x16))
   31753              :             {
   31754              :             case LTU:
   31755              :             case UNLT:
   31756              :               operands[3] = x16;
   31757              :               x17 = XEXP (x16, 1);
   31758              :               if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   31759              :                 return NULL;
   31760              :               x18 = XEXP (x8, 1);
   31761              :               if (GET_CODE (x18) != ZERO_EXTEND)
   31762              :                 return NULL;
   31763              :               x7 = XEXP (x4, 1);
   31764              :               if (pattern1329 (x7) != 0
   31765              :                   || GET_MODE (x3) != E_CCCmode
   31766              :                   || GET_MODE (x5) != E_CCCmode)
   31767              :                 return NULL;
   31768              :               x19 = XEXP (x14, 0);
   31769              :               operands[2] = x19;
   31770              :               if (!flags_reg_operand (operands[2], E_VOIDmode))
   31771              :                 return NULL;
   31772              :               x20 = XEXP (x13, 1);
   31773              :               operands[0] = x20;
   31774              :               x21 = XEXP (x12, 1);
   31775              :               operands[1] = x21;
   31776              :               x22 = XEXP (x16, 0);
   31777              :               if (!rtx_equal_p (x22, operands[2]))
   31778              :                 return NULL;
   31779              :               x23 = XEXP (x18, 0);
   31780              :               if (!rtx_equal_p (x23, operands[1]))
   31781              :                 return NULL;
   31782              :               x9 = XEXP (x7, 0);
   31783              :               x24 = XEXP (x9, 1);
   31784              :               if (!rtx_equal_p (x24, operands[0]))
   31785              :                 return NULL;
   31786              :               x10 = XEXP (x7, 1);
   31787              :               if (!rtx_equal_p (x10, operands[1]))
   31788              :                 return NULL;
   31789              :               x11 = XEXP (x4, 0);
   31790              :               if (!rtx_equal_p (x11, operands[0]))
   31791              :                 return NULL;
   31792              :               x25 = PATTERN (peep2_next_insn (1));
   31793              :               if (GET_CODE (x25) != SET)
   31794              :                 return NULL;
   31795              :               switch (GET_MODE (x6))
   31796              :                 {
   31797              :                 case E_DImode:
   31798              :                   switch (pattern1894 (x1, 
   31799              : E_SImode, 
   31800              : E_DImode))
   31801              :                     {
   31802              :                     case 0:
   31803              :                       if (!
   31804              : #line 9523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31805              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31806              :    && peep2_reg_dead_p (2, operands[0])
   31807              :    && !reg_overlap_mentioned_p (operands[0], operands[1])))
   31808              :                         return NULL;
   31809              :                       *pmatch_len_ = 1;
   31810              :                       return gen_peephole2_98 (insn, operands);
   31811              : 
   31812              :                     case 1:
   31813              :                       if (!
   31814              : #line 9729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31815              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31816              :    && peep2_reg_dead_p (4, operands[0])
   31817              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31818              :    && !reg_overlap_mentioned_p (operands[0], operands[5])
   31819              :    && !reg_overlap_mentioned_p (operands[5], operands[1])
   31820              :    && !reg_overlap_mentioned_p (operands[0], operands[6])
   31821              :    && !reg_overlap_mentioned_p (operands[6], operands[1])))
   31822              :                         return NULL;
   31823              :                       *pmatch_len_ = 3;
   31824              :                       return gen_peephole2_106 (insn, operands);
   31825              : 
   31826              :                     default:
   31827              :                       return NULL;
   31828              :                     }
   31829              : 
   31830              :                 case E_TImode:
   31831              :                   switch (pattern1894 (x1, 
   31832              : E_DImode, 
   31833              : E_TImode))
   31834              :                     {
   31835              :                     case 0:
   31836              :                       if (!(
   31837              : #line 9523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31838              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31839              :    && peep2_reg_dead_p (2, operands[0])
   31840              :    && !reg_overlap_mentioned_p (operands[0], operands[1])) && 
   31841              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31842              : (TARGET_64BIT)))
   31843              :                         return NULL;
   31844              :                       *pmatch_len_ = 1;
   31845              :                       return gen_peephole2_99 (insn, operands);
   31846              : 
   31847              :                     case 1:
   31848              :                       if (!(
   31849              : #line 9729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31850              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31851              :    && peep2_reg_dead_p (4, operands[0])
   31852              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31853              :    && !reg_overlap_mentioned_p (operands[0], operands[5])
   31854              :    && !reg_overlap_mentioned_p (operands[5], operands[1])
   31855              :    && !reg_overlap_mentioned_p (operands[0], operands[6])
   31856              :    && !reg_overlap_mentioned_p (operands[6], operands[1])) && 
   31857              : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31858              : (TARGET_64BIT)))
   31859              :                         return NULL;
   31860              :                       *pmatch_len_ = 3;
   31861              :                       return gen_peephole2_107 (insn, operands);
   31862              : 
   31863              :                     default:
   31864              :                       return NULL;
   31865              :                     }
   31866              : 
   31867              :                 default:
   31868              :                   return NULL;
   31869              :                 }
   31870              : 
   31871              :             default:
   31872              :               return NULL;
   31873              :             }
   31874              : 
   31875              :         default:
   31876              :           return NULL;
   31877              :         }
   31878              : 
   31879              :     case PLUS:
   31880              :     case MINUS:
   31881              :     case AND:
   31882              :     case IOR:
   31883              :     case XOR:
   31884              :       if (peep2_current_count < 2)
   31885              :         return NULL;
   31886              :       x12 = XEXP (x6, 0);
   31887              :       operands[0] = x12;
   31888              :       x26 = XEXP (x6, 1);
   31889              :       operands[1] = x26;
   31890              :       x25 = PATTERN (peep2_next_insn (1));
   31891              :       if (GET_CODE (x25) != SET)
   31892              :         return NULL;
   31893              :       if (GET_CODE (x6) == PLUS)
   31894              :         {
   31895              :           res = peephole2_44 (x1, insn, pmatch_len_);
   31896              :           if (res != NULL_RTX)
   31897              :             return res;
   31898              :         }
   31899              :       x8 = XEXP (x5, 1);
   31900              :       if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   31901              :         return NULL;
   31902              :       operands[2] = x6;
   31903              :       x7 = XEXP (x4, 1);
   31904              :       if (!rtx_equal_p (x7, operands[2]))
   31905              :         return NULL;
   31906              :       switch (GET_MODE (operands[2]))
   31907              :         {
   31908              :         case E_QImode:
   31909              :           if (!plusminuslogic_operator (operands[2], E_QImode))
   31910              :             return NULL;
   31911              :           if (memory_operand (operands[0], E_QImode))
   31912              :             {
   31913              :               x11 = XEXP (x4, 0);
   31914              :               if (pattern1653 (x11, 
   31915              : E_QImode) == 0
   31916              :                   && 
   31917              : #line 29406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31918              : (TARGET_APX_NDD
   31919              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31920              :    && peep2_reg_dead_p (2, operands[3])
   31921              :    && !reg_overlap_mentioned_p (operands[3], operands[0])
   31922              :    && ix86_match_ccmode (peep2_next_insn (0),
   31923              :                          (GET_CODE (operands[2]) == PLUS
   31924              :                           || GET_CODE (operands[2]) == MINUS)
   31925              :                          ? CCGOCmode : CCNOmode)))
   31926              :                 {
   31927              :                   *pmatch_len_ = 1;
   31928              :                   res = gen_peephole2_327 (insn, operands);
   31929              :                   if (res != NULL_RTX)
   31930              :                     return res;
   31931              :                 }
   31932              :             }
   31933              :           if (!register_operand (operands[0], E_QImode))
   31934              :             return NULL;
   31935              :           x11 = XEXP (x4, 0);
   31936              :           if (pattern1654 (x11, 
   31937              : E_QImode) != 0
   31938              :               || !
   31939              : #line 29500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31940              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31941              :    && COMMUTATIVE_ARITH_P (operands[2])
   31942              :    && peep2_reg_dead_p (2, operands[0])
   31943              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31944              :    && ix86_match_ccmode (peep2_next_insn (0),
   31945              :                          GET_CODE (operands[2]) == PLUS
   31946              :                          ? CCGOCmode : CCNOmode)))
   31947              :             return NULL;
   31948              :           *pmatch_len_ = 1;
   31949              :           return gen_peephole2_339 (insn, operands);
   31950              : 
   31951              :         case E_HImode:
   31952              :           if (!plusminuslogic_operator (operands[2], E_HImode))
   31953              :             return NULL;
   31954              :           if (memory_operand (operands[0], E_HImode))
   31955              :             {
   31956              :               x11 = XEXP (x4, 0);
   31957              :               if (pattern1653 (x11, 
   31958              : E_HImode) == 0
   31959              :                   && 
   31960              : #line 29406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31961              : (TARGET_APX_NDD
   31962              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31963              :    && peep2_reg_dead_p (2, operands[3])
   31964              :    && !reg_overlap_mentioned_p (operands[3], operands[0])
   31965              :    && ix86_match_ccmode (peep2_next_insn (0),
   31966              :                          (GET_CODE (operands[2]) == PLUS
   31967              :                           || GET_CODE (operands[2]) == MINUS)
   31968              :                          ? CCGOCmode : CCNOmode)))
   31969              :                 {
   31970              :                   *pmatch_len_ = 1;
   31971              :                   res = gen_peephole2_328 (insn, operands);
   31972              :                   if (res != NULL_RTX)
   31973              :                     return res;
   31974              :                 }
   31975              :             }
   31976              :           if (!register_operand (operands[0], E_HImode))
   31977              :             return NULL;
   31978              :           x11 = XEXP (x4, 0);
   31979              :           if (pattern1654 (x11, 
   31980              : E_HImode) != 0
   31981              :               || !
   31982              : #line 29500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31983              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31984              :    && COMMUTATIVE_ARITH_P (operands[2])
   31985              :    && peep2_reg_dead_p (2, operands[0])
   31986              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31987              :    && ix86_match_ccmode (peep2_next_insn (0),
   31988              :                          GET_CODE (operands[2]) == PLUS
   31989              :                          ? CCGOCmode : CCNOmode)))
   31990              :             return NULL;
   31991              :           *pmatch_len_ = 1;
   31992              :           return gen_peephole2_340 (insn, operands);
   31993              : 
   31994              :         case E_SImode:
   31995              :           if (!plusminuslogic_operator (operands[2], E_SImode))
   31996              :             return NULL;
   31997              :           if (memory_operand (operands[0], E_SImode))
   31998              :             {
   31999              :               x11 = XEXP (x4, 0);
   32000              :               if (pattern1655 (x11, 
   32001              : E_SImode) == 0
   32002              :                   && 
   32003              : #line 29406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32004              : (TARGET_APX_NDD
   32005              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32006              :    && peep2_reg_dead_p (2, operands[3])
   32007              :    && !reg_overlap_mentioned_p (operands[3], operands[0])
   32008              :    && ix86_match_ccmode (peep2_next_insn (0),
   32009              :                          (GET_CODE (operands[2]) == PLUS
   32010              :                           || GET_CODE (operands[2]) == MINUS)
   32011              :                          ? CCGOCmode : CCNOmode)))
   32012              :                 {
   32013              :                   *pmatch_len_ = 1;
   32014              :                   res = gen_peephole2_329 (insn, operands);
   32015              :                   if (res != NULL_RTX)
   32016              :                     return res;
   32017              :                 }
   32018              :             }
   32019              :           if (!register_operand (operands[0], E_SImode))
   32020              :             return NULL;
   32021              :           x11 = XEXP (x4, 0);
   32022              :           if (pattern1654 (x11, 
   32023              : E_SImode) != 0
   32024              :               || !
   32025              : #line 29500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32026              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32027              :    && COMMUTATIVE_ARITH_P (operands[2])
   32028              :    && peep2_reg_dead_p (2, operands[0])
   32029              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32030              :    && ix86_match_ccmode (peep2_next_insn (0),
   32031              :                          GET_CODE (operands[2]) == PLUS
   32032              :                          ? CCGOCmode : CCNOmode)))
   32033              :             return NULL;
   32034              :           *pmatch_len_ = 1;
   32035              :           return gen_peephole2_341 (insn, operands);
   32036              : 
   32037              :         case E_DImode:
   32038              :           if (!plusminuslogic_operator (operands[2], E_DImode))
   32039              :             return NULL;
   32040              :           if (memory_operand (operands[0], E_DImode))
   32041              :             {
   32042              :               x11 = XEXP (x4, 0);
   32043              :               if (pattern1655 (x11, 
   32044              : E_DImode) == 0
   32045              :                   && (
   32046              : #line 29406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32047              : (TARGET_APX_NDD
   32048              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32049              :    && peep2_reg_dead_p (2, operands[3])
   32050              :    && !reg_overlap_mentioned_p (operands[3], operands[0])
   32051              :    && ix86_match_ccmode (peep2_next_insn (0),
   32052              :                          (GET_CODE (operands[2]) == PLUS
   32053              :                           || GET_CODE (operands[2]) == MINUS)
   32054              :                          ? CCGOCmode : CCNOmode)) && 
   32055              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32056              : (TARGET_64BIT)))
   32057              :                 {
   32058              :                   *pmatch_len_ = 1;
   32059              :                   res = gen_peephole2_330 (insn, operands);
   32060              :                   if (res != NULL_RTX)
   32061              :                     return res;
   32062              :                 }
   32063              :             }
   32064              :           if (!register_operand (operands[0], E_DImode))
   32065              :             return NULL;
   32066              :           x11 = XEXP (x4, 0);
   32067              :           if (pattern1654 (x11, 
   32068              : E_DImode) != 0
   32069              :               || !(
   32070              : #line 29500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32071              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32072              :    && COMMUTATIVE_ARITH_P (operands[2])
   32073              :    && peep2_reg_dead_p (2, operands[0])
   32074              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32075              :    && ix86_match_ccmode (peep2_next_insn (0),
   32076              :                          GET_CODE (operands[2]) == PLUS
   32077              :                          ? CCGOCmode : CCNOmode)) && 
   32078              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32079              : (TARGET_64BIT)))
   32080              :             return NULL;
   32081              :           *pmatch_len_ = 1;
   32082              :           return gen_peephole2_342 (insn, operands);
   32083              : 
   32084              :         default:
   32085              :           return NULL;
   32086              :         }
   32087              : 
   32088              :     default:
   32089              :       return NULL;
   32090              :     }
   32091              : }
        

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.