LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - insn-recog-9.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 90.2 % 3965 3578
Test Date: 2026-02-28 14:20:25 Functions: 95.5 % 224 214
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       212662 : pattern8 (rtx x1, int *pnum_clobbers)
      57              : {
      58       212662 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
      59       212662 :   rtx x2, x3, x4, x5, x6, x7;
      60       212662 :   int res ATTRIBUTE_UNUSED;
      61       212662 :   x2 = XEXP (x1, 0);
      62       212662 :   operands[0] = x2;
      63       212662 :   x3 = XEXP (x1, 1);
      64       212662 :   x4 = XEXP (x3, 0);
      65       212662 :   switch (GET_CODE (x4))
      66              :     {
      67        99148 :     case REG:
      68        99148 :     case SUBREG:
      69        99148 :     case MEM:
      70        99148 :       operands[1] = x4;
      71        99148 :       x5 = XEXP (x3, 1);
      72        99148 :       operands[2] = x5;
      73        99148 :       switch (GET_MODE (operands[0]))
      74              :         {
      75           12 :         case E_TImode:
      76           12 :           if (pnum_clobbers == NULL
      77           12 :               || pattern4 (x3, 
      78              : E_TImode) != 0)
      79            0 :             return -1;
      80              :           return 0;
      81              : 
      82         1680 :         case E_QImode:
      83         1680 :           if (pnum_clobbers == NULL
      84         1680 :               || pattern4 (x3, 
      85              : E_QImode) != 0)
      86          205 :             return -1;
      87              :           return 1;
      88              : 
      89          235 :         case E_HImode:
      90          235 :           if (pnum_clobbers == NULL
      91          235 :               || pattern4 (x3, 
      92              : E_HImode) != 0)
      93          124 :             return -1;
      94              :           return 2;
      95              : 
      96          167 :         case E_V4HImode:
      97          167 :           if (pattern5 (x3, 
      98              : E_V4HImode) != 0)
      99              :             return -1;
     100              :           return 3;
     101              : 
     102            0 :         case E_V2SImode:
     103            0 :           if (pattern5 (x3, 
     104              : E_V2SImode) != 0)
     105              :             return -1;
     106              :           return 4;
     107              : 
     108          314 :         case E_V8QImode:
     109          314 :           if (pattern6 (x3, 
     110              : E_V8QImode) != 0)
     111              :             return -1;
     112              :           return 5;
     113              : 
     114          254 :         case E_V4QImode:
     115          254 :           if (pattern5 (x3, 
     116              : E_V4QImode) != 0)
     117              :             return -1;
     118              :           return 6;
     119              : 
     120           62 :         case E_V2QImode:
     121           62 :           if (pattern5 (x3, 
     122              : E_V2QImode) != 0)
     123              :             return -1;
     124              :           return 7;
     125              : 
     126           44 :         case E_V2HImode:
     127           44 :           if (pattern5 (x3, 
     128              : E_V2HImode) != 0)
     129              :             return -1;
     130              :           return 8;
     131              : 
     132              :         default:
     133              :           return -1;
     134              :         }
     135              : 
     136        47730 :     case PLUS:
     137        47730 :       if (pnum_clobbers == NULL
     138        47730 :           || GET_MODE (x4) != E_HImode
     139            0 :           || !register_operand (operands[0], E_HImode)
     140        47730 :           || GET_MODE (x3) != E_HImode)
     141        47730 :         return -1;
     142            0 :       x6 = XEXP (x4, 0);
     143            0 :       operands[1] = x6;
     144            0 :       if (!nonimmediate_operand (operands[1], E_HImode))
     145              :         return -1;
     146            0 :       x7 = XEXP (x4, 1);
     147            0 :       operands[2] = x7;
     148            0 :       if (!general_operand (operands[2], E_HImode))
     149              :         return -1;
     150              :       return 9;
     151              : 
     152         9662 :     case MINUS:
     153         9662 :       if (pnum_clobbers == NULL
     154         9662 :           || GET_MODE (x4) != E_HImode
     155            4 :           || !register_operand (operands[0], E_HImode)
     156         9666 :           || GET_MODE (x3) != E_HImode)
     157         9658 :         return -1;
     158            4 :       x6 = XEXP (x4, 0);
     159            4 :       operands[1] = x6;
     160            4 :       if (!nonimmediate_operand (operands[1], E_HImode))
     161              :         return -1;
     162            4 :       x7 = XEXP (x4, 1);
     163            4 :       operands[2] = x7;
     164            4 :       if (!general_operand (operands[2], E_HImode))
     165              :         return -1;
     166            4 :       x5 = XEXP (x3, 1);
     167            4 :       if (!rtx_equal_p (x5, operands[1]))
     168              :         return -1;
     169              :       return 10;
     170              : 
     171              :     default:
     172              :       return -1;
     173              :     }
     174              : }
     175              : 
     176              : int
     177            0 : pattern39 (rtx x1, machine_mode i1, machine_mode i2)
     178              : {
     179            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     180            0 :   rtx x2, x3, x4;
     181            0 :   int res ATTRIBUTE_UNUSED;
     182            0 :   x2 = XEXP (x1, 1);
     183            0 :   operands[3] = x2;
     184            0 :   if (!const_int_operand (operands[3], E_QImode))
     185              :     return -1;
     186            0 :   x3 = XEXP (x1, 0);
     187            0 :   switch (GET_CODE (x3))
     188              :     {
     189            0 :     case REG:
     190            0 :     case SUBREG:
     191            0 :       operands[2] = x3;
     192            0 :       if (!register_operand (operands[2], i1))
     193              :         return -1;
     194              :       return 0;
     195              : 
     196            0 :     case SIGN_EXTEND:
     197            0 :       if (GET_MODE (x3) != i1)
     198              :         return -1;
     199            0 :       x4 = XEXP (x3, 0);
     200            0 :       operands[2] = x4;
     201            0 :       if (!nonimmediate_operand (operands[2], i2))
     202              :         return -1;
     203              :       return 1;
     204              : 
     205            0 :     case ZERO_EXTEND:
     206            0 :       if (GET_MODE (x3) != i1)
     207              :         return -1;
     208            0 :       x4 = XEXP (x3, 0);
     209            0 :       operands[2] = x4;
     210            0 :       if (!nonimmediate_operand (operands[2], i2))
     211              :         return -1;
     212              :       return 2;
     213              : 
     214              :     default:
     215              :       return -1;
     216              :     }
     217              : }
     218              : 
     219              : int
     220          161 : pattern41 (rtx x1)
     221              : {
     222          161 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     223          161 :   int res ATTRIBUTE_UNUSED;
     224          161 :   switch (GET_MODE (operands[0]))
     225              :     {
     226           82 :     case E_QImode:
     227           82 :       if (!register_operand (operands[0], E_QImode)
     228           82 :           || GET_MODE (x1) != E_QImode
     229          164 :           || !register_operand (operands[1], E_QImode))
     230           44 :         return -1;
     231              :       return 0;
     232              : 
     233           79 :     case E_HImode:
     234           79 :       if (!register_operand (operands[0], E_HImode)
     235           79 :           || GET_MODE (x1) != E_HImode
     236          158 :           || !register_operand (operands[1], E_HImode))
     237            0 :         return -1;
     238              :       return 1;
     239              : 
     240              :     default:
     241              :       return -1;
     242              :     }
     243              : }
     244              : 
     245              : int
     246       488910 : pattern45 (rtx x1)
     247              : {
     248       488910 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     249       488910 :   rtx x2, x3, x4, x5;
     250       488910 :   int res ATTRIBUTE_UNUSED;
     251       488910 :   x2 = XEXP (x1, 1);
     252       488910 :   if (GET_MODE (x2) != E_CCCmode)
     253              :     return -1;
     254            0 :   x3 = XEXP (x2, 0);
     255            0 :   if (GET_CODE (x3) != REG
     256            0 :       || REGNO (x3) != 17)
     257              :     return -1;
     258            0 :   x4 = XEXP (x2, 1);
     259            0 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     260              :     return -1;
     261            0 :   x5 = XEXP (x1, 0);
     262            0 :   if (GET_CODE (x5) != REG
     263            0 :       || REGNO (x5) != 17
     264            0 :       || GET_MODE (x5) != E_CCCmode)
     265              :     return -1;
     266            0 :   switch (GET_MODE (x3))
     267              :     {
     268              :     case E_CCmode:
     269              :       return 0;
     270              : 
     271            0 :     case E_CCCmode:
     272            0 :       return 1;
     273              : 
     274              :     default:
     275              :       return -1;
     276              :     }
     277              : }
     278              : 
     279              : int
     280         8857 : pattern54 (rtx x1)
     281              : {
     282         8857 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     283         8857 :   rtx x2, x3;
     284         8857 :   int res ATTRIBUTE_UNUSED;
     285         8857 :   x2 = XEXP (x1, 0);
     286         8857 :   operands[1] = x2;
     287         8857 :   x3 = XEXP (x1, 1);
     288         8857 :   operands[2] = x3;
     289         8857 :   switch (GET_MODE (operands[0]))
     290              :     {
     291          377 :     case E_V64QImode:
     292          377 :       return pattern26 (x1, 
     293          377 : E_V64QImode); /* [-1, 0] */
     294              : 
     295          618 :     case E_V32QImode:
     296          618 :       if (pattern26 (x1, 
     297              : E_V32QImode) != 0)
     298              :         return -1;
     299              :       return 1;
     300              : 
     301         2016 :     case E_V16QImode:
     302         2016 :       if (pattern26 (x1, 
     303              : E_V16QImode) != 0)
     304              :         return -1;
     305              :       return 2;
     306              : 
     307          357 :     case E_V32HImode:
     308          357 :       if (pattern26 (x1, 
     309              : E_V32HImode) != 0)
     310              :         return -1;
     311              :       return 3;
     312              : 
     313          593 :     case E_V16HImode:
     314          593 :       if (pattern26 (x1, 
     315              : E_V16HImode) != 0)
     316              :         return -1;
     317              :       return 4;
     318              : 
     319         4665 :     case E_V8HImode:
     320         4665 :       if (pattern26 (x1, 
     321              : E_V8HImode) != 0)
     322              :         return -1;
     323              :       return 5;
     324              : 
     325              :     default:
     326              :       return -1;
     327              :     }
     328              : }
     329              : 
     330              : int
     331          298 : pattern63 (rtx x1, int *pnum_clobbers)
     332              : {
     333          298 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     334          298 :   rtx x2, x3, x4;
     335          298 :   int res ATTRIBUTE_UNUSED;
     336          298 :   if (pnum_clobbers == NULL)
     337              :     return -1;
     338          298 :   x2 = XEXP (x1, 1);
     339          298 :   if (GET_MODE (x2) != E_HImode)
     340              :     return -1;
     341            0 :   x3 = XEXP (x1, 0);
     342            0 :   operands[0] = x3;
     343            0 :   if (!nonimmediate_operand (operands[0], E_HImode))
     344              :     return -1;
     345            0 :   x4 = XVECEXP (x2, 0, 0);
     346            0 :   operands[1] = x4;
     347            0 :   if (!register_operand (operands[1], E_XFmode))
     348              :     return -1;
     349              :   return 0;
     350              : }
     351              : 
     352              : int
     353         1614 : pattern69 (rtx x1)
     354              : {
     355         1614 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     356         1614 :   rtx x2, x3, x4, x5;
     357         1614 :   int res ATTRIBUTE_UNUSED;
     358         1614 :   x2 = XEXP (x1, 1);
     359         1614 :   if (GET_MODE (x2) != E_CCmode)
     360              :     return -1;
     361         1614 :   x3 = XEXP (x1, 0);
     362         1614 :   if (GET_CODE (x3) != REG
     363         1614 :       || REGNO (x3) != 17
     364         3227 :       || GET_MODE (x3) != E_CCmode)
     365              :     return -1;
     366         1613 :   x4 = XVECEXP (x2, 0, 0);
     367         1613 :   operands[0] = x4;
     368         1613 :   x5 = XVECEXP (x2, 0, 1);
     369         1613 :   operands[1] = x5;
     370         1613 :   return 0;
     371              : }
     372              : 
     373              : int
     374           56 : pattern72 (rtx x1)
     375              : {
     376           56 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     377           56 :   rtx x2;
     378           56 :   int res ATTRIBUTE_UNUSED;
     379           56 :   if (!register_operand (operands[0], E_HImode)
     380           56 :       || GET_MODE (x1) != E_HImode)
     381              :     return -1;
     382           56 :   x2 = XVECEXP (x1, 0, 0);
     383           56 :   switch (GET_MODE (x2))
     384              :     {
     385           28 :     case E_V16QImode:
     386           28 :       if (!vector_operand (operands[1], E_V16QImode)
     387           28 :           || !vector_operand (operands[2], E_V16QImode)
     388           56 :           || !const0_operand (operands[3], E_V16QImode))
     389           14 :         return -1;
     390              :       return 0;
     391              : 
     392           28 :     case E_V16HImode:
     393           28 :       if (!vector_operand (operands[1], E_V16HImode)
     394           28 :           || !vector_operand (operands[2], E_V16HImode)
     395           56 :           || !const0_operand (operands[3], E_V16HImode))
     396           14 :         return -1;
     397              :       return 1;
     398              : 
     399              :     default:
     400              :       return -1;
     401              :     }
     402              : }
     403              : 
     404              : int
     405      1456689 : pattern84 (rtx x1)
     406              : {
     407      1456689 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     408      1456689 :   rtx x2, x3, x4;
     409      1456689 :   int res ATTRIBUTE_UNUSED;
     410      1456689 :   if (!nonimmediate_operand (operands[1], E_QImode))
     411              :     return -1;
     412       144206 :   x2 = XEXP (x1, 0);
     413       144206 :   operands[0] = x2;
     414       144206 :   if (!nonimmediate_operand (operands[0], E_QImode))
     415              :     return -1;
     416       144108 :   x3 = XEXP (x1, 1);
     417       144108 :   if (GET_MODE (x3) != E_QImode)
     418              :     return -1;
     419       144108 :   x4 = XEXP (x3, 1);
     420       144108 :   operands[2] = x4;
     421       144108 :   if (!general_operand (operands[2], E_QImode))
     422              :     return -1;
     423              :   return 0;
     424              : }
     425              : 
     426              : int
     427        11094 : pattern91 (rtx x1, machine_mode i1, machine_mode i2)
     428              : {
     429        11094 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     430        11094 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
     431        11094 :   rtx x10;
     432        11094 :   int res ATTRIBUTE_UNUSED;
     433        11094 :   x2 = XEXP (x1, 0);
     434        11094 :   x3 = XEXP (x2, 0);
     435        11094 :   x4 = XEXP (x3, 0);
     436        11094 :   x5 = XEXP (x4, 0);
     437        11094 :   operands[2] = x5;
     438        11094 :   if (!nonimmediate_operand (operands[2], i2))
     439              :     return -1;
     440        11074 :   x6 = XEXP (x3, 1);
     441        11074 :   operands[3] = x6;
     442        11074 :   if (!const_int_operand (operands[3], E_QImode))
     443              :     return -1;
     444        11074 :   x7 = XEXP (x2, 1);
     445        11074 :   x8 = XEXP (x7, 0);
     446        11074 :   operands[4] = x8;
     447        11074 :   if (!nonimmediate_operand (operands[4], i2))
     448              :     return -1;
     449        11063 :   x9 = XEXP (x1, 1);
     450        11063 :   switch (GET_CODE (x9))
     451              :     {
     452         2077 :     case REG:
     453         2077 :     case SUBREG:
     454         2077 :       operands[1] = x9;
     455         2077 :       if (!register_operand (operands[1], i1))
     456              :         return -1;
     457              :       return 0;
     458              : 
     459           14 :     case ZERO_EXTEND:
     460           14 :       if (GET_MODE (x9) != i1)
     461              :         return -1;
     462           14 :       x10 = XEXP (x9, 0);
     463           14 :       operands[1] = x10;
     464           14 :       if (!nonimmediate_operand (operands[1], i2))
     465              :         return -1;
     466              :       return 1;
     467              : 
     468              :     default:
     469              :       return -1;
     470              :     }
     471              : }
     472              : 
     473              : int
     474          738 : pattern104 (rtx x1, machine_mode i1)
     475              : {
     476          738 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     477          738 :   rtx x2;
     478          738 :   int res ATTRIBUTE_UNUSED;
     479          738 :   if (!memory_operand (operands[0], i1)
     480          738 :       || GET_MODE (x1) != i1)
     481              :     return -1;
     482          738 :   x2 = XEXP (x1, 0);
     483          738 :   if (GET_MODE (x2) != i1
     484          738 :       || !register_operand (operands[1], E_V2DImode))
     485            0 :     return -1;
     486              :   return 0;
     487              : }
     488              : 
     489              : int
     490        37595 : pattern109 (rtx x1, int *pnum_clobbers)
     491              : {
     492        37595 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     493        37595 :   rtx x2, x3, x4, x5;
     494        37595 :   int res ATTRIBUTE_UNUSED;
     495        37595 :   if (pnum_clobbers == NULL)
     496              :     return -1;
     497        37595 :   x2 = XEXP (x1, 0);
     498        37595 :   if (GET_MODE (x2) != E_DImode)
     499              :     return -1;
     500         6081 :   x3 = XEXP (x2, 0);
     501         6081 :   if (GET_CODE (x3) != ASHIFT
     502          284 :       || GET_MODE (x3) != E_DImode)
     503              :     return -1;
     504          284 :   x4 = XEXP (x3, 0);
     505          284 :   if (GET_CODE (x4) != ZERO_EXTEND
     506           30 :       || GET_MODE (x4) != E_DImode)
     507              :     return -1;
     508           30 :   x5 = XEXP (x2, 1);
     509           30 :   if (GET_CODE (x5) != ZERO_EXTEND
     510           16 :       || GET_MODE (x5) != E_DImode)
     511              :     return -1;
     512           16 :   return pattern92 (x1, 
     513              : E_DImode, 
     514           16 : E_SImode); /* [-1, 1] */
     515              : }
     516              : 
     517              : int
     518        88989 : pattern118 (rtx x1)
     519              : {
     520        88989 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     521        88989 :   rtx x2, x3, x4;
     522        88989 :   int res ATTRIBUTE_UNUSED;
     523        88989 :   x2 = XEXP (x1, 0);
     524        88989 :   if (maybe_ne (SUBREG_BYTE (x2), 0)
     525        88989 :       || GET_MODE (x2) != E_HImode)
     526              :     return -1;
     527         6108 :   x3 = XEXP (x2, 0);
     528         6108 :   if (GET_CODE (x3) != UNSPEC
     529            6 :       || XVECLEN (x3, 0) != 1
     530            6 :       || XINT (x3, 1) != 50
     531            6 :       || GET_MODE (x3) != E_SImode
     532            6 :       || !register_operand (operands[0], E_SImode)
     533         6114 :       || GET_MODE (x1) != E_SImode)
     534         6102 :     return -1;
     535            6 :   x4 = XVECEXP (x3, 0, 0);
     536            6 :   operands[1] = x4;
     537            6 :   if (!register_operand (operands[1], E_V16QImode))
     538              :     return -1;
     539              :   return 0;
     540              : }
     541              : 
     542              : int
     543       206754 : pattern125 (rtx x1, int *pnum_clobbers)
     544              : {
     545       206754 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     546       206754 :   rtx x2;
     547       206754 :   int res ATTRIBUTE_UNUSED;
     548       206754 :   if (pnum_clobbers == NULL)
     549              :     return -1;
     550       206754 :   x2 = XEXP (x1, 0);
     551       206754 :   if (GET_MODE (x2) != E_DImode
     552       206754 :       || pattern43 (x1, 
     553              : E_SImode, 
     554              : E_DImode) != 0)
     555        73896 :     return -1;
     556              :   return 0;
     557              : }
     558              : 
     559              : int
     560         2925 : pattern129 (rtx x1)
     561              : {
     562         2925 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     563         2925 :   rtx x2, x3, x4;
     564         2925 :   int res ATTRIBUTE_UNUSED;
     565         2925 :   x2 = XEXP (x1, 0);
     566         2925 :   operands[0] = x2;
     567         2925 :   x3 = XEXP (x1, 1);
     568         2925 :   x4 = XVECEXP (x3, 0, 0);
     569         2925 :   operands[1] = x4;
     570         2925 :   switch (GET_MODE (operands[0]))
     571              :     {
     572          366 :     case E_SImode:
     573          366 :       return pattern128 (x3, 
     574          366 : E_SImode); /* [-1, 2] */
     575              : 
     576          400 :     case E_DImode:
     577          400 :       res = pattern128 (x3, 
     578              : E_DImode);
     579          400 :       if (res >= 0)
     580          370 :         return res + 3; /* [3, 5] */
     581              :       return -1;
     582              : 
     583              :     default:
     584              :       return -1;
     585              :     }
     586              : }
     587              : 
     588              : int
     589        31965 : pattern134 (rtx x1, machine_mode i1, machine_mode i2)
     590              : {
     591        31965 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     592        31965 :   rtx x2;
     593        31965 :   int res ATTRIBUTE_UNUSED;
     594        31965 :   if (!register_operand (operands[0], i1)
     595        31965 :       || GET_MODE (x1) != i1)
     596              :     return -1;
     597        30716 :   x2 = XEXP (x1, 0);
     598        30716 :   if (GET_MODE (x2) != i1
     599        30716 :       || !nonimmediate_operand (operands[1], i1)
     600        24163 :       || !nonimmediate_operand (operands[2], i1)
     601        22977 :       || !nonimm_or_0_operand (operands[3], i1)
     602        52874 :       || !register_operand (operands[4], i2))
     603         9138 :     return -1;
     604              :   return 0;
     605              : }
     606              : 
     607              : int
     608         7239 : pattern146 (rtx x1)
     609              : {
     610         7239 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     611         7239 :   rtx x2, x3, x4, x5;
     612         7239 :   int res ATTRIBUTE_UNUSED;
     613         7239 :   x2 = XEXP (x1, 0);
     614         7239 :   x3 = XEXP (x2, 0);
     615         7239 :   operands[1] = x3;
     616         7239 :   x4 = XEXP (x1, 1);
     617         7239 :   operands[2] = x4;
     618         7239 :   x5 = XEXP (x1, 2);
     619         7239 :   operands[3] = x5;
     620         7239 :   switch (GET_MODE (operands[0]))
     621              :     {
     622         1728 :     case E_V16QImode:
     623         1728 :       if (!nonimmediate_operand (operands[0], E_V16QImode)
     624         1728 :           || GET_MODE (x1) != E_V16QImode
     625         1728 :           || GET_MODE (x2) != E_V16QImode
     626         1728 :           || !nonimm_or_0_operand (operands[2], E_V16QImode)
     627         3450 :           || !register_operand (operands[3], E_HImode))
     628           54 :         return -1;
     629         1674 :       switch (GET_MODE (operands[1]))
     630              :         {
     631          837 :         case E_V16SImode:
     632          837 :           if (!register_operand (operands[1], E_V16SImode))
     633              :             return -1;
     634              :           return 0;
     635              : 
     636          837 :         case E_V16HImode:
     637          837 :           if (!register_operand (operands[1], E_V16HImode))
     638              :             return -1;
     639              :           return 1;
     640              : 
     641              :         default:
     642              :           return -1;
     643              :         }
     644              : 
     645          954 :     case E_V16HImode:
     646          954 :       if (pattern145 (x1, 
     647              : E_V16HImode, 
     648              : E_HImode, 
     649              : E_V16SImode) != 0)
     650              :         return -1;
     651              :       return 2;
     652              : 
     653          927 :     case E_V8SImode:
     654          927 :       if (pattern145 (x1, 
     655              : E_V8SImode, 
     656              : E_QImode, 
     657              : E_V8DImode) != 0)
     658              :         return -1;
     659              :       return 3;
     660              : 
     661         1688 :     case E_V8HImode:
     662         1688 :       if (!nonimmediate_operand (operands[0], E_V8HImode)
     663         1688 :           || GET_MODE (x1) != E_V8HImode
     664         1688 :           || GET_MODE (x2) != E_V8HImode
     665         1688 :           || !nonimm_or_0_operand (operands[2], E_V8HImode)
     666         3370 :           || !register_operand (operands[3], E_QImode))
     667           54 :         return -1;
     668         1634 :       switch (GET_MODE (operands[1]))
     669              :         {
     670          817 :         case E_V8DImode:
     671          817 :           if (!register_operand (operands[1], E_V8DImode))
     672              :             return -1;
     673              :           return 4;
     674              : 
     675          817 :         case E_V8SImode:
     676          817 :           if (!register_operand (operands[1], E_V8SImode))
     677              :             return -1;
     678              :           return 5;
     679              : 
     680              :         default:
     681              :           return -1;
     682              :         }
     683              : 
     684          951 :     case E_V32QImode:
     685          951 :       if (pattern145 (x1, 
     686              : E_V32QImode, 
     687              : E_SImode, 
     688              : E_V32HImode) != 0)
     689              :         return -1;
     690              :       return 6;
     691              : 
     692          814 :     case E_V4SImode:
     693          814 :       if (pattern145 (x1, 
     694              : E_V4SImode, 
     695              : E_QImode, 
     696              : E_V4DImode) != 0)
     697              :         return -1;
     698              :       return 7;
     699              : 
     700              :     default:
     701              :       return -1;
     702              :     }
     703              : }
     704              : 
     705              : int
     706          168 : pattern164 (rtx x1, machine_mode i1, machine_mode i2)
     707              : {
     708          168 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     709          168 :   rtx x2, x3, x4, x5;
     710          168 :   int res ATTRIBUTE_UNUSED;
     711          168 :   x2 = XEXP (x1, 1);
     712          168 :   if (GET_MODE (x2) != i2)
     713              :     return -1;
     714          168 :   x3 = XEXP (x1, 0);
     715          168 :   operands[0] = x3;
     716          168 :   if (!register_operand (operands[0], i2))
     717              :     return -1;
     718          163 :   x4 = XVECEXP (x2, 0, 0);
     719          163 :   operands[1] = x4;
     720          163 :   if (!register_operand (operands[1], i2))
     721              :     return -1;
     722          150 :   x5 = XVECEXP (x2, 0, 1);
     723          150 :   operands[2] = x5;
     724          150 :   if (!register_operand (operands[2], i1))
     725              :     return -1;
     726              :   return 0;
     727              : }
     728              : 
     729              : int
     730          752 : pattern170 (rtx x1)
     731              : {
     732          752 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     733          752 :   rtx x2, x3, x4, x5;
     734          752 :   int res ATTRIBUTE_UNUSED;
     735          752 :   x2 = XEXP (x1, 0);
     736          752 :   operands[0] = x2;
     737          752 :   x3 = XEXP (x1, 1);
     738          752 :   x4 = XVECEXP (x3, 0, 0);
     739          752 :   operands[1] = x4;
     740          752 :   x5 = XVECEXP (x3, 0, 1);
     741          752 :   operands[2] = x5;
     742          752 :   switch (GET_MODE (operands[0]))
     743              :     {
     744          252 :     case E_V64QImode:
     745          252 :       return pattern169 (x3, 
     746              : E_V64QImode, 
     747          252 : E_V32HFmode); /* [-1, 0] */
     748              : 
     749          252 :     case E_V32QImode:
     750          252 :       if (pattern169 (x3, 
     751              : E_V32QImode, 
     752              : E_V16HFmode) != 0)
     753              :         return -1;
     754              :       return 1;
     755              : 
     756          248 :     case E_V16QImode:
     757          248 :       if (pattern169 (x3, 
     758              : E_V16QImode, 
     759              : E_V8HFmode) != 0)
     760              :         return -1;
     761              :       return 2;
     762              : 
     763              :     default:
     764              :       return -1;
     765              :     }
     766              : }
     767              : 
     768              : int
     769          945 : pattern179 (rtx x1)
     770              : {
     771          945 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     772          945 :   rtx x2, x3, x4, x5, x6;
     773          945 :   int res ATTRIBUTE_UNUSED;
     774          945 :   x2 = XEXP (x1, 0);
     775          945 :   operands[0] = x2;
     776          945 :   x3 = XEXP (x1, 1);
     777          945 :   x4 = XVECEXP (x3, 0, 0);
     778          945 :   operands[1] = x4;
     779          945 :   x5 = XVECEXP (x3, 0, 1);
     780          945 :   operands[2] = x5;
     781          945 :   x6 = XVECEXP (x3, 0, 2);
     782          945 :   operands[3] = x6;
     783          945 :   switch (GET_MODE (operands[0]))
     784              :     {
     785          204 :     case E_V8DImode:
     786          204 :       return pattern178 (x3, 
     787          204 : E_V8DImode); /* [-1, 0] */
     788              : 
     789          380 :     case E_V4DImode:
     790          380 :       if (pattern178 (x3, 
     791              : E_V4DImode) != 0)
     792              :         return -1;
     793              :       return 1;
     794              : 
     795          361 :     case E_V2DImode:
     796          361 :       if (pattern178 (x3, 
     797              : E_V2DImode) != 0)
     798              :         return -1;
     799              :       return 2;
     800              : 
     801              :     default:
     802              :       return -1;
     803              :     }
     804              : }
     805              : 
     806              : int
     807          474 : pattern186 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
     808              : {
     809          474 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     810          474 :   rtx x2;
     811          474 :   int res ATTRIBUTE_UNUSED;
     812          474 :   if (!register_operand (operands[0], i3)
     813          474 :       || GET_MODE (x1) != i3)
     814              :     return -1;
     815          454 :   x2 = XEXP (x1, 0);
     816          454 :   if (GET_MODE (x2) != i1
     817          454 :       || !nonimmediate_operand (operands[1], i2)
     818          813 :       || !const0_operand (operands[2], i1))
     819           95 :     return -1;
     820              :   return 0;
     821              : }
     822              : 
     823              : int
     824           16 : pattern192 (rtx x1, machine_mode i1)
     825              : {
     826           16 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     827           16 :   rtx x2;
     828           16 :   int res ATTRIBUTE_UNUSED;
     829           16 :   if (!register_operand (operands[0], i1)
     830           16 :       || GET_MODE (x1) != i1)
     831              :     return -1;
     832           10 :   x2 = XEXP (x1, 0);
     833           10 :   if (GET_MODE (x2) != i1
     834           10 :       || !vector_operand (operands[1], i1)
     835           10 :       || !vector_operand (operands[2], i1)
     836           10 :       || !const0_operand (operands[3], i1)
     837           16 :       || !vector_operand (operands[4], i1))
     838            6 :     return -1;
     839              :   return 0;
     840              : }
     841              : 
     842              : int
     843          568 : pattern198 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
     844              : {
     845          568 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     846          568 :   rtx x2, x3, x4, x5;
     847          568 :   int res ATTRIBUTE_UNUSED;
     848          568 :   if (!register_operand (operands[0], i2)
     849          568 :       || GET_MODE (x1) != i2)
     850              :     return -1;
     851          550 :   x2 = XEXP (x1, 0);
     852          550 :   if (GET_MODE (x2) != i2)
     853              :     return -1;
     854          550 :   x3 = XEXP (x2, 0);
     855          550 :   if (GET_MODE (x3) != i1
     856          550 :       || !nonimmediate_operand (operands[1], i3))
     857           12 :     return -1;
     858          538 :   x4 = XEXP (x1, 1);
     859          538 :   if (GET_MODE (x4) != i2)
     860              :     return -1;
     861          538 :   x5 = XEXP (x4, 0);
     862          538 :   if (GET_MODE (x5) != i1)
     863              :     return -1;
     864              :   return 0;
     865              : }
     866              : 
     867              : int
     868        53109 : pattern202 (rtx x1, machine_mode i1)
     869              : {
     870        53109 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     871        53109 :   int res ATTRIBUTE_UNUSED;
     872        53109 :   if (!register_operand (operands[0], i1)
     873        52904 :       || GET_MODE (x1) != i1
     874        52904 :       || !register_operand (operands[1], i1)
     875        95911 :       || !const0_operand (operands[2], i1))
     876        11381 :     return -1;
     877              :   return 0;
     878              : }
     879              : 
     880              : int
     881       177854 : pattern203 (rtx x1)
     882              : {
     883       177854 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     884       177854 :   rtx x2, x3;
     885       177854 :   int res ATTRIBUTE_UNUSED;
     886       177854 :   x2 = XEXP (x1, 0);
     887       177854 :   operands[1] = x2;
     888       177854 :   x3 = XEXP (x1, 1);
     889       177854 :   operands[2] = x3;
     890       177854 :   switch (GET_MODE (operands[0]))
     891              :     {
     892           13 :     case E_V16HImode:
     893           13 :       return pattern202 (x1, 
     894           13 : E_V16HImode); /* [-1, 0] */
     895              : 
     896        16883 :     case E_V8HImode:
     897        16883 :       if (pattern202 (x1, 
     898              : E_V8HImode) != 0)
     899              :         return -1;
     900              :       return 1;
     901              : 
     902          292 :     case E_V8SImode:
     903          292 :       if (pattern202 (x1, 
     904              : E_V8SImode) != 0)
     905              :         return -1;
     906              :       return 2;
     907              : 
     908        29577 :     case E_V4SImode:
     909        29577 :       if (pattern202 (x1, 
     910              : E_V4SImode) != 0)
     911              :         return -1;
     912              :       return 3;
     913              : 
     914              :     default:
     915              :       return -1;
     916              :     }
     917              : }
     918              : 
     919              : int
     920         4553 : pattern206 (rtx x1)
     921              : {
     922         4553 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     923         4553 :   int res ATTRIBUTE_UNUSED;
     924         4553 :   switch (GET_MODE (operands[0]))
     925              :     {
     926         1476 :     case E_QImode:
     927         1476 :       if (!nonimmediate_operand (operands[0], E_QImode)
     928         1476 :           || GET_MODE (x1) != E_QImode
     929         2952 :           || !nonimmediate_operand (operands[1], E_QImode))
     930           40 :         return -1;
     931              :       return 0;
     932              : 
     933         1264 :     case E_HImode:
     934         1264 :       if (!nonimmediate_operand (operands[0], E_HImode)
     935         1264 :           || GET_MODE (x1) != E_HImode
     936         2528 :           || !nonimmediate_operand (operands[1], E_HImode))
     937            0 :         return -1;
     938              :       return 1;
     939              : 
     940         1363 :     case E_SImode:
     941         1363 :       if (!nonimmediate_operand (operands[0], E_SImode)
     942         1363 :           || GET_MODE (x1) != E_SImode
     943         2726 :           || !nonimmediate_operand (operands[1], E_SImode))
     944          136 :         return -1;
     945              :       return 2;
     946              : 
     947          450 :     case E_DImode:
     948          450 :       if (!nonimmediate_operand (operands[0], E_DImode)
     949          450 :           || GET_MODE (x1) != E_DImode
     950          900 :           || !nonimmediate_operand (operands[1], E_DImode))
     951           71 :         return -1;
     952              :       return 3;
     953              : 
     954              :     default:
     955              :       return -1;
     956              :     }
     957              : }
     958              : 
     959              : int
     960        77156 : pattern211 (rtx x1)
     961              : {
     962        77156 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     963        77156 :   rtx x2, x3, x4, x5, x6, x7, x8;
     964        77156 :   int res ATTRIBUTE_UNUSED;
     965        77156 :   x2 = XVECEXP (x1, 0, 1);
     966        77156 :   if (GET_CODE (x2) != CLOBBER)
     967              :     return -1;
     968        75299 :   x3 = XEXP (x2, 0);
     969        75299 :   if (GET_CODE (x3) != REG
     970        75299 :       || REGNO (x3) != 17
     971       150598 :       || GET_MODE (x3) != E_CCmode)
     972              :     return -1;
     973        75299 :   x4 = XVECEXP (x1, 0, 0);
     974        75299 :   x5 = XEXP (x4, 1);
     975        75299 :   x6 = XEXP (x5, 0);
     976        75299 :   operands[1] = x6;
     977        75299 :   x7 = XEXP (x5, 1);
     978        75299 :   switch (GET_CODE (x7))
     979              :     {
     980              :     case CONST_INT:
     981              :     case CONST_WIDE_INT:
     982              :     case CONST_POLY_INT:
     983              :     case CONST_FIXED:
     984              :     case CONST_DOUBLE:
     985              :     case CONST_VECTOR:
     986              :     case CONST:
     987              :     case REG:
     988              :     case SUBREG:
     989              :     case LABEL_REF:
     990              :     case SYMBOL_REF:
     991              :     case HIGH:
     992              :       return 0;
     993              : 
     994          127 :     case AND:
     995          127 :       if (GET_MODE (x7) != E_QImode)
     996              :         return -1;
     997          127 :       x8 = XEXP (x4, 0);
     998          127 :       operands[0] = x8;
     999          127 :       res = pattern208 (x5);
    1000          127 :       if (res >= 0)
    1001          116 :         return res + 1; /* [1, 4] */
    1002              :       return -1;
    1003              : 
    1004           68 :     case PLUS:
    1005           68 :       if (GET_MODE (x7) != E_QImode)
    1006              :         return -1;
    1007           68 :       x8 = XEXP (x4, 0);
    1008           68 :       operands[0] = x8;
    1009           68 :       res = pattern209 (x5);
    1010           68 :       if (res >= 0)
    1011           49 :         return res + 5; /* [5, 8] */
    1012              :       return -1;
    1013              : 
    1014           23 :     case MINUS:
    1015           23 :       if (GET_MODE (x7) != E_QImode)
    1016              :         return -1;
    1017           23 :       x8 = XEXP (x4, 0);
    1018           23 :       operands[0] = x8;
    1019           23 :       res = pattern210 (x5);
    1020           23 :       if (res >= 0)
    1021            6 :         return res + 9; /* [9, 12] */
    1022              :       return -1;
    1023              : 
    1024              :     default:
    1025              :       return -1;
    1026              :     }
    1027              : }
    1028              : 
    1029              : int
    1030       313894 : pattern223 (rtx x1)
    1031              : {
    1032       313894 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1033       313894 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1034       313894 :   rtx x10;
    1035       313894 :   int res ATTRIBUTE_UNUSED;
    1036       313894 :   x2 = XVECEXP (x1, 0, 1);
    1037       313894 :   if (GET_CODE (x2) != CLOBBER)
    1038              :     return -1;
    1039       312410 :   x3 = XVECEXP (x1, 0, 2);
    1040       312410 :   if (GET_CODE (x3) != CLOBBER)
    1041              :     return -1;
    1042       312410 :   x4 = XEXP (x3, 0);
    1043       312410 :   if (GET_CODE (x4) != REG
    1044       312410 :       || REGNO (x4) != 17
    1045       624820 :       || GET_MODE (x4) != E_CCmode)
    1046              :     return -1;
    1047       312410 :   x5 = XVECEXP (x1, 0, 0);
    1048       312410 :   x6 = XEXP (x5, 0);
    1049       312410 :   operands[0] = x6;
    1050       312410 :   x7 = XEXP (x5, 1);
    1051       312410 :   x8 = XEXP (x7, 0);
    1052       312410 :   operands[1] = x8;
    1053       312410 :   x9 = XEXP (x7, 1);
    1054       312410 :   operands[2] = x9;
    1055       312410 :   x10 = XEXP (x2, 0);
    1056       312410 :   operands[3] = x10;
    1057       312410 :   switch (GET_MODE (operands[0]))
    1058              :     {
    1059        59257 :     case E_SImode:
    1060        59257 :       return pattern222 (x7, 
    1061        59257 : E_SImode); /* [-1, 0] */
    1062              : 
    1063       253153 :     case E_DImode:
    1064       253153 :       if (pattern222 (x7, 
    1065              : E_DImode) != 0)
    1066              :         return -1;
    1067              :       return 1;
    1068              : 
    1069              :     default:
    1070              :       return -1;
    1071              :     }
    1072              : }
    1073              : 
    1074              : int
    1075          655 : pattern233 (rtx x1)
    1076              : {
    1077          655 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1078          655 :   rtx x2, x3, x4, x5;
    1079          655 :   int res ATTRIBUTE_UNUSED;
    1080          655 :   x2 = XVECEXP (x1, 0, 1);
    1081          655 :   x3 = XVECEXP (x2, 0, 0);
    1082          655 :   operands[2] = x3;
    1083          655 :   switch (GET_MODE (operands[0]))
    1084              :     {
    1085          316 :     case E_SImode:
    1086          316 :       x4 = XVECEXP (x1, 0, 0);
    1087          316 :       x5 = XEXP (x4, 1);
    1088          316 :       return pattern232 (x5, 
    1089          316 : E_SImode); /* [-1, 0] */
    1090              : 
    1091          339 :     case E_DImode:
    1092          339 :       x4 = XVECEXP (x1, 0, 0);
    1093          339 :       x5 = XEXP (x4, 1);
    1094          339 :       if (pattern232 (x5, 
    1095              : E_DImode) != 0)
    1096              :         return -1;
    1097              :       return 1;
    1098              : 
    1099              :     default:
    1100              :       return -1;
    1101              :     }
    1102              : }
    1103              : 
    1104              : int
    1105      3025529 : pattern246 (rtx x1)
    1106              : {
    1107      3025529 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1108      3025529 :   rtx x2, x3;
    1109      3025529 :   int res ATTRIBUTE_UNUSED;
    1110      3025529 :   if (GET_CODE (x1) != VEC_SELECT)
    1111              :     return -1;
    1112        30867 :   x2 = XEXP (x1, 0);
    1113        30867 :   if (GET_CODE (x2) != SUBREG
    1114        30867 :       || maybe_ne (SUBREG_BYTE (x2), 0))
    1115              :     return -1;
    1116         5535 :   x3 = XEXP (x1, 1);
    1117         5535 :   if (GET_CODE (x3) != PARALLEL)
    1118            0 :     return -1;
    1119              :   return 0;
    1120              : }
    1121              : 
    1122              : int
    1123           48 : pattern251 (rtx x1, machine_mode i1)
    1124              : {
    1125           48 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1126           48 :   rtx x2, x3, x4;
    1127           48 :   int res ATTRIBUTE_UNUSED;
    1128           48 :   if (!register_operand (operands[0], i1)
    1129           48 :       || GET_MODE (x1) != i1)
    1130              :     return -1;
    1131           40 :   x2 = XEXP (x1, 0);
    1132           40 :   operands[1] = x2;
    1133           40 :   if (!register_operand (operands[1], i1))
    1134              :     return -1;
    1135           40 :   x3 = XEXP (x1, 1);
    1136           40 :   operands[2] = x3;
    1137           40 :   if (!register_operand (operands[2], i1))
    1138              :     return -1;
    1139           28 :   x4 = XEXP (x1, 2);
    1140           28 :   operands[3] = x4;
    1141           28 :   if (!register_operand (operands[3], i1))
    1142              :     return -1;
    1143              :   return 0;
    1144              : }
    1145              : 
    1146              : int
    1147        10764 : pattern261 (rtx x1, int *pnum_clobbers, machine_mode i1, machine_mode i2)
    1148              : {
    1149        10764 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1150        10764 :   int res ATTRIBUTE_UNUSED;
    1151        10764 :   if (pnum_clobbers == NULL
    1152        10764 :       || !nonimmediate_operand (operands[0], i2)
    1153        10764 :       || GET_MODE (x1) != i2
    1154        21528 :       || !register_operand (operands[1], i1))
    1155         5194 :     return -1;
    1156              :   return 0;
    1157              : }
    1158              : 
    1159              : int
    1160          758 : pattern267 (rtx x1)
    1161              : {
    1162          758 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1163          758 :   rtx x2, x3, x4;
    1164          758 :   int res ATTRIBUTE_UNUSED;
    1165          758 :   x2 = XEXP (x1, 1);
    1166          758 :   x3 = XEXP (x2, 0);
    1167          758 :   x4 = XEXP (x3, 1);
    1168          758 :   operands[3] = x4;
    1169          758 :   if (!const_int_operand (operands[3], E_VOIDmode))
    1170              :     return -1;
    1171          757 :   return pattern0 (x1); /* [-1, 1] */
    1172              : }
    1173              : 
    1174              : int
    1175          116 : pattern277 (rtx x1)
    1176              : {
    1177          116 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1178          116 :   rtx x2, x3;
    1179          116 :   int res ATTRIBUTE_UNUSED;
    1180          116 :   x2 = XEXP (x1, 0);
    1181          116 :   if (GET_MODE (x2) != E_V4SImode)
    1182              :     return -1;
    1183          116 :   x3 = XEXP (x1, 1);
    1184          116 :   if (XVECLEN (x3, 0) != 2
    1185          116 :       || pattern276 (x1, 
    1186              : E_V4SFmode, 
    1187              : E_V2SImode, 
    1188              : 1) != 0)
    1189          116 :     return -1;
    1190              :   return 0;
    1191              : }
    1192              : 
    1193              : int
    1194           55 : pattern280 (rtx x1, int *pnum_clobbers)
    1195              : {
    1196           55 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1197           55 :   rtx x2, x3, x4, x5, x6;
    1198           55 :   int res ATTRIBUTE_UNUSED;
    1199           55 :   if (pnum_clobbers == NULL)
    1200              :     return -1;
    1201           53 :   x2 = XEXP (x1, 0);
    1202           53 :   x3 = XEXP (x2, 0);
    1203           53 :   operands[2] = x3;
    1204           53 :   x4 = XEXP (x3, 0);
    1205           53 :   if (GET_CODE (x4) != REG
    1206           53 :       || REGNO (x4) != 17)
    1207              :     return -1;
    1208           33 :   x5 = XEXP (x3, 1);
    1209           33 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1210              :     return -1;
    1211           33 :   x6 = XEXP (x2, 1);
    1212           33 :   operands[1] = x6;
    1213           33 :   return pattern279 (x1); /* [-1, 4] */
    1214              : }
    1215              : 
    1216              : int
    1217         1462 : pattern287 (rtx x1, int *pnum_clobbers)
    1218              : {
    1219         1462 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1220         1462 :   rtx x2, x3;
    1221         1462 :   int res ATTRIBUTE_UNUSED;
    1222         1462 :   if (pnum_clobbers == NULL)
    1223              :     return -1;
    1224         1462 :   x2 = XEXP (x1, 0);
    1225         1462 :   x3 = XEXP (x2, 0);
    1226         1462 :   if (XWINT (x3, 0) != 1L)
    1227              :     return -1;
    1228          796 :   return pattern286 (x1); /* [-1, 2] */
    1229              : }
    1230              : 
    1231              : int
    1232        42519 : pattern291 (rtx x1, machine_mode i1)
    1233              : {
    1234        42519 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1235        42519 :   rtx x2, x3, x4, x5;
    1236        42519 :   int res ATTRIBUTE_UNUSED;
    1237        42519 :   if (!register_operand (operands[0], i1)
    1238         3631 :       || GET_MODE (x1) != i1
    1239        46150 :       || !register_operand (operands[1], i1))
    1240        40762 :     return -1;
    1241         1757 :   x2 = XEXP (x1, 1);
    1242         1757 :   x3 = XEXP (x2, 0);
    1243         1757 :   x4 = XEXP (x3, 0);
    1244         1757 :   operands[2] = x4;
    1245         1757 :   if (!int248_register_operand (operands[2], E_VOIDmode))
    1246              :     return -1;
    1247         1365 :   x5 = XEXP (x3, 1);
    1248         1365 :   operands[3] = x5;
    1249         1365 :   if (!const_int_operand (operands[3], E_VOIDmode))
    1250              :     return -1;
    1251              :   return 0;
    1252              : }
    1253              : 
    1254              : int
    1255          481 : pattern300 (rtx x1)
    1256              : {
    1257          481 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1258          481 :   rtx x2, x3;
    1259          481 :   int res ATTRIBUTE_UNUSED;
    1260          481 :   x2 = XVECEXP (x1, 0, 0);
    1261          481 :   operands[1] = x2;
    1262          481 :   x3 = XVECEXP (x1, 0, 1);
    1263          481 :   operands[2] = x3;
    1264          481 :   switch (GET_MODE (operands[0]))
    1265              :     {
    1266          231 :     case E_SImode:
    1267          231 :       return pattern64 (x1, 
    1268          231 : E_SImode); /* [-1, 0] */
    1269              : 
    1270          250 :     case E_DImode:
    1271          250 :       if (pattern64 (x1, 
    1272              : E_DImode) != 0)
    1273              :         return -1;
    1274              :       return 1;
    1275              : 
    1276              :     default:
    1277              :       return -1;
    1278              :     }
    1279              : }
    1280              : 
    1281              : int
    1282        70034 : pattern305 (rtx x1)
    1283              : {
    1284        70034 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1285        70034 :   rtx x2, x3, x4, x5, x6;
    1286        70034 :   int res ATTRIBUTE_UNUSED;
    1287        70034 :   x2 = XVECEXP (x1, 0, 0);
    1288        70034 :   switch (GET_CODE (x2))
    1289              :     {
    1290        57666 :     case CONST_INT:
    1291        57666 :     case CONST_WIDE_INT:
    1292        57666 :     case CONST_POLY_INT:
    1293        57666 :     case CONST_FIXED:
    1294        57666 :     case CONST_DOUBLE:
    1295        57666 :     case CONST_VECTOR:
    1296        57666 :     case CONST:
    1297        57666 :     case REG:
    1298        57666 :     case SUBREG:
    1299        57666 :     case MEM:
    1300        57666 :     case LABEL_REF:
    1301        57666 :     case SYMBOL_REF:
    1302        57666 :     case HIGH:
    1303        57666 :       operands[1] = x2;
    1304        57666 :       x3 = XVECEXP (x1, 0, 2);
    1305        57666 :       if (GET_CODE (x3) != CONST_INT)
    1306              :         return -1;
    1307              :       return 0;
    1308              : 
    1309          108 :     case US_MINUS:
    1310          108 :       x4 = XEXP (x2, 0);
    1311          108 :       operands[1] = x4;
    1312          108 :       x5 = XEXP (x2, 1);
    1313          108 :       operands[2] = x5;
    1314          108 :       x6 = XVECEXP (x1, 0, 1);
    1315          108 :       operands[3] = x6;
    1316          108 :       x3 = XVECEXP (x1, 0, 2);
    1317          108 :       operands[4] = x3;
    1318          108 :       if (!const_0_to_7_operand (operands[4], E_SImode))
    1319              :         return -1;
    1320          108 :       switch (GET_MODE (operands[0]))
    1321              :         {
    1322           22 :         case E_DImode:
    1323           22 :           if (pattern73 (x1, 
    1324              : E_V64QImode, 
    1325              : E_DImode) != 0)
    1326              :             return -1;
    1327              :           return 1;
    1328              : 
    1329           44 :         case E_SImode:
    1330           44 :           res = pattern304 (x1);
    1331           44 :           if (res >= 0)
    1332           16 :             return res + 2; /* [2, 3] */
    1333              :           return -1;
    1334              : 
    1335              :         default:
    1336              :           return -1;
    1337              :         }
    1338              : 
    1339              :     default:
    1340              :       return -1;
    1341              :     }
    1342              : }
    1343              : 
    1344              : int
    1345          608 : pattern321 (rtx x1, machine_mode i1)
    1346              : {
    1347          608 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1348          608 :   int res ATTRIBUTE_UNUSED;
    1349          608 :   if (!register_operand (operands[0], i1)
    1350          580 :       || GET_MODE (x1) != i1
    1351          580 :       || !float_vector_all_ones_operand (operands[1], i1)
    1352           48 :       || !const0_operand (operands[2], i1)
    1353           48 :       || !register_operand (operands[3], i1)
    1354          656 :       || !nonimmediate_operand (operands[4], i1))
    1355          584 :     return -1;
    1356              :   return 0;
    1357              : }
    1358              : 
    1359              : int
    1360         1492 : pattern328 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    1361              : {
    1362         1492 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1363         1492 :   rtx x2;
    1364         1492 :   int res ATTRIBUTE_UNUSED;
    1365         1492 :   x2 = XVECEXP (x1, 0, 0);
    1366         1492 :   operands[1] = x2;
    1367         1492 :   switch (GET_MODE (operands[0]))
    1368              :     {
    1369          524 :     case E_V32HImode:
    1370          524 :       if (!register_operand (operands[0], E_V32HImode)
    1371          492 :           || GET_MODE (x1) != E_V32HImode
    1372         1016 :           || !vector_operand (operands[1], i1))
    1373           44 :         return -1;
    1374              :       return 0;
    1375              : 
    1376          496 :     case E_V16HImode:
    1377          496 :       if (!register_operand (operands[0], E_V16HImode)
    1378          464 :           || GET_MODE (x1) != E_V16HImode
    1379          960 :           || !vector_operand (operands[1], i2))
    1380           40 :         return -1;
    1381              :       return 1;
    1382              : 
    1383          472 :     case E_V8HImode:
    1384          472 :       if (!register_operand (operands[0], E_V8HImode)
    1385          464 :           || GET_MODE (x1) != E_V8HImode
    1386          936 :           || !vector_operand (operands[1], i3))
    1387           16 :         return -1;
    1388              :       return 2;
    1389              : 
    1390              :     default:
    1391              :       return -1;
    1392              :     }
    1393              : }
    1394              : 
    1395              : int
    1396        10223 : pattern333 (rtx x1, machine_mode i1)
    1397              : {
    1398        10223 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1399        10223 :   rtx x2;
    1400        10223 :   int res ATTRIBUTE_UNUSED;
    1401        10223 :   if (!register_operand (operands[0], i1)
    1402        10223 :       || GET_MODE (x1) != i1)
    1403              :     return -1;
    1404        10197 :   x2 = XEXP (x1, 0);
    1405        10197 :   if (GET_MODE (x2) != i1
    1406        10197 :       || !nonimmediate_operand (operands[1], i1)
    1407        10043 :       || !nonimmediate_operand (operands[2], i1)
    1408        20196 :       || !register_operand (operands[3], i1))
    1409         1608 :     return -1;
    1410              :   return 0;
    1411              : }
    1412              : 
    1413              : int
    1414        79060 : pattern335 (rtx x1)
    1415              : {
    1416        79060 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1417        79060 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1418        79060 :   int res ATTRIBUTE_UNUSED;
    1419        79060 :   if (GET_MODE (x1) != E_V4SImode)
    1420              :     return -1;
    1421         1967 :   x2 = XEXP (x1, 0);
    1422         1967 :   if (GET_CODE (x2) != SIGN_EXTEND
    1423         1546 :       || GET_MODE (x2) != E_V4SImode)
    1424              :     return -1;
    1425         1546 :   x3 = XEXP (x2, 0);
    1426         1546 :   if (GET_CODE (x3) != VEC_SELECT
    1427         1546 :       || GET_MODE (x3) != E_V4HImode)
    1428              :     return -1;
    1429         1546 :   x4 = XEXP (x3, 1);
    1430         1546 :   if (GET_CODE (x4) != PARALLEL
    1431         1546 :       || XVECLEN (x4, 0) != 4)
    1432              :     return -1;
    1433         1546 :   x5 = XVECEXP (x4, 0, 0);
    1434         1546 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1435              :     return -1;
    1436         1546 :   x6 = XVECEXP (x4, 0, 1);
    1437         1546 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    1438              :     return -1;
    1439         1546 :   x7 = XVECEXP (x4, 0, 2);
    1440         1546 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    1441              :     return -1;
    1442         1546 :   x8 = XVECEXP (x4, 0, 3);
    1443         1546 :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    1444              :     return -1;
    1445         1546 :   x9 = XEXP (x1, 1);
    1446         1546 :   if (GET_CODE (x9) != SIGN_EXTEND)
    1447            0 :     return -1;
    1448              :   return 0;
    1449              : }
    1450              : 
    1451              : int
    1452        14966 : pattern342 (rtx x1)
    1453              : {
    1454        14966 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1455        14966 :   rtx x2, x3, x4, x5, x6;
    1456        14966 :   int res ATTRIBUTE_UNUSED;
    1457        14966 :   x2 = XEXP (x1, 0);
    1458        14966 :   operands[0] = x2;
    1459        14966 :   x3 = XEXP (x1, 1);
    1460        14966 :   x4 = XEXP (x3, 1);
    1461        14966 :   x5 = XEXP (x4, 0);
    1462        14966 :   operands[3] = x5;
    1463        14966 :   if (!const_int_operand (operands[3], E_QImode))
    1464              :     return -1;
    1465         6076 :   x6 = XEXP (x4, 1);
    1466         6076 :   operands[2] = x6;
    1467         6076 :   if (!register_operand (operands[2], E_QImode))
    1468              :     return -1;
    1469         5859 :   return pattern340 (x3); /* [-1, 1] */
    1470              : }
    1471              : 
    1472              : int
    1473        15257 : pattern345 (rtx x1)
    1474              : {
    1475        15257 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1476        15257 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1477        15257 :   int res ATTRIBUTE_UNUSED;
    1478        15257 :   x2 = XVECEXP (x1, 0, 1);
    1479        15257 :   if (GET_CODE (x2) != CLOBBER)
    1480              :     return -1;
    1481         5008 :   x3 = XEXP (x2, 0);
    1482         5008 :   if (GET_CODE (x3) != REG
    1483         5008 :       || REGNO (x3) != 17
    1484         9761 :       || GET_MODE (x3) != E_CCmode)
    1485              :     return -1;
    1486         4753 :   x4 = XVECEXP (x1, 0, 0);
    1487         4753 :   x5 = XEXP (x4, 0);
    1488         4753 :   operands[0] = x5;
    1489         4753 :   x6 = XEXP (x4, 1);
    1490         4753 :   x7 = XEXP (x6, 0);
    1491         4753 :   x8 = XEXP (x7, 0);
    1492         4753 :   operands[1] = x8;
    1493         4753 :   x9 = XEXP (x7, 1);
    1494         4753 :   operands[2] = x9;
    1495         4753 :   return 0;
    1496              : }
    1497              : 
    1498              : int
    1499        11784 : pattern349 (rtx x1)
    1500              : {
    1501        11784 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1502        11784 :   rtx x2, x3, x4, x5, x6, x7, x8;
    1503        11784 :   int res ATTRIBUTE_UNUSED;
    1504        11784 :   x2 = XVECEXP (x1, 0, 1);
    1505        11784 :   if (GET_CODE (x2) != CLOBBER)
    1506              :     return -1;
    1507         8189 :   x3 = XEXP (x2, 0);
    1508         8189 :   if (GET_CODE (x3) != REG
    1509         8189 :       || REGNO (x3) != 17
    1510        16378 :       || GET_MODE (x3) != E_CCmode)
    1511              :     return -1;
    1512         8189 :   x4 = XVECEXP (x1, 0, 0);
    1513         8189 :   x5 = XEXP (x4, 0);
    1514         8189 :   operands[0] = x5;
    1515         8189 :   x6 = XEXP (x4, 1);
    1516         8189 :   x7 = XEXP (x6, 0);
    1517         8189 :   x8 = XEXP (x7, 0);
    1518         8189 :   operands[1] = x8;
    1519         8189 :   return 0;
    1520              : }
    1521              : 
    1522              : int
    1523          782 : pattern354 (rtx x1)
    1524              : {
    1525          782 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1526          782 :   rtx x2, x3, x4, x5, x6;
    1527          782 :   int res ATTRIBUTE_UNUSED;
    1528          782 :   x2 = XVECEXP (x1, 0, 0);
    1529          782 :   x3 = XEXP (x2, 1);
    1530          782 :   x4 = XEXP (x3, 0);
    1531          782 :   if (XVECLEN (x4, 0) != 3)
    1532              :     return -1;
    1533          660 :   x5 = XVECEXP (x1, 0, 1);
    1534          660 :   if (GET_CODE (x5) != SET)
    1535              :     return -1;
    1536          655 :   x6 = XEXP (x5, 1);
    1537          655 :   if (GET_CODE (x6) != UNSPEC
    1538          505 :       || XVECLEN (x6, 0) != 3)
    1539          150 :     return -1;
    1540              :   return 0;
    1541              : }
    1542              : 
    1543              : int
    1544        29072 : pattern359 (rtx x1)
    1545              : {
    1546        29072 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1547        29072 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1548        29072 :   rtx x10;
    1549        29072 :   int res ATTRIBUTE_UNUSED;
    1550        29072 :   x2 = XVECEXP (x1, 0, 0);
    1551        29072 :   x3 = XEXP (x2, 1);
    1552        29072 :   x4 = XEXP (x3, 0);
    1553        29072 :   x5 = XEXP (x4, 0);
    1554        29072 :   if (GET_CODE (x5) != ASHIFT)
    1555              :     return -1;
    1556         8504 :   x6 = XEXP (x5, 0);
    1557         8504 :   if (GET_CODE (x6) != ZERO_EXTEND)
    1558              :     return -1;
    1559         7853 :   x7 = XEXP (x4, 1);
    1560         7853 :   if (GET_CODE (x7) != ZERO_EXTEND)
    1561              :     return -1;
    1562         7853 :   x8 = XVECEXP (x1, 0, 1);
    1563         7853 :   if (GET_CODE (x8) != CLOBBER)
    1564              :     return -1;
    1565         6216 :   x9 = XEXP (x8, 0);
    1566         6216 :   if (GET_CODE (x9) != REG
    1567         6216 :       || REGNO (x9) != 17
    1568        12432 :       || GET_MODE (x9) != E_CCmode)
    1569              :     return -1;
    1570         6216 :   x10 = XEXP (x2, 0);
    1571         6216 :   operands[0] = x10;
    1572         6216 :   return pattern358 (x3); /* [-1, 3] */
    1573              : }
    1574              : 
    1575              : int
    1576        21065 : pattern366 (rtx x1, machine_mode i1)
    1577              : {
    1578        21065 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1579        21065 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1580        21065 :   rtx x10, x11, x12, x13;
    1581        21065 :   int res ATTRIBUTE_UNUSED;
    1582        21065 :   x2 = XVECEXP (x1, 0, 0);
    1583        21065 :   x3 = XEXP (x2, 1);
    1584        21065 :   if (GET_MODE (x3) != i1)
    1585              :     return -1;
    1586        21065 :   x4 = XEXP (x3, 0);
    1587        21065 :   x5 = XEXP (x4, 0);
    1588        21065 :   x6 = XVECEXP (x5, 0, 0);
    1589        21065 :   operands[0] = x6;
    1590        21065 :   x7 = XVECEXP (x5, 0, 1);
    1591        21065 :   operands[2] = x7;
    1592        21065 :   if (!const_int_operand (operands[2], E_SImode))
    1593              :     return -1;
    1594        21065 :   x8 = XEXP (x4, 1);
    1595        21065 :   operands[1] = x8;
    1596        21065 :   x9 = XVECEXP (x1, 0, 1);
    1597        21065 :   x10 = XEXP (x9, 1);
    1598        21065 :   x11 = XEXP (x10, 0);
    1599        21065 :   if (!rtx_equal_p (x11, operands[0]))
    1600              :     return -1;
    1601        21065 :   x12 = XEXP (x10, 1);
    1602        21065 :   if (!rtx_equal_p (x12, operands[1]))
    1603              :     return -1;
    1604        21065 :   x13 = XEXP (x9, 0);
    1605        21065 :   if (!rtx_equal_p (x13, operands[0]))
    1606              :     return -1;
    1607        21065 :   switch (GET_MODE (x4))
    1608              :     {
    1609         2888 :     case E_QImode:
    1610         2888 :       return pattern365 (x1, 
    1611         2888 : E_QImode); /* [-1, 0] */
    1612              : 
    1613         2588 :     case E_HImode:
    1614         2588 :       if (pattern365 (x1, 
    1615              : E_HImode) != 0)
    1616              :         return -1;
    1617              :       return 1;
    1618              : 
    1619        12055 :     case E_SImode:
    1620        12055 :       if (pattern365 (x1, 
    1621              : E_SImode) != 0)
    1622              :         return -1;
    1623              :       return 2;
    1624              : 
    1625         3534 :     case E_DImode:
    1626         3534 :       if (pattern365 (x1, 
    1627              : E_DImode) != 0)
    1628              :         return -1;
    1629              :       return 3;
    1630              : 
    1631              :     default:
    1632              :       return -1;
    1633              :     }
    1634              : }
    1635              : 
    1636              : int
    1637         7237 : pattern376 (rtx x1)
    1638              : {
    1639         7237 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1640         7237 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1641         7237 :   rtx x10, x11;
    1642         7237 :   int res ATTRIBUTE_UNUSED;
    1643         7237 :   x2 = XVECEXP (x1, 0, 0);
    1644         7237 :   x3 = XEXP (x2, 1);
    1645         7237 :   x4 = XEXP (x3, 0);
    1646         7237 :   if (GET_MODE (x4) != E_DImode)
    1647              :     return -1;
    1648         7237 :   x5 = XEXP (x4, 1);
    1649         7237 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    1650              :     return -1;
    1651         7237 :   x6 = XEXP (x2, 0);
    1652         7237 :   if (GET_CODE (x6) != ZERO_EXTRACT
    1653         7237 :       || GET_MODE (x6) != E_DImode)
    1654              :     return -1;
    1655         7237 :   x7 = XEXP (x6, 1);
    1656         7237 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    1657              :     return -1;
    1658         7237 :   x8 = XVECEXP (x1, 0, 1);
    1659         7237 :   if (GET_CODE (x8) != CLOBBER)
    1660              :     return -1;
    1661         7237 :   x9 = XEXP (x8, 0);
    1662         7237 :   if (GET_CODE (x9) != REG
    1663         7237 :       || REGNO (x9) != 17
    1664        14474 :       || GET_MODE (x9) != E_CCmode)
    1665              :     return -1;
    1666         7237 :   x10 = XEXP (x6, 0);
    1667         7237 :   operands[0] = x10;
    1668         7237 :   if (!nonimmediate_operand (operands[0], E_DImode))
    1669              :     return -1;
    1670         7237 :   x11 = XEXP (x6, 2);
    1671         7237 :   operands[1] = x11;
    1672         7237 :   if (!const_0_to_63_operand (operands[1], E_QImode))
    1673              :     return -1;
    1674              :   return 0;
    1675              : }
    1676              : 
    1677              : int
    1678           57 : pattern392 (rtx x1)
    1679              : {
    1680           57 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1681           57 :   rtx x2, x3;
    1682           57 :   int res ATTRIBUTE_UNUSED;
    1683           57 :   x2 = XVECEXP (x1, 0, 2);
    1684           57 :   if (XVECLEN (x2, 0) != 1
    1685           57 :       || XINT (x2, 1) != 33)
    1686              :     return -1;
    1687           57 :   x3 = XVECEXP (x2, 0, 0);
    1688           57 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1689              :     return -1;
    1690           57 :   switch (GET_MODE (operands[0]))
    1691              :     {
    1692           38 :     case E_SImode:
    1693           38 :       return pattern391 (x1, 
    1694           38 : E_SImode); /* [-1, 0] */
    1695              : 
    1696           19 :     case E_DImode:
    1697           19 :       if (pattern391 (x1, 
    1698              : E_DImode) != 0)
    1699              :         return -1;
    1700              :       return 1;
    1701              : 
    1702              :     default:
    1703              :       return -1;
    1704              :     }
    1705              : }
    1706              : 
    1707              : int
    1708            0 : pattern401 (rtx x1, machine_mode i1, machine_mode i2)
    1709              : {
    1710            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1711            0 :   rtx x2, x3;
    1712            0 :   int res ATTRIBUTE_UNUSED;
    1713            0 :   if (!nonimmediate_operand (operands[0], i1)
    1714            0 :       || GET_MODE (x1) != i1)
    1715              :     return -1;
    1716            0 :   x2 = XEXP (x1, 0);
    1717            0 :   if (GET_MODE (x2) != i1
    1718            0 :       || !nonimmediate_operand (operands[1], i2))
    1719            0 :     return -1;
    1720            0 :   x3 = XEXP (x1, 1);
    1721            0 :   if (GET_MODE (x3) != i1
    1722            0 :       || !register_operand (operands[2], i1))
    1723            0 :     return -1;
    1724              :   return 0;
    1725              : }
    1726              : 
    1727              : int
    1728        72389 : pattern408 (rtx x1)
    1729              : {
    1730        72389 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1731        72389 :   int res ATTRIBUTE_UNUSED;
    1732        72389 :   switch (GET_MODE (operands[0]))
    1733              :     {
    1734        33691 :     case E_SImode:
    1735        33691 :       if (!register_operand (operands[0], E_SImode)
    1736        33575 :           || GET_MODE (x1) != E_SImode
    1737        67266 :           || !nonimmediate_operand (operands[1], E_SImode))
    1738         7161 :         return -1;
    1739              :       return 0;
    1740              : 
    1741        25229 :     case E_DImode:
    1742        25229 :       if (!register_operand (operands[0], E_DImode)
    1743        24898 :           || GET_MODE (x1) != E_DImode
    1744        50127 :           || !nonimmediate_operand (operands[1], E_DImode))
    1745         5097 :         return -1;
    1746              :       return 1;
    1747              : 
    1748              :     default:
    1749              :       return -1;
    1750              :     }
    1751              : }
    1752              : 
    1753              : int
    1754         2793 : pattern415 (rtx x1)
    1755              : {
    1756         2793 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1757         2793 :   rtx x2, x3, x4, x5, x6, x7;
    1758         2793 :   int res ATTRIBUTE_UNUSED;
    1759         2793 :   x2 = XEXP (x1, 0);
    1760         2793 :   x3 = XEXP (x2, 0);
    1761         2793 :   if (GET_CODE (x3) != VEC_SELECT)
    1762              :     return -1;
    1763         1414 :   x4 = XEXP (x3, 0);
    1764         1414 :   if (GET_CODE (x4) != SUBREG
    1765         1414 :       || maybe_ne (SUBREG_BYTE (x4), 0))
    1766              :     return -1;
    1767          381 :   x5 = XEXP (x3, 1);
    1768          381 :   if (GET_CODE (x5) != PARALLEL)
    1769              :     return -1;
    1770          381 :   x6 = XEXP (x1, 1);
    1771          381 :   operands[2] = x6;
    1772          381 :   x7 = XEXP (x1, 2);
    1773          381 :   operands[3] = x7;
    1774          381 :   return pattern414 (x1); /* [-1, 8] */
    1775              : }
    1776              : 
    1777              : int
    1778     18320164 : pattern419 (rtx x1, machine_mode i1)
    1779              : {
    1780     18320164 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1781     18320164 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1782     18320164 :   rtx x10, x11;
    1783     18320164 :   int res ATTRIBUTE_UNUSED;
    1784     18320164 :   operands[4] = x1;
    1785     18320164 :   if (!general_gr_operand (operands[4], i1))
    1786              :     return -1;
    1787     13290848 :   x2 = PATTERN (peep2_next_insn (1));
    1788     13290848 :   if (GET_CODE (x2) != PARALLEL
    1789      1285989 :       || XVECLEN (x2, 0) != 3)
    1790              :     return -1;
    1791        39816 :   x3 = XVECEXP (x2, 0, 0);
    1792        39816 :   if (GET_CODE (x3) != SET)
    1793              :     return -1;
    1794        38099 :   x4 = XEXP (x3, 1);
    1795        38099 :   if (GET_CODE (x4) != UNSPEC
    1796           53 :       || XVECLEN (x4, 0) != 1
    1797           23 :       || XINT (x4, 1) != 93)
    1798              :     return -1;
    1799           23 :   x5 = XVECEXP (x2, 0, 1);
    1800           23 :   if (GET_CODE (x5) != SET)
    1801              :     return -1;
    1802           23 :   x6 = XEXP (x5, 1);
    1803           23 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1804              :     return -1;
    1805           23 :   x7 = XVECEXP (x2, 0, 2);
    1806           23 :   if (GET_CODE (x7) != CLOBBER)
    1807              :     return -1;
    1808           23 :   x8 = XEXP (x7, 0);
    1809           23 :   if (GET_CODE (x8) != REG
    1810           23 :       || REGNO (x8) != 17
    1811           46 :       || GET_MODE (x8) != E_CCmode)
    1812              :     return -1;
    1813           23 :   x9 = XEXP (x3, 0);
    1814           23 :   operands[0] = x9;
    1815           23 :   x10 = XVECEXP (x4, 0, 0);
    1816           23 :   operands[1] = x10;
    1817           23 :   x11 = XEXP (x5, 0);
    1818           23 :   operands[2] = x11;
    1819           23 :   if (!general_reg_operand (operands[2], E_VOIDmode))
    1820              :     return -1;
    1821           23 :   switch (GET_MODE (operands[0]))
    1822              :     {
    1823            0 :     case E_SImode:
    1824            0 :       if (!memory_operand (operands[0], E_SImode)
    1825            0 :           || GET_MODE (x4) != E_SImode
    1826            0 :           || !memory_operand (operands[1], E_SImode))
    1827            0 :         return -1;
    1828              :       return 0;
    1829              : 
    1830           23 :     case E_DImode:
    1831           23 :       if (!memory_operand (operands[0], E_DImode)
    1832           23 :           || GET_MODE (x4) != E_DImode
    1833           46 :           || !memory_operand (operands[1], E_DImode))
    1834            0 :         return -1;
    1835              :       return 1;
    1836              : 
    1837              :     default:
    1838              :       return -1;
    1839              :     }
    1840              : }
    1841              : 
    1842              : int
    1843         7499 : pattern444 (rtx x1, rtx_code i1)
    1844              : {
    1845         7499 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1846         7499 :   rtx x2, x3, x4, x5, x6;
    1847         7499 :   int res ATTRIBUTE_UNUSED;
    1848         7499 :   x2 = XEXP (x1, 1);
    1849         7499 :   if (maybe_ne (SUBREG_BYTE (x2), 0))
    1850              :     return -1;
    1851         7499 :   x3 = XEXP (x2, 0);
    1852         7499 :   if (GET_CODE (x3) != i1)
    1853              :     return -1;
    1854          942 :   x4 = XEXP (x3, 0);
    1855          942 :   if (GET_CODE (x4) != ZERO_EXTEND)
    1856              :     return -1;
    1857          868 :   switch (GET_MODE (operands[0]))
    1858              :     {
    1859          783 :     case E_DImode:
    1860          783 :       if (GET_MODE (x1) != E_DImode)
    1861              :         return -1;
    1862          783 :       x5 = XEXP (x1, 0);
    1863          783 :       if (GET_MODE (x5) != E_DImode)
    1864              :         return -1;
    1865          783 :       x6 = XEXP (x5, 1);
    1866          783 :       if (!const_0_to_63_operand (x6, E_QImode))
    1867              :         return -1;
    1868              :       return 0;
    1869              : 
    1870           85 :     case E_SImode:
    1871           85 :       if (GET_MODE (x1) != E_SImode)
    1872              :         return -1;
    1873           85 :       x5 = XEXP (x1, 0);
    1874           85 :       if (GET_MODE (x5) != E_SImode)
    1875              :         return -1;
    1876           85 :       x6 = XEXP (x5, 1);
    1877           85 :       if (!const_0_to_31_operand (x6, E_QImode))
    1878              :         return -1;
    1879              :       return 1;
    1880              : 
    1881              :     default:
    1882              :       return -1;
    1883              :     }
    1884              : }
    1885              : 
    1886              : int
    1887         1091 : pattern457 (rtx x1)
    1888              : {
    1889         1091 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1890         1091 :   rtx x2, x3, x4;
    1891         1091 :   int res ATTRIBUTE_UNUSED;
    1892         1091 :   x2 = XEXP (x1, 1);
    1893         1091 :   if (GET_CODE (x2) != PARALLEL
    1894         1091 :       || XVECLEN (x2, 0) != 1)
    1895              :     return -1;
    1896          965 :   x3 = XVECEXP (x2, 0, 0);
    1897          965 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1898              :     return -1;
    1899          965 :   x4 = XEXP (x1, 0);
    1900          965 :   operands[1] = x4;
    1901          965 :   switch (GET_MODE (operands[0]))
    1902              :     {
    1903              :     case E_SImode:
    1904              :       return 0;
    1905              : 
    1906          500 :     case E_DImode:
    1907          500 :       return 1;
    1908              : 
    1909              :     default:
    1910              :       return -1;
    1911              :     }
    1912              : }
    1913              : 
    1914              : int
    1915         3914 : pattern461 (rtx x1)
    1916              : {
    1917         3914 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1918         3914 :   rtx x2, x3, x4, x5, x6;
    1919         3914 :   int res ATTRIBUTE_UNUSED;
    1920         3914 :   x2 = XEXP (x1, 0);
    1921         3914 :   x3 = XVECEXP (x2, 0, 0);
    1922         3914 :   operands[1] = x3;
    1923         3914 :   x4 = XVECEXP (x2, 0, 1);
    1924         3914 :   operands[2] = x4;
    1925         3914 :   x5 = XEXP (x1, 2);
    1926         3914 :   switch (GET_CODE (x5))
    1927              :     {
    1928         2988 :     case REG:
    1929         2988 :     case SUBREG:
    1930         2988 :       operands[4] = x5;
    1931         2988 :       x6 = XEXP (x1, 1);
    1932         2988 :       operands[3] = x6;
    1933         2988 :       switch (GET_MODE (operands[0]))
    1934              :         {
    1935          454 :         case E_V32HFmode:
    1936          454 :           return pattern458 (x1, 
    1937              : E_V32HFmode, 
    1938          454 : E_SImode); /* [-1, 0] */
    1939              : 
    1940          430 :         case E_V16HFmode:
    1941          430 :           if (pattern458 (x1, 
    1942              : E_V16HFmode, 
    1943              : E_HImode) != 0)
    1944              :             return -1;
    1945              :           return 1;
    1946              : 
    1947          504 :         case E_V8HFmode:
    1948          504 :           if (pattern458 (x1, 
    1949              : E_V8HFmode, 
    1950              : E_QImode) != 0)
    1951              :             return -1;
    1952              :           return 2;
    1953              : 
    1954           84 :         case E_V16SFmode:
    1955           84 :           if (pattern458 (x1, 
    1956              : E_V16SFmode, 
    1957              : E_HImode) != 0)
    1958              :             return -1;
    1959              :           return 3;
    1960              : 
    1961          346 :         case E_V8SFmode:
    1962          346 :           if (pattern458 (x1, 
    1963              : E_V8SFmode, 
    1964              : E_QImode) != 0)
    1965              :             return -1;
    1966              :           return 4;
    1967              : 
    1968          346 :         case E_V4SFmode:
    1969          346 :           if (pattern458 (x1, 
    1970              : E_V4SFmode, 
    1971              : E_QImode) != 0)
    1972              :             return -1;
    1973              :           return 5;
    1974              : 
    1975          132 :         case E_V8DFmode:
    1976          132 :           if (pattern458 (x1, 
    1977              : E_V8DFmode, 
    1978              : E_QImode) != 0)
    1979              :             return -1;
    1980              :           return 6;
    1981              : 
    1982          346 :         case E_V4DFmode:
    1983          346 :           if (pattern458 (x1, 
    1984              : E_V4DFmode, 
    1985              : E_QImode) != 0)
    1986              :             return -1;
    1987              :           return 7;
    1988              : 
    1989          346 :         case E_V2DFmode:
    1990          346 :           if (pattern458 (x1, 
    1991              : E_V2DFmode, 
    1992              : E_QImode) != 0)
    1993              :             return -1;
    1994              :           return 8;
    1995              : 
    1996              :         default:
    1997              :           return -1;
    1998              :         }
    1999              : 
    2000          844 :     case CONST_INT:
    2001          844 :       if (XWINT (x5, 0) != 1L)
    2002              :         return -1;
    2003          720 :       res = pattern460 (x1);
    2004          720 :       if (res >= 0)
    2005          617 :         return res + 9; /* [9, 11] */
    2006              :       return -1;
    2007              : 
    2008              :     default:
    2009              :       return -1;
    2010              :     }
    2011              : }
    2012              : 
    2013              : int
    2014         2708 : pattern486 (rtx x1)
    2015              : {
    2016         2708 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2017         2708 :   rtx x2, x3, x4, x5, x6, x7;
    2018         2708 :   int res ATTRIBUTE_UNUSED;
    2019         2708 :   x2 = XEXP (x1, 0);
    2020         2708 :   x3 = XVECEXP (x2, 0, 0);
    2021         2708 :   operands[1] = x3;
    2022         2708 :   x4 = XVECEXP (x2, 0, 1);
    2023         2708 :   operands[2] = x4;
    2024         2708 :   x5 = XVECEXP (x2, 0, 2);
    2025         2708 :   operands[3] = x5;
    2026         2708 :   x6 = XEXP (x1, 1);
    2027         2708 :   switch (GET_CODE (x6))
    2028              :     {
    2029         1338 :     case REG:
    2030         1338 :     case SUBREG:
    2031         1338 :       if (!rtx_equal_p (x6, operands[1]))
    2032              :         return -1;
    2033         1338 :       x7 = XEXP (x1, 2);
    2034         1338 :       operands[4] = x7;
    2035         1338 :       switch (GET_MODE (operands[0]))
    2036              :         {
    2037          430 :         case E_V16SImode:
    2038          430 :           return pattern482 (x1, 
    2039              : E_V16SImode, 
    2040          430 : E_HImode); /* [-1, 0] */
    2041              : 
    2042          458 :         case E_V8SImode:
    2043          458 :           if (pattern482 (x1, 
    2044              : E_V8SImode, 
    2045              : E_QImode) != 0)
    2046              :             return -1;
    2047              :           return 1;
    2048              : 
    2049          450 :         case E_V4SImode:
    2050          450 :           if (pattern482 (x1, 
    2051              : E_V4SImode, 
    2052              : E_QImode) != 0)
    2053              :             return -1;
    2054              :           return 2;
    2055              : 
    2056              :         default:
    2057              :           return -1;
    2058              :         }
    2059              : 
    2060         1346 :     case CONST_INT:
    2061         1346 :     case CONST_DOUBLE:
    2062         1346 :     case CONST_VECTOR:
    2063         1346 :       operands[4] = x6;
    2064         1346 :       x7 = XEXP (x1, 2);
    2065         1346 :       operands[5] = x7;
    2066         1346 :       switch (GET_MODE (operands[0]))
    2067              :         {
    2068          442 :         case E_V16SImode:
    2069          442 :           if (pattern484 (x1, 
    2070              : E_V16SImode, 
    2071              : E_HImode) != 0)
    2072              :             return -1;
    2073              :           return 3;
    2074              : 
    2075          466 :         case E_V8SImode:
    2076          466 :           if (pattern484 (x1, 
    2077              : E_V8SImode, 
    2078              : E_QImode) != 0)
    2079              :             return -1;
    2080              :           return 4;
    2081              : 
    2082          438 :         case E_V4SImode:
    2083          438 :           if (pattern484 (x1, 
    2084              : E_V4SImode, 
    2085              : E_QImode) != 0)
    2086              :             return -1;
    2087              :           return 5;
    2088              : 
    2089              :         default:
    2090              :           return -1;
    2091              :         }
    2092              : 
    2093              :     default:
    2094              :       return -1;
    2095              :     }
    2096              : }
    2097              : 
    2098              : int
    2099          180 : pattern501 (rtx x1, machine_mode i1)
    2100              : {
    2101          180 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2102          180 :   int res ATTRIBUTE_UNUSED;
    2103          180 :   if (GET_MODE (x1) != E_V2HFmode
    2104          180 :       || !vector_operand (operands[1], i1)
    2105          180 :       || !const0_operand (operands[3], E_V2HFmode)
    2106          360 :       || !const0_operand (operands[4], E_V6HFmode))
    2107            0 :     return -1;
    2108              :   return 0;
    2109              : }
    2110              : 
    2111              : int
    2112          432 : pattern504 (rtx x1)
    2113              : {
    2114          432 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2115          432 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2116          432 :   int res ATTRIBUTE_UNUSED;
    2117          432 :   x2 = XEXP (x1, 1);
    2118          432 :   if (GET_MODE (x2) != E_V2SImode)
    2119              :     return -1;
    2120          432 :   switch (GET_CODE (x2))
    2121              :     {
    2122          300 :     case VEC_SELECT:
    2123          300 :       x3 = XEXP (x2, 1);
    2124          300 :       if (GET_CODE (x3) != PARALLEL
    2125          300 :           || XVECLEN (x3, 0) != 2)
    2126              :         return -1;
    2127          300 :       x4 = XVECEXP (x3, 0, 0);
    2128          300 :       if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2129              :         return -1;
    2130          300 :       x5 = XVECEXP (x3, 0, 1);
    2131          300 :       if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    2132              :         return -1;
    2133          300 :       x6 = XEXP (x2, 0);
    2134          300 :       operands[2] = x6;
    2135          300 :       if (!nonimm_or_0_operand (operands[2], E_V4SImode))
    2136              :         return -1;
    2137          292 :       x7 = XEXP (x1, 2);
    2138          292 :       operands[3] = x7;
    2139          292 :       return 0;
    2140              : 
    2141          128 :     case CONST_VECTOR:
    2142          128 :       if (XVECLEN (x2, 0) != 2)
    2143              :         return -1;
    2144          128 :       x8 = XVECEXP (x2, 0, 0);
    2145          128 :       if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2146              :         return -1;
    2147          120 :       x9 = XVECEXP (x2, 0, 1);
    2148          120 :       if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2149              :         return -1;
    2150          120 :       x7 = XEXP (x1, 2);
    2151          120 :       operands[2] = x7;
    2152          120 :       return 1;
    2153              : 
    2154              :     default:
    2155              :       return -1;
    2156              :     }
    2157              : }
    2158              : 
    2159              : int
    2160         7081 : pattern512 (rtx x1, machine_mode i1, int i2)
    2161              : {
    2162         7081 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2163         7081 :   rtx x2, x3;
    2164         7081 :   int res ATTRIBUTE_UNUSED;
    2165         7081 :   if (XVECLEN (x1, 0) != i2
    2166         6959 :       || GET_MODE (x1) != i1)
    2167              :     return -1;
    2168         6959 :   x2 = XVECEXP (x1, 0, 0);
    2169         6959 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2170              :     return -1;
    2171         6957 :   x3 = XVECEXP (x1, 0, 1);
    2172         6957 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2173            0 :     return -1;
    2174              :   return 0;
    2175              : }
    2176              : 
    2177              : int
    2178          567 : pattern517 (rtx x1)
    2179              : {
    2180          567 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2181          567 :   int res ATTRIBUTE_UNUSED;
    2182          567 :   if (!register_operand (operands[0], E_V8HFmode)
    2183          567 :       || GET_MODE (x1) != E_V8HFmode)
    2184              :     return -1;
    2185          510 :   switch (GET_MODE (operands[1]))
    2186              :     {
    2187          196 :     case E_V8HImode:
    2188          196 :       if (!vector_operand (operands[1], E_V8HImode))
    2189              :         return -1;
    2190              :       return 0;
    2191              : 
    2192          249 :     case E_V8SImode:
    2193          249 :       if (!vector_operand (operands[1], E_V8SImode))
    2194              :         return -1;
    2195              :       return 1;
    2196              : 
    2197           62 :     case E_V8DImode:
    2198           62 :       if (!vector_operand (operands[1], E_V8DImode))
    2199              :         return -1;
    2200              :       return 2;
    2201              : 
    2202              :     default:
    2203              :       return -1;
    2204              :     }
    2205              : }
    2206              : 
    2207              : int
    2208        24807 : pattern523 (rtx x1)
    2209              : {
    2210        24807 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2211        24807 :   rtx x2, x3, x4, x5, x6, x7, x8;
    2212        24807 :   int res ATTRIBUTE_UNUSED;
    2213        24807 :   x2 = XEXP (x1, 1);
    2214        24807 :   if (XVECLEN (x2, 0) < 1)
    2215              :     return -1;
    2216        24807 :   operands[4] = x2;
    2217        24807 :   if (!pmovzx_parallel (operands[4], E_VOIDmode))
    2218              :     return -1;
    2219           86 :   x3 = XEXP (x1, 0);
    2220           86 :   x4 = XEXP (x3, 0);
    2221           86 :   x5 = XEXP (x4, 0);
    2222           86 :   operands[1] = x5;
    2223           86 :   x6 = XEXP (x4, 1);
    2224           86 :   operands[2] = x6;
    2225           86 :   x7 = XEXP (x3, 1);
    2226           86 :   operands[3] = x7;
    2227           86 :   x8 = XVECEXP (x2, 0, 0);
    2228           86 :   operands[5] = x8;
    2229           86 :   if (!const_int_operand (operands[5], E_VOIDmode))
    2230              :     return -1;
    2231           86 :   switch (GET_MODE (operands[0]))
    2232              :     {
    2233            4 :     case E_V16SImode:
    2234            4 :       return pattern522 (x1, 
    2235              : E_V16SImode, 
    2236              : E_V8SImode, 
    2237            4 : E_V32SImode); /* [-1, 0] */
    2238              : 
    2239            4 :     case E_V8SImode:
    2240            4 :       if (pattern522 (x1, 
    2241              : E_V8SImode, 
    2242              : E_V4SImode, 
    2243              : E_V16SImode) != 0)
    2244              :         return -1;
    2245              :       return 1;
    2246              : 
    2247           61 :     case E_V4SImode:
    2248           61 :       if (!register_operand (operands[0], E_V4SImode)
    2249           61 :           || GET_MODE (x1) != E_V4SImode
    2250           61 :           || GET_MODE (x3) != E_V8SImode
    2251           61 :           || GET_MODE (x4) != E_V4SImode
    2252           61 :           || !vector_operand (operands[1], E_V2SImode)
    2253           61 :           || !const0_operand (operands[2], E_V2SImode)
    2254           65 :           || !const0_operand (operands[3], E_V4SImode))
    2255           57 :         return -1;
    2256              :       return 2;
    2257              : 
    2258              :     default:
    2259              :       return -1;
    2260              :     }
    2261              : }
    2262              : 
    2263              : int
    2264       127919 : pattern539 (rtx x1)
    2265              : {
    2266       127919 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2267       127919 :   rtx x2, x3;
    2268       127919 :   int res ATTRIBUTE_UNUSED;
    2269       127919 :   x2 = XEXP (x1, 1);
    2270       127919 :   switch (GET_CODE (x2))
    2271              :     {
    2272       100491 :     case REG:
    2273       100491 :     case SUBREG:
    2274       100491 :     case MEM:
    2275       100491 :     case VEC_DUPLICATE:
    2276       100491 :       operands[2] = x2;
    2277       100491 :       return 0;
    2278              : 
    2279         2239 :     case NOT:
    2280         2239 :       x3 = XEXP (x2, 0);
    2281         2239 :       operands[2] = x3;
    2282         2239 :       switch (GET_MODE (operands[0]))
    2283              :         {
    2284            0 :         case E_V16SImode:
    2285            0 :           if (pattern538 (x1, 
    2286              : E_V16SImode) != 0)
    2287              :             return -1;
    2288              :           return 1;
    2289              : 
    2290            0 :         case E_V8DImode:
    2291            0 :           if (pattern538 (x1, 
    2292              : E_V8DImode) != 0)
    2293              :             return -1;
    2294              :           return 2;
    2295              : 
    2296            2 :         case E_V64QImode:
    2297            2 :           if (pattern538 (x1, 
    2298              : E_V64QImode) != 0)
    2299              :             return -1;
    2300              :           return 3;
    2301              : 
    2302            0 :         case E_V32QImode:
    2303            0 :           if (pattern538 (x1, 
    2304              : E_V32QImode) != 0)
    2305              :             return -1;
    2306              :           return 4;
    2307              : 
    2308            0 :         case E_V16QImode:
    2309            0 :           if (pattern538 (x1, 
    2310              : E_V16QImode) != 0)
    2311              :             return -1;
    2312              :           return 5;
    2313              : 
    2314            0 :         case E_V32HImode:
    2315            0 :           if (pattern538 (x1, 
    2316              : E_V32HImode) != 0)
    2317              :             return -1;
    2318              :           return 6;
    2319              : 
    2320            0 :         case E_V16HImode:
    2321            0 :           if (pattern538 (x1, 
    2322              : E_V16HImode) != 0)
    2323              :             return -1;
    2324              :           return 7;
    2325              : 
    2326            1 :         case E_V8HImode:
    2327            1 :           if (pattern538 (x1, 
    2328              : E_V8HImode) != 0)
    2329              :             return -1;
    2330              :           return 8;
    2331              : 
    2332            3 :         case E_V8SImode:
    2333            3 :           if (pattern538 (x1, 
    2334              : E_V8SImode) != 0)
    2335              :             return -1;
    2336              :           return 9;
    2337              : 
    2338           22 :         case E_V4SImode:
    2339           22 :           if (pattern538 (x1, 
    2340              : E_V4SImode) != 0)
    2341              :             return -1;
    2342              :           return 10;
    2343              : 
    2344            0 :         case E_V4DImode:
    2345            0 :           if (pattern538 (x1, 
    2346              : E_V4DImode) != 0)
    2347              :             return -1;
    2348              :           return 11;
    2349              : 
    2350            0 :         case E_V2DImode:
    2351            0 :           if (pattern538 (x1, 
    2352              : E_V2DImode) != 0)
    2353              :             return -1;
    2354              :           return 12;
    2355              : 
    2356              :         default:
    2357              :           return -1;
    2358              :         }
    2359              : 
    2360              :     default:
    2361              :       return -1;
    2362              :     }
    2363              : }
    2364              : 
    2365              : int
    2366           55 : pattern547 (rtx x1, machine_mode i1)
    2367              : {
    2368           55 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2369           55 :   int res ATTRIBUTE_UNUSED;
    2370           55 :   if (!register_operand (operands[0], i1)
    2371           55 :       || GET_MODE (x1) != i1
    2372           55 :       || !nonimmediate_operand (operands[1], i1)
    2373          110 :       || !register_operand (operands[2], i1))
    2374            0 :     return -1;
    2375              :   return 0;
    2376              : }
    2377              : 
    2378              : int
    2379          676 : pattern553 (rtx x1)
    2380              : {
    2381          676 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2382          676 :   rtx x2, x3, x4, x5, x6, x7;
    2383          676 :   int res ATTRIBUTE_UNUSED;
    2384          676 :   x2 = XVECEXP (x1, 0, 1);
    2385          676 :   if (GET_CODE (x2) != CLOBBER)
    2386              :     return -1;
    2387          676 :   x3 = XEXP (x2, 0);
    2388          676 :   if (GET_CODE (x3) != REG
    2389          676 :       || REGNO (x3) != 17
    2390         1352 :       || GET_MODE (x3) != E_CCmode)
    2391              :     return -1;
    2392          676 :   x4 = XVECEXP (x1, 0, 0);
    2393          676 :   x5 = XEXP (x4, 0);
    2394          676 :   operands[0] = x5;
    2395          676 :   x6 = XEXP (x4, 1);
    2396          676 :   x7 = XVECEXP (x6, 0, 0);
    2397          676 :   operands[1] = x7;
    2398          676 :   if (!register_operand (operands[1], E_XFmode))
    2399              :     return -1;
    2400          488 :   return pattern552 (x6); /* [-1, 2] */
    2401              : }
    2402              : 
    2403              : int
    2404          783 : pattern556 (rtx x1, int i1, int i2)
    2405              : {
    2406          783 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2407          783 :   rtx x2, x3, x4, x5, x6;
    2408          783 :   int res ATTRIBUTE_UNUSED;
    2409          783 :   x2 = XVECEXP (x1, 0, 1);
    2410          783 :   if (GET_CODE (x2) != SET)
    2411              :     return -1;
    2412          699 :   x3 = XEXP (x2, 1);
    2413          699 :   if (GET_CODE (x3) != UNSPEC
    2414          625 :       || XVECLEN (x3, 0) != i2
    2415          625 :       || XINT (x3, 1) != i1
    2416          605 :       || GET_MODE (x3) != E_CCmode)
    2417              :     return -1;
    2418          605 :   x4 = XEXP (x2, 0);
    2419          605 :   if (GET_CODE (x4) != REG
    2420          605 :       || REGNO (x4) != 17
    2421         1210 :       || GET_MODE (x4) != E_CCmode)
    2422              :     return -1;
    2423          605 :   x5 = XVECEXP (x1, 0, 0);
    2424          605 :   x6 = XEXP (x5, 0);
    2425          605 :   operands[0] = x6;
    2426          605 :   return 0;
    2427              : }
    2428              : 
    2429              : int
    2430       415652 : pattern562 (rtx x1)
    2431              : {
    2432       415652 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2433       415652 :   rtx x2, x3, x4, x5, x6, x7, x8;
    2434       415652 :   int res ATTRIBUTE_UNUSED;
    2435       415652 :   if (!bt_comparison_operator (operands[1], E_QImode))
    2436              :     return -1;
    2437       123521 :   x2 = XVECEXP (x1, 0, 0);
    2438       123521 :   x3 = XEXP (x2, 1);
    2439       123521 :   x4 = XEXP (x3, 1);
    2440       123521 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
    2441              :     return -1;
    2442         4132 :   x5 = XVECEXP (x1, 0, 1);
    2443         4132 :   if (GET_CODE (x5) != CLOBBER)
    2444              :     return -1;
    2445          772 :   x6 = XEXP (x5, 0);
    2446          772 :   if (GET_CODE (x6) != REG
    2447          772 :       || REGNO (x6) != 17
    2448         1494 :       || GET_MODE (x6) != E_CCmode)
    2449              :     return -1;
    2450          158 :   x7 = XEXP (x2, 0);
    2451          158 :   operands[0] = x7;
    2452          158 :   if (!nonimmediate_operand (operands[0], E_QImode))
    2453              :     return -1;
    2454          158 :   x8 = XEXP (x3, 0);
    2455          158 :   operands[2] = x8;
    2456          158 :   switch (GET_MODE (operands[2]))
    2457              :     {
    2458           32 :     case E_QImode:
    2459           32 :       if (!register_operand (operands[2], E_QImode))
    2460              :         return -1;
    2461              :       return 0;
    2462              : 
    2463           32 :     case E_HImode:
    2464           32 :       if (!register_operand (operands[2], E_HImode))
    2465              :         return -1;
    2466              :       return 1;
    2467              : 
    2468           50 :     case E_SImode:
    2469           50 :       if (!register_operand (operands[2], E_SImode))
    2470              :         return -1;
    2471              :       return 2;
    2472              : 
    2473           44 :     case E_DImode:
    2474           44 :       if (!register_operand (operands[2], E_DImode))
    2475              :         return -1;
    2476              :       return 3;
    2477              : 
    2478              :     default:
    2479              :       return -1;
    2480              :     }
    2481              : }
    2482              : 
    2483              : int
    2484          214 : pattern579 ()
    2485              : {
    2486          214 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2487          214 :   int res ATTRIBUTE_UNUSED;
    2488          214 :   if (!register_operand (operands[1], E_SImode)
    2489          214 :       || !register_operand (operands[2], E_SImode))
    2490           30 :     return -1;
    2491          184 :   switch (GET_MODE (operands[0]))
    2492              :     {
    2493            0 :     case E_SImode:
    2494            0 :       if (!register_operand (operands[0], E_SImode))
    2495              :         return -1;
    2496              :       return 0;
    2497              : 
    2498          184 :     case E_DImode:
    2499          184 :       if (!register_operand (operands[0], E_DImode))
    2500              :         return -1;
    2501              :       return 1;
    2502              : 
    2503              :     default:
    2504              :       return -1;
    2505              :     }
    2506              : }
    2507              : 
    2508              : int
    2509          836 : pattern587 (rtx x1, machine_mode i1)
    2510              : {
    2511          836 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2512          836 :   rtx x2, x3, x4, x5, x6;
    2513          836 :   int res ATTRIBUTE_UNUSED;
    2514          836 :   if (!extract_high_operator (operands[3], i1))
    2515              :     return -1;
    2516          836 :   x2 = XEXP (x1, 0);
    2517          836 :   if (GET_MODE (x2) != i1)
    2518              :     return -1;
    2519          836 :   x3 = XEXP (x1, 1);
    2520          836 :   if (GET_MODE (x3) != i1)
    2521              :     return -1;
    2522          836 :   x4 = XEXP (x3, 0);
    2523          836 :   x5 = XEXP (x4, 0);
    2524          836 :   x6 = XEXP (x5, 0);
    2525          836 :   if (GET_MODE (x6) != i1)
    2526            0 :     return -1;
    2527              :   return 0;
    2528              : }
    2529              : 
    2530              : int
    2531       167209 : pattern591 (rtx x1, rtx_code i1)
    2532              : {
    2533       167209 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2534       167209 :   rtx x2, x3, x4, x5;
    2535       167209 :   int res ATTRIBUTE_UNUSED;
    2536       167209 :   x2 = XVECEXP (x1, 0, 1);
    2537       167209 :   if (GET_CODE (x2) != SET)
    2538              :     return -1;
    2539       167209 :   x3 = XEXP (x2, 1);
    2540       167209 :   if (GET_CODE (x3) != i1)
    2541              :     return -1;
    2542       167209 :   x4 = XVECEXP (x1, 0, 2);
    2543       167209 :   x5 = XEXP (x4, 0);
    2544       167209 :   if (GET_CODE (x5) != REG
    2545       167209 :       || REGNO (x5) != 17
    2546       334418 :       || GET_MODE (x5) != E_CCmode)
    2547            0 :     return -1;
    2548              :   return 0;
    2549              : }
    2550              : 
    2551              : int
    2552       139794 : pattern595 (rtx x1, rtx_code i1)
    2553              : {
    2554       139794 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2555       139794 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2556       139794 :   int res ATTRIBUTE_UNUSED;
    2557       139794 :   x2 = XVECEXP (x1, 0, 1);
    2558       139794 :   if (GET_CODE (x2) != SET)
    2559              :     return -1;
    2560       139794 :   x3 = XEXP (x2, 1);
    2561       139794 :   if (GET_CODE (x3) != i1)
    2562              :     return -1;
    2563       139794 :   x4 = XVECEXP (x1, 0, 2);
    2564       139794 :   if (GET_CODE (x4) != UNSPEC
    2565           42 :       || XVECLEN (x4, 0) != 1
    2566           42 :       || XINT (x4, 1) != 33)
    2567              :     return -1;
    2568           42 :   x5 = XVECEXP (x4, 0, 0);
    2569           42 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2570              :     return -1;
    2571           42 :   x6 = XVECEXP (x1, 0, 3);
    2572           42 :   x7 = XEXP (x6, 0);
    2573           42 :   if (GET_CODE (x7) != REG
    2574           42 :       || REGNO (x7) != 17
    2575           84 :       || GET_MODE (x7) != E_CCmode)
    2576              :     return -1;
    2577           42 :   x8 = XVECEXP (x1, 0, 0);
    2578           42 :   x9 = XEXP (x8, 0);
    2579           42 :   operands[0] = x9;
    2580           42 :   return pattern594 (x1); /* [-1, 1] */
    2581              : }
    2582              : 
    2583              : int
    2584           64 : pattern605 (rtx x1)
    2585              : {
    2586           64 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2587           64 :   rtx x2, x3, x4, x5;
    2588           64 :   int res ATTRIBUTE_UNUSED;
    2589           64 :   x2 = XEXP (x1, 0);
    2590           64 :   x3 = XEXP (x2, 0);
    2591           64 :   if (GET_CODE (x3) != NOT)
    2592              :     return -1;
    2593            8 :   x4 = XEXP (x3, 0);
    2594            8 :   operands[1] = x4;
    2595            8 :   x5 = XEXP (x1, 1);
    2596            8 :   operands[2] = x5;
    2597            8 :   switch (GET_MODE (operands[0]))
    2598              :     {
    2599            2 :     case E_V16SImode:
    2600            2 :       return pattern604 (x1, 
    2601              : E_V16SImode, 
    2602            2 : E_SImode); /* [-1, 0] */
    2603              : 
    2604            2 :     case E_V8DImode:
    2605            2 :       if (pattern604 (x1, 
    2606              : E_V8DImode, 
    2607              : E_DImode) != 0)
    2608              :         return -1;
    2609              :       return 1;
    2610              : 
    2611            2 :     case E_V64QImode:
    2612            2 :       if (pattern604 (x1, 
    2613              : E_V64QImode, 
    2614              : E_QImode) != 0)
    2615              :         return -1;
    2616              :       return 2;
    2617              : 
    2618            0 :     case E_V32QImode:
    2619            0 :       if (pattern604 (x1, 
    2620              : E_V32QImode, 
    2621              : E_QImode) != 0)
    2622              :         return -1;
    2623              :       return 3;
    2624              : 
    2625            0 :     case E_V16QImode:
    2626            0 :       if (pattern604 (x1, 
    2627              : E_V16QImode, 
    2628              : E_QImode) != 0)
    2629              :         return -1;
    2630              :       return 4;
    2631              : 
    2632            2 :     case E_V32HImode:
    2633            2 :       if (pattern604 (x1, 
    2634              : E_V32HImode, 
    2635              : E_HImode) != 0)
    2636              :         return -1;
    2637              :       return 5;
    2638              : 
    2639            0 :     case E_V16HImode:
    2640            0 :       if (pattern604 (x1, 
    2641              : E_V16HImode, 
    2642              : E_HImode) != 0)
    2643              :         return -1;
    2644              :       return 6;
    2645              : 
    2646            0 :     case E_V8HImode:
    2647            0 :       if (pattern604 (x1, 
    2648              : E_V8HImode, 
    2649              : E_HImode) != 0)
    2650              :         return -1;
    2651              :       return 7;
    2652              : 
    2653            0 :     case E_V8SImode:
    2654            0 :       if (pattern604 (x1, 
    2655              : E_V8SImode, 
    2656              : E_SImode) != 0)
    2657              :         return -1;
    2658              :       return 8;
    2659              : 
    2660            0 :     case E_V4SImode:
    2661            0 :       if (pattern604 (x1, 
    2662              : E_V4SImode, 
    2663              : E_SImode) != 0)
    2664              :         return -1;
    2665              :       return 9;
    2666              : 
    2667            0 :     case E_V4DImode:
    2668            0 :       if (pattern604 (x1, 
    2669              : E_V4DImode, 
    2670              : E_DImode) != 0)
    2671              :         return -1;
    2672              :       return 10;
    2673              : 
    2674            0 :     case E_V2DImode:
    2675            0 :       if (pattern604 (x1, 
    2676              : E_V2DImode, 
    2677              : E_DImode) != 0)
    2678              :         return -1;
    2679              :       return 11;
    2680              : 
    2681              :     default:
    2682              :       return -1;
    2683              :     }
    2684              : }
    2685              : 
    2686              : int
    2687        27244 : pattern621 (rtx x1, machine_mode i1)
    2688              : {
    2689        27244 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2690        27244 :   rtx x2;
    2691        27244 :   int res ATTRIBUTE_UNUSED;
    2692        27244 :   if (!register_operand (operands[0], i1)
    2693        27244 :       || GET_MODE (x1) != i1)
    2694              :     return -1;
    2695        27048 :   x2 = XEXP (x1, 0);
    2696        27048 :   if (GET_MODE (x2) != i1
    2697        27048 :       || !register_operand (operands[1], i1)
    2698        49424 :       || !register_operand (operands[2], i1))
    2699        15744 :     return -1;
    2700              :   return 0;
    2701              : }
    2702              : 
    2703              : int
    2704        23975 : pattern626 (rtx x1)
    2705              : {
    2706        23975 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2707        23975 :   rtx x2;
    2708        23975 :   int res ATTRIBUTE_UNUSED;
    2709        23975 :   x2 = XEXP (x1, 1);
    2710        23975 :   operands[2] = x2;
    2711        23975 :   if (!const_1_to_63_operand (operands[2], E_QImode)
    2712        23946 :       || !register_operand (operands[0], E_TImode)
    2713           27 :       || GET_MODE (x1) != E_TImode
    2714        24002 :       || !register_operand (operands[1], E_TImode))
    2715        23967 :     return -1;
    2716              :   return 0;
    2717              : }
    2718              : 
    2719              : int
    2720          836 : pattern632 (rtx x1)
    2721              : {
    2722          836 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2723          836 :   rtx x2, x3, x4, x5;
    2724          836 :   int res ATTRIBUTE_UNUSED;
    2725          836 :   x2 = XEXP (x1, 0);
    2726          836 :   x3 = XEXP (x2, 0);
    2727          836 :   x4 = XEXP (x3, 1);
    2728          836 :   operands[2] = x4;
    2729          836 :   if (!register_operand (operands[2], E_QImode))
    2730              :     return -1;
    2731          741 :   x5 = XEXP (x1, 1);
    2732          741 :   operands[1] = x5;
    2733          741 :   switch (GET_MODE (operands[0]))
    2734              :     {
    2735          405 :     case E_SImode:
    2736          405 :       return pattern631 (x1, 
    2737          405 : E_SImode); /* [-1, 0] */
    2738              : 
    2739          312 :     case E_DImode:
    2740          312 :       if (pattern631 (x1, 
    2741              : E_DImode) != 0)
    2742              :         return -1;
    2743              :       return 1;
    2744              : 
    2745              :     default:
    2746              :       return -1;
    2747              :     }
    2748              : }
    2749              : 
    2750              : int
    2751         2032 : pattern643 (rtx x1)
    2752              : {
    2753         2032 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2754         2032 :   rtx x2, x3, x4;
    2755         2032 :   int res ATTRIBUTE_UNUSED;
    2756         2032 :   x2 = XEXP (x1, 0);
    2757         2032 :   x3 = XVECEXP (x2, 0, 0);
    2758         2032 :   operands[1] = x3;
    2759         2032 :   x4 = XEXP (x1, 2);
    2760         2032 :   operands[3] = x4;
    2761         2032 :   switch (GET_MODE (operands[0]))
    2762              :     {
    2763          968 :     case E_V16QImode:
    2764          968 :       return pattern642 (x1, 
    2765              : E_V16QImode, 
    2766              : E_HImode, 
    2767          968 : E_V16HFmode); /* [-1, 0] */
    2768              : 
    2769         1004 :     case E_V32QImode:
    2770         1004 :       if (pattern642 (x1, 
    2771              : E_V32QImode, 
    2772              : E_SImode, 
    2773              : E_V32HFmode) != 0)
    2774              :         return -1;
    2775              :       return 1;
    2776              : 
    2777              :     default:
    2778              :       return -1;
    2779              :     }
    2780              : }
    2781              : 
    2782              : int
    2783        15110 : pattern649 (rtx x1)
    2784              : {
    2785        15110 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2786        15110 :   rtx x2, x3;
    2787        15110 :   int res ATTRIBUTE_UNUSED;
    2788        15110 :   x2 = XEXP (x1, 1);
    2789        15110 :   switch (GET_CODE (x2))
    2790              :     {
    2791         4559 :     case CONST_INT:
    2792         4559 :     case CONST_DOUBLE:
    2793         4559 :     case CONST_VECTOR:
    2794         4559 :       operands[4] = x2;
    2795         4559 :       x3 = XEXP (x1, 2);
    2796         4559 :       switch (GET_CODE (x3))
    2797              :         {
    2798         3697 :         case REG:
    2799         3697 :         case SUBREG:
    2800         3697 :           operands[5] = x3;
    2801         3697 :           switch (GET_MODE (operands[0]))
    2802              :             {
    2803              :             case E_V32HFmode:
    2804              :               return 0;
    2805              : 
    2806          438 :             case E_V16HFmode:
    2807          438 :               return 1;
    2808              : 
    2809          318 :             case E_V8HFmode:
    2810          318 :               return 2;
    2811              : 
    2812          289 :             case E_V16SFmode:
    2813          289 :               return 3;
    2814              : 
    2815          424 :             case E_V8SFmode:
    2816          424 :               return 4;
    2817              : 
    2818          346 :             case E_V4SFmode:
    2819          346 :               return 5;
    2820              : 
    2821          165 :             case E_V8DFmode:
    2822          165 :               return 6;
    2823              : 
    2824          444 :             case E_V4DFmode:
    2825          444 :               return 7;
    2826              : 
    2827          343 :             case E_V2DFmode:
    2828          343 :               return 8;
    2829              : 
    2830          279 :             case E_V32BFmode:
    2831          279 :               return 9;
    2832              : 
    2833          279 :             case E_V16BFmode:
    2834          279 :               return 10;
    2835              : 
    2836          279 :             case E_V8BFmode:
    2837          279 :               return 11;
    2838              : 
    2839              :             default:
    2840              :               return -1;
    2841              :             }
    2842              : 
    2843          670 :         case CONST_INT:
    2844          670 :           if (XWINT (x3, 0) != 1L)
    2845              :             return -1;
    2846          526 :           switch (GET_MODE (operands[0]))
    2847              :             {
    2848              :             case E_V4SFmode:
    2849              :               return 12;
    2850              : 
    2851          263 :             case E_V2DFmode:
    2852          263 :               return 13;
    2853              : 
    2854              :             default:
    2855              :               return -1;
    2856              :             }
    2857              : 
    2858              :         default:
    2859              :           return -1;
    2860              :         }
    2861              : 
    2862        10414 :     case REG:
    2863        10414 :     case SUBREG:
    2864        10414 :     case MEM:
    2865        10414 :       res = pattern648 (x1);
    2866        10414 :       if (res >= 0)
    2867         9541 :         return res + 14; /* [14, 28] */
    2868              :       return -1;
    2869              : 
    2870              :     default:
    2871              :       return -1;
    2872              :     }
    2873              : }
    2874              : 
    2875              : int
    2876          275 : pattern666 (rtx x1, machine_mode i1, machine_mode i2)
    2877              : {
    2878          275 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2879          275 :   rtx x2;
    2880          275 :   int res ATTRIBUTE_UNUSED;
    2881          275 :   if (!register_operand (operands[0], i2)
    2882          255 :       || GET_MODE (x1) != i2
    2883          255 :       || !register_operand (operands[1], i2)
    2884          500 :       || !vector_operand (operands[2], i2))
    2885           58 :     return -1;
    2886          217 :   x2 = XVECEXP (x1, 0, 2);
    2887          217 :   if (GET_MODE (x2) != i2
    2888          217 :       || !register_operand (operands[3], i1)
    2889          425 :       || !const0_operand (operands[4], i1))
    2890            9 :     return -1;
    2891              :   return 0;
    2892              : }
    2893              : 
    2894              : int
    2895          309 : pattern672 (rtx x1, machine_mode i1)
    2896              : {
    2897          309 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2898          309 :   rtx x2;
    2899          309 :   int res ATTRIBUTE_UNUSED;
    2900          309 :   if (!register_operand (operands[0], i1)
    2901          289 :       || GET_MODE (x1) != i1
    2902          289 :       || !vector_operand (operands[1], i1)
    2903          598 :       || !register_operand (operands[2], i1))
    2904           90 :     return -1;
    2905          219 :   x2 = XVECEXP (x1, 0, 2);
    2906          219 :   if (GET_MODE (x2) != i1
    2907          219 :       || !register_operand (operands[3], i1)
    2908          438 :       || !vector_all_ones_operand (operands[4], i1))
    2909          201 :     return -1;
    2910              :   return 0;
    2911              : }
    2912              : 
    2913              : int
    2914          997 : pattern676 (rtx x1, machine_mode i1)
    2915              : {
    2916          997 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2917          997 :   int res ATTRIBUTE_UNUSED;
    2918          997 :   if (!register_operand (operands[0], i1)
    2919          898 :       || GET_MODE (x1) != i1
    2920          898 :       || !vector_operand (operands[1], i1)
    2921          866 :       || !vector_operand (operands[2], i1)
    2922         1832 :       || !vector_operand (operands[3], i1))
    2923          177 :     return -1;
    2924              :   return 0;
    2925              : }
    2926              : 
    2927              : int
    2928          131 : pattern679 (rtx x1)
    2929              : {
    2930          131 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2931          131 :   rtx x2, x3, x4, x5;
    2932          131 :   int res ATTRIBUTE_UNUSED;
    2933          131 :   x2 = XEXP (x1, 0);
    2934          131 :   if (GET_MODE (x2) != E_V2SImode)
    2935              :     return -1;
    2936          131 :   x3 = XEXP (x1, 1);
    2937          131 :   if (GET_CODE (x3) != CONST_VECTOR
    2938          131 :       || XVECLEN (x3, 0) != 2
    2939          131 :       || GET_MODE (x3) != E_V2SImode)
    2940              :     return -1;
    2941          131 :   x4 = XVECEXP (x3, 0, 0);
    2942          131 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2943              :     return -1;
    2944          131 :   x5 = XVECEXP (x3, 0, 1);
    2945          131 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    2946          131 :       || !register_operand (operands[0], E_V4SImode)
    2947          131 :       || GET_MODE (x1) != E_V4SImode
    2948          262 :       || !nonimmediate_operand (operands[1], E_V2DFmode))
    2949           22 :     return -1;
    2950              :   return 0;
    2951              : }
    2952              : 
    2953              : int
    2954           25 : pattern687 (rtx x1, machine_mode i1, machine_mode i2)
    2955              : {
    2956           25 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2957           25 :   rtx x2, x3, x4, x5, x6, x7, x8;
    2958           25 :   int res ATTRIBUTE_UNUSED;
    2959           25 :   x2 = XEXP (x1, 0);
    2960           25 :   x3 = XEXP (x2, 1);
    2961           25 :   x4 = XVECEXP (x3, 0, 0);
    2962           25 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2963              :     return -1;
    2964           25 :   x5 = XVECEXP (x3, 0, 1);
    2965           25 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    2966              :     return -1;
    2967           25 :   x6 = XVECEXP (x3, 0, 2);
    2968           25 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    2969              :     return -1;
    2970           25 :   x7 = XVECEXP (x3, 0, 3);
    2971           25 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
    2972           25 :       || GET_MODE (x2) != i2)
    2973              :     return -1;
    2974           25 :   x8 = XEXP (x2, 0);
    2975           25 :   if (GET_MODE (x8) != i1)
    2976              :     return -1;
    2977           25 :   return pattern28 (x1); /* [-1, 1] */
    2978              : }
    2979              : 
    2980              : int
    2981       314807 : pattern695 (rtx x1, rtx_code i1)
    2982              : {
    2983       314807 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2984       314807 :   rtx x2, x3, x4, x5, x6, x7;
    2985       314807 :   int res ATTRIBUTE_UNUSED;
    2986       314807 :   x2 = XVECEXP (x1, 0, 0);
    2987       314807 :   x3 = XEXP (x2, 0);
    2988       314807 :   if (GET_CODE (x3) != REG
    2989       314807 :       || REGNO (x3) != 17
    2990       629574 :       || GET_MODE (x3) != E_CCOmode)
    2991              :     return -1;
    2992       314767 :   x4 = XVECEXP (x1, 0, 1);
    2993       314767 :   if (GET_CODE (x4) != SET)
    2994              :     return -1;
    2995       314767 :   x5 = XEXP (x4, 1);
    2996       314767 :   if (GET_CODE (x5) != i1)
    2997              :     return -1;
    2998       301815 :   x6 = XEXP (x2, 1);
    2999       301815 :   if (GET_MODE (x6) != E_CCOmode)
    3000              :     return -1;
    3001       301815 :   x7 = XEXP (x4, 0);
    3002       301815 :   operands[0] = x7;
    3003       301815 :   return 0;
    3004              : }
    3005              : 
    3006              : int
    3007        10383 : pattern702 (rtx x1)
    3008              : {
    3009        10383 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3010        10383 :   rtx x2, x3, x4, x5, x6, x7;
    3011        10383 :   int res ATTRIBUTE_UNUSED;
    3012        10383 :   x2 = XVECEXP (x1, 0, 0);
    3013        10383 :   x3 = XEXP (x2, 1);
    3014        10383 :   x4 = XEXP (x3, 1);
    3015        10383 :   x5 = XEXP (x4, 1);
    3016        10383 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    3017              :     return -1;
    3018        10265 :   x6 = XVECEXP (x1, 0, 1);
    3019        10265 :   if (GET_CODE (x6) != CLOBBER)
    3020              :     return -1;
    3021         9946 :   x7 = XEXP (x6, 0);
    3022         9946 :   if (GET_CODE (x7) != REG
    3023         9946 :       || REGNO (x7) != 17
    3024        19892 :       || GET_MODE (x7) != E_CCmode)
    3025              :     return -1;
    3026         9946 :   return pattern701 (x2); /* [-1, 3] */
    3027              : }
    3028              : 
    3029              : int
    3030          687 : pattern707 (rtx x1)
    3031              : {
    3032          687 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3033          687 :   int res ATTRIBUTE_UNUSED;
    3034          687 :   if (!register_operand (operands[0], E_V2SFmode)
    3035          659 :       || GET_MODE (x1) != E_V2SFmode
    3036          659 :       || !register_operand (operands[1], E_V2SFmode)
    3037         1184 :       || !nonimmediate_operand (operands[2], E_V2SFmode))
    3038          279 :     return -1;
    3039              :   return 0;
    3040              : }
    3041              : 
    3042              : int
    3043          280 : pattern715 (rtx x1, int i1)
    3044              : {
    3045          280 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3046          280 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    3047          280 :   rtx x10;
    3048          280 :   int res ATTRIBUTE_UNUSED;
    3049          280 :   x2 = XVECEXP (x1, 0, 0);
    3050          280 :   x3 = XEXP (x2, 1);
    3051          280 :   if (GET_MODE (x3) != E_V2DImode)
    3052              :     return -1;
    3053          280 :   x4 = XVECEXP (x1, 0, 1);
    3054          280 :   if (GET_CODE (x4) != SET)
    3055              :     return -1;
    3056          280 :   x5 = XEXP (x4, 1);
    3057          280 :   if (GET_CODE (x5) != UNSPEC_VOLATILE
    3058          280 :       || XVECLEN (x5, 0) != 2
    3059          280 :       || XINT (x5, 1) != i1
    3060          280 :       || GET_MODE (x5) != E_CCZmode)
    3061              :     return -1;
    3062          280 :   x6 = XEXP (x4, 0);
    3063          280 :   if (GET_CODE (x6) != REG
    3064          280 :       || REGNO (x6) != 17
    3065          280 :       || GET_MODE (x6) != E_CCZmode
    3066          560 :       || !register_operand (operands[0], E_V2DImode))
    3067            0 :     return -1;
    3068          280 :   x7 = XVECEXP (x3, 0, 0);
    3069          280 :   operands[1] = x7;
    3070          280 :   if (!register_operand (operands[1], E_V2DImode))
    3071              :     return -1;
    3072          264 :   x8 = XVECEXP (x3, 0, 1);
    3073          264 :   operands[2] = x8;
    3074          264 :   if (!memory_operand (operands[2], E_BLKmode))
    3075              :     return -1;
    3076          264 :   x9 = XVECEXP (x5, 0, 0);
    3077          264 :   if (!rtx_equal_p (x9, operands[1]))
    3078              :     return -1;
    3079          264 :   x10 = XVECEXP (x5, 0, 1);
    3080          264 :   if (!rtx_equal_p (x10, operands[2]))
    3081              :     return -1;
    3082              :   return 0;
    3083              : }
    3084              : 
    3085              : int
    3086        32716 : pattern726 (rtx x1, machine_mode i1, machine_mode i2)
    3087              : {
    3088        32716 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3089        32716 :   rtx x2, x3, x4, x5, x6;
    3090        32716 :   int res ATTRIBUTE_UNUSED;
    3091        32716 :   x2 = XVECEXP (x1, 0, 0);
    3092        32716 :   x3 = XEXP (x2, 1);
    3093        32716 :   x4 = XEXP (x3, 0);
    3094        32716 :   x5 = XEXP (x4, 0);
    3095        32716 :   if (GET_MODE (x5) != i2
    3096        32716 :       || !nonimmediate_operand (operands[1], i1))
    3097         2858 :     return -1;
    3098        29858 :   x6 = XEXP (x4, 1);
    3099        29858 :   if (GET_MODE (x6) != i2
    3100        29858 :       || !nonimmediate_operand (operands[2], i1)
    3101        58680 :       || pattern725 (x1, 
    3102              : i1, 
    3103              : i2) != 0)
    3104         1036 :     return -1;
    3105              :   return 0;
    3106              : }
    3107              : 
    3108              : int
    3109       211617 : pattern735 (rtx x1, machine_mode i1)
    3110              : {
    3111       211617 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3112       211617 :   rtx x2, x3, x4, x5, x6, x7, x8;
    3113       211617 :   int res ATTRIBUTE_UNUSED;
    3114       211617 :   if (GET_CODE (x1) != SET)
    3115              :     return -1;
    3116       165758 :   x2 = XEXP (x1, 1);
    3117       165758 :   operands[5] = x2;
    3118       165758 :   if (!register_operand (operands[5], i1))
    3119              :     return -1;
    3120        54638 :   x3 = XEXP (x1, 0);
    3121        54638 :   if (!rtx_equal_p (x3, operands[1]))
    3122              :     return -1;
    3123        16317 :   x4 = PATTERN (peep2_next_insn (3));
    3124        16317 :   if (GET_CODE (x4) != SET)
    3125              :     return -1;
    3126        15744 :   x5 = XEXP (x4, 1);
    3127        15744 :   if (GET_CODE (x5) != COMPARE)
    3128              :     return -1;
    3129         2078 :   x6 = XEXP (x5, 1);
    3130         2078 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    3131              :     return -1;
    3132          320 :   x7 = XEXP (x4, 0);
    3133          320 :   if (GET_CODE (x7) != REG
    3134          320 :       || REGNO (x7) != 17)
    3135              :     return -1;
    3136          320 :   x8 = XEXP (x5, 0);
    3137          320 :   if (!rtx_equal_p (x8, operands[5]))
    3138              :     return -1;
    3139              :   return 0;
    3140              : }
    3141              : 
    3142              : int
    3143        61320 : pattern745 (rtx x1, machine_mode i1)
    3144              : {
    3145        61320 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3146        61320 :   rtx x2;
    3147        61320 :   int res ATTRIBUTE_UNUSED;
    3148        61320 :   if (!register_operand (operands[0], i1)
    3149        61320 :       || GET_MODE (x1) != i1)
    3150              :     return -1;
    3151        59267 :   x2 = XEXP (x1, 0);
    3152        59267 :   if (GET_MODE (x2) != i1
    3153        59267 :       || !register_operand (operands[1], i1)
    3154       117629 :       || !nonimmediate_operand (operands[2], i1))
    3155         9202 :     return -1;
    3156              :   return 0;
    3157              : }
    3158              : 
    3159              : int
    3160        12207 : pattern750 (machine_mode i1)
    3161              : {
    3162        12207 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3163        12207 :   int res ATTRIBUTE_UNUSED;
    3164        12207 :   if (!register_operand (operands[0], i1)
    3165        12207 :       || !sse_comparison_operator (operands[3], i1)
    3166        11556 :       || !register_operand (operands[1], i1)
    3167        22508 :       || !nonimmediate_operand (operands[2], i1))
    3168         2775 :     return -1;
    3169              :   return 0;
    3170              : }
    3171              : 
    3172              : int
    3173       155926 : pattern753 (rtx x1, machine_mode i1)
    3174              : {
    3175       155926 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3176       155926 :   int res ATTRIBUTE_UNUSED;
    3177       155926 :   if (!register_operand (operands[0], i1)
    3178       155385 :       || !binary_fp_operator (operands[3], i1)
    3179       155385 :       || GET_MODE (x1) != i1
    3180       311311 :       || !register_operand (operands[2], i1))
    3181        16812 :     return -1;
    3182       139114 :   switch (GET_MODE (operands[1]))
    3183              :     {
    3184           88 :     case E_HImode:
    3185           88 :       if (!nonimmediate_operand (operands[1], E_HImode))
    3186              :         return -1;
    3187              :       return 0;
    3188              : 
    3189        81801 :     case E_SImode:
    3190        81801 :       if (!nonimmediate_operand (operands[1], E_SImode))
    3191              :         return -1;
    3192              :       return 1;
    3193              : 
    3194              :     default:
    3195              :       return -1;
    3196              :     }
    3197              : }
    3198              : 
    3199              : int
    3200        28032 : pattern765 (rtx x1, machine_mode i1, machine_mode i2)
    3201              : {
    3202        28032 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3203        28032 :   rtx x2, x3;
    3204        28032 :   int res ATTRIBUTE_UNUSED;
    3205        28032 :   if (!nonimmediate_operand (operands[0], i2)
    3206        27975 :       || GET_MODE (x1) != i2
    3207        56007 :       || !nonimmediate_operand (operands[1], i2))
    3208         1269 :     return -1;
    3209        26763 :   x2 = XEXP (x1, 1);
    3210        26763 :   x3 = XEXP (x2, 0);
    3211        26763 :   operands[2] = x3;
    3212        26763 :   if (!nonimmediate_operand (operands[2], i1))
    3213              :     return -1;
    3214              :   return 0;
    3215              : }
    3216              : 
    3217              : int
    3218         1352 : pattern772 (rtx x1, machine_mode i1)
    3219              : {
    3220         1352 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3221         1352 :   int res ATTRIBUTE_UNUSED;
    3222         1352 :   if (!register_operand (operands[0], i1)
    3223         1352 :       || GET_MODE (x1) != i1)
    3224              :     return -1;
    3225         1339 :   switch (GET_MODE (operands[1]))
    3226              :     {
    3227            0 :     case E_HFmode:
    3228            0 :       if (!nonimmediate_operand (operands[1], E_HFmode))
    3229              :         return -1;
    3230              :       return 0;
    3231              : 
    3232          156 :     case E_SFmode:
    3233          156 :       if (!nonimmediate_operand (operands[1], E_SFmode))
    3234              :         return -1;
    3235              :       return 1;
    3236              : 
    3237         1183 :     case E_DFmode:
    3238         1183 :       if (!nonimmediate_operand (operands[1], E_DFmode))
    3239              :         return -1;
    3240              :       return 2;
    3241              : 
    3242              :     default:
    3243              :       return -1;
    3244              :     }
    3245              : }
    3246              : 
    3247              : int
    3248         3922 : pattern781 (rtx x1, machine_mode i1)
    3249              : {
    3250         3922 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3251         3922 :   rtx x2, x3, x4;
    3252         3922 :   int res ATTRIBUTE_UNUSED;
    3253         3922 :   if (!register_operand (operands[0], i1)
    3254         3922 :       || GET_MODE (x1) != i1)
    3255              :     return -1;
    3256         3860 :   x2 = XVECEXP (x1, 0, 0);
    3257         3860 :   if (GET_MODE (x2) != i1)
    3258              :     return -1;
    3259         3860 :   x3 = XEXP (x2, 0);
    3260         3860 :   if (GET_MODE (x3) != i1)
    3261              :     return -1;
    3262         3860 :   x4 = XEXP (x3, 0);
    3263         3860 :   if (GET_MODE (x4) != i1
    3264         3860 :       || !register_operand (operands[1], i1)
    3265         3838 :       || !nonimmediate_operand (operands[2], i1)
    3266         7666 :       || !nonimm_or_0_operand (operands[3], i1))
    3267          102 :     return -1;
    3268              :   return 0;
    3269              : }
    3270              : 
    3271              : int
    3272        21020 : pattern787 (rtx x1, machine_mode i1)
    3273              : {
    3274        21020 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3275        21020 :   int res ATTRIBUTE_UNUSED;
    3276        21020 :   if (!register_operand (operands[0], i1)
    3277        20974 :       || GET_MODE (x1) != i1
    3278        20974 :       || !nonimmediate_operand (operands[1], i1)
    3279        41065 :       || !register_operand (operands[2], i1))
    3280         3127 :     return -1;
    3281              :   return 0;
    3282              : }
    3283              : 
    3284              : int
    3285         4269 : pattern794 (rtx x1)
    3286              : {
    3287         4269 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3288         4269 :   rtx x2;
    3289         4269 :   int res ATTRIBUTE_UNUSED;
    3290         4269 :   x2 = XVECEXP (x1, 0, 1);
    3291         4269 :   if (!rtx_equal_p (x2, operands[0]))
    3292              :     return -1;
    3293         3105 :   switch (GET_MODE (operands[0]))
    3294              :     {
    3295          146 :     case E_V64QImode:
    3296          146 :       return pattern793 (x1, 
    3297              : E_V64QImode, 
    3298          146 : E_DImode); /* [-1, 0] */
    3299              : 
    3300           97 :     case E_V32QImode:
    3301           97 :       if (pattern793 (x1, 
    3302              : E_V32QImode, 
    3303              : E_SImode) != 0)
    3304              :         return -1;
    3305              :       return 1;
    3306              : 
    3307           54 :     case E_V16QImode:
    3308           54 :       if (pattern793 (x1, 
    3309              : E_V16QImode, 
    3310              : E_HImode) != 0)
    3311              :         return -1;
    3312              :       return 2;
    3313              : 
    3314          225 :     case E_V32HImode:
    3315          225 :       if (pattern793 (x1, 
    3316              : E_V32HImode, 
    3317              : E_SImode) != 0)
    3318              :         return -1;
    3319              :       return 3;
    3320              : 
    3321           98 :     case E_V16HImode:
    3322           98 :       if (pattern793 (x1, 
    3323              : E_V16HImode, 
    3324              : E_HImode) != 0)
    3325              :         return -1;
    3326              :       return 4;
    3327              : 
    3328           98 :     case E_V8HImode:
    3329           98 :       if (pattern793 (x1, 
    3330              : E_V8HImode, 
    3331              : E_QImode) != 0)
    3332              :         return -1;
    3333              :       return 5;
    3334              : 
    3335          183 :     case E_V16SImode:
    3336          183 :       if (pattern793 (x1, 
    3337              : E_V16SImode, 
    3338              : E_HImode) != 0)
    3339              :         return -1;
    3340              :       return 6;
    3341              : 
    3342          144 :     case E_V8SImode:
    3343          144 :       if (pattern793 (x1, 
    3344              : E_V8SImode, 
    3345              : E_QImode) != 0)
    3346              :         return -1;
    3347              :       return 7;
    3348              : 
    3349          139 :     case E_V4SImode:
    3350          139 :       if (pattern793 (x1, 
    3351              : E_V4SImode, 
    3352              : E_QImode) != 0)
    3353              :         return -1;
    3354              :       return 8;
    3355              : 
    3356          547 :     case E_V8DImode:
    3357          547 :       if (pattern793 (x1, 
    3358              : E_V8DImode, 
    3359              : E_QImode) != 0)
    3360              :         return -1;
    3361              :       return 9;
    3362              : 
    3363          125 :     case E_V4DImode:
    3364          125 :       if (pattern793 (x1, 
    3365              : E_V4DImode, 
    3366              : E_QImode) != 0)
    3367              :         return -1;
    3368              :       return 10;
    3369              : 
    3370          140 :     case E_V2DImode:
    3371          140 :       if (pattern793 (x1, 
    3372              : E_V2DImode, 
    3373              : E_QImode) != 0)
    3374              :         return -1;
    3375              :       return 11;
    3376              : 
    3377           81 :     case E_V32HFmode:
    3378           81 :       if (pattern793 (x1, 
    3379              : E_V32HFmode, 
    3380              : E_SImode) != 0)
    3381              :         return -1;
    3382              :       return 12;
    3383              : 
    3384          129 :     case E_V16HFmode:
    3385          129 :       if (pattern793 (x1, 
    3386              : E_V16HFmode, 
    3387              : E_HImode) != 0)
    3388              :         return -1;
    3389              :       return 13;
    3390              : 
    3391           81 :     case E_V8HFmode:
    3392           81 :       if (pattern793 (x1, 
    3393              : E_V8HFmode, 
    3394              : E_QImode) != 0)
    3395              :         return -1;
    3396              :       return 14;
    3397              : 
    3398            0 :     case E_V32BFmode:
    3399            0 :       if (pattern793 (x1, 
    3400              : E_V32BFmode, 
    3401              : E_SImode) != 0)
    3402              :         return -1;
    3403              :       return 15;
    3404              : 
    3405            0 :     case E_V16BFmode:
    3406            0 :       if (pattern793 (x1, 
    3407              : E_V16BFmode, 
    3408              : E_HImode) != 0)
    3409              :         return -1;
    3410              :       return 16;
    3411              : 
    3412            0 :     case E_V8BFmode:
    3413            0 :       if (pattern793 (x1, 
    3414              : E_V8BFmode, 
    3415              : E_QImode) != 0)
    3416              :         return -1;
    3417              :       return 17;
    3418              : 
    3419          110 :     case E_V16SFmode:
    3420          110 :       if (pattern793 (x1, 
    3421              : E_V16SFmode, 
    3422              : E_HImode) != 0)
    3423              :         return -1;
    3424              :       return 18;
    3425              : 
    3426          146 :     case E_V8SFmode:
    3427          146 :       if (pattern793 (x1, 
    3428              : E_V8SFmode, 
    3429              : E_QImode) != 0)
    3430              :         return -1;
    3431              :       return 19;
    3432              : 
    3433          122 :     case E_V4SFmode:
    3434          122 :       if (pattern793 (x1, 
    3435              : E_V4SFmode, 
    3436              : E_QImode) != 0)
    3437              :         return -1;
    3438              :       return 20;
    3439              : 
    3440          159 :     case E_V8DFmode:
    3441          159 :       if (pattern793 (x1, 
    3442              : E_V8DFmode, 
    3443              : E_QImode) != 0)
    3444              :         return -1;
    3445              :       return 21;
    3446              : 
    3447          158 :     case E_V4DFmode:
    3448          158 :       if (pattern793 (x1, 
    3449              : E_V4DFmode, 
    3450              : E_QImode) != 0)
    3451              :         return -1;
    3452              :       return 22;
    3453              : 
    3454          123 :     case E_V2DFmode:
    3455          123 :       if (pattern793 (x1, 
    3456              : E_V2DFmode, 
    3457              : E_QImode) != 0)
    3458              :         return -1;
    3459              :       return 23;
    3460              : 
    3461              :     default:
    3462              :       return -1;
    3463              :     }
    3464              : }
    3465              : 
    3466              : int
    3467           12 : pattern836 (rtx x1)
    3468              : {
    3469           12 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3470           12 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    3471           12 :   rtx x10, x11;
    3472           12 :   int res ATTRIBUTE_UNUSED;
    3473           12 :   x2 = XVECEXP (x1, 0, 1);
    3474           12 :   if (GET_CODE (x2) != CLOBBER)
    3475              :     return -1;
    3476            0 :   x3 = XVECEXP (x1, 0, 2);
    3477            0 :   if (GET_CODE (x3) != CLOBBER)
    3478              :     return -1;
    3479            0 :   x4 = XEXP (x3, 0);
    3480            0 :   if (GET_CODE (x4) != REG
    3481            0 :       || REGNO (x4) != 17
    3482            0 :       || GET_MODE (x4) != E_CCmode)
    3483              :     return -1;
    3484            0 :   x5 = XVECEXP (x1, 0, 0);
    3485            0 :   x6 = XEXP (x5, 0);
    3486            0 :   operands[0] = x6;
    3487            0 :   x7 = XEXP (x5, 1);
    3488            0 :   x8 = XEXP (x7, 0);
    3489            0 :   x9 = XEXP (x8, 0);
    3490            0 :   operands[1] = x9;
    3491            0 :   if (!register_operand (operands[1], E_SImode))
    3492              :     return -1;
    3493            0 :   x10 = XEXP (x8, 1);
    3494            0 :   operands[2] = x10;
    3495            0 :   if (!nonimmediate_operand (operands[2], E_SImode))
    3496              :     return -1;
    3497            0 :   x11 = XEXP (x2, 0);
    3498            0 :   operands[3] = x11;
    3499            0 :   if (!scratch_operand (operands[3], E_SImode))
    3500              :     return -1;
    3501              :   return 0;
    3502              : }
    3503              : 
    3504              : int
    3505         1476 : pattern847 (rtx x1, int i1, int i2, int i3, int i4)
    3506              : {
    3507         1476 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3508         1476 :   rtx x2, x3, x4, x5;
    3509         1476 :   int res ATTRIBUTE_UNUSED;
    3510         1476 :   x2 = XVECEXP (x1, 0, 8);
    3511         1476 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
    3512              :     return -1;
    3513         1459 :   x3 = XVECEXP (x1, 0, 9);
    3514         1459 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
    3515              :     return -1;
    3516         1459 :   x4 = XVECEXP (x1, 0, 10);
    3517         1459 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
    3518              :     return -1;
    3519         1459 :   x5 = XVECEXP (x1, 0, 11);
    3520         1459 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
    3521            0 :     return -1;
    3522              :   return 0;
    3523              : }
    3524              : 
    3525              : int
    3526     13973281 : pattern853 ()
    3527              : {
    3528     13973281 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3529     13973281 :   int res ATTRIBUTE_UNUSED;
    3530     13973281 :   switch (GET_MODE (operands[0]))
    3531              :     {
    3532      6448851 :     case E_DImode:
    3533      6448851 :       if (!nonimmediate_operand (operands[0], E_DImode)
    3534      6448851 :           || !general_operand (operands[1], E_DImode))
    3535       456824 :         return -1;
    3536              :       return 0;
    3537              : 
    3538       395152 :     case E_TImode:
    3539       395152 :       if (!nonimmediate_operand (operands[0], E_TImode)
    3540       395152 :           || !general_operand (operands[1], E_TImode))
    3541         2086 :         return -1;
    3542              :       return 1;
    3543              : 
    3544              :     default:
    3545              :       return -1;
    3546              :     }
    3547              : }
    3548              : 
    3549              : int
    3550       328469 : pattern858 (rtx x1, machine_mode i1, machine_mode i2)
    3551              : {
    3552       328469 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3553       328469 :   int res ATTRIBUTE_UNUSED;
    3554       328469 :   if (!register_operand (operands[0], i1)
    3555       304371 :       || GET_MODE (x1) != i1
    3556       304371 :       || !register_operand (operands[1], i1)
    3557       615754 :       || !nonmemory_operand (operands[2], i2))
    3558        41472 :     return -1;
    3559              :   return 0;
    3560              : }
    3561              : 
    3562              : int
    3563          480 : pattern862 (rtx x1)
    3564              : {
    3565          480 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3566          480 :   rtx x2, x3, x4, x5;
    3567          480 :   int res ATTRIBUTE_UNUSED;
    3568          480 :   x2 = XEXP (x1, 0);
    3569          480 :   x3 = XEXP (x2, 1);
    3570          480 :   x4 = XEXP (x3, 1);
    3571          480 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    3572              :     return -1;
    3573          477 :   x5 = XEXP (x3, 0);
    3574          477 :   operands[3] = x5;
    3575          477 :   if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
    3576              :     return -1;
    3577          474 :   switch (GET_MODE (operands[0]))
    3578              :     {
    3579            0 :     case E_QImode:
    3580            0 :       return pattern861 (x1, 
    3581            0 : E_QImode); /* [-1, 0] */
    3582              : 
    3583            0 :     case E_HImode:
    3584            0 :       if (pattern861 (x1, 
    3585              : E_HImode) != 0)
    3586              :         return -1;
    3587              :       return 1;
    3588              : 
    3589              :     default:
    3590              :       return -1;
    3591              :     }
    3592              : }
    3593              : 
    3594              : int
    3595         3555 : pattern868 (rtx x1, machine_mode i1)
    3596              : {
    3597         3555 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3598         3555 :   rtx x2;
    3599         3555 :   int res ATTRIBUTE_UNUSED;
    3600         3555 :   if (!memory_operand (operands[0], i1)
    3601         3555 :       || GET_MODE (x1) != i1)
    3602              :     return -1;
    3603         1380 :   x2 = XVECEXP (x1, 0, 0);
    3604         1380 :   if (GET_MODE (x2) != i1
    3605         1380 :       || !nonmemory_operand (operands[1], i1))
    3606         1363 :     return -1;
    3607              :   return 0;
    3608              : }
    3609              : 
    3610              : int
    3611         2678 : pattern873 (rtx x1, machine_mode i1, machine_mode i2)
    3612              : {
    3613         2678 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3614         2678 :   rtx x2;
    3615         2678 :   int res ATTRIBUTE_UNUSED;
    3616         2678 :   if (!register_operand (operands[0], i1)
    3617         2678 :       || GET_MODE (x1) != i1)
    3618              :     return -1;
    3619         2555 :   x2 = XEXP (x1, 0);
    3620         2555 :   if (GET_MODE (x2) != i1
    3621         2555 :       || !nonimmediate_operand (operands[2], i2)
    3622         4903 :       || !register_operand (operands[1], i1))
    3623          766 :     return -1;
    3624              :   return 0;
    3625              : }
    3626              : 
    3627              : int
    3628        10493 : pattern881 (rtx x1, machine_mode i1)
    3629              : {
    3630        10493 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3631        10493 :   rtx x2;
    3632        10493 :   int res ATTRIBUTE_UNUSED;
    3633        10493 :   if (!register_operand (operands[0], i1)
    3634        10493 :       || GET_MODE (x1) != i1)
    3635              :     return -1;
    3636        10493 :   x2 = XEXP (x1, 1);
    3637        10493 :   if (GET_MODE (x2) != i1
    3638        10493 :       || !nonimmediate_operand (operands[1], i1))
    3639         1879 :     return -1;
    3640              :   return 0;
    3641              : }
    3642              : 
    3643              : int
    3644         2490 : pattern887 (rtx x1)
    3645              : {
    3646         2490 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3647         2490 :   rtx x2, x3;
    3648         2490 :   int res ATTRIBUTE_UNUSED;
    3649         2490 :   x2 = XVECEXP (x1, 0, 0);
    3650         2490 :   x3 = XVECEXP (x2, 0, 0);
    3651         2490 :   operands[1] = x3;
    3652         2490 :   if (!const48_operand (operands[2], E_SImode))
    3653              :     return -1;
    3654         2490 :   switch (GET_MODE (operands[0]))
    3655              :     {
    3656          796 :     case E_SImode:
    3657          796 :       return pattern886 (x1, 
    3658          796 : E_SImode); /* [-1, 2] */
    3659              : 
    3660          784 :     case E_DImode:
    3661          784 :       res = pattern886 (x1, 
    3662              : E_DImode);
    3663          784 :       if (res >= 0)
    3664          736 :         return res + 3; /* [3, 5] */
    3665              :       return -1;
    3666              : 
    3667              :     default:
    3668              :       return -1;
    3669              :     }
    3670              : }
    3671              : 
    3672              : int
    3673       124676 : pattern895 (rtx x1, machine_mode i1, machine_mode i2)
    3674              : {
    3675       124676 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3676       124676 :   rtx x2, x3;
    3677       124676 :   int res ATTRIBUTE_UNUSED;
    3678       124676 :   if (!register_operand (operands[0], i1)
    3679       124676 :       || GET_MODE (x1) != i1)
    3680              :     return -1;
    3681       124551 :   x2 = XEXP (x1, 0);
    3682       124551 :   if (GET_MODE (x2) != i1)
    3683              :     return -1;
    3684       124551 :   x3 = XEXP (x2, 0);
    3685       124551 :   if (GET_MODE (x3) != i2
    3686       124551 :       || !register_operand (operands[1], i1))
    3687          804 :     return -1;
    3688       123747 :   switch (GET_MODE (operands[2]))
    3689              :     {
    3690        71362 :     case E_SImode:
    3691        71362 :       if (!nonimmediate_operand (operands[2], E_SImode))
    3692              :         return -1;
    3693              :       return 0;
    3694              : 
    3695        52385 :     case E_DImode:
    3696        52385 :       if (!nonimmediate_operand (operands[2], E_DImode))
    3697              :         return -1;
    3698              :       return 1;
    3699              : 
    3700              :     default:
    3701              :       return -1;
    3702              :     }
    3703              : }
    3704              : 
    3705              : int
    3706         1128 : pattern909 (rtx x1, machine_mode i1, machine_mode i2)
    3707              : {
    3708         1128 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3709         1128 :   rtx x2, x3, x4;
    3710         1128 :   int res ATTRIBUTE_UNUSED;
    3711         1128 :   if (!register_operand (operands[0], i1)
    3712         1128 :       || GET_MODE (x1) != i1)
    3713              :     return -1;
    3714         1092 :   x2 = XVECEXP (x1, 0, 0);
    3715         1092 :   if (GET_MODE (x2) != i1)
    3716              :     return -1;
    3717         1092 :   x3 = XEXP (x2, 0);
    3718         1092 :   if (GET_MODE (x3) != i1)
    3719              :     return -1;
    3720         1092 :   x4 = XEXP (x3, 0);
    3721         1092 :   if (GET_MODE (x4) != i2
    3722         1092 :       || !register_operand (operands[1], i1))
    3723           28 :     return -1;
    3724         1064 :   switch (GET_MODE (operands[2]))
    3725              :     {
    3726          532 :     case E_SImode:
    3727          532 :       if (!register_operand (operands[2], E_SImode))
    3728              :         return -1;
    3729              :       return 0;
    3730              : 
    3731          532 :     case E_DImode:
    3732          532 :       if (!register_operand (operands[2], E_DImode))
    3733              :         return -1;
    3734              :       return 1;
    3735              : 
    3736              :     default:
    3737              :       return -1;
    3738              :     }
    3739              : }
    3740              : 
    3741              : int
    3742         2759 : pattern917 (rtx x1, machine_mode i1)
    3743              : {
    3744         2759 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3745         2759 :   int res ATTRIBUTE_UNUSED;
    3746         2759 :   if (!register_operand (operands[0], i1)
    3747         2308 :       || GET_MODE (x1) != i1
    3748         2308 :       || !nonimmediate_operand (operands[1], i1)
    3749         5039 :       || !nonimm_or_0_operand (operands[2], i1))
    3750          758 :     return -1;
    3751              :   return 0;
    3752              : }
    3753              : 
    3754              : int
    3755          376 : pattern922 (rtx x1)
    3756              : {
    3757          376 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3758          376 :   rtx x2;
    3759          376 :   int res ATTRIBUTE_UNUSED;
    3760          376 :   x2 = XEXP (x1, 0);
    3761          376 :   if (GET_MODE (x2) != E_V8QImode
    3762          376 :       || !register_operand (operands[0], E_V16QImode)
    3763          376 :       || GET_MODE (x1) != E_V16QImode
    3764          376 :       || !register_operand (operands[1], E_V16QImode)
    3765          368 :       || !nonimmediate_operand (operands[2], E_V8HFmode)
    3766          710 :       || !const0_operand (operands[3], E_V8QImode))
    3767           42 :     return -1;
    3768              :   return 0;
    3769              : }
    3770              : 
    3771              : int
    3772          232 : pattern926 (rtx x1, machine_mode i1)
    3773              : {
    3774          232 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3775          232 :   rtx x2;
    3776          232 :   int res ATTRIBUTE_UNUSED;
    3777          232 :   if (!register_operand (operands[0], i1)
    3778          232 :       || GET_MODE (x1) != i1)
    3779              :     return -1;
    3780          223 :   x2 = XEXP (x1, 0);
    3781          223 :   if (GET_MODE (x2) != i1
    3782          223 :       || !nonimmediate_operand (operands[1], i1)
    3783          220 :       || !nonimmediate_operand (operands[2], i1)
    3784          443 :       || !nonimmediate_operand (operands[3], i1))
    3785            3 :     return -1;
    3786              :   return 0;
    3787              : }
    3788              : 
    3789              : int
    3790       464833 : pattern930 (rtx x1)
    3791              : {
    3792       464833 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3793       464833 :   rtx x2, x3, x4, x5, x6, x7;
    3794       464833 :   int res ATTRIBUTE_UNUSED;
    3795       464833 :   x2 = XVECEXP (x1, 0, 2);
    3796       464833 :   if (GET_CODE (x2) != CONST_INT)
    3797              :     return -1;
    3798       464833 :   x3 = XVECEXP (x1, 0, 3);
    3799       464833 :   if (GET_CODE (x3) != CONST_INT)
    3800              :     return -1;
    3801       464833 :   x4 = XVECEXP (x1, 0, 4);
    3802       464833 :   if (GET_CODE (x4) != CONST_INT)
    3803              :     return -1;
    3804       464833 :   x5 = XVECEXP (x1, 0, 5);
    3805       464833 :   if (GET_CODE (x5) != CONST_INT)
    3806              :     return -1;
    3807       464833 :   x6 = XVECEXP (x1, 0, 6);
    3808       464833 :   if (GET_CODE (x6) != CONST_INT)
    3809              :     return -1;
    3810       464833 :   x7 = XVECEXP (x1, 0, 7);
    3811       464833 :   if (GET_CODE (x7) != CONST_INT)
    3812            0 :     return -1;
    3813              :   return 0;
    3814              : }
    3815              : 
    3816              : int
    3817       214909 : pattern941 (rtx x1, machine_mode i1, machine_mode i2)
    3818              : {
    3819       214909 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3820       214909 :   rtx x2;
    3821       214909 :   int res ATTRIBUTE_UNUSED;
    3822       214909 :   if (!nonimmediate_operand (operands[0], i1)
    3823       214909 :       || GET_MODE (x1) != i1)
    3824              :     return -1;
    3825       214824 :   x2 = XEXP (x1, 0);
    3826       214824 :   if (GET_MODE (x2) != i1
    3827       214824 :       || !nonimmediate_operand (operands[2], i2)
    3828       405940 :       || !nonimmediate_operand (operands[1], i1))
    3829        50241 :     return -1;
    3830              :   return 0;
    3831              : }
    3832              : 
    3833              : int
    3834       381860 : pattern946 (rtx x1)
    3835              : {
    3836       381860 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3837       381860 :   rtx x2, x3, x4, x5, x6, x7;
    3838       381860 :   int res ATTRIBUTE_UNUSED;
    3839       381860 :   x2 = XEXP (x1, 0);
    3840       381860 :   operands[0] = x2;
    3841       381860 :   x3 = XEXP (x1, 1);
    3842       381860 :   x4 = XEXP (x3, 0);
    3843       381860 :   x5 = XEXP (x4, 0);
    3844       381860 :   operands[1] = x5;
    3845       381860 :   x6 = XEXP (x3, 1);
    3846       381860 :   operands[2] = x6;
    3847       381860 :   x7 = XEXP (x4, 1);
    3848       381860 :   switch (GET_CODE (x7))
    3849              :     {
    3850          179 :     case NE:
    3851          179 :       return pattern945 (x3); /* [-1, 3] */
    3852              : 
    3853          109 :     case EQ:
    3854          109 :       res = pattern945 (x3);
    3855          109 :       if (res >= 0)
    3856          105 :         return res + 4; /* [4, 7] */
    3857              :       return -1;
    3858              : 
    3859              :     default:
    3860              :       return -1;
    3861              :     }
    3862              : }
    3863              : 
    3864              : int
    3865        31777 : pattern955 (rtx x1)
    3866              : {
    3867        31777 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3868        31777 :   rtx x2, x3;
    3869        31777 :   int res ATTRIBUTE_UNUSED;
    3870        31777 :   if (!const_int_operand (operands[2], E_QImode))
    3871              :     return -1;
    3872        31756 :   x2 = XEXP (x1, 1);
    3873        31756 :   x3 = XEXP (x2, 0);
    3874        31756 :   operands[3] = x3;
    3875        31756 :   switch (GET_MODE (operands[0]))
    3876              :     {
    3877        15183 :     case E_DImode:
    3878        15183 :       return pattern954 (x1, 
    3879              : E_SImode, 
    3880        15183 : E_DImode); /* [-1, 0] */
    3881              : 
    3882         2915 :     case E_TImode:
    3883         2915 :       if (pattern954 (x1, 
    3884              : E_DImode, 
    3885              : E_TImode) != 0)
    3886              :         return -1;
    3887              :       return 1;
    3888              : 
    3889              :     default:
    3890              :       return -1;
    3891              :     }
    3892              : }
    3893              : 
    3894              : int
    3895      5725471 : pattern965 (rtx x1, machine_mode i1)
    3896              : {
    3897      5725471 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3898      5725471 :   rtx x2, x3, x4, x5;
    3899      5725471 :   int res ATTRIBUTE_UNUSED;
    3900      5725471 :   x2 = XEXP (x1, 0);
    3901      5725471 :   operands[2] = x2;
    3902      5725471 :   x3 = XEXP (x1, 1);
    3903      5725471 :   operands[3] = x3;
    3904      5725471 :   if (!general_gr_operand (operands[3], i1))
    3905              :     return -1;
    3906      4425203 :   x4 = PATTERN (peep2_next_insn (1));
    3907      4425203 :   x5 = XEXP (x4, 1);
    3908      4425203 :   return pattern964 (x5, 
    3909      4425203 : i1); /* [-1, 0] */
    3910              : }
    3911              : 
    3912              : int
    3913        17256 : pattern968 (rtx x1)
    3914              : {
    3915        17256 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3916        17256 :   int res ATTRIBUTE_UNUSED;
    3917        17256 :   switch (GET_MODE (operands[0]))
    3918              :     {
    3919        13840 :     case E_HImode:
    3920        13840 :       if (!register_operand (operands[0], E_HImode)
    3921        13840 :           || GET_MODE (x1) != E_HImode)
    3922              :         return -1;
    3923        13821 :       switch (GET_MODE (operands[1]))
    3924              :         {
    3925          157 :         case E_V16QImode:
    3926          157 :           if (!nonimm_or_0_operand (operands[1], E_V16QImode)
    3927          157 :               || !nonimm_or_0_operand (operands[2], E_V16QImode))
    3928           24 :             return -1;
    3929              :           return 0;
    3930              : 
    3931          294 :         case E_V16HImode:
    3932          294 :           if (!nonimm_or_0_operand (operands[1], E_V16HImode)
    3933          294 :               || !nonimm_or_0_operand (operands[2], E_V16HImode))
    3934           26 :             return -1;
    3935              :           return 1;
    3936              : 
    3937        13306 :         case E_V16SImode:
    3938        13306 :           if (!nonimm_or_0_operand (operands[1], E_V16SImode)
    3939        13306 :               || !nonimm_or_0_operand (operands[2], E_V16SImode))
    3940           25 :             return -1;
    3941              :           return 2;
    3942              : 
    3943              :         default:
    3944              :           return -1;
    3945              :         }
    3946              : 
    3947         1415 :     case E_QImode:
    3948         1415 :       if (!register_operand (operands[0], E_QImode)
    3949         1415 :           || GET_MODE (x1) != E_QImode)
    3950              :         return -1;
    3951         1375 :       switch (GET_MODE (operands[1]))
    3952              :         {
    3953          180 :         case E_V8HImode:
    3954          180 :           if (!nonimm_or_0_operand (operands[1], E_V8HImode)
    3955          180 :               || !nonimm_or_0_operand (operands[2], E_V8HImode))
    3956            8 :             return -1;
    3957              :           return 3;
    3958              : 
    3959          220 :         case E_V8SImode:
    3960          220 :           if (!nonimm_or_0_operand (operands[1], E_V8SImode)
    3961          220 :               || !nonimm_or_0_operand (operands[2], E_V8SImode))
    3962           26 :             return -1;
    3963              :           return 4;
    3964              : 
    3965          238 :         case E_V4SImode:
    3966          238 :           if (!nonimm_or_0_operand (operands[1], E_V4SImode)
    3967          238 :               || !nonimm_or_0_operand (operands[2], E_V4SImode))
    3968           28 :             return -1;
    3969              :           return 5;
    3970              : 
    3971          184 :         case E_V8DImode:
    3972          184 :           if (!nonimm_or_0_operand (operands[1], E_V8DImode)
    3973          184 :               || !nonimm_or_0_operand (operands[2], E_V8DImode))
    3974           34 :             return -1;
    3975              :           return 6;
    3976              : 
    3977          191 :         case E_V4DImode:
    3978          191 :           if (!nonimm_or_0_operand (operands[1], E_V4DImode)
    3979          191 :               || !nonimm_or_0_operand (operands[2], E_V4DImode))
    3980           32 :             return -1;
    3981              :           return 7;
    3982              : 
    3983          180 :         case E_V2DImode:
    3984          180 :           if (!nonimm_or_0_operand (operands[1], E_V2DImode)
    3985          180 :               || !nonimm_or_0_operand (operands[2], E_V2DImode))
    3986           37 :             return -1;
    3987              :           return 8;
    3988              : 
    3989              :         default:
    3990              :           return -1;
    3991              :         }
    3992              : 
    3993              :     default:
    3994              :       return -1;
    3995              :     }
    3996              : }
    3997              : 
    3998              : int
    3999            0 : pattern985 (rtx x1)
    4000              : {
    4001            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4002            0 :   rtx x2, x3, x4, x5, x6, x7;
    4003            0 :   int res ATTRIBUTE_UNUSED;
    4004            0 :   x2 = XEXP (x1, 2);
    4005            0 :   if (GET_CODE (x2) != UNSPEC
    4006            0 :       || XVECLEN (x2, 0) != 3
    4007            0 :       || XINT (x2, 1) != 60)
    4008              :     return -1;
    4009            0 :   x3 = XVECEXP (x2, 0, 2);
    4010            0 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    4011              :     return -1;
    4012            0 :   x4 = XEXP (x1, 0);
    4013            0 :   operands[3] = x4;
    4014            0 :   x5 = XEXP (x1, 1);
    4015            0 :   operands[4] = x5;
    4016            0 :   x6 = XVECEXP (x2, 0, 0);
    4017            0 :   operands[1] = x6;
    4018            0 :   x7 = XVECEXP (x2, 0, 1);
    4019            0 :   operands[2] = x7;
    4020            0 :   switch (GET_MODE (x1))
    4021              :     {
    4022            0 :     case E_V32QImode:
    4023            0 :       return pattern984 (x2, 
    4024              : E_V32QImode, 
    4025            0 : E_SImode); /* [-1, 0] */
    4026              : 
    4027            0 :     case E_V16QImode:
    4028            0 :       if (pattern984 (x2, 
    4029              : E_V16QImode, 
    4030              : E_HImode) != 0)
    4031              :         return -1;
    4032              :       return 1;
    4033              : 
    4034              :     default:
    4035              :       return -1;
    4036              :     }
    4037              : }
    4038              : 
    4039              : int
    4040           24 : pattern992 (rtx x1)
    4041              : {
    4042           24 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4043           24 :   rtx x2;
    4044           24 :   int res ATTRIBUTE_UNUSED;
    4045           24 :   if (!register_operand (operands[0], E_SImode)
    4046           24 :       || GET_MODE (x1) != E_SImode)
    4047              :     return -1;
    4048           24 :   x2 = XEXP (x1, 0);
    4049           24 :   if (GET_MODE (x2) != E_SImode)
    4050              :     return -1;
    4051           24 :   switch (GET_MODE (operands[1]))
    4052              :     {
    4053            0 :     case E_V32HFmode:
    4054            0 :       if (!register_operand (operands[1], E_V32HFmode)
    4055            0 :           || !nonimmediate_operand (operands[2], E_V32HFmode)
    4056            0 :           || !const_0_to_31_operand (operands[3], E_SImode))
    4057            0 :         return -1;
    4058              :       return 0;
    4059              : 
    4060            3 :     case E_V32QImode:
    4061            3 :       if (!register_operand (operands[1], E_V32QImode)
    4062            3 :           || !nonimmediate_operand (operands[2], E_V32QImode)
    4063            6 :           || !const_0_to_7_operand (operands[3], E_SImode))
    4064            0 :         return -1;
    4065              :       return 1;
    4066              : 
    4067           21 :     case E_V32HImode:
    4068           21 :       if (!register_operand (operands[1], E_V32HImode)
    4069           21 :           || !nonimmediate_operand (operands[2], E_V32HImode)
    4070           42 :           || !const_0_to_7_operand (operands[3], E_SImode))
    4071            0 :         return -1;
    4072              :       return 2;
    4073              : 
    4074              :     default:
    4075              :       return -1;
    4076              :     }
    4077              : }
    4078              : 
    4079              : int
    4080         1431 : pattern1000 (rtx x1)
    4081              : {
    4082         1431 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4083         1431 :   rtx x2;
    4084         1431 :   int res ATTRIBUTE_UNUSED;
    4085         1431 :   if (!register_operand (operands[0], E_V2DImode)
    4086         1431 :       || GET_MODE (x1) != E_V2DImode)
    4087              :     return -1;
    4088         1376 :   x2 = XEXP (x1, 0);
    4089         1376 :   if (GET_MODE (x2) != E_V2DImode
    4090         1376 :       || !nonimm_or_0_operand (operands[2], E_V2DImode)
    4091         2730 :       || !register_operand (operands[3], E_QImode))
    4092           68 :     return -1;
    4093         1308 :   switch (GET_MODE (operands[1]))
    4094              :     {
    4095          414 :     case E_V8HFmode:
    4096          414 :       if (!nonimmediate_operand (operands[1], E_V8HFmode))
    4097              :         return -1;
    4098              :       return 0;
    4099              : 
    4100          444 :     case E_V2DFmode:
    4101          444 :       if (!vector_operand (operands[1], E_V2DFmode))
    4102              :         return -1;
    4103              :       return 1;
    4104              : 
    4105          450 :     case E_V4SFmode:
    4106          450 :       if (!nonimmediate_operand (operands[1], E_V4SFmode))
    4107              :         return -1;
    4108              :       return 2;
    4109              : 
    4110              :     default:
    4111              :       return -1;
    4112              :     }
    4113              : }
    4114              : 
    4115              : int
    4116         2245 : pattern1015 (rtx x1, machine_mode i1, machine_mode i2)
    4117              : {
    4118         2245 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4119         2245 :   rtx x2;
    4120         2245 :   int res ATTRIBUTE_UNUSED;
    4121         2245 :   if (!register_operand (operands[0], i1)
    4122         2245 :       || GET_MODE (x1) != i1)
    4123              :     return -1;
    4124         2177 :   x2 = XEXP (x1, 0);
    4125         2177 :   if (GET_MODE (x2) != i1
    4126         2177 :       || !register_operand (operands[1], i1)
    4127         1981 :       || !bcst_vector_operand (operands[2], i1)
    4128         1878 :       || !nonimm_or_0_operand (operands[3], i1)
    4129         4033 :       || !register_operand (operands[4], i2))
    4130          321 :     return -1;
    4131              :   return 0;
    4132              : }
    4133              : 
    4134              : int
    4135         1567 : pattern1022 (rtx x1)
    4136              : {
    4137         1567 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4138         1567 :   rtx x2, x3, x4;
    4139         1567 :   int res ATTRIBUTE_UNUSED;
    4140         1567 :   if (!const_0_to_3_operand (operands[2], E_VOIDmode))
    4141              :     return -1;
    4142         1476 :   x2 = XVECEXP (x1, 0, 1);
    4143         1476 :   operands[3] = x2;
    4144         1476 :   if (!const_0_to_3_operand (operands[3], E_VOIDmode))
    4145              :     return -1;
    4146         1470 :   x3 = XVECEXP (x1, 0, 2);
    4147         1470 :   operands[4] = x3;
    4148         1470 :   if (!const_0_to_3_operand (operands[4], E_VOIDmode))
    4149              :     return -1;
    4150         1468 :   x4 = XVECEXP (x1, 0, 3);
    4151         1468 :   operands[5] = x4;
    4152         1468 :   if (!const_0_to_3_operand (operands[5], E_VOIDmode))
    4153              :     return -1;
    4154              :   return 0;
    4155              : }
    4156              : 
    4157              : int
    4158          122 : pattern1033 (rtx x1)
    4159              : {
    4160          122 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4161          122 :   rtx x2;
    4162          122 :   int res ATTRIBUTE_UNUSED;
    4163          122 :   if (!register_operand (operands[0], E_V16HFmode)
    4164          122 :       || GET_MODE (x1) != E_V16HFmode)
    4165              :     return -1;
    4166          118 :   x2 = XVECEXP (x1, 0, 0);
    4167          118 :   if (GET_MODE (x2) != E_V16HFmode)
    4168              :     return -1;
    4169          118 :   switch (GET_MODE (operands[1]))
    4170              :     {
    4171            0 :     case E_V16HImode:
    4172            0 :       if (!register_operand (operands[1], E_V16HImode))
    4173              :         return -1;
    4174              :       return 0;
    4175              : 
    4176          118 :     case E_V16SImode:
    4177          118 :       if (!register_operand (operands[1], E_V16SImode))
    4178              :         return -1;
    4179              :       return 1;
    4180              : 
    4181              :     default:
    4182              :       return -1;
    4183              :     }
    4184              : }
    4185              : 
    4186              : int
    4187          310 : pattern1040 (rtx x1, machine_mode i1, rtx_code i2)
    4188              : {
    4189          310 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4190          310 :   rtx x2, x3;
    4191          310 :   int res ATTRIBUTE_UNUSED;
    4192          310 :   x2 = XEXP (x1, 0);
    4193          310 :   if (GET_CODE (x2) != i2
    4194          310 :       || GET_MODE (x2) != i1)
    4195              :     return -1;
    4196          310 :   x3 = XEXP (x1, 1);
    4197          310 :   if (GET_CODE (x3) != i2
    4198          310 :       || GET_MODE (x3) != i1)
    4199            0 :     return -1;
    4200              :   return 0;
    4201              : }
    4202              : 
    4203              : int
    4204        43573 : pattern1047 (rtx x1)
    4205              : {
    4206        43573 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4207        43573 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    4208        43573 :   rtx x10;
    4209        43573 :   int res ATTRIBUTE_UNUSED;
    4210        43573 :   x2 = XEXP (x1, 1);
    4211        43573 :   x3 = XEXP (x2, 0);
    4212        43573 :   switch (GET_CODE (x3))
    4213              :     {
    4214          621 :     case PLUS:
    4215          621 :       return pattern1044 (x1); /* [-1, 0] */
    4216              : 
    4217          113 :     case MINUS:
    4218          113 :       if (pattern1044 (x1) != 0)
    4219              :         return -1;
    4220              :       return 1;
    4221              : 
    4222         8292 :     case AND:
    4223         8292 :       if (pattern1044 (x1) != 0)
    4224              :         return -1;
    4225              :       return 2;
    4226              : 
    4227        12561 :     case IOR:
    4228        12561 :       if (pattern1044 (x1) != 0)
    4229              :         return -1;
    4230              :       return 3;
    4231              : 
    4232          744 :     case XOR:
    4233          744 :       if (pattern1044 (x1) != 0)
    4234              :         return -1;
    4235              :       return 4;
    4236              : 
    4237            9 :     case NEG:
    4238            9 :       if (GET_MODE (x3) != E_QImode)
    4239              :         return -1;
    4240            9 :       x4 = XEXP (x3, 0);
    4241            9 :       if (GET_CODE (x4) != SUBREG
    4242            9 :           || maybe_ne (SUBREG_BYTE (x4), 0)
    4243           18 :           || GET_MODE (x4) != E_QImode)
    4244              :         return -1;
    4245            9 :       x5 = XEXP (x4, 0);
    4246            9 :       switch (GET_CODE (x5))
    4247              :         {
    4248            9 :         case ASHIFTRT:
    4249            9 :         case LSHIFTRT:
    4250            9 :         case SIGN_EXTRACT:
    4251            9 :         case ZERO_EXTRACT:
    4252            9 :           operands[2] = x5;
    4253            9 :           x6 = XEXP (x1, 0);
    4254            9 :           if (GET_CODE (x6) != ZERO_EXTRACT)
    4255              :             return -1;
    4256            9 :           x7 = XEXP (x6, 1);
    4257            9 :           if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    4258              :             return -1;
    4259            9 :           x8 = XEXP (x6, 2);
    4260            9 :           if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    4261              :             return -1;
    4262            9 :           x9 = XEXP (x6, 0);
    4263            9 :           operands[0] = x9;
    4264            9 :           if (!int248_register_operand (operands[0], E_VOIDmode))
    4265              :             return -1;
    4266            9 :           x10 = XEXP (x5, 0);
    4267            9 :           operands[1] = x10;
    4268            9 :           if (!int248_register_operand (operands[1], E_VOIDmode))
    4269              :             return -1;
    4270            9 :           switch (GET_MODE (x6))
    4271              :             {
    4272            3 :             case E_HImode:
    4273            3 :               if (GET_MODE (x2) != E_HImode
    4274            3 :                   || !extract_high_operator (operands[2], E_HImode))
    4275            0 :                 return -1;
    4276              :               return 5;
    4277              : 
    4278            6 :             case E_SImode:
    4279            6 :               if (GET_MODE (x2) != E_SImode
    4280            6 :                   || !extract_high_operator (operands[2], E_SImode))
    4281            0 :                 return -1;
    4282              :               return 6;
    4283              : 
    4284            0 :             case E_DImode:
    4285            0 :               if (GET_MODE (x2) != E_DImode
    4286            0 :                   || !extract_high_operator (operands[2], E_DImode))
    4287            0 :                 return -1;
    4288              :               return 7;
    4289              : 
    4290              :             default:
    4291              :               return -1;
    4292              :             }
    4293              : 
    4294              :         default:
    4295              :           return -1;
    4296              :         }
    4297              : 
    4298           18 :     case ASHIFT:
    4299           18 :       if (GET_MODE (x3) != E_QImode)
    4300              :         return -1;
    4301           18 :       res = pattern1046 (x1);
    4302           18 :       if (res >= 0)
    4303           18 :         return res + 8; /* [8, 10] */
    4304              :       return -1;
    4305              : 
    4306              :     case LSHIFTRT:
    4307              :       return 11;
    4308              : 
    4309         1723 :     case ASHIFTRT:
    4310         1723 :       return 12;
    4311              : 
    4312              :     default:
    4313              :       return -1;
    4314              :     }
    4315              : }
    4316              : 
    4317              : int
    4318          248 : pattern1071 (rtx x1)
    4319              : {
    4320          248 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4321          248 :   rtx x2, x3, x4, x5;
    4322          248 :   int res ATTRIBUTE_UNUSED;
    4323          248 :   x2 = XVECEXP (x1, 0, 1);
    4324          248 :   x3 = XEXP (x2, 0);
    4325          248 :   if (GET_CODE (x3) != REG
    4326          248 :       || REGNO (x3) != 17
    4327          156 :       || GET_MODE (x3) != E_CCmode
    4328          404 :       || !register_operand (operands[1], E_XFmode))
    4329          138 :     return -1;
    4330          110 :   x4 = XVECEXP (x1, 0, 0);
    4331          110 :   x5 = XEXP (x4, 1);
    4332          110 :   return pattern552 (x5); /* [-1, 2] */
    4333              : }
    4334              : 
    4335              : int
    4336      3666272 : pattern1075 (rtx x1, machine_mode i1)
    4337              : {
    4338      3666272 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4339      3666272 :   rtx x2, x3, x4, x5, x6;
    4340      3666272 :   int res ATTRIBUTE_UNUSED;
    4341      3666272 :   if (peep2_current_count < 3
    4342      3164383 :       || GET_CODE (x1) != SET)
    4343              :     return -1;
    4344      2239352 :   x2 = XEXP (x1, 1);
    4345      2239352 :   operands[2] = x2;
    4346      2239352 :   if (!general_reg_operand (operands[2], i1))
    4347              :     return -1;
    4348       793744 :   x3 = XEXP (x1, 0);
    4349       793744 :   if (!rtx_equal_p (x3, operands[1]))
    4350              :     return -1;
    4351        84991 :   x4 = PATTERN (peep2_next_insn (2));
    4352        84991 :   if (GET_CODE (x4) != SET)
    4353              :     return -1;
    4354        68563 :   x5 = XEXP (x4, 1);
    4355        68563 :   if (!rtx_equal_p (x5, operands[0]))
    4356              :     return -1;
    4357         8109 :   x6 = XEXP (x4, 0);
    4358         8109 :   if (!rtx_equal_p (x6, operands[2]))
    4359              :     return -1;
    4360              :   return 0;
    4361              : }
    4362              : 
    4363              : int
    4364         5341 : pattern1083 (rtx x1)
    4365              : {
    4366         5341 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4367         5341 :   rtx x2, x3, x4;
    4368         5341 :   int res ATTRIBUTE_UNUSED;
    4369         5341 :   x2 = XEXP (x1, 1);
    4370         5341 :   x3 = XEXP (x2, 1);
    4371         5341 :   if (maybe_ne (SUBREG_BYTE (x3), 0)
    4372         5341 :       || GET_MODE (x3) != E_QImode)
    4373              :     return -1;
    4374         5341 :   x4 = XEXP (x3, 0);
    4375         5341 :   switch (GET_CODE (x4))
    4376              :     {
    4377          782 :     case ASHIFTRT:
    4378          782 :     case LSHIFTRT:
    4379          782 :     case SIGN_EXTRACT:
    4380          782 :     case ZERO_EXTRACT:
    4381          782 :       operands[4] = x4;
    4382          782 :       return pattern1082 (x1); /* [-1, 5] */
    4383              : 
    4384              :     default:
    4385              :       return -1;
    4386              :     }
    4387              : }
    4388              : 
    4389              : int
    4390            2 : pattern1089 (rtx x1)
    4391              : {
    4392            2 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4393            2 :   rtx x2;
    4394            2 :   int res ATTRIBUTE_UNUSED;
    4395            2 :   if (!register_operand (operands[0], E_QImode)
    4396            2 :       || GET_MODE (x1) != E_QImode)
    4397              :     return -1;
    4398            2 :   x2 = XEXP (x1, 0);
    4399            2 :   if (GET_MODE (x2) != E_QImode)
    4400              :     return -1;
    4401            2 :   return pattern747 (); /* [-1, 5] */
    4402              : }
    4403              : 
    4404              : int
    4405            0 : pattern1097 (rtx x1, machine_mode i1)
    4406              : {
    4407            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4408            0 :   int res ATTRIBUTE_UNUSED;
    4409            0 :   if (GET_MODE (x1) != i1
    4410            0 :       || !vector_all_ones_operand (operands[3], i1)
    4411            0 :       || !const0_operand (operands[4], i1)
    4412            0 :       || !register_operand (operands[1], i1)
    4413            0 :       || !const0_operand (operands[2], i1))
    4414            0 :     return -1;
    4415              :   return 0;
    4416              : }
    4417              : 
    4418              : int
    4419            0 : pattern1105 (rtx x1, machine_mode i1)
    4420              : {
    4421            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4422            0 :   int res ATTRIBUTE_UNUSED;
    4423            0 :   if (GET_MODE (x1) != i1
    4424            0 :       || !vector_all_ones_operand (operands[3], i1)
    4425            0 :       || !const0_operand (operands[4], i1)
    4426            0 :       || !register_operand (operands[1], i1)
    4427            0 :       || !const0_operand (operands[2], i1))
    4428            0 :     return -1;
    4429              :   return 0;
    4430              : }
    4431              : 
    4432              : int
    4433          447 : pattern1111 (rtx x1)
    4434              : {
    4435          447 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4436          447 :   rtx x2, x3, x4;
    4437          447 :   int res ATTRIBUTE_UNUSED;
    4438          447 :   x2 = XEXP (x1, 2);
    4439          447 :   x3 = XEXP (x2, 0);
    4440          447 :   operands[3] = x3;
    4441          447 :   if (!register_operand (operands[3], E_QImode))
    4442              :     return -1;
    4443          424 :   x4 = XEXP (x2, 1);
    4444          424 :   switch (XWINT (x4, 0))
    4445              :     {
    4446          277 :     case 15L:
    4447          277 :       switch (GET_MODE (operands[0]))
    4448              :         {
    4449            0 :         case E_V4SFmode:
    4450            0 :           return pattern1110 (x1, 
    4451            0 : E_V4SFmode); /* [-1, 0] */
    4452              : 
    4453           58 :         case E_V4DFmode:
    4454           58 :           if (pattern1110 (x1, 
    4455              : E_V4DFmode) != 0)
    4456              :             return -1;
    4457              :           return 1;
    4458              : 
    4459          135 :         case E_V4SImode:
    4460          135 :           if (pattern1110 (x1, 
    4461              : E_V4SImode) != 0)
    4462              :             return -1;
    4463              :           return 2;
    4464              : 
    4465           84 :         case E_V4DImode:
    4466           84 :           if (pattern1110 (x1, 
    4467              : E_V4DImode) != 0)
    4468              :             return -1;
    4469              :           return 3;
    4470              : 
    4471              :         default:
    4472              :           return -1;
    4473              :         }
    4474              : 
    4475          147 :     case 3L:
    4476          147 :       switch (GET_MODE (operands[0]))
    4477              :         {
    4478            5 :         case E_V2DFmode:
    4479            5 :           if (pattern1110 (x1, 
    4480              : E_V2DFmode) != 0)
    4481              :             return -1;
    4482              :           return 4;
    4483              : 
    4484          142 :         case E_V2DImode:
    4485          142 :           if (pattern1110 (x1, 
    4486              : E_V2DImode) != 0)
    4487              :             return -1;
    4488              :           return 5;
    4489              : 
    4490              :         default:
    4491              :           return -1;
    4492              :         }
    4493              : 
    4494              :     default:
    4495              :       return -1;
    4496              :     }
    4497              : }
    4498              : 
    4499              : int
    4500         1406 : pattern1119 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    4501              : {
    4502         1406 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4503         1406 :   rtx x2;
    4504         1406 :   int res ATTRIBUTE_UNUSED;
    4505         1406 :   if (!register_operand (operands[0], i1)
    4506         1406 :       || GET_MODE (x1) != i1)
    4507              :     return -1;
    4508         1317 :   x2 = XEXP (x1, 0);
    4509         1317 :   if (GET_MODE (x2) != i1
    4510         1317 :       || !register_operand (operands[1], i1)
    4511         1315 :       || !nonimmediate_operand (operands[2], i2)
    4512         1315 :       || !nonimm_or_0_operand (operands[3], i1)
    4513         2599 :       || !register_operand (operands[4], i3))
    4514          122 :     return -1;
    4515              :   return 0;
    4516              : }
    4517              : 
    4518              : int
    4519        16312 : pattern1126 (rtx x1, machine_mode i1)
    4520              : {
    4521        16312 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4522        16312 :   rtx x2, x3;
    4523        16312 :   int res ATTRIBUTE_UNUSED;
    4524        16312 :   if (!register_operand (operands[0], i1)
    4525        16312 :       || GET_MODE (x1) != i1)
    4526              :     return -1;
    4527        15570 :   x2 = XEXP (x1, 0);
    4528        15570 :   if (GET_MODE (x2) != i1
    4529        15570 :       || !register_operand (operands[1], i1)
    4530        31130 :       || !vector_operand (operands[2], i1))
    4531           22 :     return -1;
    4532        15548 :   x3 = XEXP (x1, 1);
    4533        15548 :   if (GET_MODE (x3) != i1)
    4534              :     return -1;
    4535              :   return 0;
    4536              : }
    4537              : 
    4538              : int
    4539         1278 : pattern1133 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    4540              : {
    4541         1278 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4542         1278 :   rtx x2, x3, x4, x5, x6;
    4543         1278 :   int res ATTRIBUTE_UNUSED;
    4544         1278 :   if (!register_operand (operands[0], i2)
    4545         1278 :       || GET_MODE (x1) != i2)
    4546              :     return -1;
    4547         1246 :   x2 = XEXP (x1, 0);
    4548         1246 :   if (GET_MODE (x2) != i2)
    4549              :     return -1;
    4550         1246 :   x3 = XEXP (x2, 0);
    4551         1246 :   if (GET_MODE (x3) != i3)
    4552              :     return -1;
    4553         1246 :   x4 = XEXP (x3, 0);
    4554         1246 :   if (GET_MODE (x4) != i3)
    4555              :     return -1;
    4556         1246 :   x5 = XEXP (x4, 0);
    4557         1246 :   if (GET_MODE (x5) != i3
    4558         1246 :       || !vector_operand (operands[1], i2))
    4559            0 :     return -1;
    4560         1246 :   x6 = XEXP (x4, 1);
    4561         1246 :   if (GET_MODE (x6) != i3
    4562         1246 :       || !vector_operand (operands[2], i2)
    4563         1246 :       || !nonimm_or_0_operand (operands[3], i2)
    4564         2462 :       || !register_operand (operands[4], i1))
    4565          118 :     return -1;
    4566              :   return 0;
    4567              : }
    4568              : 
    4569              : int
    4570         6288 : pattern1147 (rtx x1, machine_mode i1)
    4571              : {
    4572         6288 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4573         6288 :   int res ATTRIBUTE_UNUSED;
    4574         6288 :   if (!register_operand (operands[0], i1)
    4575         6274 :       || GET_MODE (x1) != i1
    4576         6274 :       || !register_operand (operands[1], i1)
    4577         6131 :       || !register_operand (operands[2], i1)
    4578        12275 :       || !bcst_vector_operand (operands[3], i1))
    4579          324 :     return -1;
    4580              :   return 0;
    4581              : }
    4582              : 
    4583              : int
    4584         8663 : pattern1151 (rtx x1, machine_mode i1, machine_mode i2)
    4585              : {
    4586         8663 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4587         8663 :   rtx x2;
    4588         8663 :   int res ATTRIBUTE_UNUSED;
    4589         8663 :   if (!nonimmediate_operand (operands[0], i1)
    4590         8663 :       || GET_MODE (x1) != i1)
    4591              :     return -1;
    4592         8659 :   x2 = XEXP (x1, 0);
    4593         8659 :   if (GET_MODE (x2) != i2
    4594         8659 :       || !nonimmediate_operand (operands[1], i1))
    4595         3068 :     return -1;
    4596              :   return 0;
    4597              : }
    4598              : 
    4599              : int
    4600         2844 : pattern1159 (rtx x1)
    4601              : {
    4602         2844 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4603         2844 :   rtx x2, x3, x4, x5;
    4604         2844 :   int res ATTRIBUTE_UNUSED;
    4605         2844 :   x2 = XVECEXP (x1, 0, 1);
    4606         2844 :   x3 = XEXP (x2, 0);
    4607         2844 :   operands[2] = x3;
    4608         2844 :   switch (GET_MODE (operands[0]))
    4609              :     {
    4610           16 :     case E_SImode:
    4611           16 :       x4 = XVECEXP (x1, 0, 0);
    4612           16 :       x5 = XEXP (x4, 1);
    4613           16 :       return pattern1158 (x5, 
    4614           16 : E_SImode); /* [-1, 1] */
    4615              : 
    4616         2828 :     case E_DImode:
    4617         2828 :       x4 = XVECEXP (x1, 0, 0);
    4618         2828 :       x5 = XEXP (x4, 1);
    4619         2828 :       res = pattern1158 (x5, 
    4620              : E_DImode);
    4621         2828 :       if (res >= 0)
    4622         2828 :         return res + 2; /* [2, 3] */
    4623              :       return -1;
    4624              : 
    4625              :     default:
    4626              :       return -1;
    4627              :     }
    4628              : }
    4629              : 
    4630              : int
    4631          237 : pattern1169 (rtx x1, machine_mode i1)
    4632              : {
    4633          237 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4634          237 :   rtx x2, x3;
    4635          237 :   int res ATTRIBUTE_UNUSED;
    4636          237 :   if (!nonimmediate_operand (operands[0], i1)
    4637          237 :       || GET_MODE (x1) != i1)
    4638              :     return -1;
    4639          237 :   x2 = XEXP (x1, 0);
    4640          237 :   if (GET_MODE (x2) != i1)
    4641              :     return -1;
    4642          237 :   x3 = XEXP (x2, 0);
    4643          237 :   if (GET_MODE (x3) != i1
    4644          237 :       || !nonimmediate_operand (operands[1], i1)
    4645          425 :       || !x86_64_general_operand (operands[2], i1))
    4646           49 :     return -1;
    4647              :   return 0;
    4648              : }
    4649              : 
    4650              : int
    4651        26500 : pattern1177 (rtx x1)
    4652              : {
    4653        26500 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4654        26500 :   rtx x2, x3, x4, x5;
    4655        26500 :   int res ATTRIBUTE_UNUSED;
    4656        26500 :   x2 = XEXP (x1, 1);
    4657        26500 :   x3 = XEXP (x2, 0);
    4658        26500 :   switch (GET_CODE (x3))
    4659              :     {
    4660         4422 :     case AND:
    4661         4422 :       x4 = XEXP (x3, 0);
    4662         4422 :       operands[2] = x4;
    4663         4422 :       if (!int248_register_operand (operands[2], E_VOIDmode))
    4664              :         return -1;
    4665         4266 :       return pattern1176 (x1); /* [-1, 3] */
    4666              : 
    4667            0 :     case PLUS:
    4668            0 :       x4 = XEXP (x3, 0);
    4669            0 :       operands[2] = x4;
    4670            0 :       if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
    4671              :         return -1;
    4672            0 :       res = pattern1176 (x1);
    4673            0 :       if (res >= 0)
    4674            0 :         return res + 4; /* [4, 7] */
    4675              :       return -1;
    4676              : 
    4677            0 :     case MINUS:
    4678            0 :       x4 = XEXP (x3, 0);
    4679            0 :       operands[3] = x4;
    4680            0 :       if (!const_int_operand (operands[3], E_VOIDmode))
    4681              :         return -1;
    4682            0 :       x5 = XEXP (x3, 1);
    4683            0 :       operands[2] = x5;
    4684            0 :       if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
    4685              :         return -1;
    4686            0 :       res = pattern206 (x1);
    4687            0 :       if (res >= 0)
    4688            0 :         return res + 8; /* [8, 11] */
    4689              :       return -1;
    4690              : 
    4691              :     default:
    4692              :       return -1;
    4693              :     }
    4694              : }
    4695              : 
    4696              : int
    4697            0 : pattern1194 (rtx x1, machine_mode i1)
    4698              : {
    4699            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4700            0 :   rtx x2;
    4701            0 :   int res ATTRIBUTE_UNUSED;
    4702            0 :   if (!register_operand (operands[0], i1)
    4703            0 :       || GET_MODE (x1) != i1
    4704            0 :       || !vector_operand (operands[1], i1)
    4705            0 :       || !register_operand (operands[2], i1))
    4706            0 :     return -1;
    4707            0 :   x2 = XVECEXP (x1, 0, 2);
    4708            0 :   if (GET_MODE (x2) != i1
    4709            0 :       || !register_operand (operands[3], i1))
    4710            0 :     return -1;
    4711              :   return 0;
    4712              : }
    4713              : 
    4714              : int
    4715            4 : pattern1200 (rtx x1, machine_mode i1)
    4716              : {
    4717            4 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4718            4 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    4719            4 :   rtx x10, x11, x12;
    4720            4 :   int res ATTRIBUTE_UNUSED;
    4721            4 :   x2 = XVECEXP (x1, 0, 0);
    4722            4 :   x3 = XEXP (x2, 1);
    4723            4 :   x4 = XEXP (x3, 0);
    4724            4 :   operands[2] = x4;
    4725            4 :   if (!memory_operand (operands[2], i1))
    4726              :     return -1;
    4727            4 :   x5 = XVECEXP (x1, 0, 1);
    4728            4 :   x6 = XEXP (x5, 1);
    4729            4 :   if (GET_CODE (x6) != MINUS)
    4730              :     return -1;
    4731            4 :   x7 = XEXP (x2, 0);
    4732            4 :   if (GET_MODE (x7) != E_CCmode
    4733            4 :       || GET_MODE (x3) != E_CCmode)
    4734              :     return -1;
    4735            4 :   x8 = XEXP (x3, 1);
    4736            4 :   if (!rtx_equal_p (x8, operands[0]))
    4737              :     return -1;
    4738            4 :   x9 = XEXP (x6, 0);
    4739            4 :   if (!rtx_equal_p (x9, operands[2]))
    4740              :     return -1;
    4741            4 :   x10 = XEXP (x6, 1);
    4742            4 :   if (!rtx_equal_p (x10, operands[0]))
    4743              :     return -1;
    4744            4 :   x11 = PATTERN (peep2_next_insn (2));
    4745            4 :   x12 = XEXP (x11, 0);
    4746            4 :   if (!rtx_equal_p (x12, operands[2]))
    4747              :     return -1;
    4748              :   return 0;
    4749              : }
    4750              : 
    4751              : int
    4752      1149155 : pattern1209 (rtx x1)
    4753              : {
    4754      1149155 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4755      1149155 :   int res ATTRIBUTE_UNUSED;
    4756      1149155 :   if (!register_operand (operands[0], E_QImode)
    4757      1145326 :       || GET_MODE (x1) != E_QImode
    4758      1145326 :       || !ix86_comparison_operator (operands[1], E_VOIDmode)
    4759      1145326 :       || !register_operand (operands[2], E_QImode)
    4760      2281179 :       || !register_operand (operands[3], E_QImode))
    4761       532682 :     return -1;
    4762              :   return 0;
    4763              : }
    4764              : 
    4765              : int
    4766          159 : pattern1214 (rtx x1, machine_mode i1)
    4767              : {
    4768          159 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4769          159 :   rtx x2, x3;
    4770          159 :   int res ATTRIBUTE_UNUSED;
    4771          159 :   if (!nonimmediate_operand (operands[0], i1)
    4772          159 :       || GET_MODE (x1) != i1)
    4773              :     return -1;
    4774          159 :   x2 = XEXP (x1, 0);
    4775          159 :   if (GET_MODE (x2) != i1)
    4776              :     return -1;
    4777          159 :   x3 = XEXP (x2, 0);
    4778          159 :   if (GET_MODE (x3) != i1
    4779          159 :       || !nonimmediate_operand (operands[1], i1)
    4780          269 :       || !x86_64_general_operand (operands[2], i1))
    4781           49 :     return -1;
    4782              :   return 0;
    4783              : }
    4784              : 
    4785              : int
    4786          963 : pattern1222 (rtx x1, machine_mode i1)
    4787              : {
    4788          963 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4789          963 :   rtx x2;
    4790          963 :   int res ATTRIBUTE_UNUSED;
    4791          963 :   if (!register_operand (operands[0], i1)
    4792          963 :       || GET_MODE (x1) != i1)
    4793              :     return -1;
    4794          889 :   x2 = XEXP (x1, 0);
    4795          889 :   if (GET_MODE (x2) != i1
    4796          889 :       || !nonimmediate_operand (operands[2], i1)
    4797         1764 :       || !register_operand (operands[1], i1))
    4798          123 :     return -1;
    4799              :   return 0;
    4800              : }
    4801              : 
    4802              : int
    4803         1812 : pattern1228 (rtx x1)
    4804              : {
    4805         1812 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4806         1812 :   rtx x2, x3, x4, x5, x6, x7, x8;
    4807         1812 :   int res ATTRIBUTE_UNUSED;
    4808         1812 :   x2 = XEXP (x1, 0);
    4809         1812 :   x3 = XEXP (x2, 0);
    4810         1812 :   x4 = XEXP (x3, 0);
    4811         1812 :   x5 = XEXP (x4, 0);
    4812         1812 :   x6 = XEXP (x5, 1);
    4813         1812 :   if (GET_CODE (x6) != PARALLEL
    4814         1812 :       || XVECLEN (x6, 0) != 1)
    4815              :     return -1;
    4816         1812 :   x7 = XVECEXP (x6, 0, 0);
    4817         1812 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    4818              :     return -1;
    4819         1812 :   x8 = XEXP (x1, 2);
    4820         1812 :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    4821            0 :     return -1;
    4822              :   return 0;
    4823              : }
    4824              : 
    4825              : int
    4826           46 : pattern1236 (rtx x1)
    4827              : {
    4828           46 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4829           46 :   rtx x2, x3, x4, x5, x6, x7;
    4830           46 :   int res ATTRIBUTE_UNUSED;
    4831           46 :   x2 = XVECEXP (x1, 0, 2);
    4832           46 :   x3 = XEXP (x2, 0);
    4833           46 :   x4 = XEXP (x3, 0);
    4834           46 :   if (maybe_ne (SUBREG_BYTE (x4), 0))
    4835              :     return -1;
    4836           46 :   x5 = XEXP (x4, 0);
    4837           46 :   if (GET_CODE (x5) != NOT)
    4838              :     return -1;
    4839            9 :   x6 = XEXP (x5, 0);
    4840            9 :   operands[3] = x6;
    4841            9 :   x7 = XEXP (x3, 1);
    4842            9 :   operands[4] = x7;
    4843            9 :   switch (GET_MODE (operands[0]))
    4844              :     {
    4845            9 :     case E_V16QImode:
    4846            9 :       if (!register_operand (operands[0], E_V16QImode)
    4847            9 :           || GET_MODE (x1) != E_V16QImode
    4848            9 :           || !vector_operand (operands[1], E_V16QImode)
    4849            9 :           || !register_operand (operands[2], E_V16QImode)
    4850            9 :           || GET_MODE (x2) != E_V16QImode
    4851            9 :           || GET_MODE (x5) != E_V16QImode
    4852           18 :           || !register_operand (operands[3], E_V16QImode))
    4853            0 :         return -1;
    4854            9 :       switch (GET_MODE (x3))
    4855              :         {
    4856            9 :         case E_V4SImode:
    4857            9 :           if (GET_MODE (x4) != E_V4SImode
    4858            9 :               || !vector_all_ones_operand (operands[4], E_V4SImode))
    4859            0 :             return -1;
    4860              :           return 0;
    4861              : 
    4862            0 :         case E_V2DImode:
    4863            0 :           if (GET_MODE (x4) != E_V2DImode
    4864            0 :               || !vector_all_ones_operand (operands[4], E_V2DImode))
    4865            0 :             return -1;
    4866              :           return 1;
    4867              : 
    4868              :         default:
    4869              :           return -1;
    4870              :         }
    4871              : 
    4872            0 :     case E_V32QImode:
    4873            0 :       if (!register_operand (operands[0], E_V32QImode)
    4874            0 :           || GET_MODE (x1) != E_V32QImode
    4875            0 :           || !vector_operand (operands[1], E_V32QImode)
    4876            0 :           || !register_operand (operands[2], E_V32QImode)
    4877            0 :           || GET_MODE (x2) != E_V32QImode
    4878            0 :           || GET_MODE (x5) != E_V32QImode
    4879            0 :           || !register_operand (operands[3], E_V32QImode))
    4880            0 :         return -1;
    4881            0 :       switch (GET_MODE (x3))
    4882              :         {
    4883            0 :         case E_V8SImode:
    4884            0 :           if (GET_MODE (x4) != E_V8SImode
    4885            0 :               || !vector_all_ones_operand (operands[4], E_V8SImode))
    4886            0 :             return -1;
    4887              :           return 2;
    4888              : 
    4889            0 :         case E_V4DImode:
    4890            0 :           if (GET_MODE (x4) != E_V4DImode
    4891            0 :               || !vector_all_ones_operand (operands[4], E_V4DImode))
    4892            0 :             return -1;
    4893              :           return 3;
    4894              : 
    4895              :         default:
    4896              :           return -1;
    4897              :         }
    4898              : 
    4899              :     default:
    4900              :       return -1;
    4901              :     }
    4902              : }
    4903              : 
    4904              : int
    4905            3 : pattern1259 (rtx x1, machine_mode i1)
    4906              : {
    4907            3 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4908            3 :   int res ATTRIBUTE_UNUSED;
    4909            3 :   if (!register_operand (operands[0], i1)
    4910            3 :       || GET_MODE (x1) != i1
    4911            3 :       || !bcst_vector_operand (operands[1], i1)
    4912            3 :       || !vector_all_ones_operand (operands[2], i1)
    4913            6 :       || !register_operand (operands[3], i1))
    4914            0 :     return -1;
    4915              :   return 0;
    4916              : }
    4917              : 
    4918              : int
    4919            2 : pattern1263 (rtx x1)
    4920              : {
    4921            2 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4922            2 :   rtx x2;
    4923            2 :   int res ATTRIBUTE_UNUSED;
    4924            2 :   if (maybe_ne (SUBREG_BYTE (x1), 0)
    4925            2 :       || GET_MODE (x1) != E_V2DImode)
    4926              :     return -1;
    4927            2 :   x2 = XEXP (x1, 0);
    4928            2 :   if (GET_CODE (x2) != UNSPEC
    4929            2 :       || XVECLEN (x2, 0) != 1
    4930            2 :       || XINT (x2, 1) != 120
    4931            2 :       || GET_MODE (x2) != E_V16QImode)
    4932            0 :     return -1;
    4933              :   return 0;
    4934              : }
    4935              : 
    4936              : int
    4937            2 : pattern1270 (rtx x1, machine_mode i1, machine_mode i2)
    4938              : {
    4939            2 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4940            2 :   int res ATTRIBUTE_UNUSED;
    4941            2 :   if (!vector_all_ones_operand (operands[3], i1)
    4942            2 :       || !const0_operand (operands[4], i1)
    4943            2 :       || GET_MODE (x1) != i2
    4944            2 :       || !vector_operand (operands[0], i1)
    4945            4 :       || !const0_operand (operands[1], i1))
    4946            0 :     return -1;
    4947              :   return 0;
    4948              : }
    4949              : 
    4950              : int
    4951            0 : pattern1274 (rtx x1, machine_mode i1)
    4952              : {
    4953            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4954            0 :   rtx x2, x3;
    4955            0 :   int res ATTRIBUTE_UNUSED;
    4956            0 :   if (!nonimmediate_operand (operands[0], i1)
    4957            0 :       || GET_MODE (x1) != i1)
    4958              :     return -1;
    4959            0 :   x2 = XEXP (x1, 0);
    4960            0 :   if (GET_MODE (x2) != i1)
    4961              :     return -1;
    4962            0 :   x3 = XEXP (x2, 0);
    4963            0 :   if (GET_MODE (x3) != i1
    4964            0 :       || !nonimmediate_operand (operands[1], i1)
    4965            0 :       || !immediate_operand (operands[2], i1))
    4966            0 :     return -1;
    4967              :   return 0;
    4968              : }
    4969              : 
    4970              : int
    4971          788 : pattern1282 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    4972              : {
    4973          788 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4974          788 :   rtx x2;
    4975          788 :   int res ATTRIBUTE_UNUSED;
    4976          788 :   if (!register_operand (operands[0], i1)
    4977          788 :       || GET_MODE (x1) != i1)
    4978              :     return -1;
    4979          746 :   x2 = XEXP (x1, 0);
    4980          746 :   if (GET_MODE (x2) != i1
    4981          746 :       || !register_operand (operands[1], i2)
    4982          746 :       || !register_operand (operands[2], i1)
    4983          746 :       || !nonimmediate_operand (operands[3], i1)
    4984         1492 :       || !register_operand (operands[4], i3))
    4985           29 :     return -1;
    4986              :   return 0;
    4987              : }
    4988              : 
    4989              : int
    4990         3444 : pattern1291 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
    4991              : {
    4992         3444 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4993         3444 :   rtx x2, x3;
    4994         3444 :   int res ATTRIBUTE_UNUSED;
    4995         3444 :   if (!register_operand (operands[0], i1)
    4996         3444 :       || GET_MODE (x1) != i1)
    4997              :     return -1;
    4998         3283 :   x2 = XEXP (x1, 0);
    4999         3283 :   if (GET_MODE (x2) != i1)
    5000              :     return -1;
    5001         3283 :   x3 = XEXP (x2, 0);
    5002         3283 :   if (GET_MODE (x3) != i4
    5003         3283 :       || !nonimmediate_operand (operands[1], i3)
    5004         3191 :       || !nonimm_or_0_operand (operands[2], i1)
    5005         6363 :       || !register_operand (operands[3], i2))
    5006          281 :     return -1;
    5007              :   return 0;
    5008              : }
    5009              : 
    5010              : int
    5011         1990 : pattern1301 (rtx x1, machine_mode i1, machine_mode i2)
    5012              : {
    5013         1990 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5014         1990 :   rtx x2, x3;
    5015         1990 :   int res ATTRIBUTE_UNUSED;
    5016         1990 :   if (!register_operand (operands[0], i1)
    5017         1990 :       || GET_MODE (x1) != i1)
    5018              :     return -1;
    5019         1873 :   x2 = XEXP (x1, 0);
    5020         1873 :   if (GET_MODE (x2) != i1)
    5021              :     return -1;
    5022         1873 :   x3 = XEXP (x2, 0);
    5023         1873 :   if (GET_MODE (x3) != i1
    5024         1873 :       || !vector_operand (operands[2], i1)
    5025         3746 :       || !register_operand (operands[4], i2))
    5026            0 :     return -1;
    5027              :   return 0;
    5028              : }
    5029              : 
    5030              : int
    5031         1131 : pattern1309 (rtx x1)
    5032              : {
    5033         1131 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5034         1131 :   rtx x2, x3;
    5035         1131 :   int res ATTRIBUTE_UNUSED;
    5036         1131 :   if (!register_operand (operands[0], E_V8SImode)
    5037         1131 :       || GET_MODE (x1) != E_V8SImode)
    5038              :     return -1;
    5039         1131 :   x2 = XVECEXP (x1, 0, 0);
    5040         1131 :   if (GET_MODE (x2) != E_V8SImode)
    5041              :     return -1;
    5042         1131 :   x3 = XEXP (x2, 0);
    5043         1131 :   if (GET_MODE (x3) != E_V8SImode
    5044         1131 :       || !nonimm_or_0_operand (operands[2], E_V8SImode)
    5045         2262 :       || !register_operand (operands[3], E_QImode))
    5046            3 :     return -1;
    5047         1128 :   switch (GET_MODE (operands[1]))
    5048              :     {
    5049            0 :     case E_V8HFmode:
    5050            0 :       if (!register_operand (operands[1], E_V8HFmode))
    5051              :         return -1;
    5052              :       return 0;
    5053              : 
    5054         1128 :     case E_V8DFmode:
    5055         1128 :       if (!register_operand (operands[1], E_V8DFmode))
    5056              :         return -1;
    5057              :       return 1;
    5058              : 
    5059              :     default:
    5060              :       return -1;
    5061              :     }
    5062              : }
    5063              : 
    5064              : int
    5065         3664 : pattern1318 (rtx x1, machine_mode i1, machine_mode i2)
    5066              : {
    5067         3664 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5068         3664 :   rtx x2, x3;
    5069         3664 :   int res ATTRIBUTE_UNUSED;
    5070         3664 :   if (!register_operand (operands[0], i1)
    5071         3664 :       || GET_MODE (x1) != i1)
    5072              :     return -1;
    5073         3576 :   x2 = XVECEXP (x1, 0, 0);
    5074         3576 :   if (GET_MODE (x2) != i1)
    5075              :     return -1;
    5076         3576 :   x3 = XEXP (x2, 0);
    5077         3576 :   if (GET_MODE (x3) != i1
    5078         3576 :       || !nonimm_or_0_operand (operands[2], i1)
    5079         7146 :       || !register_operand (operands[3], i2))
    5080           51 :     return -1;
    5081              :   return 0;
    5082              : }
    5083              : 
    5084              : int
    5085        18613 : pattern1324 (rtx x1)
    5086              : {
    5087        18613 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5088        18613 :   rtx x2, x3, x4, x5;
    5089        18613 :   int res ATTRIBUTE_UNUSED;
    5090        18613 :   x2 = XEXP (x1, 0);
    5091        18613 :   if (maybe_ne (SUBREG_BYTE (x2), 0))
    5092              :     return -1;
    5093        18613 :   x3 = XEXP (x2, 0);
    5094        18613 :   operands[0] = x3;
    5095        18613 :   if (!register_operand (operands[0], E_QImode))
    5096              :     return -1;
    5097        18410 :   x4 = XEXP (x1, 1);
    5098        18410 :   x5 = XEXP (x4, 2);
    5099        18410 :   operands[2] = x5;
    5100        18410 :   if (!register_operand (operands[2], E_QImode))
    5101              :     return -1;
    5102         5578 :   switch (GET_MODE (x2))
    5103              :     {
    5104         2397 :     case E_SImode:
    5105         2397 :       if (GET_MODE (x4) != E_SImode
    5106         2397 :           || !register_operand (operands[1], E_SImode))
    5107         1065 :         return -1;
    5108              :       return 0;
    5109              : 
    5110         2969 :     case E_DImode:
    5111         2969 :       if (GET_MODE (x4) != E_DImode
    5112         2969 :           || !register_operand (operands[1], E_DImode))
    5113         1305 :         return -1;
    5114              :       return 1;
    5115              : 
    5116              :     default:
    5117              :       return -1;
    5118              :     }
    5119              : }
    5120              : 
    5121              : int
    5122          118 : pattern1333 (rtx x1, machine_mode i1)
    5123              : {
    5124          118 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5125          118 :   int res ATTRIBUTE_UNUSED;
    5126          118 :   if (!register_operand (operands[0], i1)
    5127          118 :       || GET_MODE (x1) != i1
    5128          118 :       || !register_operand (operands[1], i1)
    5129          227 :       || !general_operand (operands[2], i1))
    5130           30 :     return -1;
    5131              :   return 0;
    5132              : }
    5133              : 
    5134              : int
    5135            0 : pattern1340 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    5136              : {
    5137            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5138            0 :   int res ATTRIBUTE_UNUSED;
    5139            0 :   if (!register_operand (operands[0], i3)
    5140            0 :       || GET_MODE (x1) != i3
    5141            0 :       || pattern563 (x1, 
    5142              : i1, 
    5143              : i2) != 0)
    5144            0 :     return -1;
    5145              :   return 0;
    5146              : }
    5147              : 
    5148              : int
    5149      1308764 : pattern1345 (rtx x1)
    5150              : {
    5151      1308764 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5152      1308764 :   rtx x2, x3;
    5153      1308764 :   int res ATTRIBUTE_UNUSED;
    5154      1308764 :   x2 = XEXP (x1, 0);
    5155      1308764 :   switch (GET_CODE (x2))
    5156              :     {
    5157      1305021 :     case REG:
    5158      1305021 :     case SUBREG:
    5159      1305021 :       operands[0] = x2;
    5160      1305021 :       switch (GET_MODE (operands[0]))
    5161              :         {
    5162       807827 :         case E_DImode:
    5163       807827 :           if (!register_operand (operands[0], E_DImode))
    5164              :             return -1;
    5165       807827 :           x3 = XEXP (x1, 1);
    5166       807827 :           if (GET_MODE (x3) != E_DImode)
    5167              :             return -1;
    5168              :           return 0;
    5169              : 
    5170        23500 :         case E_TImode:
    5171        23500 :           x3 = XEXP (x1, 1);
    5172        23500 :           if (pattern1343 (x3, 
    5173              : E_TImode) != 0)
    5174              :             return -1;
    5175              :           return 1;
    5176              : 
    5177              :         default:
    5178              :           return -1;
    5179              :         }
    5180              : 
    5181          108 :     case STRICT_LOW_PART:
    5182          108 :       res = pattern1344 (x1);
    5183          108 :       if (res >= 0)
    5184          108 :         return res + 2; /* [2, 3] */
    5185              :       return -1;
    5186              : 
    5187              :     default:
    5188              :       return -1;
    5189              :     }
    5190              : }
    5191              : 
    5192              : int
    5193         2208 : pattern1360 (rtx x1, machine_mode i1)
    5194              : {
    5195         2208 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5196         2208 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5197         2208 :   rtx x10, x11, x12, x13, x14, x15, x16;
    5198         2208 :   int res ATTRIBUTE_UNUSED;
    5199         2208 :   x2 = XVECEXP (x1, 0, 0);
    5200         2208 :   x3 = XEXP (x2, 1);
    5201         2208 :   if (GET_MODE (x3) != i1)
    5202              :     return -1;
    5203         1421 :   x4 = XVECEXP (x1, 0, 1);
    5204         1421 :   if (GET_CODE (x4) != CLOBBER)
    5205              :     return -1;
    5206         1421 :   x5 = XEXP (x4, 0);
    5207         1421 :   if (GET_CODE (x5) != REG
    5208         1421 :       || REGNO (x5) != 17
    5209         2842 :       || GET_MODE (x5) != E_CCmode)
    5210              :     return -1;
    5211         1421 :   x6 = XEXP (x2, 0);
    5212         1421 :   operands[4] = x6;
    5213         1421 :   if (!register_operand (operands[4], i1))
    5214              :     return -1;
    5215         1304 :   x7 = XEXP (x3, 0);
    5216         1304 :   operands[3] = x7;
    5217         1304 :   if (!register_operand (operands[3], i1))
    5218              :     return -1;
    5219         1300 :   x8 = XEXP (x3, 1);
    5220         1300 :   operands[2] = x8;
    5221         1300 :   if (!nonmemory_operand (operands[2], i1))
    5222              :     return -1;
    5223          395 :   x9 = PATTERN (peep2_next_insn (2));
    5224          395 :   if (GET_CODE (x9) != SET)
    5225              :     return -1;
    5226          341 :   x10 = XEXP (x9, 1);
    5227          341 :   if (!rtx_equal_p (x10, operands[4]))
    5228              :     return -1;
    5229            7 :   x11 = XEXP (x9, 0);
    5230            7 :   if (!rtx_equal_p (x11, operands[1]))
    5231              :     return -1;
    5232            0 :   x12 = PATTERN (peep2_next_insn (3));
    5233            0 :   if (GET_CODE (x12) != SET)
    5234              :     return -1;
    5235            0 :   x13 = XEXP (x12, 1);
    5236            0 :   if (GET_CODE (x13) != COMPARE
    5237            0 :       || GET_MODE (x13) != E_CCZmode)
    5238              :     return -1;
    5239            0 :   x14 = XEXP (x12, 0);
    5240            0 :   if (GET_CODE (x14) != REG
    5241            0 :       || REGNO (x14) != 17
    5242            0 :       || GET_MODE (x14) != E_CCZmode)
    5243              :     return -1;
    5244            0 :   x15 = XEXP (x13, 0);
    5245            0 :   operands[5] = x15;
    5246            0 :   if (!register_operand (operands[5], i1))
    5247              :     return -1;
    5248            0 :   x16 = XEXP (x13, 1);
    5249            0 :   operands[6] = x16;
    5250            0 :   if (!nonmemory_operand (operands[6], i1))
    5251              :     return -1;
    5252              :   return 0;
    5253              : }
    5254              : 
    5255              : int
    5256          276 : pattern1380 (rtx x1, machine_mode i1, machine_mode i2)
    5257              : {
    5258          276 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5259          276 :   rtx x2;
    5260          276 :   int res ATTRIBUTE_UNUSED;
    5261          276 :   if (!register_operand (operands[0], i2)
    5262          276 :       || GET_MODE (x1) != i2)
    5263              :     return -1;
    5264          264 :   x2 = XEXP (x1, 0);
    5265          264 :   if (GET_MODE (x2) != i2
    5266          264 :       || !register_operand (operands[1], i2)
    5267          264 :       || !register_operand (operands[2], i1)
    5268          524 :       || !nonimmediate_operand (operands[3], i1))
    5269            4 :     return -1;
    5270              :   return 0;
    5271              : }
    5272              : 
    5273              : int
    5274         1294 : pattern1389 (rtx x1, machine_mode i1, machine_mode i2)
    5275              : {
    5276         1294 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5277         1294 :   int res ATTRIBUTE_UNUSED;
    5278         1294 :   if (!bcst_vector_operand (operands[2], i2)
    5279         1290 :       || GET_MODE (x1) != i2
    5280         1290 :       || !bcst_vector_operand (operands[3], i2)
    5281         1290 :       || !const0_operand (operands[4], i2)
    5282         2584 :       || !register_operand (operands[5], i1))
    5283            4 :     return -1;
    5284              :   return 0;
    5285              : }
    5286              : 
    5287              : int
    5288          938 : pattern1396 (rtx x1, machine_mode i1, machine_mode i2)
    5289              : {
    5290          938 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5291          938 :   rtx x2, x3;
    5292          938 :   int res ATTRIBUTE_UNUSED;
    5293          938 :   if (!register_operand (operands[0], i1)
    5294          938 :       || GET_MODE (x1) != i1)
    5295              :     return -1;
    5296          891 :   x2 = XEXP (x1, 0);
    5297          891 :   if (GET_MODE (x2) != i1)
    5298              :     return -1;
    5299          891 :   x3 = XEXP (x2, 0);
    5300          891 :   if (GET_MODE (x3) != i1
    5301          891 :       || !bcst_vector_operand (operands[1], i1)
    5302         1780 :       || pattern1383 (
    5303              : i1, 
    5304              : i2) != 0)
    5305            4 :     return -1;
    5306              :   return 0;
    5307              : }
    5308              : 
    5309              : int
    5310          244 : pattern1404 (rtx x1, machine_mode i1)
    5311              : {
    5312          244 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5313          244 :   rtx x2, x3, x4;
    5314          244 :   int res ATTRIBUTE_UNUSED;
    5315          244 :   if (!register_operand (operands[0], i1)
    5316          244 :       || GET_MODE (x1) != i1)
    5317              :     return -1;
    5318          234 :   x2 = XEXP (x1, 0);
    5319          234 :   if (GET_MODE (x2) != i1)
    5320              :     return -1;
    5321          234 :   x3 = XEXP (x2, 0);
    5322          234 :   if (GET_MODE (x3) != i1
    5323          234 :       || !nonimmediate_operand (operands[1], i1)
    5324          468 :       || !nonimmediate_operand (operands[2], i1))
    5325            0 :     return -1;
    5326          234 :   x4 = XEXP (x2, 2);
    5327          234 :   if (GET_MODE (x4) != i1
    5328          234 :       || !nonimmediate_operand (operands[3], i1))
    5329            0 :     return -1;
    5330              :   return 0;
    5331              : }
    5332              : 
    5333              : int
    5334          279 : pattern1415 (rtx x1, machine_mode i1, machine_mode i2)
    5335              : {
    5336          279 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5337          279 :   rtx x2, x3, x4;
    5338          279 :   int res ATTRIBUTE_UNUSED;
    5339          279 :   if (!register_operand (operands[0], i2)
    5340          279 :       || GET_MODE (x1) != i2)
    5341              :     return -1;
    5342          258 :   x2 = XVECEXP (x1, 0, 0);
    5343          258 :   if (GET_MODE (x2) != i2)
    5344              :     return -1;
    5345          258 :   x3 = XEXP (x2, 0);
    5346          258 :   if (GET_MODE (x3) != i2)
    5347              :     return -1;
    5348          258 :   x4 = XEXP (x3, 0);
    5349          258 :   if (GET_MODE (x4) != i1)
    5350            0 :     return -1;
    5351              :   return 0;
    5352              : }
    5353              : 
    5354              : int
    5355          333 : pattern1423 (rtx x1, machine_mode i1)
    5356              : {
    5357          333 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5358          333 :   rtx x2, x3, x4;
    5359          333 :   int res ATTRIBUTE_UNUSED;
    5360          333 :   if (!register_operand (operands[0], i1)
    5361          333 :       || GET_MODE (x1) != i1)
    5362              :     return -1;
    5363          320 :   x2 = XVECEXP (x1, 0, 0);
    5364          320 :   if (GET_MODE (x2) != i1)
    5365              :     return -1;
    5366          320 :   x3 = XEXP (x2, 0);
    5367          320 :   if (GET_MODE (x3) != i1
    5368          320 :       || !register_operand (operands[1], i1)
    5369          632 :       || !register_operand (operands[2], i1))
    5370           13 :     return -1;
    5371          307 :   x4 = XEXP (x2, 2);
    5372          307 :   if (GET_MODE (x4) != i1
    5373          307 :       || !register_operand (operands[3], i1))
    5374            0 :     return -1;
    5375              :   return 0;
    5376              : }
    5377              : 
    5378              : int
    5379         5863 : pattern1431 (rtx x1)
    5380              : {
    5381         5863 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5382         5863 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5383         5863 :   rtx x10;
    5384         5863 :   int res ATTRIBUTE_UNUSED;
    5385         5863 :   x2 = XVECEXP (x1, 0, 0);
    5386         5863 :   x3 = XEXP (x2, 1);
    5387         5863 :   x4 = XVECEXP (x3, 0, 0);
    5388         5863 :   operands[2] = x4;
    5389         5863 :   if (!register_operand (operands[2], E_XFmode))
    5390              :     return -1;
    5391         5594 :   x5 = XVECEXP (x3, 0, 1);
    5392         5594 :   operands[3] = x5;
    5393         5594 :   if (!register_operand (operands[3], E_XFmode))
    5394              :     return -1;
    5395         5495 :   x6 = XVECEXP (x1, 0, 1);
    5396         5495 :   x7 = XEXP (x6, 0);
    5397         5495 :   operands[1] = x7;
    5398         5495 :   if (!register_operand (operands[1], E_XFmode))
    5399              :     return -1;
    5400         5495 :   x8 = XEXP (x6, 1);
    5401         5495 :   x9 = XVECEXP (x8, 0, 0);
    5402         5495 :   if (!rtx_equal_p (x9, operands[2]))
    5403              :     return -1;
    5404         5495 :   x10 = XVECEXP (x8, 0, 1);
    5405         5495 :   if (!rtx_equal_p (x10, operands[3]))
    5406              :     return -1;
    5407              :   return 0;
    5408              : }
    5409              : 
    5410              : int
    5411        11494 : pattern1445 (rtx x1, machine_mode i1)
    5412              : {
    5413        11494 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5414        11494 :   rtx x2;
    5415        11494 :   int res ATTRIBUTE_UNUSED;
    5416        11494 :   if (!register_operand (operands[0], i1)
    5417        11494 :       || GET_MODE (x1) != i1)
    5418              :     return -1;
    5419        11381 :   x2 = XEXP (x1, 0);
    5420        11381 :   if (GET_MODE (x2) != i1
    5421        11381 :       || !register_operand (operands[1], i1)
    5422        21740 :       || !register_operand (operands[2], i1))
    5423         9491 :     return -1;
    5424              :   return 0;
    5425              : }
    5426              : 
    5427              : int
    5428        72579 : pattern1453 (rtx x1, machine_mode i1)
    5429              : {
    5430        72579 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5431        72579 :   rtx x2;
    5432        72579 :   int res ATTRIBUTE_UNUSED;
    5433        72579 :   if (!register_operand (operands[1], i1)
    5434        72579 :       || !register_operand (operands[0], i1)
    5435       145158 :       || GET_MODE (x1) != i1)
    5436            0 :     return -1;
    5437        72579 :   x2 = XEXP (x1, 0);
    5438        72579 :   if (GET_MODE (x2) != i1
    5439        72579 :       || !register_operand (operands[4], i1)
    5440       145152 :       || !register_operand (operands[3], i1))
    5441         6975 :     return -1;
    5442              :   return 0;
    5443              : }
    5444              : 
    5445              : int
    5446      2211764 : pattern1459 (rtx x1)
    5447              : {
    5448      2211764 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5449      2211764 :   rtx x2, x3, x4, x5;
    5450      2211764 :   int res ATTRIBUTE_UNUSED;
    5451      2211764 :   x2 = XEXP (x1, 1);
    5452      2211764 :   x3 = XEXP (x2, 1);
    5453      2211764 :   operands[0] = x3;
    5454      2211764 :   x4 = XEXP (x1, 0);
    5455      2211764 :   switch (GET_MODE (x4))
    5456              :     {
    5457      1119545 :     case E_SImode:
    5458      1119545 :       if (GET_MODE (x2) != E_SImode)
    5459              :         return -1;
    5460      1119545 :       x5 = XEXP (x2, 0);
    5461      1119545 :       if (GET_MODE (x5) != E_SImode
    5462      1119545 :           || !const_int_operand (operands[0], E_SImode))
    5463            0 :         return -1;
    5464              :       return 0;
    5465              : 
    5466      1092219 :     case E_DImode:
    5467      1092219 :       if (GET_MODE (x2) != E_DImode)
    5468              :         return -1;
    5469      1092219 :       x5 = XEXP (x2, 0);
    5470      1092219 :       if (GET_MODE (x5) != E_DImode
    5471      1092219 :           || !const_int_operand (operands[0], E_DImode))
    5472          126 :         return -1;
    5473              :       return 1;
    5474              : 
    5475              :     default:
    5476              :       return -1;
    5477              :     }
    5478              : }
    5479              : 
    5480              : int
    5481         3504 : pattern1474 (rtx x1, machine_mode i1, machine_mode i2)
    5482              : {
    5483         3504 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5484         3504 :   rtx x2;
    5485         3504 :   int res ATTRIBUTE_UNUSED;
    5486         3504 :   if (!register_operand (operands[0], i1)
    5487         3326 :       || GET_MODE (x1) != i1
    5488         3326 :       || !nonimmediate_operand (operands[1], i1)
    5489         6772 :       || !general_operand (operands[2], i1))
    5490          827 :     return -1;
    5491         2677 :   x2 = XEXP (x1, 2);
    5492         2677 :   if (GET_MODE (x2) != i2
    5493         2677 :       || !nonimmediate_operand (operands[3], i1)
    5494         2304 :       || !general_operand (operands[4], i1)
    5495         4981 :       || !const_0_to_31_operand (operands[5], E_SImode))
    5496          373 :     return -1;
    5497              :   return 0;
    5498              : }
    5499              : 
    5500              : int
    5501         2268 : pattern1483 (rtx x1, machine_mode i1, machine_mode i2)
    5502              : {
    5503         2268 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5504         2268 :   rtx x2, x3;
    5505         2268 :   int res ATTRIBUTE_UNUSED;
    5506         2268 :   if (!register_operand (operands[0], i1)
    5507         2268 :       || GET_MODE (x1) != i1)
    5508              :     return -1;
    5509         2178 :   x2 = XEXP (x1, 0);
    5510         2178 :   if (GET_MODE (x2) != i1)
    5511              :     return -1;
    5512         2178 :   x3 = XEXP (x2, 0);
    5513         2178 :   if (GET_MODE (x3) != i2
    5514         2178 :       || !register_operand (operands[1], i1)
    5515         2130 :       || !nonimmediate_operand (operands[2], i2)
    5516         4218 :       || !nonimm_or_0_operand (operands[3], i1))
    5517          174 :     return -1;
    5518              :   return 0;
    5519              : }
    5520              : 
    5521              : int
    5522          232 : pattern1490 (rtx x1, int i1, int i2, int i3, int i4, int i5)
    5523              : {
    5524          232 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5525          232 :   rtx x2, x3, x4, x5, x6;
    5526          232 :   int res ATTRIBUTE_UNUSED;
    5527          232 :   x2 = XVECEXP (x1, 0, 7);
    5528          232 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
    5529              :     return -1;
    5530          232 :   x3 = XVECEXP (x1, 0, 8);
    5531          232 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
    5532              :     return -1;
    5533          232 :   x4 = XVECEXP (x1, 0, 9);
    5534          232 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
    5535              :     return -1;
    5536          232 :   x5 = XVECEXP (x1, 0, 10);
    5537          232 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
    5538              :     return -1;
    5539          232 :   x6 = XVECEXP (x1, 0, 11);
    5540          232 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1]
    5541          232 :       || pattern1482 (x1) != 0)
    5542            0 :     return -1;
    5543              :   return 0;
    5544              : }
    5545              : 
    5546              : int
    5547         1228 : pattern1501 (rtx x1)
    5548              : {
    5549         1228 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5550         1228 :   int res ATTRIBUTE_UNUSED;
    5551         1228 :   switch (GET_MODE (operands[1]))
    5552              :     {
    5553          897 :     case E_SImode:
    5554          897 :       if (!nonimmediate_operand (operands[1], E_SImode)
    5555          894 :           || !register_operand (operands[0], E_SImode)
    5556         1791 :           || GET_MODE (x1) != E_SImode)
    5557            3 :         return -1;
    5558              :       return 0;
    5559              : 
    5560          331 :     case E_DImode:
    5561          331 :       if (!nonimmediate_operand (operands[1], E_DImode)
    5562          331 :           || !register_operand (operands[0], E_DImode)
    5563          662 :           || GET_MODE (x1) != E_DImode)
    5564            0 :         return -1;
    5565              :       return 1;
    5566              : 
    5567              :     default:
    5568              :       return -1;
    5569              :     }
    5570              : }
    5571              : 
    5572              : int
    5573          272 : pattern1509 (rtx x1)
    5574              : {
    5575          272 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5576          272 :   rtx x2, x3, x4, x5, x6, x7, x8;
    5577          272 :   int res ATTRIBUTE_UNUSED;
    5578          272 :   x2 = XVECEXP (x1, 0, 1);
    5579          272 :   x3 = XEXP (x2, 1);
    5580          272 :   x4 = XEXP (x3, 0);
    5581          272 :   if (!rtx_equal_p (x4, operands[2]))
    5582              :     return -1;
    5583          272 :   x5 = XEXP (x3, 1);
    5584          272 :   if (!rtx_equal_p (x5, operands[3]))
    5585              :     return -1;
    5586          272 :   x6 = XVECEXP (x1, 0, 2);
    5587          272 :   switch (GET_CODE (x6))
    5588              :     {
    5589           12 :     case UNSPEC:
    5590           12 :       if (XVECLEN (x6, 0) != 1
    5591           12 :           || XINT (x6, 1) != 33)
    5592              :         return -1;
    5593           12 :       x7 = XVECEXP (x6, 0, 0);
    5594           12 :       if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    5595              :         return -1;
    5596              :       return 0;
    5597              : 
    5598          260 :     case USE:
    5599          260 :       x8 = XEXP (x6, 0);
    5600          260 :       operands[4] = x8;
    5601          260 :       if (!register_operand (operands[4], E_SImode))
    5602              :         return -1;
    5603              :       return 1;
    5604              : 
    5605              :     default:
    5606              :       return -1;
    5607              :     }
    5608              : }
    5609              : 
    5610              : int
    5611          183 : pattern1523 (rtx x1, machine_mode i1, machine_mode i2)
    5612              : {
    5613          183 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5614          183 :   rtx x2, x3;
    5615          183 :   int res ATTRIBUTE_UNUSED;
    5616          183 :   if (!register_operand (operands[0], i2)
    5617          183 :       || GET_MODE (x1) != i2)
    5618              :     return -1;
    5619          173 :   x2 = XEXP (x1, 0);
    5620          173 :   if (GET_MODE (x2) != i1)
    5621              :     return -1;
    5622          173 :   x3 = XEXP (x2, 0);
    5623          173 :   return pattern1522 (x3, 
    5624          173 : i1); /* [-1, 0] */
    5625              : }
    5626              : 
    5627              : int
    5628          187 : pattern1529 (rtx x1, machine_mode i1, machine_mode i2)
    5629              : {
    5630          187 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5631          187 :   rtx x2;
    5632          187 :   int res ATTRIBUTE_UNUSED;
    5633          187 :   if (!register_operand (operands[0], i2)
    5634          187 :       || GET_MODE (x1) != i2)
    5635              :     return -1;
    5636          179 :   x2 = XVECEXP (x1, 0, 0);
    5637          179 :   if (GET_MODE (x2) != i2
    5638          179 :       || !register_operand (operands[1], i2)
    5639          177 :       || !register_operand (operands[2], i2)
    5640          356 :       || !nonimmediate_operand (operands[3], i1))
    5641            2 :     return -1;
    5642              :   return 0;
    5643              : }
    5644              : 
    5645              : int
    5646         2950 : pattern1537 (rtx x1, machine_mode i1)
    5647              : {
    5648         2950 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5649         2950 :   int res ATTRIBUTE_UNUSED;
    5650         2950 :   if (!nonimmediate_operand (operands[0], i1)
    5651         2950 :       || GET_MODE (x1) != i1
    5652         2950 :       || !ix86_carry_flag_operator (operands[2], i1)
    5653         5900 :       || !nonimmediate_operand (operands[1], i1))
    5654          809 :     return -1;
    5655              :   return 0;
    5656              : }
    5657              : 
    5658              : int
    5659           36 : pattern1542 (rtx x1, rtx_code i1)
    5660              : {
    5661           36 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5662           36 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5663           36 :   rtx x10, x11, x12;
    5664           36 :   int res ATTRIBUTE_UNUSED;
    5665           36 :   x2 = XVECEXP (x1, 0, 1);
    5666           36 :   x3 = XEXP (x2, 1);
    5667           36 :   if (GET_CODE (x3) != i1)
    5668              :     return -1;
    5669           36 :   x4 = XVECEXP (x1, 0, 0);
    5670           36 :   x5 = XEXP (x4, 0);
    5671           36 :   operands[0] = x5;
    5672           36 :   x6 = XEXP (x4, 1);
    5673           36 :   x7 = XEXP (x6, 0);
    5674           36 :   x8 = XEXP (x7, 0);
    5675           36 :   operands[2] = x8;
    5676           36 :   if (!register_operand (operands[2], E_SImode))
    5677              :     return -1;
    5678           36 :   x9 = XEXP (x7, 1);
    5679           36 :   operands[3] = x9;
    5680           36 :   if (!nonimmediate_operand (operands[3], E_SImode))
    5681              :     return -1;
    5682           36 :   x10 = XEXP (x2, 0);
    5683           36 :   operands[1] = x10;
    5684           36 :   x11 = XEXP (x3, 0);
    5685           36 :   if (!rtx_equal_p (x11, operands[2]))
    5686              :     return -1;
    5687           36 :   x12 = XEXP (x3, 1);
    5688           36 :   if (!rtx_equal_p (x12, operands[3]))
    5689              :     return -1;
    5690              :   return 0;
    5691              : }
    5692              : 
    5693              : int
    5694         4404 : pattern1557 (rtx x1, machine_mode i1, machine_mode i2)
    5695              : {
    5696         4404 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5697         4404 :   rtx x2;
    5698         4404 :   int res ATTRIBUTE_UNUSED;
    5699         4404 :   if (GET_MODE (x1) != i1)
    5700              :     return -1;
    5701         4404 :   x2 = XEXP (x1, 0);
    5702         4404 :   if (GET_MODE (x2) != i1
    5703         4404 :       || !register_operand (operands[1], i2)
    5704         8779 :       || !nonimm_or_0_operand (operands[2], i1))
    5705           64 :     return -1;
    5706              :   return 0;
    5707              : }
    5708              : 
    5709              : int
    5710         1203 : pattern1562 (rtx x1, machine_mode i1, machine_mode i2)
    5711              : {
    5712         1203 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5713         1203 :   rtx x2, x3;
    5714         1203 :   int res ATTRIBUTE_UNUSED;
    5715         1203 :   if (!register_operand (operands[0], i1)
    5716         1203 :       || GET_MODE (x1) != i1)
    5717              :     return -1;
    5718         1184 :   x2 = XVECEXP (x1, 0, 0);
    5719         1184 :   if (GET_MODE (x2) != i1)
    5720              :     return -1;
    5721         1184 :   x3 = XEXP (x2, 0);
    5722         1184 :   if (GET_MODE (x3) != i1
    5723         1184 :       || !register_operand (operands[1], i1)
    5724         1184 :       || !nonimmediate_operand (operands[2], i1)
    5725         1184 :       || !nonimm_or_0_operand (operands[3], i1)
    5726         2368 :       || !register_operand (operands[4], i2))
    5727            0 :     return -1;
    5728              :   return 0;
    5729              : }
    5730              : 
    5731              : int
    5732        11191 : pattern1572 (rtx x1, machine_mode i1, machine_mode i2)
    5733              : {
    5734        11191 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5735        11191 :   rtx x2, x3, x4, x5, x6;
    5736        11191 :   int res ATTRIBUTE_UNUSED;
    5737        11191 :   x2 = XVECEXP (x1, 0, 0);
    5738        11191 :   x3 = XEXP (x2, 1);
    5739        11191 :   x4 = XEXP (x3, 0);
    5740        11191 :   x5 = XEXP (x4, 0);
    5741        11191 :   if (GET_MODE (x5) != i2
    5742        11191 :       || !nonimmediate_operand (operands[1], i1))
    5743          152 :     return -1;
    5744        11039 :   x6 = XEXP (x4, 1);
    5745        11039 :   if (GET_MODE (x6) != i2
    5746        11039 :       || !sext_operand (operands[2], i1)
    5747        22030 :       || pattern725 (x1, 
    5748              : i1, 
    5749              : i2) != 0)
    5750           48 :     return -1;
    5751              :   return 0;
    5752              : }
    5753              : 
    5754              : int
    5755       134951 : pattern1581 (rtx x1, machine_mode i1)
    5756              : {
    5757       134951 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5758       134951 :   rtx x2, x3, x4, x5;
    5759       134951 :   int res ATTRIBUTE_UNUSED;
    5760       134951 :   if (!register_operand (operands[0], i1))
    5761              :     return -1;
    5762       134951 :   x2 = XVECEXP (x1, 0, 0);
    5763       134951 :   x3 = XEXP (x2, 1);
    5764       134951 :   if (GET_MODE (x3) != i1
    5765       134951 :       || !memory_operand (operands[1], i1))
    5766         1102 :     return -1;
    5767       133849 :   x4 = XVECEXP (x1, 0, 1);
    5768       133849 :   x5 = XEXP (x4, 1);
    5769       133849 :   if (GET_MODE (x5) != i1
    5770       133849 :       || !nonmemory_operand (operands[2], i1))
    5771          591 :     return -1;
    5772              :   return 0;
    5773              : }
    5774              : 
    5775              : int
    5776        19946 : pattern1590 (rtx x1, machine_mode i1, machine_mode i2)
    5777              : {
    5778        19946 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5779        19946 :   rtx x2, x3;
    5780        19946 :   int res ATTRIBUTE_UNUSED;
    5781        19946 :   if (!register_operand (operands[1], i1)
    5782        19946 :       || GET_MODE (x1) != i2)
    5783              :     return -1;
    5784        16251 :   x2 = XEXP (x1, 0);
    5785        16251 :   if (GET_MODE (x2) != i2)
    5786              :     return -1;
    5787        16251 :   x3 = XEXP (x1, 1);
    5788        16251 :   if (GET_MODE (x3) != i2
    5789        16251 :       || !x86_64_sext_operand (operands[2], i1))
    5790         5715 :     return -1;
    5791              :   return 0;
    5792              : }
    5793              : 
    5794              : int
    5795         1584 : pattern1594 (rtx x1, machine_mode i1, machine_mode i2)
    5796              : {
    5797         1584 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5798         1584 :   rtx x2, x3;
    5799         1584 :   int res ATTRIBUTE_UNUSED;
    5800         1584 :   if (!register_operand (operands[0], i1)
    5801         1584 :       || GET_MODE (x1) != i1)
    5802              :     return -1;
    5803         1552 :   x2 = XEXP (x1, 0);
    5804         1552 :   if (GET_MODE (x2) != i1)
    5805              :     return -1;
    5806         1552 :   x3 = XEXP (x2, 0);
    5807         1552 :   if (GET_MODE (x3) != i2
    5808         1552 :       || !register_operand (operands[1], i1)
    5809         1552 :       || !vector_operand (operands[2], i1)
    5810         3081 :       || !nonimm_or_0_operand (operands[3], i1))
    5811           61 :     return -1;
    5812              :   return 0;
    5813              : }
    5814              : 
    5815              : int
    5816         1248 : pattern1602 (rtx x1, machine_mode i1, machine_mode i2)
    5817              : {
    5818         1248 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5819         1248 :   rtx x2, x3;
    5820         1248 :   int res ATTRIBUTE_UNUSED;
    5821         1248 :   if (!register_operand (operands[0], i2)
    5822         1248 :       || GET_MODE (x1) != i2)
    5823              :     return -1;
    5824         1225 :   x2 = XVECEXP (x1, 0, 0);
    5825         1225 :   if (GET_MODE (x2) != i2)
    5826              :     return -1;
    5827         1225 :   x3 = XEXP (x2, 0);
    5828         1225 :   if (GET_MODE (x3) != i2
    5829         1225 :       || !register_operand (operands[2], i2)
    5830         2440 :       || !register_operand (operands[4], i1))
    5831           10 :     return -1;
    5832              :   return 0;
    5833              : }
    5834              : 
    5835              : int
    5836         1223 : pattern1612 (rtx x1, machine_mode i1, machine_mode i2)
    5837              : {
    5838         1223 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5839         1223 :   rtx x2, x3, x4, x5;
    5840         1223 :   int res ATTRIBUTE_UNUSED;
    5841         1223 :   if (!register_operand (operands[0], i2)
    5842         1223 :       || GET_MODE (x1) != i2)
    5843              :     return -1;
    5844         1200 :   x2 = XVECEXP (x1, 0, 0);
    5845         1200 :   if (GET_MODE (x2) != i2)
    5846              :     return -1;
    5847         1200 :   x3 = XEXP (x2, 0);
    5848         1200 :   if (GET_MODE (x3) != i2)
    5849              :     return -1;
    5850         1200 :   x4 = XEXP (x3, 0);
    5851         1200 :   if (GET_MODE (x4) != i2
    5852         1200 :       || !register_operand (operands[2], i2))
    5853           10 :     return -1;
    5854         1190 :   x5 = XEXP (x3, 2);
    5855         1190 :   if (GET_MODE (x5) != i2
    5856         1190 :       || !register_operand (operands[4], i1))
    5857            0 :     return -1;
    5858              :   return 0;
    5859              : }
    5860              : 
    5861              : int
    5862          189 : pattern1621 (rtx x1, machine_mode i1, machine_mode i2)
    5863              : {
    5864          189 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5865          189 :   int res ATTRIBUTE_UNUSED;
    5866          189 :   if (!register_operand (operands[6], i2)
    5867          189 :       || !register_operand (operands[2], i1))
    5868           59 :     return -1;
    5869          130 :   switch (GET_MODE (x1))
    5870              :     {
    5871            0 :     case E_SImode:
    5872            0 :       if (!vsib_address_operand (operands[3], E_SImode))
    5873              :         return -1;
    5874              :       return 0;
    5875              : 
    5876          130 :     case E_DImode:
    5877          130 :       if (!vsib_address_operand (operands[3], E_DImode))
    5878              :         return -1;
    5879              :       return 1;
    5880              : 
    5881              :     default:
    5882              :       return -1;
    5883              :     }
    5884              : }
    5885              : 
    5886              : int
    5887          206 : pattern1630 (rtx x1, machine_mode i1, machine_mode i2)
    5888              : {
    5889          206 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5890          206 :   rtx x2, x3;
    5891          206 :   int res ATTRIBUTE_UNUSED;
    5892          206 :   if (!register_operand (operands[0], i2)
    5893          188 :       || GET_MODE (x1) != i2
    5894          188 :       || !register_operand (operands[6], E_QImode)
    5895          242 :       || !vsib_mem_operator (operands[5], i1))
    5896          170 :     return -1;
    5897           36 :   x2 = XVECEXP (x1, 0, 2);
    5898           36 :   x3 = XEXP (x2, 0);
    5899           36 :   switch (GET_MODE (x3))
    5900              :     {
    5901            0 :     case E_SImode:
    5902            0 :       return pattern1629 (
    5903            0 : E_SImode); /* [-1, 1] */
    5904              : 
    5905           36 :     case E_DImode:
    5906           36 :       res = pattern1629 (
    5907              : E_DImode);
    5908           36 :       if (res >= 0)
    5909           30 :         return res + 2; /* [2, 3] */
    5910              :       return -1;
    5911              : 
    5912              :     default:
    5913              :       return -1;
    5914              :     }
    5915              : }
    5916              : 
    5917              : int
    5918        12004 : pattern1641 (rtx x1, machine_mode i1)
    5919              : {
    5920        12004 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5921        12004 :   rtx x2;
    5922        12004 :   int res ATTRIBUTE_UNUSED;
    5923        12004 :   if (!nonimmediate_operand (operands[0], i1)
    5924        12004 :       || GET_MODE (x1) != i1)
    5925              :     return -1;
    5926        12004 :   x2 = XEXP (x1, 0);
    5927        12004 :   if (GET_MODE (x2) != i1
    5928        12004 :       || !nonimmediate_operand (operands[1], i1)
    5929        11986 :       || !ix86_carry_flag_operator (operands[4], i1)
    5930        23990 :       || !x86_64_general_operand (operands[2], i1))
    5931           37 :     return -1;
    5932              :   return 0;
    5933              : }
    5934              : 
    5935              : int
    5936          422 : pattern1652 (rtx x1, machine_mode i1, machine_mode i2)
    5937              : {
    5938          422 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5939          422 :   rtx x2, x3, x4, x5, x6;
    5940          422 :   int res ATTRIBUTE_UNUSED;
    5941          422 :   if (!register_operand (operands[0], i1)
    5942          422 :       || GET_MODE (x1) != i1)
    5943              :     return -1;
    5944          402 :   x2 = XEXP (x1, 0);
    5945          402 :   if (GET_MODE (x2) != i2)
    5946              :     return -1;
    5947          402 :   x3 = XEXP (x2, 0);
    5948          402 :   if (GET_MODE (x3) != i2)
    5949              :     return -1;
    5950          402 :   x4 = XEXP (x3, 0);
    5951          402 :   if (GET_MODE (x4) != i2)
    5952              :     return -1;
    5953          402 :   x5 = XEXP (x4, 0);
    5954          402 :   if (GET_MODE (x5) != i2
    5955          402 :       || !register_mmxmem_operand (operands[1], i1))
    5956           16 :     return -1;
    5957          386 :   x6 = XEXP (x4, 1);
    5958          386 :   if (GET_MODE (x6) != i2
    5959          386 :       || !register_mmxmem_operand (operands[2], i1))
    5960           12 :     return -1;
    5961              :   return 0;
    5962              : }
    5963              : 
    5964              : int
    5965         1084 : pattern1662 (rtx x1)
    5966              : {
    5967         1084 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5968         1084 :   rtx x2, x3;
    5969         1084 :   int res ATTRIBUTE_UNUSED;
    5970         1084 :   x2 = XVECEXP (x1, 0, 0);
    5971         1084 :   x3 = XEXP (x2, 1);
    5972         1084 :   if (!rtx_equal_p (x3, operands[1]))
    5973              :     return -1;
    5974         1084 :   switch (GET_MODE (operands[0]))
    5975              :     {
    5976          484 :     case E_V8HFmode:
    5977          484 :       return pattern1661 (x1, 
    5978          484 : E_V8HFmode); /* [-1, 0] */
    5979              : 
    5980          300 :     case E_V4SFmode:
    5981          300 :       if (pattern1661 (x1, 
    5982              : E_V4SFmode) != 0)
    5983              :         return -1;
    5984              :       return 1;
    5985              : 
    5986          300 :     case E_V2DFmode:
    5987          300 :       if (pattern1661 (x1, 
    5988              : E_V2DFmode) != 0)
    5989              :         return -1;
    5990              :       return 2;
    5991              : 
    5992              :     default:
    5993              :       return -1;
    5994              :     }
    5995              : }
    5996              : 
    5997              : int
    5998          250 : pattern1671 (rtx x1, machine_mode i1, machine_mode i2)
    5999              : {
    6000          250 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6001          250 :   rtx x2, x3;
    6002          250 :   int res ATTRIBUTE_UNUSED;
    6003          250 :   if (!register_operand (operands[0], i2)
    6004          230 :       || GET_MODE (x1) != i2
    6005          230 :       || !register_operand (operands[1], i2)
    6006          230 :       || !register_operand (operands[7], E_QImode)
    6007          391 :       || !vsib_mem_operator (operands[6], i1))
    6008          109 :     return -1;
    6009          141 :   x2 = XVECEXP (x1, 0, 2);
    6010          141 :   x3 = XEXP (x2, 0);
    6011          141 :   switch (GET_MODE (x3))
    6012              :     {
    6013            0 :     case E_SImode:
    6014            0 :       return pattern1670 (
    6015            0 : E_SImode); /* [-1, 1] */
    6016              : 
    6017          141 :     case E_DImode:
    6018          141 :       res = pattern1670 (
    6019              : E_DImode);
    6020          141 :       if (res >= 0)
    6021           98 :         return res + 2; /* [2, 3] */
    6022              :       return -1;
    6023              : 
    6024              :     default:
    6025              :       return -1;
    6026              :     }
    6027              : }
    6028              : 
    6029              : int
    6030            0 : pattern1684 (rtx x1, machine_mode i1, machine_mode i2)
    6031              : {
    6032            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6033            0 :   rtx x2, x3;
    6034            0 :   int res ATTRIBUTE_UNUSED;
    6035            0 :   if (!register_operand (operands[0], i1)
    6036            0 :       || !addsub_vs_operator (operands[7], i1)
    6037            0 :       || GET_MODE (x1) != i2)
    6038            0 :     return -1;
    6039            0 :   x2 = XEXP (x1, 0);
    6040            0 :   if (GET_MODE (x2) != i1
    6041            0 :       || !vector_operand (operands[1], i1)
    6042            0 :       || !vector_operand (operands[2], i1))
    6043            0 :     return -1;
    6044            0 :   x3 = XEXP (x1, 1);
    6045            0 :   if (GET_MODE (x3) != i1
    6046            0 :       || !register_operand (operands[3], i1)
    6047            0 :       || !vector_operand (operands[4], i1))
    6048            0 :     return -1;
    6049              :   return 0;
    6050              : }
    6051              : 
    6052              : int
    6053         5991 : pattern1696 (rtx x1, machine_mode i1, machine_mode i2)
    6054              : {
    6055         5991 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6056         5991 :   rtx x2;
    6057         5991 :   int res ATTRIBUTE_UNUSED;
    6058         5991 :   if (!register_operand (operands[0], i1)
    6059         5991 :       || GET_MODE (x1) != i1)
    6060              :     return -1;
    6061         5970 :   x2 = XEXP (x1, 0);
    6062         5970 :   if (GET_MODE (x2) != i2
    6063         5970 :       || !register_operand (operands[1], i1)
    6064         5889 :       || !nonimmediate_operand (operands[2], i1)
    6065         5853 :       || !const_0_to_7_operand (operands[3], E_VOIDmode)
    6066        10642 :       || pattern1695 () != 0)
    6067         4304 :     return -1;
    6068              :   return 0;
    6069              : }
    6070              : 
    6071              : int
    6072       235875 : pattern1704 (rtx x1, machine_mode i1)
    6073              : {
    6074       235875 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6075       235875 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6076       235875 :   int res ATTRIBUTE_UNUSED;
    6077       235875 :   x2 = XVECEXP (x1, 0, 0);
    6078       235875 :   x3 = XEXP (x2, 0);
    6079       235875 :   if (GET_MODE (x3) != i1)
    6080              :     return -1;
    6081       235875 :   x4 = XEXP (x2, 1);
    6082       235875 :   if (GET_MODE (x4) != i1)
    6083              :     return -1;
    6084       235875 :   x5 = XEXP (x4, 0);
    6085       235875 :   if (GET_MODE (x5) != i1)
    6086              :     return -1;
    6087       235875 :   x6 = XVECEXP (x1, 0, 1);
    6088       235875 :   x7 = XEXP (x6, 0);
    6089       235875 :   if (GET_MODE (x7) != i1)
    6090              :     return -1;
    6091       235875 :   x8 = XEXP (x6, 1);
    6092       235875 :   if (GET_MODE (x8) != i1)
    6093              :     return -1;
    6094       235875 :   x9 = XEXP (x8, 0);
    6095       235875 :   if (GET_MODE (x9) != i1)
    6096            0 :     return -1;
    6097              :   return 0;
    6098              : }
    6099              : 
    6100              : int
    6101        10002 : pattern1713 (rtx x1)
    6102              : {
    6103        10002 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6104        10002 :   rtx x2, x3, x4, x5, x6, x7, x8;
    6105        10002 :   int res ATTRIBUTE_UNUSED;
    6106        10002 :   x2 = XVECEXP (x1, 0, 0);
    6107        10002 :   x3 = XEXP (x2, 1);
    6108        10002 :   x4 = XVECEXP (x3, 0, 3);
    6109        10002 :   operands[4] = x4;
    6110        10002 :   if (!const_int_operand (operands[4], E_SImode))
    6111              :     return -1;
    6112        10002 :   x5 = XVECEXP (x3, 0, 1);
    6113        10002 :   if (!rtx_equal_p (x5, operands[0]))
    6114              :     return -1;
    6115         7105 :   x6 = XEXP (x2, 0);
    6116         7105 :   if (!rtx_equal_p (x6, operands[0]))
    6117              :     return -1;
    6118         7105 :   x7 = XVECEXP (x1, 0, 1);
    6119         7105 :   x8 = XEXP (x7, 0);
    6120         7105 :   if (!rtx_equal_p (x8, operands[2]))
    6121              :     return -1;
    6122              :   return 0;
    6123              : }
    6124              : 
    6125              : int
    6126          432 : pattern1721 (machine_mode i1)
    6127              : {
    6128          432 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6129          432 :   int res ATTRIBUTE_UNUSED;
    6130          432 :   if (!vsib_address_operand (operands[0], i1))
    6131              :     return -1;
    6132          409 :   switch (GET_MODE (operands[2]))
    6133              :     {
    6134          208 :     case E_V16SImode:
    6135          208 :       if (!register_operand (operands[2], E_V16SImode)
    6136          151 :           || !register_operand (operands[6], E_HImode)
    6137          270 :           || !register_operand (operands[3], E_V16SFmode))
    6138          167 :         return -1;
    6139              :       return 0;
    6140              : 
    6141          201 :     case E_V8DImode:
    6142          201 :       if (!register_operand (operands[2], E_V8DImode)
    6143          184 :           || !register_operand (operands[6], E_QImode)
    6144          291 :           || !register_operand (operands[3], E_V8SFmode))
    6145          165 :         return -1;
    6146              :       return 1;
    6147              : 
    6148              :     default:
    6149              :       return -1;
    6150              :     }
    6151              : }
    6152              : 
    6153              : int
    6154         1570 : pattern1734 (machine_mode i1)
    6155              : {
    6156         1570 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6157         1570 :   int res ATTRIBUTE_UNUSED;
    6158         1570 :   if (!vsib_address_operand (operands[0], i1))
    6159              :     return -1;
    6160         1518 :   switch (GET_MODE (operands[2]))
    6161              :     {
    6162          790 :     case E_V4SImode:
    6163          790 :       if (!register_operand (operands[2], E_V4SImode))
    6164              :         return -1;
    6165              :       return 0;
    6166              : 
    6167          728 :     case E_V2DImode:
    6168          728 :       if (!register_operand (operands[2], E_V2DImode))
    6169              :         return -1;
    6170              :       return 1;
    6171              : 
    6172              :     default:
    6173              :       return -1;
    6174              :     }
    6175              : }
    6176              : 
    6177              : int
    6178          177 : pattern1741 (rtx x1, machine_mode i1, machine_mode i2)
    6179              : {
    6180          177 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6181          177 :   rtx x2, x3;
    6182          177 :   int res ATTRIBUTE_UNUSED;
    6183          177 :   if (!register_operand (operands[0], i2)
    6184          177 :       || GET_MODE (x1) != i2
    6185          177 :       || !register_operand (operands[6], E_QImode)
    6186          124 :       || !vsib_mem_operator (operands[5], i1)
    6187          301 :       || !scratch_operand (operands[1], E_QImode))
    6188           53 :     return -1;
    6189          124 :   x2 = XVECEXP (x1, 0, 2);
    6190          124 :   x3 = XEXP (x2, 0);
    6191          124 :   switch (GET_MODE (x3))
    6192              :     {
    6193            0 :     case E_SImode:
    6194            0 :       return pattern1740 (
    6195            0 : E_SImode); /* [-1, 1] */
    6196              : 
    6197          124 :     case E_DImode:
    6198          124 :       res = pattern1740 (
    6199              : E_DImode);
    6200          124 :       if (res >= 0)
    6201          116 :         return res + 2; /* [2, 3] */
    6202              :       return -1;
    6203              : 
    6204              :     default:
    6205              :       return -1;
    6206              :     }
    6207              : }
    6208              : 
    6209              : int
    6210         1363 : pattern1755 (rtx x1, machine_mode i1)
    6211              : {
    6212         1363 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6213         1363 :   rtx x2, x3, x4;
    6214         1363 :   int res ATTRIBUTE_UNUSED;
    6215         1363 :   if (!register_operand (operands[0], i1)
    6216         1363 :       || GET_MODE (x1) != i1)
    6217              :     return -1;
    6218         1349 :   x2 = XVECEXP (x1, 0, 0);
    6219         1349 :   if (GET_MODE (x2) != i1)
    6220              :     return -1;
    6221         1349 :   x3 = XEXP (x2, 0);
    6222         1349 :   if (GET_MODE (x3) != i1)
    6223              :     return -1;
    6224         1349 :   x4 = XEXP (x3, 0);
    6225         1349 :   if (GET_MODE (x4) != i1
    6226         1349 :       || !nonimmediate_operand (operands[1], i1)
    6227         1349 :       || !register_operand (operands[2], i1)
    6228         1349 :       || !register_operand (operands[3], i1)
    6229         2698 :       || !const0_operand (operands[4], i1))
    6230            0 :     return -1;
    6231              :   return 0;
    6232              : }
    6233              : 
    6234              : int
    6235          429 : pattern1762 (rtx x1, machine_mode i1, machine_mode i2)
    6236              : {
    6237          429 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6238          429 :   rtx x2, x3;
    6239          429 :   int res ATTRIBUTE_UNUSED;
    6240          429 :   if (!register_operand (operands[0], i1)
    6241          405 :       || GET_MODE (x1) != i1
    6242          405 :       || !register_operand (operands[2], i1)
    6243          404 :       || !vsib_mem_operator (operands[7], i2)
    6244          833 :       || !register_operand (operands[5], i1))
    6245          153 :     return -1;
    6246          276 :   x2 = XVECEXP (x1, 0, 1);
    6247          276 :   x3 = XEXP (x2, 0);
    6248          276 :   switch (GET_MODE (x3))
    6249              :     {
    6250            0 :     case E_SImode:
    6251            0 :       return pattern1761 (
    6252            0 : E_SImode); /* [-1, 1] */
    6253              : 
    6254          276 :     case E_DImode:
    6255          276 :       res = pattern1761 (
    6256              : E_DImode);
    6257          276 :       if (res >= 0)
    6258          139 :         return res + 2; /* [2, 3] */
    6259              :       return -1;
    6260              : 
    6261              :     default:
    6262              :       return -1;
    6263              :     }
    6264              : }
    6265              : 
    6266              : int
    6267            6 : pattern1772 (rtx x1, machine_mode i1)
    6268              : {
    6269            6 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6270            6 :   int res ATTRIBUTE_UNUSED;
    6271            6 :   if (GET_MODE (x1) != i1
    6272            6 :       || !ix86_carry_flag_operator (operands[3], i1)
    6273            6 :       || !nonimmediate_operand (operands[1], i1)
    6274           12 :       || !x86_64_general_operand (operands[2], i1))
    6275            0 :     return -1;
    6276              :   return 0;
    6277              : }
    6278              : 
    6279              : int
    6280          230 : pattern1780 (rtx x1)
    6281              : {
    6282          230 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6283          230 :   rtx x2;
    6284          230 :   int res ATTRIBUTE_UNUSED;
    6285          230 :   if (!register_operand (operands[0], E_V8SFmode)
    6286          230 :       || GET_MODE (x1) != E_V8SFmode)
    6287              :     return -1;
    6288          222 :   x2 = XEXP (x1, 0);
    6289          222 :   switch (GET_MODE (x2))
    6290              :     {
    6291          112 :     case E_V8HFmode:
    6292          112 :       if (!memory_operand (operands[1], E_V16HFmode))
    6293              :         return -1;
    6294              :       return 0;
    6295              : 
    6296          110 :     case E_V8BFmode:
    6297          110 :       if (!memory_operand (operands[1], E_V16BFmode))
    6298              :         return -1;
    6299              :       return 1;
    6300              : 
    6301              :     default:
    6302              :       return -1;
    6303              :     }
    6304              : }
    6305              : 
    6306              : int
    6307          327 : pattern1790 (rtx x1, machine_mode i1, machine_mode i2)
    6308              : {
    6309          327 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6310          327 :   rtx x2, x3, x4;
    6311          327 :   int res ATTRIBUTE_UNUSED;
    6312          327 :   if (!register_operand (operands[0], i1)
    6313          327 :       || GET_MODE (x1) != i1)
    6314              :     return -1;
    6315          321 :   x2 = XVECEXP (x1, 0, 0);
    6316          321 :   if (GET_MODE (x2) != i1)
    6317              :     return -1;
    6318          321 :   x3 = XEXP (x2, 0);
    6319          321 :   if (GET_MODE (x3) != i1)
    6320              :     return -1;
    6321          321 :   x4 = XEXP (x3, 0);
    6322          321 :   if (GET_MODE (x4) != i1
    6323          321 :       || !register_operand (operands[1], i1)
    6324          321 :       || !register_operand (operands[2], i1)
    6325          321 :       || !register_operand (operands[3], i2)
    6326          642 :       || !const0_operand (operands[5], i1))
    6327            0 :     return -1;
    6328              :   return 0;
    6329              : }
    6330              : 
    6331              : int
    6332          523 : pattern1799 (machine_mode i1)
    6333              : {
    6334          523 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6335          523 :   int res ATTRIBUTE_UNUSED;
    6336          523 :   if (!vsib_address_operand (operands[2], i1))
    6337              :     return -1;
    6338          505 :   switch (GET_MODE (operands[3]))
    6339              :     {
    6340          276 :     case E_V4SImode:
    6341          276 :       if (!register_operand (operands[3], E_V4SImode))
    6342              :         return -1;
    6343              :       return 0;
    6344              : 
    6345          229 :     case E_V4DImode:
    6346          229 :       if (!register_operand (operands[3], E_V4DImode))
    6347              :         return -1;
    6348              :       return 1;
    6349              : 
    6350              :     default:
    6351              :       return -1;
    6352              :     }
    6353              : }
    6354              : 
    6355              : int
    6356          535 : pattern1806 (rtx x1)
    6357              : {
    6358          535 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6359          535 :   rtx x2, x3;
    6360          535 :   int res ATTRIBUTE_UNUSED;
    6361          535 :   if (GET_MODE (x1) != E_SImode
    6362          535 :       || !general_reg_operand (operands[4], E_SImode))
    6363            0 :     return -1;
    6364          535 :   x2 = XEXP (x1, 0);
    6365          535 :   if (!rtx_equal_p (x2, operands[2]))
    6366              :     return -1;
    6367          535 :   x3 = XEXP (x1, 1);
    6368          535 :   if (!rtx_equal_p (x3, operands[0]))
    6369              :     return -1;
    6370              :   return 0;
    6371              : }
    6372              : 
    6373              : int
    6374         1285 : pattern1813 (rtx x1, machine_mode i1, machine_mode i2)
    6375              : {
    6376         1285 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6377         1285 :   rtx x2, x3;
    6378         1285 :   int res ATTRIBUTE_UNUSED;
    6379         1285 :   if (!register_operand (operands[0], i1)
    6380         1285 :       || GET_MODE (x1) != i1)
    6381              :     return -1;
    6382          280 :   x2 = XEXP (x1, 0);
    6383          280 :   if (GET_MODE (x2) != i2
    6384          280 :       || !nonimmediate_operand (operands[1], i1))
    6385            0 :     return -1;
    6386          280 :   x3 = XEXP (x2, 1);
    6387          280 :   if (!rtx_equal_p (x3, operands[1]))
    6388              :     return -1;
    6389              :   return 0;
    6390              : }
    6391              : 
    6392              : int
    6393          769 : pattern1819 (rtx x1, machine_mode i1, machine_mode i2)
    6394              : {
    6395          769 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6396          769 :   int res ATTRIBUTE_UNUSED;
    6397          769 :   if (!register_operand (operands[0], i1)
    6398          765 :       || GET_MODE (x1) != i1
    6399          765 :       || !vsib_mem_operator (operands[7], i2)
    6400         1534 :       || !scratch_operand (operands[1], i1))
    6401            4 :     return -1;
    6402              :   return 0;
    6403              : }
    6404              : 
    6405              : int
    6406            1 : pattern1824 (rtx x1, machine_mode i1)
    6407              : {
    6408            1 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6409            1 :   rtx x2, x3, x4, x5, x6, x7;
    6410            1 :   int res ATTRIBUTE_UNUSED;
    6411            1 :   x2 = XVECEXP (x1, 0, 0);
    6412            1 :   x3 = XEXP (x2, 1);
    6413            1 :   x4 = XEXP (x3, 0);
    6414            1 :   x5 = XEXP (x4, 0);
    6415            1 :   if (GET_MODE (x5) != i1
    6416            1 :       || !nonimmediate_operand (operands[1], i1)
    6417            2 :       || !ix86_carry_flag_operator (operands[4], i1))
    6418            0 :     return -1;
    6419            1 :   x6 = XVECEXP (x1, 0, 1);
    6420            1 :   x7 = XEXP (x6, 1);
    6421            1 :   return pattern1820 (x7, 
    6422            1 : i1); /* [-1, 0] */
    6423              : }
    6424              : 
    6425              : int
    6426         5593 : pattern1832 (rtx x1, machine_mode i1)
    6427              : {
    6428         5593 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6429         5593 :   rtx x2, x3, x4, x5, x6, x7, x8;
    6430         5593 :   int res ATTRIBUTE_UNUSED;
    6431         5593 :   x2 = XEXP (x1, 1);
    6432         5593 :   if (!rtx_equal_p (x2, operands[4]))
    6433              :     return -1;
    6434          473 :   x3 = XEXP (x1, 0);
    6435          473 :   if (!rtx_equal_p (x3, operands[1]))
    6436              :     return -1;
    6437           32 :   x4 = PATTERN (peep2_next_insn (3));
    6438           32 :   if (GET_CODE (x4) != SET)
    6439              :     return -1;
    6440           25 :   x5 = XEXP (x4, 1);
    6441           25 :   if (GET_CODE (x5) != COMPARE
    6442           11 :       || GET_MODE (x5) != E_CCZmode)
    6443              :     return -1;
    6444            5 :   x6 = XEXP (x4, 0);
    6445            5 :   if (GET_CODE (x6) != REG
    6446            5 :       || REGNO (x6) != 17
    6447           10 :       || GET_MODE (x6) != E_CCZmode)
    6448              :     return -1;
    6449            5 :   x7 = XEXP (x5, 0);
    6450            5 :   operands[5] = x7;
    6451            5 :   if (!register_operand (operands[5], i1))
    6452              :     return -1;
    6453            5 :   x8 = XEXP (x5, 1);
    6454            5 :   operands[6] = x8;
    6455            5 :   if (!x86_64_nonmemory_operand (operands[6], i1))
    6456              :     return -1;
    6457              :   return 0;
    6458              : }
    6459              : 
    6460              : int
    6461          434 : pattern1847 (machine_mode i1)
    6462              : {
    6463          434 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6464          434 :   int res ATTRIBUTE_UNUSED;
    6465          434 :   if (!vsib_address_operand (operands[0], i1))
    6466              :     return -1;
    6467          421 :   switch (GET_MODE (operands[2]))
    6468              :     {
    6469          227 :     case E_V8SImode:
    6470          227 :       if (!register_operand (operands[2], E_V8SImode)
    6471          227 :           || !register_operand (operands[3], E_V8SImode))
    6472           38 :         return -1;
    6473              :       return 0;
    6474              : 
    6475          194 :     case E_V4DImode:
    6476          194 :       if (!register_operand (operands[2], E_V4DImode)
    6477          194 :           || !register_operand (operands[3], E_V4SImode))
    6478           21 :         return -1;
    6479              :       return 1;
    6480              : 
    6481              :     default:
    6482              :       return -1;
    6483              :     }
    6484              : }
    6485              : 
    6486              : int
    6487         1457 : pattern1854 (rtx x1, machine_mode i1)
    6488              : {
    6489         1457 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6490         1457 :   rtx x2, x3, x4;
    6491         1457 :   int res ATTRIBUTE_UNUSED;
    6492         1457 :   if (!memory_operand (operands[0], i1))
    6493              :     return -1;
    6494         1457 :   x2 = XEXP (x1, 0);
    6495         1457 :   if (GET_MODE (x2) != i1
    6496         1457 :       || !nonmemory_operand (operands[1], i1))
    6497           22 :     return -1;
    6498         1435 :   x3 = XEXP (x1, 1);
    6499         1435 :   if (GET_MODE (x3) != i1)
    6500              :     return -1;
    6501         1435 :   x4 = XEXP (x3, 0);
    6502         1435 :   if (GET_MODE (x4) != i1)
    6503              :     return -1;
    6504              :   return 0;
    6505              : }
    6506              : 
    6507              : int
    6508          469 : pattern1859 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
    6509              : {
    6510          469 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6511          469 :   rtx x2, x3, x4, x5;
    6512          469 :   int res ATTRIBUTE_UNUSED;
    6513          469 :   if (!register_operand (operands[0], i2)
    6514          469 :       || GET_MODE (x1) != i2)
    6515              :     return -1;
    6516          447 :   x2 = XEXP (x1, 0);
    6517          447 :   if (GET_MODE (x2) != i2)
    6518              :     return -1;
    6519          447 :   x3 = XEXP (x2, 0);
    6520          447 :   if (GET_MODE (x3) != i2)
    6521              :     return -1;
    6522          447 :   x4 = XEXP (x3, 0);
    6523          447 :   if (GET_MODE (x4) != i4
    6524          447 :       || !register_operand (operands[1], i3))
    6525            0 :     return -1;
    6526          447 :   x5 = XEXP (x3, 1);
    6527          447 :   if (GET_MODE (x5) != i4
    6528          447 :       || !vector_operand (operands[2], i3)
    6529          447 :       || !nonimm_or_0_operand (operands[3], i2)
    6530          878 :       || !register_operand (operands[4], i1))
    6531           51 :     return -1;
    6532              :   return 0;
    6533              : }
    6534              : 
    6535              : int
    6536           63 : pattern1868 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    6537              : {
    6538           63 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6539           63 :   rtx x2, x3, x4;
    6540           63 :   int res ATTRIBUTE_UNUSED;
    6541           63 :   if (!register_operand (operands[0], i1)
    6542           63 :       || GET_MODE (x1) != i1)
    6543              :     return -1;
    6544           59 :   x2 = XEXP (x1, 0);
    6545           59 :   if (GET_MODE (x2) != i3
    6546           59 :       || !register_operand (operands[2], i1)
    6547           59 :       || !vsib_mem_operator (operands[7], i2)
    6548          118 :       || !register_operand (operands[5], i1))
    6549            6 :     return -1;
    6550           53 :   x3 = XVECEXP (x2, 0, 1);
    6551           53 :   x4 = XEXP (x3, 0);
    6552           53 :   switch (GET_MODE (x4))
    6553              :     {
    6554            0 :     case E_SImode:
    6555            0 :       if (!vsib_address_operand (operands[3], E_SImode))
    6556              :         return -1;
    6557              :       return 0;
    6558              : 
    6559           53 :     case E_DImode:
    6560           53 :       if (!vsib_address_operand (operands[3], E_DImode))
    6561              :         return -1;
    6562              :       return 1;
    6563              : 
    6564              :     default:
    6565              :       return -1;
    6566              :     }
    6567              : }
    6568              : 
    6569              : int
    6570          173 : pattern1879 (rtx x1)
    6571              : {
    6572          173 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6573          173 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6574          173 :   rtx x10, x11, x12;
    6575          173 :   int res ATTRIBUTE_UNUSED;
    6576          173 :   x2 = XEXP (x1, 1);
    6577          173 :   x3 = XEXP (x2, 0);
    6578          173 :   x4 = XEXP (x3, 1);
    6579          173 :   x5 = XVECEXP (x4, 0, 0);
    6580          173 :   operands[5] = x5;
    6581          173 :   if (!const_0_to_1_operand (operands[5], E_SImode))
    6582              :     return -1;
    6583          173 :   x6 = XEXP (x2, 1);
    6584          173 :   x7 = XEXP (x6, 1);
    6585          173 :   x8 = XVECEXP (x7, 0, 0);
    6586          173 :   operands[6] = x8;
    6587          173 :   if (!const_0_to_1_operand (operands[6], E_SImode))
    6588              :     return -1;
    6589          173 :   x9 = XEXP (x1, 0);
    6590          173 :   x10 = XEXP (x9, 1);
    6591          173 :   x11 = XEXP (x10, 0);
    6592          173 :   if (!rtx_equal_p (x11, operands[1]))
    6593              :     return -1;
    6594          173 :   x12 = XEXP (x6, 0);
    6595          173 :   if (!rtx_equal_p (x12, operands[2]))
    6596              :     return -1;
    6597              :   return 0;
    6598              : }
    6599              : 
    6600              : int
    6601         1890 : pattern1889 (rtx x1, machine_mode i1)
    6602              : {
    6603         1890 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6604         1890 :   rtx x2, x3, x4, x5;
    6605         1890 :   int res ATTRIBUTE_UNUSED;
    6606         1890 :   if (!register_operand (operands[0], i1)
    6607         1890 :       || !const_int_operand (operands[2], i1))
    6608            0 :     return -1;
    6609         1890 :   x2 = XVECEXP (x1, 0, 0);
    6610         1890 :   x3 = XEXP (x2, 1);
    6611         1890 :   if (GET_MODE (x3) != i1
    6612         1890 :       || !memory_operand (operands[1], i1))
    6613            0 :     return -1;
    6614         1890 :   x4 = XVECEXP (x1, 0, 1);
    6615         1890 :   x5 = XEXP (x4, 1);
    6616         1890 :   if (GET_MODE (x5) != i1
    6617         1890 :       || !const_int_operand (operands[3], i1))
    6618          110 :     return -1;
    6619              :   return 0;
    6620              : }
    6621              : 
    6622              : int
    6623          380 : pattern1891 (rtx x1, int i1, int i2, int i3, int i4)
    6624              : {
    6625          380 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6626          380 :   rtx x2, x3, x4, x5;
    6627          380 :   int res ATTRIBUTE_UNUSED;
    6628          380 :   x2 = XVECEXP (x1, 0, 28);
    6629          380 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
    6630              :     return -1;
    6631          380 :   x3 = XVECEXP (x1, 0, 29);
    6632          380 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
    6633              :     return -1;
    6634          380 :   x4 = XVECEXP (x1, 0, 30);
    6635          380 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
    6636              :     return -1;
    6637          380 :   x5 = XVECEXP (x1, 0, 31);
    6638          380 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
    6639            0 :     return -1;
    6640              :   return 0;
    6641              : }
    6642              : 
    6643              : int
    6644            0 : pattern1896 (rtx x1, machine_mode i1)
    6645              : {
    6646            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6647            0 :   rtx x2, x3, x4, x5, x6, x7;
    6648            0 :   int res ATTRIBUTE_UNUSED;
    6649            0 :   if (!register_operand (operands[4], i1)
    6650            0 :       || GET_MODE (x1) != i1
    6651            0 :       || !nonmemory_operand (operands[2], i1))
    6652            0 :     return -1;
    6653            0 :   x2 = PATTERN (peep2_next_insn (3));
    6654            0 :   x3 = XEXP (x2, 1);
    6655            0 :   if (!rtx_equal_p (x3, operands[4]))
    6656              :     return -1;
    6657            0 :   x4 = PATTERN (peep2_next_insn (4));
    6658            0 :   x5 = XEXP (x4, 1);
    6659            0 :   x6 = XEXP (x5, 0);
    6660            0 :   operands[5] = x6;
    6661            0 :   x7 = XEXP (x5, 1);
    6662            0 :   operands[6] = x7;
    6663            0 :   return 0;
    6664              : }
    6665              : 
    6666              : int
    6667         1108 : pattern1903 (rtx x1, machine_mode i1, machine_mode i2)
    6668              : {
    6669         1108 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6670         1108 :   rtx x2, x3, x4, x5, x6, x7;
    6671         1108 :   int res ATTRIBUTE_UNUSED;
    6672         1108 :   x2 = XVECEXP (x1, 0, 0);
    6673         1108 :   x3 = XEXP (x2, 1);
    6674         1108 :   x4 = XEXP (x3, 0);
    6675         1108 :   x5 = XEXP (x4, 0);
    6676         1108 :   if (GET_MODE (x5) != i2
    6677         1108 :       || !ix86_carry_flag_operator (operands[4], i2))
    6678            0 :     return -1;
    6679         1108 :   x6 = XEXP (x5, 1);
    6680         1108 :   if (GET_MODE (x6) != i2
    6681         1108 :       || !nonimmediate_operand (operands[1], i1))
    6682            0 :     return -1;
    6683         1108 :   x7 = XEXP (x4, 1);
    6684         1108 :   if (GET_MODE (x7) != i2
    6685         1108 :       || !x86_64_sext_operand (operands[2], i1)
    6686         2216 :       || pattern1901 (x1, 
    6687              : i1, 
    6688              : i2) != 0)
    6689            0 :     return -1;
    6690              :   return 0;
    6691              : }
    6692              : 
    6693              : int
    6694          871 : pattern1911 (rtx x1, int i1)
    6695              : {
    6696          871 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6697          871 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6698          871 :   int res ATTRIBUTE_UNUSED;
    6699          871 :   if (XVECLEN (x1, 0) != i1)
    6700              :     return -1;
    6701          871 :   x2 = XVECEXP (x1, 0, 0);
    6702          871 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    6703              :     return -1;
    6704          871 :   x3 = XVECEXP (x1, 0, 1);
    6705          871 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    6706              :     return -1;
    6707          871 :   x4 = XVECEXP (x1, 0, 2);
    6708          871 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    6709              :     return -1;
    6710          871 :   x5 = XVECEXP (x1, 0, 3);
    6711          871 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
    6712              :     return -1;
    6713          871 :   x6 = XVECEXP (x1, 0, 4);
    6714          871 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
    6715              :     return -1;
    6716          871 :   x7 = XVECEXP (x1, 0, 5);
    6717          871 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
    6718              :     return -1;
    6719          871 :   x8 = XVECEXP (x1, 0, 6);
    6720          871 :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
    6721              :     return -1;
    6722          871 :   x9 = XVECEXP (x1, 0, 7);
    6723          871 :   if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
    6724            0 :     return -1;
    6725              :   return 0;
    6726              : }
    6727              : 
    6728              :  int
    6729     94059028 : recog_1 (rtx x1 ATTRIBUTE_UNUSED,
    6730              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    6731              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    6732              : {
    6733     94059028 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6734     94059028 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6735     94059028 :   rtx x10, x11, x12, x13;
    6736     94059028 :   int res ATTRIBUTE_UNUSED;
    6737     94059028 :   x2 = XEXP (x1, 1);
    6738     94059028 :   x3 = XEXP (x2, 0);
    6739     94059028 :   x4 = XEXP (x3, 0);
    6740     94059028 :   if (GET_CODE (x4) != REG
    6741     94059028 :       || REGNO (x4) != 17)
    6742              :     return -1;
    6743     82642452 :   x5 = XEXP (x3, 1);
    6744     82642452 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6745              :     return -1;
    6746     82642452 :   x6 = XEXP (x2, 1);
    6747     82642452 :   switch (GET_CODE (x6))
    6748              :     {
    6749          190 :     case COMPARE:
    6750          190 :       if (GET_MODE (x6) != E_CCmode)
    6751              :         return -1;
    6752          190 :       x7 = XEXP (x6, 0);
    6753          190 :       if (GET_CODE (x7) != MINUS)
    6754              :         return -1;
    6755          134 :       x8 = XEXP (x6, 1);
    6756          134 :       if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6757              :         return -1;
    6758          134 :       x9 = XEXP (x2, 2);
    6759          134 :       if (GET_CODE (x9) != UNSPEC
    6760          134 :           || XVECLEN (x9, 0) != 1
    6761          134 :           || XINT (x9, 1) != 110
    6762          134 :           || GET_MODE (x9) != E_CCmode)
    6763              :         return -1;
    6764          134 :       x10 = XEXP (x1, 0);
    6765          134 :       operands[0] = x10;
    6766          134 :       if (!flags_reg_operand (operands[0], E_CCmode)
    6767          134 :           || GET_MODE (x2) != E_CCmode
    6768          134 :           || !comparison_operator (operands[1], E_VOIDmode)
    6769          268 :           || GET_MODE (x4) != E_CCmode)
    6770            0 :         return -1;
    6771          134 :       x11 = XEXP (x7, 0);
    6772          134 :       operands[2] = x11;
    6773          134 :       x12 = XEXP (x7, 1);
    6774          134 :       operands[3] = x12;
    6775          134 :       x13 = XVECEXP (x9, 0, 0);
    6776          134 :       operands[4] = x13;
    6777          134 :       if (!const_0_to_15_operand (operands[4], E_SImode))
    6778              :         return -1;
    6779          134 :       switch (GET_MODE (x7))
    6780              :         {
    6781            5 :         case E_QImode:
    6782            5 :           if (!nonimmediate_operand (operands[2], E_QImode)
    6783            5 :               || !general_operand (operands[3], E_QImode)
    6784           10 :               || !
    6785              : #line 1540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6786              : (TARGET_APX_CCMP))
    6787              :             return -1;
    6788              :           return 1; /* ccmpqi */
    6789              : 
    6790              :         case E_HImode:
    6791              :           if (!nonimmediate_operand (operands[2], E_HImode)
    6792              :               || !general_operand (operands[3], E_HImode)
    6793              :               || !
    6794              : #line 1540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6795              : (TARGET_APX_CCMP))
    6796              :             return -1;
    6797              :           return 2; /* ccmphi */
    6798              : 
    6799              :         case E_SImode:
    6800              :           if (!nonimmediate_operand (operands[2], E_SImode)
    6801              :               || !x86_64_general_operand (operands[3], E_SImode)
    6802              :               || !
    6803              : #line 1540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6804              : (TARGET_APX_CCMP))
    6805              :             return -1;
    6806              :           return 3; /* ccmpsi */
    6807              : 
    6808              :         case E_DImode:
    6809              :           if (!nonimmediate_operand (operands[2], E_DImode)
    6810              :               || !x86_64_general_operand (operands[3], E_DImode)
    6811              :               || !(
    6812              : #line 1540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6813              : (TARGET_APX_CCMP) && 
    6814              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6815              : (TARGET_64BIT)))
    6816              :             return -1;
    6817              :           return 4; /* ccmpdi */
    6818              : 
    6819              :         default:
    6820              :           return -1;
    6821              :         }
    6822              : 
    6823              :     case LABEL_REF:
    6824              :       x9 = XEXP (x2, 2);
    6825              :       if (GET_CODE (x9) != PC)
    6826              :         return -1;
    6827              :       x10 = XEXP (x1, 0);
    6828              :       if (GET_CODE (x10) != PC
    6829              :           || !ix86_comparison_operator (operands[1], E_VOIDmode))
    6830              :         return -1;
    6831              :       x7 = XEXP (x6, 0);
    6832              :       operands[0] = x7;
    6833              :       return 1490; /* *jcc */
    6834              : 
    6835              :     case REG:
    6836              :     case SUBREG:
    6837              :     case MEM:
    6838              :       operands[2] = x6;
    6839              :       x10 = XEXP (x1, 0);
    6840              :       operands[0] = x10;
    6841              :       x9 = XEXP (x2, 2);
    6842              :       operands[3] = x9;
    6843              :       switch (GET_MODE (operands[0]))
    6844              :         {
    6845              :         case E_HImode:
    6846              :           if (pattern1208 (x2, 
    6847              : E_HImode) != 0
    6848              :               || !
    6849              : #line 26778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6850              : (TARGET_CMOVE && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
    6851              :             return -1;
    6852              :           return 1837; /* *movhicc_noc */
    6853              : 
    6854              :         case E_QImode:
    6855              :           if (pattern1209 (x2) != 0
    6856              :               || !
    6857              : #line 26852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6858              : (TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL))
    6859              :             return -1;
    6860              :           return 1842; /* *movqicc_noc */
    6861              : 
    6862              :         case E_XFmode:
    6863              :           if (!register_operand (operands[0], E_XFmode)
    6864              :               || GET_MODE (x2) != E_XFmode
    6865              :               || !fcmov_comparison_operator (operands[1], E_VOIDmode)
    6866              :               || !register_operand (operands[2], E_XFmode)
    6867              :               || !register_operand (operands[3], E_XFmode)
    6868              :               || !
    6869              : #line 27046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6870              : (TARGET_80387 && TARGET_CMOVE))
    6871              :             return -1;
    6872              :           return 1844; /* *movxfcc_1 */
    6873              : 
    6874              :         case E_DFmode:
    6875              :           if (!register_operand (operands[0], E_DFmode)
    6876              :               || pattern1269 (x2, 
    6877              : E_DFmode) != 0
    6878              :               || !
    6879              : #line 27061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6880              : (TARGET_80387 && TARGET_CMOVE
    6881              :    && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
    6882              :             return -1;
    6883              :           return 1845; /* *movdfcc_1 */
    6884              : 
    6885              :         case E_SFmode:
    6886              :           if (!register_operand (operands[0], E_SFmode)
    6887              :               || pattern1269 (x2, 
    6888              : E_SFmode) != 0
    6889              :               || !
    6890              : #line 27096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6891              : (TARGET_80387 && TARGET_CMOVE
    6892              :    && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
    6893              :             return -1;
    6894              :           return 1846; /* *movsfcc_1_387 */
    6895              : 
    6896              :         default:
    6897              :           return -1;
    6898              :         }
    6899              : 
    6900              :     default:
    6901              :       return -1;
    6902              :     }
    6903              : }
    6904              : 
    6905              :  int
    6906              : recog_14 (rtx x1 ATTRIBUTE_UNUSED,
    6907              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    6908              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    6909              : {
    6910              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6911              :   rtx x2, x3, x4, x5, x6, x7;
    6912              :   int res ATTRIBUTE_UNUSED;
    6913              :   x2 = XEXP (x1, 1);
    6914              :   switch (XINT (x2, 1))
    6915              :     {
    6916              :     case 25:
    6917              :       return recog_8 (x1, insn, pnum_clobbers);
    6918              : 
    6919              :     case 26:
    6920              :       if (pattern58 (x1, 
    6921              : E_HImode) != 0
    6922              :           || !
    6923              : #line 1999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6924              : (TARGET_SAHF))
    6925              :         return -1;
    6926              :       return 51; /* x86_sahf_1 */
    6927              : 
    6928              :     case 27:
    6929              :       return recog_7 (x1, insn, pnum_clobbers);
    6930              : 
    6931              :     case 45:
    6932              :       if (GET_MODE (x2) != E_CCFPmode)
    6933              :         return -1;
    6934              :       x3 = XVECEXP (x2, 0, 0);
    6935              :       if (GET_CODE (x3) != COMPARE
    6936              :           || GET_MODE (x3) != E_CCFPmode)
    6937              :         return -1;
    6938              :       x4 = XEXP (x1, 0);
    6939              :       if (GET_CODE (x4) != REG
    6940              :           || REGNO (x4) != 17
    6941              :           || GET_MODE (x4) != E_CCFPmode)
    6942              :         return -1;
    6943              :       x5 = XEXP (x3, 0);
    6944              :       operands[0] = x5;
    6945              :       x6 = XEXP (x3, 1);
    6946              :       operands[1] = x6;
    6947              :       switch (GET_MODE (operands[0]))
    6948              :         {
    6949              :         case E_SFmode:
    6950              :           if (!register_operand (operands[0], E_SFmode)
    6951              :               || !nonimmediate_operand (operands[1], E_SFmode)
    6952              :               || !
    6953              : #line 2050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6954              : (TARGET_AVX10_2))
    6955              :             return -1;
    6956              :           return 54; /* *cmpxsf */
    6957              : 
    6958              :         case E_DFmode:
    6959              :           if (!register_operand (operands[0], E_DFmode)
    6960              :               || !nonimmediate_operand (operands[1], E_DFmode)
    6961              :               || !
    6962              : #line 2050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6963              : (TARGET_AVX10_2))
    6964              :             return -1;
    6965              :           return 56; /* *cmpxdf */
    6966              : 
    6967              :         case E_HFmode:
    6968              :           if (!register_operand (operands[0], E_HFmode)
    6969              :               || !nonimmediate_operand (operands[1], E_HFmode)
    6970              :               || !
    6971              : #line 2063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6972              : (TARGET_AVX10_2))
    6973              :             return -1;
    6974              :           return 58; /* *cmpxhf */
    6975              : 
    6976              :         default:
    6977              :           return -1;
    6978              :         }
    6979              : 
    6980              :     case 42:
    6981              :       if (pattern60 (x1, 
    6982              : E_CCCmode) != 0)
    6983              :         return -1;
    6984              :       return 67; /* x86_stc */
    6985              : 
    6986              :     case 43:
    6987              :       x4 = XEXP (x1, 0);
    6988              :       operands[0] = x4;
    6989              :       x3 = XVECEXP (x2, 0, 0);
    6990              :       operands[1] = x3;
    6991              :       if (!flags_reg_operand (operands[1], E_VOIDmode))
    6992              :         return -1;
    6993              :       switch (GET_MODE (operands[0]))
    6994              :         {
    6995              :         case E_SImode:
    6996              :           if (!push_operand (operands[0], E_SImode)
    6997              :               || GET_MODE (x2) != E_SImode
    6998              :               || !(
    6999              : #line 2328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7000              : (GET_MODE_CLASS (GET_MODE (operands[1])) == MODE_CC) && 
    7001              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7002              : (word_mode == SImode)))
    7003              :             return -1;
    7004              :           return 84; /* pushflsi2 */
    7005              : 
    7006              :         case E_DImode:
    7007              :           if (!push_operand (operands[0], E_DImode)
    7008              :               || GET_MODE (x2) != E_DImode
    7009              :               || !(
    7010              : #line 2328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7011              : (GET_MODE_CLASS (GET_MODE (operands[1])) == MODE_CC) && 
    7012              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7013              : (word_mode == DImode)))
    7014              :             return -1;
    7015              :           return 85; /* pushfldi2 */
    7016              : 
    7017              :         default:
    7018              :           return -1;
    7019              :         }
    7020              : 
    7021              :     case 44:
    7022              :       if (GET_MODE (x2) != E_CCmode)
    7023              :         return -1;
    7024              :       x4 = XEXP (x1, 0);
    7025              :       operands[0] = x4;
    7026              :       if (!flags_reg_operand (operands[0], E_CCmode))
    7027              :         return -1;
    7028              :       x3 = XVECEXP (x2, 0, 0);
    7029              :       operands[1] = x3;
    7030              :       switch (GET_MODE (operands[1]))
    7031              :         {
    7032              :         case E_SImode:
    7033              :           if (!pop_operand (operands[1], E_SImode)
    7034              :               || !
    7035              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7036              : (word_mode == SImode))
    7037              :             return -1;
    7038              :           return 86; /* popflsi1 */
    7039              : 
    7040              :         case E_DImode:
    7041              :           if (!pop_operand (operands[1], E_DImode)
    7042              :               || !
    7043              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7044              : (word_mode == DImode))
    7045              :             return -1;
    7046              :           return 87; /* popfldi1 */
    7047              : 
    7048              :         default:
    7049              :           return -1;
    7050              :         }
    7051              : 
    7052              :     case 61:
    7053              :       if (GET_MODE (x2) != E_SFmode)
    7054              :         return -1;
    7055              :       x4 = XEXP (x1, 0);
    7056              :       operands[0] = x4;
    7057              :       if (!register_operand (operands[0], E_SFmode))
    7058              :         return -1;
    7059              :       x3 = XVECEXP (x2, 0, 0);
    7060              :       operands[1] = x3;
    7061              :       if (!register_operand (operands[1], E_BFmode)
    7062              :           || !
    7063              : #line 5480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7064              : (TARGET_SSE2))
    7065              :         return -1;
    7066              :       return 207; /* extendbfsf2_1 */
    7067              : 
    7068              :     case 29:
    7069              :       if (GET_MODE (x2) != E_HImode)
    7070              :         return -1;
    7071              :       x3 = XVECEXP (x2, 0, 0);
    7072              :       if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    7073              :         return -1;
    7074              :       x4 = XEXP (x1, 0);
    7075              :       operands[0] = x4;
    7076              :       if (!memory_operand (operands[0], E_HImode)
    7077              :           || !
    7078              : #line 6054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7079              : (TARGET_80387))
    7080              :         return -1;
    7081              :       return 242; /* x86_fnstcw_1 */
    7082              : 
    7083              :     case 98:
    7084              :       if (GET_MODE (x2) != E_HImode)
    7085              :         return -1;
    7086              :       x4 = XEXP (x1, 0);
    7087              :       operands[0] = x4;
    7088              :       if (!register_operand (operands[0], E_HImode))
    7089              :         return -1;
    7090              :       x3 = XVECEXP (x2, 0, 0);
    7091              :       operands[1] = x3;
    7092              :       if (!nonimmediate_operand (operands[1], E_HImode))
    7093              :         return -1;
    7094              :       if ((
    7095              : #line 22090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7096              : (TARGET_APX_NF) && 
    7097              : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7098              : (TARGET_BMI)))
    7099              :         return 1596; /* tzcnt_hi_nf */
    7100              :       if (pnum_clobbers == NULL
    7101              :           || !(
    7102              : #line 22090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7103              : (true) && 
    7104              : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7105              : (TARGET_BMI)))
    7106              :         return -1;
    7107              :       *pnum_clobbers = 1;
    7108              :       return 1597; /* tzcnt_hi */
    7109              : 
    7110              :     case 97:
    7111              :       if (GET_MODE (x2) != E_HImode)
    7112              :         return -1;
    7113              :       x4 = XEXP (x1, 0);
    7114              :       operands[0] = x4;
    7115              :       if (!register_operand (operands[0], E_HImode))
    7116              :         return -1;
    7117              :       x3 = XVECEXP (x2, 0, 0);
    7118              :       operands[1] = x3;
    7119              :       if (!nonimmediate_operand (operands[1], E_HImode))
    7120              :         return -1;
    7121              :       if ((
    7122              : #line 22090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7123              : (TARGET_APX_NF) && 
    7124              : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7125              : (TARGET_LZCNT)))
    7126              :         return 1598; /* lzcnt_hi_nf */
    7127              :       if (pnum_clobbers == NULL
    7128              :           || !(
    7129              : #line 22090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7130              : (true) && 
    7131              : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7132              : (TARGET_LZCNT)))
    7133              :         return -1;
    7134              :       *pnum_clobbers = 1;
    7135              :       return 1599; /* lzcnt_hi */
    7136              : 
    7137              :     case 28:
    7138              :       if (pattern58 (x1, 
    7139              : E_QImode) != 0)
    7140              :         return -1;
    7141              :       return 1682; /* parityqi2_cmp */
    7142              : 
    7143              :     case 55:
    7144              :       switch (pattern61 (x1))
    7145              :         {
    7146              :         case 0:
    7147              :           if (!
    7148              : #line 23840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7149              : (TARGET_SSE && TARGET_SSE_MATH))
    7150              :             return -1;
    7151              :           return 1714; /* *rcpsf2_sse */
    7152              : 
    7153              :         case 1:
    7154              :           if (!
    7155              : #line 23866 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7156              : (TARGET_AVX512FP16))
    7157              :             return -1;
    7158              :           return 1715; /* rcphf2 */
    7159              : 
    7160              :         default:
    7161              :           return -1;
    7162              :         }
    7163              : 
    7164              :     case 32:
    7165              :       x4 = XEXP (x1, 0);
    7166              :       operands[0] = x4;
    7167              :       x3 = XVECEXP (x2, 0, 0);
    7168              :       operands[1] = x3;
    7169              :       if (!register_operand (operands[1], E_XFmode))
    7170              :         return -1;
    7171              :       switch (GET_MODE (operands[0]))
    7172              :         {
    7173              :         case E_SFmode:
    7174              :           if (!nonimmediate_operand (operands[0], E_SFmode)
    7175              :               || GET_MODE (x2) != E_SFmode
    7176              :               || !
    7177              : #line 24083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7178              : (TARGET_USE_FANCY_MATH_387))
    7179              :             return -1;
    7180              :           return 1740; /* truncxfsf2_i387_noop_unspec */
    7181              : 
    7182              :         case E_DFmode:
    7183              :           if (!nonimmediate_operand (operands[0], E_DFmode)
    7184              :               || GET_MODE (x2) != E_DFmode
    7185              :               || !
    7186              : #line 24083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7187              : (TARGET_USE_FANCY_MATH_387))
    7188              :             return -1;
    7189              :           return 1741; /* truncxfdf2_i387_noop_unspec */
    7190              : 
    7191              :         default:
    7192              :           return -1;
    7193              :         }
    7194              : 
    7195              :     case 56:
    7196              :       switch (pattern61 (x1))
    7197              :         {
    7198              :         case 0:
    7199              :           if (!
    7200              : #line 24103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7201              : (TARGET_SSE))
    7202              :             return -1;
    7203              :           return 1743; /* *rsqrtsf2_sse */
    7204              : 
    7205              :         case 1:
    7206              :           if (!
    7207              : #line 24139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7208              : (TARGET_AVX512FP16))
    7209              :             return -1;
    7210              :           return 1744; /* rsqrthf2 */
    7211              : 
    7212              :         default:
    7213              :           return -1;
    7214              :         }
    7215              : 
    7216              :     case 65:
    7217              :       if (GET_MODE (x2) != E_XFmode)
    7218              :         return -1;
    7219              :       x4 = XEXP (x1, 0);
    7220              :       operands[0] = x4;
    7221              :       if (!register_operand (operands[0], E_XFmode))
    7222              :         return -1;
    7223              :       x3 = XVECEXP (x2, 0, 0);
    7224              :       operands[1] = x3;
    7225              :       if (!register_operand (operands[1], E_XFmode)
    7226              :           || !
    7227              : #line 24406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7228              : (TARGET_USE_FANCY_MATH_387
    7229              :    && flag_unsafe_math_optimizations))
    7230              :         return -1;
    7231              :       return 1751; /* sinxf2 */
    7232              : 
    7233              :     case 66:
    7234              :       if (GET_MODE (x2) != E_XFmode)
    7235              :         return -1;
    7236              :       x4 = XEXP (x1, 0);
    7237              :       operands[0] = x4;
    7238              :       if (!register_operand (operands[0], E_XFmode))
    7239              :         return -1;
    7240              :       x3 = XVECEXP (x2, 0, 0);
    7241              :       operands[1] = x3;
    7242              :       if (!register_operand (operands[1], E_XFmode)
    7243              :           || !
    7244              : #line 24406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7245              : (TARGET_USE_FANCY_MATH_387
    7246              :    && flag_unsafe_math_optimizations))
    7247              :         return -1;
    7248              :       return 1752; /* cosxf2 */
    7249              : 
    7250              :     case 72:
    7251              :       if (GET_MODE (x2) != E_XFmode)
    7252              :         return -1;
    7253              :       x4 = XEXP (x1, 0);
    7254              :       operands[0] = x4;
    7255              :       if (!register_operand (operands[0], E_XFmode))
    7256              :         return -1;
    7257              :       x3 = XVECEXP (x2, 0, 0);
    7258              :       operands[1] = x3;
    7259              :       if (!register_operand (operands[1], E_XFmode)
    7260              :           || !
    7261              : #line 25032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7262              : (TARGET_USE_FANCY_MATH_387
    7263              :    && flag_unsafe_math_optimizations))
    7264              :         return -1;
    7265              :       return 1759; /* *f2xm1xf2_i387 */
    7266              : 
    7267              :     case 70:
    7268              :       if (GET_MODE (x2) != E_XFmode)
    7269              :         return -1;
    7270              :       x4 = XEXP (x1, 0);
    7271              :       operands[0] = x4;
    7272              :       if (!register_operand (operands[0], E_XFmode))
    7273              :         return -1;
    7274              :       x3 = XVECEXP (x2, 0, 0);
    7275              :       operands[1] = x3;
    7276              :       if (!register_operand (operands[1], E_XFmode)
    7277              :           || !
    7278              : #line 25366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7279              : (TARGET_USE_FANCY_MATH_387))
    7280              :         return -1;
    7281              :       return 1766; /* rintxf2 */
    7282              : 
    7283              :     case 71:
    7284              :       if (GET_MODE (x2) != E_HImode)
    7285              :         return -1;
    7286              :       x4 = XEXP (x1, 0);
    7287              :       operands[0] = x4;
    7288              :       if (!nonimmediate_operand (operands[0], E_HImode))
    7289              :         return -1;
    7290              :       x3 = XVECEXP (x2, 0, 0);
    7291              :       operands[1] = x3;
    7292              :       if (!register_operand (operands[1], E_XFmode)
    7293              :           || !
    7294              : #line 25507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7295              : (TARGET_USE_FANCY_MATH_387))
    7296              :         return -1;
    7297              :       return 1768; /* lrintxfhi2 */
    7298              : 
    7299              :     case 75:
    7300              :       if (pattern62 (x1, pnum_clobbers, 
    7301              : E_XFmode) != 0
    7302              :           || !
    7303              : #line 25597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7304              : (TARGET_USE_FANCY_MATH_387
    7305              :    && (flag_fp_int_builtin_inexact || !flag_trapping_math)
    7306              :    && ix86_pre_reload_split ()))
    7307              :         return -1;
    7308              :       *pnum_clobbers = 1;
    7309              :       return 1770; /* frndintxf2_roundeven */
    7310              : 
    7311              :     case 76:
    7312              :       if (pattern62 (x1, pnum_clobbers, 
    7313              : E_XFmode) != 0
    7314              :           || !
    7315              : #line 25597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7316              : (TARGET_USE_FANCY_MATH_387
    7317              :    && (flag_fp_int_builtin_inexact || !flag_trapping_math)
    7318              :    && ix86_pre_reload_split ()))
    7319              :         return -1;
    7320              :       *pnum_clobbers = 1;
    7321              :       return 1771; /* frndintxf2_floor */
    7322              : 
    7323              :     case 77:
    7324              :       if (pattern62 (x1, pnum_clobbers, 
    7325              : E_XFmode) != 0
    7326              :           || !
    7327              : #line 25597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7328              : (TARGET_USE_FANCY_MATH_387
    7329              :    && (flag_fp_int_builtin_inexact || !flag_trapping_math)
    7330              :    && ix86_pre_reload_split ()))
    7331              :         return -1;
    7332              :       *pnum_clobbers = 1;
    7333              :       return 1772; /* frndintxf2_ceil */
    7334              : 
    7335              :     case 78:
    7336              :       if (pattern62 (x1, pnum_clobbers, 
    7337              : E_XFmode) != 0
    7338              :           || !
    7339              : #line 25597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7340              : (TARGET_USE_FANCY_MATH_387
    7341              :    && (flag_fp_int_builtin_inexact || !flag_trapping_math)
    7342              :    && ix86_pre_reload_split ()))
    7343              :         return -1;
    7344              :       *pnum_clobbers = 1;
    7345              :       return 1773; /* frndintxf2_trunc */
    7346              : 
    7347              :     case 79:
    7348              :       if (pattern63 (x1, pnum_clobbers) != 0
    7349              :           || !
    7350              : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7351              : (TARGET_USE_FANCY_MATH_387
    7352              :    && flag_unsafe_math_optimizations
    7353              :    && ix86_pre_reload_split ()))
    7354              :         return -1;
    7355              :       *pnum_clobbers = 1;
    7356              :       return 1778; /* *fisthi2_floor_1 */
    7357              : 
    7358              :     case 80:
    7359              :       if (pattern63 (x1, pnum_clobbers) != 0
    7360              :           || !
    7361              : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7362              : (TARGET_USE_FANCY_MATH_387
    7363              :    && flag_unsafe_math_optimizations
    7364              :    && ix86_pre_reload_split ()))
    7365              :         return -1;
    7366              :       *pnum_clobbers = 1;
    7367              :       return 1779; /* *fisthi2_ceil_1 */
    7368              : 
    7369              :     case 74:
    7370              :       if (GET_MODE (x2) != E_HImode)
    7371              :         return -1;
    7372              :       x4 = XEXP (x1, 0);
    7373              :       operands[0] = x4;
    7374              :       if (!register_operand (operands[0], E_HImode))
    7375              :         return -1;
    7376              :       x3 = XVECEXP (x2, 0, 0);
    7377              :       operands[1] = x3;
    7378              :       switch (GET_MODE (operands[1]))
    7379              :         {
    7380              :         case E_SFmode:
    7381              :           if (!register_operand (operands[1], E_SFmode)
    7382              :               || !
    7383              : #line 25816 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7384              : (TARGET_USE_FANCY_MATH_387))
    7385              :             return -1;
    7386              :           return 1790; /* fxamsf2_i387 */
    7387              : 
    7388              :         case E_DFmode:
    7389              :           if (!register_operand (operands[1], E_DFmode)
    7390              :               || !
    7391              : #line 25816 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7392              : (TARGET_USE_FANCY_MATH_387))
    7393              :             return -1;
    7394              :           return 1791; /* fxamdf2_i387 */
    7395              : 
    7396              :         case E_XFmode:
    7397              :           if (!register_operand (operands[1], E_XFmode)
    7398              :               || !
    7399              : #line 25816 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7400              : (TARGET_USE_FANCY_MATH_387))
    7401              :             return -1;
    7402              :           return 1792; /* fxamxf2_i387 */
    7403              : 
    7404              :         default:
    7405              :           return -1;
    7406              :         }
    7407              : 
    7408              :     case 113:
    7409              :       if (GET_MODE (x2) != E_V2SFmode)
    7410              :         return -1;
    7411              :       x4 = XEXP (x1, 0);
    7412              :       operands[0] = x4;
    7413              :       if (!register_operand (operands[0], E_V2SFmode))
    7414              :         return -1;
    7415              :       x3 = XVECEXP (x2, 0, 0);
    7416              :       operands[1] = x3;
    7417              :       if (!nonimmediate_operand (operands[1], E_V2SFmode)
    7418              :           || !
    7419              : #line 923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7420              : (TARGET_3DNOW))
    7421              :         return -1;
    7422              :       return 2116; /* mmx_rcpv2sf2 */
    7423              : 
    7424              :     case 116:
    7425              :       if (GET_MODE (x2) != E_V2SFmode)
    7426              :         return -1;
    7427              :       x4 = XEXP (x1, 0);
    7428              :       operands[0] = x4;
    7429              :       if (!register_operand (operands[0], E_V2SFmode))
    7430              :         return -1;
    7431              :       x3 = XVECEXP (x2, 0, 0);
    7432              :       operands[1] = x3;
    7433              :       if (!nonimmediate_operand (operands[1], E_V2SFmode)
    7434              :           || !
    7435              : #line 971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7436              : (TARGET_3DNOW))
    7437              :         return -1;
    7438              :       return 2119; /* mmx_rsqrtv2sf2 */
    7439              : 
    7440              :     case 173:
    7441              :       if (GET_MODE (x2) != E_V2SImode)
    7442              :         return -1;
    7443              :       x4 = XEXP (x1, 0);
    7444              :       operands[0] = x4;
    7445              :       if (!register_operand (operands[0], E_V2SImode))
    7446              :         return -1;
    7447              :       x3 = XVECEXP (x2, 0, 0);
    7448              :       operands[1] = x3;
    7449              :       switch (GET_MODE (operands[1]))
    7450              :         {
    7451              :         case E_V4SFmode:
    7452              :           if (!nonimmediate_operand (operands[1], E_V4SFmode)
    7453              :               || !
    7454              : #line 8784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7455              : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSE))
    7456              :             return -1;
    7457              :           return 4827; /* unspec_sse_cvttps2pi */
    7458              : 
    7459              :         case E_V2DFmode:
    7460              :           if (!vector_operand (operands[1], E_V2DFmode)
    7461              :               || !
    7462              : #line 9248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7463              : (TARGET_SSE2))
    7464              :             return -1;
    7465              :           return 4937; /* unspec_sse2_cvttpd2pi */
    7466              : 
    7467              :         default:
    7468              :           return -1;
    7469              :         }
    7470              : 
    7471              :     case 47:
    7472              :       if (GET_MODE (x2) != E_V2SImode)
    7473              :         return -1;
    7474              :       x4 = XEXP (x1, 0);
    7475              :       operands[0] = x4;
    7476              :       if (!register_operand (operands[0], E_V2SImode))
    7477              :         return -1;
    7478              :       x3 = XVECEXP (x2, 0, 0);
    7479              :       operands[1] = x3;
    7480              :       if (!vector_operand (operands[1], E_V2DFmode)
    7481              :           || !
    7482              : #line 9230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7483              : (TARGET_SSE2))
    7484              :         return -1;
    7485              :       return 4936; /* sse2_cvtpd2pi */
    7486              : 
    7487              :     case 174:
    7488              :       if (GET_MODE (x2) != E_V2SImode)
    7489              :         return -1;
    7490              :       x4 = XEXP (x1, 0);
    7491              :       operands[0] = x4;
    7492              :       if (!register_operand (operands[0], E_V2SImode))
    7493              :         return -1;
    7494              :       x3 = XVECEXP (x2, 0, 0);
    7495              :       operands[1] = x3;
    7496              :       if (!nonimmediate_operand (operands[1], E_V2DFmode)
    7497              :           || !
    7498              : #line 9289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7499              : (TARGET_MMX_WITH_SSE && TARGET_AVX512VL))
    7500              :         return -1;
    7501              :       return 4939; /* unspec_fixuns_truncv2dfv2si2 */
    7502              : 
    7503              :     case 192:
    7504              :       x4 = XEXP (x1, 0);
    7505              :       operands[0] = x4;
    7506              :       x3 = XVECEXP (x2, 0, 0);
    7507              :       operands[1] = x3;
    7508              :       switch (GET_MODE (operands[0]))
    7509              :         {
    7510              :         case E_HImode:
    7511              :           if (!register_operand (operands[0], E_HImode)
    7512              :               || GET_MODE (x2) != E_HImode)
    7513              :             return -1;
    7514              :           switch (GET_MODE (operands[1]))
    7515              :             {
    7516              :             case E_V16QImode:
    7517              :               if (!register_operand (operands[1], E_V16QImode)
    7518              :                   || !(
    7519              : #line 10589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7520              : (TARGET_AVX512BW) && 
    7521              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7522              : (TARGET_AVX512VL)))
    7523              :                 return -1;
    7524              :               return 5210; /* avx512vl_cvtb2maskv16qi */
    7525              : 
    7526              :             case E_V16HImode:
    7527              :               if (!register_operand (operands[1], E_V16HImode)
    7528              :                   || !(
    7529              : #line 10589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7530              : (TARGET_AVX512BW) && 
    7531              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7532              : (TARGET_AVX512VL)))
    7533              :                 return -1;
    7534              :               return 5213; /* avx512vl_cvtw2maskv16hi */
    7535              : 
    7536              :             case E_V16SImode:
    7537              :               if (!register_operand (operands[1], E_V16SImode)
    7538              :                   || !
    7539              : #line 10599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7540              : (TARGET_AVX512DQ))
    7541              :                 return -1;
    7542              :               return 5215; /* avx512f_cvtd2maskv16si */
    7543              : 
    7544              :             default:
    7545              :               return -1;
    7546              :             }
    7547              : 
    7548              :         case E_QImode:
    7549              :           if (!register_operand (operands[0], E_QImode)
    7550              :               || GET_MODE (x2) != E_QImode)
    7551              :             return -1;
    7552              :           switch (GET_MODE (operands[1]))
    7553              :             {
    7554              :             case E_V8HImode:
    7555              :               if (!register_operand (operands[1], E_V8HImode)
    7556              :                   || !(
    7557              : #line 10589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7558              : (TARGET_AVX512BW) && 
    7559              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7560              : (TARGET_AVX512VL)))
    7561              :                 return -1;
    7562              :               return 5214; /* avx512vl_cvtw2maskv8hi */
    7563              : 
    7564              :             case E_V8SImode:
    7565              :               if (!register_operand (operands[1], E_V8SImode)
    7566              :                   || !(
    7567              : #line 10599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7568              : (TARGET_AVX512DQ) && 
    7569              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7570              : (TARGET_AVX512VL)))
    7571              :                 return -1;
    7572              :               return 5216; /* avx512vl_cvtd2maskv8si */
    7573              : 
    7574              :             case E_V4SImode:
    7575              :               if (!register_operand (operands[1], E_V4SImode)
    7576              :                   || !(
    7577              : #line 10599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7578              : (TARGET_AVX512DQ) && 
    7579              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7580              : (TARGET_AVX512VL)))
    7581              :                 return -1;
    7582              :               return 5217; /* avx512vl_cvtd2maskv4si */
    7583              : 
    7584              :             case E_V8DImode:
    7585              :               if (!register_operand (operands[1], E_V8DImode)
    7586              :                   || !
    7587              : #line 10599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7588              : (TARGET_AVX512DQ))
    7589              :                 return -1;
    7590              :               return 5218; /* avx512f_cvtq2maskv8di */
    7591              : 
    7592              :             case E_V4DImode:
    7593              :               if (!register_operand (operands[1], E_V4DImode)
    7594              :                   || !(
    7595              : #line 10599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7596              : (TARGET_AVX512DQ) && 
    7597              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7598              : (TARGET_AVX512VL)))
    7599              :                 return -1;
    7600              :               return 5219; /* avx512vl_cvtq2maskv4di */
    7601              : 
    7602              :             case E_V2DImode:
    7603              :               if (!register_operand (operands[1], E_V2DImode)
    7604              :                   || !(
    7605              : #line 10599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7606              : (TARGET_AVX512DQ) && 
    7607              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7608              : (TARGET_AVX512VL)))
    7609              :                 return -1;
    7610              :               return 5220; /* avx512vl_cvtq2maskv2di */
    7611              : 
    7612              :             default:
    7613              :               return -1;
    7614              :             }
    7615              : 
    7616              :         default:
    7617              :           return -1;
    7618              :         }
    7619              : 
    7620              :     case 118:
    7621              :       x4 = XEXP (x1, 0);
    7622              :       operands[0] = x4;
    7623              :       x3 = XVECEXP (x2, 0, 0);
    7624              :       switch (GET_CODE (x3))
    7625              :         {
    7626              :         case REG:
    7627              :         case SUBREG:
    7628              :           operands[1] = x3;
    7629              :           switch (GET_MODE (operands[0]))
    7630              :             {
    7631              :             case E_SFmode:
    7632              :               if (!memory_operand (operands[0], E_SFmode)
    7633              :                   || GET_MODE (x2) != E_SFmode
    7634              :                   || !register_operand (operands[1], E_SFmode)
    7635              :                   || !
    7636              : #line 23767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7637              : (TARGET_SSE4A))
    7638              :                 return -1;
    7639              :               return 8716; /* sse4a_movntsf */
    7640              : 
    7641              :             case E_DFmode:
    7642              :               if (!memory_operand (operands[0], E_DFmode)
    7643              :                   || GET_MODE (x2) != E_DFmode
    7644              :                   || !register_operand (operands[1], E_DFmode)
    7645              :                   || !
    7646              : #line 23767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7647              : (TARGET_SSE4A))
    7648              :                 return -1;
    7649              :               return 8717; /* sse4a_movntdf */
    7650              : 
    7651              :             default:
    7652              :               return -1;
    7653              :             }
    7654              : 
    7655              :         case VEC_SELECT:
    7656              :           x6 = XEXP (x3, 1);
    7657              :           if (GET_CODE (x6) != PARALLEL
    7658              :               || XVECLEN (x6, 0) != 1)
    7659              :             return -1;
    7660              :           x7 = XVECEXP (x6, 0, 0);
    7661              :           if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    7662              :             return -1;
    7663              :           x5 = XEXP (x3, 0);
    7664              :           operands[1] = x5;
    7665              :           switch (GET_MODE (operands[0]))
    7666              :             {
    7667              :             case E_SFmode:
    7668              :               if (pattern1077 (x2, 
    7669              : E_V4SFmode, 
    7670              : E_SFmode) != 0
    7671              :                   || !
    7672              : #line 23779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7673              : (TARGET_SSE4A))
    7674              :                 return -1;
    7675              :               return 8718; /* sse4a_vmmovntv4sf */
    7676              : 
    7677              :             case E_DFmode:
    7678              :               if (pattern1077 (x2, 
    7679              : E_V2DFmode, 
    7680              : E_DFmode) != 0
    7681              :                   || !(
    7682              : #line 23779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7683              : (TARGET_SSE4A) && 
    7684              : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7685              : (TARGET_SSE2)))
    7686              :                 return -1;
    7687              :               return 8719; /* sse4a_vmmovntv2df */
    7688              : 
    7689              :             default:
    7690              :               return -1;
    7691              :             }
    7692              : 
    7693              :         default:
    7694              :           return -1;
    7695              :         }
    7696              : 
    7697              :     case 137:
    7698              :       x4 = XEXP (x1, 0);
    7699              :       operands[0] = x4;
    7700              :       x3 = XVECEXP (x2, 0, 0);
    7701              :       operands[1] = x3;
    7702              :       switch (GET_MODE (operands[0]))
    7703              :         {
    7704              :         case E_SFmode:
    7705              :           if (!register_operand (operands[0], E_SFmode)
    7706              :               || GET_MODE (x2) != E_SFmode
    7707              :               || !nonimmediate_operand (operands[1], E_SFmode)
    7708              :               || !
    7709              : #line 27681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7710              : (TARGET_XOP))
    7711              :             return -1;
    7712              :           return 9108; /* xop_frczsf2 */
    7713              : 
    7714              :         case E_DFmode:
    7715              :           if (!register_operand (operands[0], E_DFmode)
    7716              :               || GET_MODE (x2) != E_DFmode
    7717              :               || !nonimmediate_operand (operands[1], E_DFmode)
    7718              :               || !
    7719              : #line 27681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7720              : (TARGET_XOP))
    7721              :             return -1;
    7722              :           return 9109; /* xop_frczdf2 */
    7723              : 
    7724              :         default:
    7725              :           return -1;
    7726              :         }
    7727              : 
    7728              :     case 287:
    7729              :       if (GET_MODE (x2) != E_DFmode)
    7730              :         return -1;
    7731              :       x4 = XEXP (x1, 0);
    7732              :       operands[0] = x4;
    7733              :       if (!register_operand (operands[0], E_DFmode))
    7734              :         return -1;
    7735              :       x3 = XVECEXP (x2, 0, 0);
    7736              :       operands[1] = x3;
    7737              :       if (!memory_operand (operands[1], E_DImode)
    7738              :           || !
    7739              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
    7740              : (TARGET_80387))
    7741              :         return -1;
    7742              :       return 11070; /* loaddi_via_fpu */
    7743              : 
    7744              :     case 289:
    7745              :       if (GET_MODE (x2) != E_DFmode)
    7746              :         return -1;
    7747              :       x4 = XEXP (x1, 0);
    7748              :       operands[0] = x4;
    7749              :       if (!register_operand (operands[0], E_DFmode))
    7750              :         return -1;
    7751              :       x3 = XVECEXP (x2, 0, 0);
    7752              :       operands[1] = x3;
    7753              :       if (!memory_operand (operands[1], E_DImode)
    7754              :           || !
    7755              : #line 369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
    7756              : (TARGET_SSE))
    7757              :         return -1;
    7758              :       return 11072; /* loaddi_via_sse */
    7759              : 
    7760              :     default:
    7761              :       return -1;
    7762              :     }
    7763              : }
    7764              : 
    7765              :  int
    7766              : recog_32 (rtx x1 ATTRIBUTE_UNUSED,
    7767              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    7768              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    7769              : {
    7770              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    7771              :   rtx x2, x3, x4;
    7772              :   int res ATTRIBUTE_UNUSED;
    7773              :   x2 = XEXP (x1, 0);
    7774              :   operands[0] = x2;
    7775              :   x3 = XEXP (x1, 1);
    7776              :   x4 = XEXP (x3, 0);
    7777              :   operands[1] = x4;
    7778              :   switch (GET_MODE (operands[0]))
    7779              :     {
    7780              :     case E_DFmode:
    7781              :       if (GET_MODE (x3) != E_DFmode)
    7782              :         return -1;
    7783              :       if (nonimm_ssenomem_operand (operands[0], E_DFmode)
    7784              :           && nonimmediate_operand (operands[1], E_SFmode)
    7785              :           && 
    7786              : #line 5304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7787              : (TARGET_80387 || (TARGET_SSE2 && TARGET_SSE_MATH)))
    7788              :         return 204; /* *extendsfdf2 */
    7789              :       if (!register_operand (operands[0], E_DFmode)
    7790              :           || !nonimmediate_operand (operands[1], E_HFmode)
    7791              :           || !
    7792              : #line 5460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7793              : (TARGET_AVX512FP16))
    7794              :         return -1;
    7795              :       return 206; /* *extendhfdf2 */
    7796              : 
    7797              :     case E_SFmode:
    7798              :       if (!register_operand (operands[0], E_SFmode)
    7799              :           || GET_MODE (x3) != E_SFmode
    7800              :           || !nonimmediate_operand (operands[1], E_HFmode)
    7801              :           || !
    7802              : #line 5460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7803              : (TARGET_AVX512FP16))
    7804              :         return -1;
    7805              :       return 205; /* *extendhfsf2 */
    7806              : 
    7807              :     case E_XFmode:
    7808              :       if (!nonimmediate_operand (operands[0], E_XFmode))
    7809              :         return -1;
    7810              :       switch (pattern428 (x3, 
    7811              : E_XFmode))
    7812              :         {
    7813              :         case 0:
    7814              :           if (!
    7815              : #line 5522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7816              : (TARGET_80387))
    7817              :             return -1;
    7818              :           return 208; /* *extendsfxf2_i387 */
    7819              : 
    7820              :         case 1:
    7821              :           if (!
    7822              : #line 5522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7823              : (TARGET_80387))
    7824              :             return -1;
    7825              :           return 209; /* *extenddfxf2_i387 */
    7826              : 
    7827              :         default:
    7828              :           return -1;
    7829              :         }
    7830              : 
    7831              :     default:
    7832              :       return -1;
    7833              :     }
    7834              : }
    7835              : 
    7836              :  int
    7837              : recog_35 (rtx x1 ATTRIBUTE_UNUSED,
    7838              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    7839              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    7840              : {
    7841              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    7842              :   rtx x2, x3, x4;
    7843              :   int res ATTRIBUTE_UNUSED;
    7844              :   x2 = XEXP (x1, 0);
    7845              :   operands[0] = x2;
    7846              :   x3 = XEXP (x1, 1);
    7847              :   x4 = XEXP (x3, 0);
    7848              :   operands[1] = x4;
    7849              :   switch (GET_MODE (operands[0]))
    7850              :     {
    7851              :     case E_SImode:
    7852              :       switch (pattern263 (x3, 
    7853              : E_SImode))
    7854              :         {
    7855              :         case 0:
    7856              :           if (!
    7857              : #line 5778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7858              : (TARGET_AVX512FP16))
    7859              :             return -1;
    7860              :           return 217; /* fixuns_trunchfsi2 */
    7861              : 
    7862              :         case 1:
    7863              :           if (!
    7864              : #line 5885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7865              : (TARGET_AVX512F && TARGET_SSE_MATH))
    7866              :             return -1;
    7867              :           return 222; /* fixuns_truncsfsi2_avx512f */
    7868              : 
    7869              :         case 2:
    7870              :           if (!
    7871              : #line 5885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7872              : (TARGET_AVX512F && TARGET_SSE_MATH))
    7873              :             return -1;
    7874              :           return 223; /* fixuns_truncdfsi2_avx512f */
    7875              : 
    7876              :         default:
    7877              :           return -1;
    7878              :         }
    7879              : 
    7880              :     case E_DImode:
    7881              :       switch (pattern263 (x3, 
    7882              : E_DImode))
    7883              :         {
    7884              :         case 0:
    7885              :           if (!(
    7886              : #line 5778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7887              : (TARGET_AVX512FP16) && 
    7888              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7889              : (TARGET_64BIT)))
    7890              :             return -1;
    7891              :           return 219; /* fixuns_trunchfdi2 */
    7892              : 
    7893              :         case 1:
    7894              :           if (!
    7895              : #line 5843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7896              : (TARGET_64BIT && TARGET_AVX512F && TARGET_SSE_MATH))
    7897              :             return -1;
    7898              :           return 220; /* fixuns_truncsfdi2 */
    7899              : 
    7900              :         case 2:
    7901              :           if (!
    7902              : #line 5843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7903              : (TARGET_64BIT && TARGET_AVX512F && TARGET_SSE_MATH))
    7904              :             return -1;
    7905              :           return 221; /* fixuns_truncdfdi2 */
    7906              : 
    7907              :         default:
    7908              :           return -1;
    7909              :         }
    7910              : 
    7911              :     case E_V2SImode:
    7912              :       if (!register_operand (operands[0], E_V2SImode)
    7913              :           || GET_MODE (x3) != E_V2SImode
    7914              :           || !nonimmediate_operand (operands[1], E_V2DFmode)
    7915              :           || !
    7916              : #line 9299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7917              : (TARGET_MMX_WITH_SSE && TARGET_AVX512VL))
    7918              :         return -1;
    7919              :       return 4940; /* fixuns_truncv2dfv2si2 */
    7920              : 
    7921              :     default:
    7922              :       return -1;
    7923              :     }
    7924              : }
    7925              : 
    7926              :  int
    7927              : recog_38 (rtx x1 ATTRIBUTE_UNUSED,
    7928              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    7929              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    7930              : {
    7931              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    7932              :   rtx x2;
    7933              :   int res ATTRIBUTE_UNUSED;
    7934              :   switch (pattern88 (x1, pnum_clobbers))
    7935              :     {
    7936              :     case 0:
    7937              :       switch (GET_MODE (operands[0]))
    7938              :         {
    7939              :         case E_TImode:
    7940              :           x2 = XEXP (x1, 1);
    7941              :           if (pattern79 (x2, pnum_clobbers) != 0
    7942              :               || !(
    7943              : #line 12843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7944              : (ix86_binary_operator_ok (AND, TImode, operands, TARGET_APX_NDD)) && 
    7945              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7946              : (TARGET_64BIT)))
    7947              :             return -1;
    7948              :           *pnum_clobbers = 1;
    7949              :           return 732; /* *andti3_doubleword */
    7950              : 
    7951              :         case E_HImode:
    7952              :           x2 = XEXP (x1, 1);
    7953              :           if (pattern80 (x2, 
    7954              : E_HImode) != 0)
    7955              :             return -1;
    7956              :           if (
    7957              : #line 13013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7958              : (ix86_binary_operator_ok (AND, HImode, operands, TARGET_APX_NDD)
    7959              :    && TARGET_APX_NF))
    7960              :             return 747; /* *andhi_1_nf */
    7961              :           if (pnum_clobbers == NULL
    7962              :               || !
    7963              : #line 13013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7964              : (ix86_binary_operator_ok (AND, HImode, operands, TARGET_APX_NDD)
    7965              :    && true))
    7966              :             return -1;
    7967              :           *pnum_clobbers = 1;
    7968              :           return 748; /* *andhi_1 */
    7969              : 
    7970              :         case E_QImode:
    7971              :           x2 = XEXP (x1, 1);
    7972              :           if (pattern80 (x2, 
    7973              : E_QImode) != 0)
    7974              :             return -1;
    7975              :           if (
    7976              : #line 13051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7977              : (ix86_binary_operator_ok (AND, QImode, operands, TARGET_APX_NDD)
    7978              :    && TARGET_APX_NF))
    7979              :             return 751; /* *andqi_1_nf */
    7980              :           if (pnum_clobbers == NULL
    7981              :               || !
    7982              : #line 13051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7983              : (ix86_binary_operator_ok (AND, QImode, operands, TARGET_APX_NDD)
    7984              :    && true))
    7985              :             return -1;
    7986              :           *pnum_clobbers = 1;
    7987              :           return 752; /* *andqi_1 */
    7988              : 
    7989              :         case E_V2SFmode:
    7990              :           x2 = XEXP (x1, 1);
    7991              :           if (pattern5 (x2, 
    7992              : E_V2SFmode) != 0
    7993              :               || !
    7994              : #line 1380 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7995              : (TARGET_MMX_WITH_SSE))
    7996              :             return -1;
    7997              :           return 2134; /* andv2sf3 */
    7998              : 
    7999              :         case E_V2BFmode:
    8000              :           x2 = XEXP (x1, 1);
    8001              :           if (pattern5 (x2, 
    8002              : E_V2BFmode) != 0
    8003              :               || !
    8004              : #line 2606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8005              : (TARGET_SSE))
    8006              :             return -1;
    8007              :           return 2168; /* andv2bf3 */
    8008              : 
    8009              :         case E_V4BFmode:
    8010              :           x2 = XEXP (x1, 1);
    8011              :           if (pattern5 (x2, 
    8012              : E_V4BFmode) != 0
    8013              :               || !(
    8014              : #line 2606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8015              : (TARGET_SSE) && 
    8016              : #line 2248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8017              : (TARGET_MMX_WITH_SSE)))
    8018              :             return -1;
    8019              :           return 2171; /* andv4bf3 */
    8020              : 
    8021              :         case E_V2HFmode:
    8022              :           x2 = XEXP (x1, 1);
    8023              :           if (pattern5 (x2, 
    8024              : E_V2HFmode) != 0
    8025              :               || !
    8026              : #line 2606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8027              : (TARGET_SSE))
    8028              :             return -1;
    8029              :           return 2174; /* andv2hf3 */
    8030              : 
    8031              :         case E_V4HFmode:
    8032              :           x2 = XEXP (x1, 1);
    8033              :           if (pattern5 (x2, 
    8034              : E_V4HFmode) != 0
    8035              :               || !(
    8036              : #line 2606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8037              : (TARGET_SSE) && 
    8038              : #line 2249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8039              : (TARGET_MMX_WITH_SSE)))
    8040              :             return -1;
    8041              :           return 2177; /* andv4hf3 */
    8042              : 
    8043              :         case E_V8QImode:
    8044              :           x2 = XEXP (x1, 1);
    8045              :           if (pattern6 (x2, 
    8046              : E_V8QImode) != 0
    8047              :               || !
    8048              : #line 4715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8049              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8050              :    && ix86_binary_operator_ok (AND, V8QImode, operands)))
    8051              :             return -1;
    8052              :           return 2331; /* *mmx_andv8qi3 */
    8053              : 
    8054              :         case E_V4HImode:
    8055              :           x2 = XEXP (x1, 1);
    8056              :           if (pattern6 (x2, 
    8057              : E_V4HImode) != 0
    8058              :               || !
    8059              : #line 4715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8060              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8061              :    && ix86_binary_operator_ok (AND, V4HImode, operands)))
    8062              :             return -1;
    8063              :           return 2334; /* *mmx_andv4hi3 */
    8064              : 
    8065              :         case E_V2SImode:
    8066              :           x2 = XEXP (x1, 1);
    8067              :           if (pattern6 (x2, 
    8068              : E_V2SImode) != 0
    8069              :               || !
    8070              : #line 4715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8071              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8072              :    && ix86_binary_operator_ok (AND, V2SImode, operands)))
    8073              :             return -1;
    8074              :           return 2337; /* *mmx_andv2si3 */
    8075              : 
    8076              :         case E_V4QImode:
    8077              :           x2 = XEXP (x1, 1);
    8078              :           if (pattern81 (x2, pnum_clobbers, 
    8079              : E_V4QImode) != 0
    8080              :               || !
    8081              : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8082              : (ix86_binary_operator_ok (AND, V4QImode, operands)))
    8083              :             return -1;
    8084              :           *pnum_clobbers = 1;
    8085              :           return 2340; /* *andv4qi3 */
    8086              : 
    8087              :         case E_V2QImode:
    8088              :           x2 = XEXP (x1, 1);
    8089              :           if (pattern81 (x2, pnum_clobbers, 
    8090              : E_V2QImode) != 0
    8091              :               || !
    8092              : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8093              : (ix86_binary_operator_ok (AND, V2QImode, operands)))
    8094              :             return -1;
    8095              :           *pnum_clobbers = 1;
    8096              :           return 2343; /* *andv2qi3 */
    8097              : 
    8098              :         case E_V2HImode:
    8099              :           x2 = XEXP (x1, 1);
    8100              :           if (pattern81 (x2, pnum_clobbers, 
    8101              : E_V2HImode) != 0
    8102              :               || !
    8103              : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8104              : (ix86_binary_operator_ok (AND, V2HImode, operands)))
    8105              :             return -1;
    8106              :           *pnum_clobbers = 1;
    8107              :           return 2346; /* *andv2hi3 */
    8108              : 
    8109              :         case E_BFmode:
    8110              :           x2 = XEXP (x1, 1);
    8111              :           if (pattern5 (x2, 
    8112              : E_BFmode) != 0
    8113              :               || !
    8114              : #line 6017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8115              : (TARGET_SSE))
    8116              :             return -1;
    8117              :           return 3855; /* andbf3 */
    8118              : 
    8119              :         case E_HFmode:
    8120              :           x2 = XEXP (x1, 1);
    8121              :           if (pattern5 (x2, 
    8122              : E_HFmode) != 0
    8123              :               || !
    8124              : #line 6017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8125              : (TARGET_SSE))
    8126              :             return -1;
    8127              :           return 3858; /* andhf3 */
    8128              : 
    8129              :         case E_SFmode:
    8130              :           x2 = XEXP (x1, 1);
    8131              :           if (pattern5 (x2, 
    8132              : E_SFmode) != 0
    8133              :               || !
    8134              : #line 6017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8135              : (TARGET_SSE))
    8136              :             return -1;
    8137              :           return 3861; /* andsf3 */
    8138              : 
    8139              :         case E_DFmode:
    8140              :           x2 = XEXP (x1, 1);
    8141              :           if (pattern5 (x2, 
    8142              : E_DFmode) != 0
    8143              :               || !(
    8144              : #line 6017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8145              : (TARGET_SSE) && 
    8146              : #line 1353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8147              : (TARGET_SSE2)))
    8148              :             return -1;
    8149              :           return 3864; /* anddf3 */
    8150              : 
    8151              :         case E_TFmode:
    8152              :           x2 = XEXP (x1, 1);
    8153              :           if (pattern26 (x2, 
    8154              : E_TFmode) != 0
    8155              :               || !
    8156              : #line 6091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8157              : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8158              :             return -1;
    8159              :           return 3867; /* *andtf3 */
    8160              : 
    8161              :         default:
    8162              :           return -1;
    8163              :         }
    8164              : 
    8165              :     case 1:
    8166              :       if (!
    8167              : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8168              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    8169              :         return -1;
    8170              :       *pnum_clobbers = 1;
    8171              :       return 753; /* *andqi_1_slp */
    8172              : 
    8173              :     case 2:
    8174              :       if (!
    8175              : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8176              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    8177              :         return -1;
    8178              :       *pnum_clobbers = 1;
    8179              :       return 756; /* *andhi_1_slp */
    8180              : 
    8181              :     default:
    8182              :       return -1;
    8183              :     }
    8184              : }
    8185              : 
    8186              :  int
    8187              : recog_46 (rtx x1 ATTRIBUTE_UNUSED,
    8188              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8189              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8190              : {
    8191              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8192              :   rtx x2, x3, x4;
    8193              :   int res ATTRIBUTE_UNUSED;
    8194              :   x2 = XEXP (x1, 1);
    8195              :   x3 = XEXP (x2, 0);
    8196              :   switch (GET_CODE (x3))
    8197              :     {
    8198              :     case CONST_INT:
    8199              :     case REG:
    8200              :     case SUBREG:
    8201              :     case MEM:
    8202              :       switch (pattern38 (x1, pnum_clobbers))
    8203              :         {
    8204              :         case 0:
    8205              :           if (pnum_clobbers != NULL
    8206              :               && pattern292 (x1, 
    8207              : E_TImode) == 0
    8208              :               && (
    8209              : #line 15541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8210              : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
    8211              :     || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
    8212              :          == (2 * 8 * BITS_PER_UNIT - 1)))
    8213              :    && ix86_pre_reload_split ()) && 
    8214              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8215              : (TARGET_64BIT)))
    8216              :             {
    8217              :               *pnum_clobbers = 1;
    8218              :               return 1085; /* *ashlti3_doubleword_mask */
    8219              :             }
    8220              :           x4 = XEXP (x2, 1);
    8221              :           operands[2] = x4;
    8222              :           switch (pattern426 (x1, pnum_clobbers))
    8223              :             {
    8224              :             case 0:
    8225              :               switch (GET_MODE (operands[0]))
    8226              :                 {
    8227              :                 case E_TImode:
    8228              :                   if (pnum_clobbers == NULL
    8229              :                       || !register_operand (operands[0], E_TImode)
    8230              :                       || GET_MODE (x2) != E_TImode
    8231              :                       || !reg_or_pm1_operand (operands[1], E_TImode)
    8232              :                       || !nonmemory_operand (operands[2], E_QImode)
    8233              :                       || !
    8234              : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8235              : (TARGET_64BIT))
    8236              :                     return -1;
    8237              :                   *pnum_clobbers = 1;
    8238              :                   return 1089; /* ashlti3_doubleword */
    8239              : 
    8240              :                 case E_HImode:
    8241              :                   if (pattern635 (x2, 
    8242              : E_HImode) != 0)
    8243              :                     return -1;
    8244              :                   if (
    8245              : #line 16433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8246              : (ix86_binary_operator_ok (ASHIFT, HImode, operands, TARGET_APX_NDD)
    8247              :    && TARGET_APX_NF))
    8248              :                     return 1136; /* *ashlhi3_1_nf */
    8249              :                   if (pnum_clobbers == NULL
    8250              :                       || !
    8251              : #line 16433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8252              : (ix86_binary_operator_ok (ASHIFT, HImode, operands, TARGET_APX_NDD)
    8253              :    && true))
    8254              :                     return -1;
    8255              :                   *pnum_clobbers = 1;
    8256              :                   return 1137; /* *ashlhi3_1 */
    8257              : 
    8258              :                 case E_QImode:
    8259              :                   if (pattern635 (x2, 
    8260              : E_QImode) != 0)
    8261              :                     return -1;
    8262              :                   if (
    8263              : #line 16492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8264              : (ix86_binary_operator_ok (ASHIFT, QImode, operands, TARGET_APX_NDD)
    8265              :    && TARGET_APX_NF))
    8266              :                     return 1138; /* *ashlqi3_1_nf */
    8267              :                   if (pnum_clobbers == NULL
    8268              :                       || !
    8269              : #line 16492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8270              : (ix86_binary_operator_ok (ASHIFT, QImode, operands, TARGET_APX_NDD)
    8271              :    && true))
    8272              :                     return -1;
    8273              :                   *pnum_clobbers = 1;
    8274              :                   return 1139; /* *ashlqi3_1 */
    8275              : 
    8276              :                 case E_V4HImode:
    8277              :                   if (pattern858 (x2, 
    8278              : E_V4HImode, 
    8279              : E_DImode) != 0
    8280              :                       || !
    8281              : #line 3919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8282              : (TARGET_MMX || TARGET_MMX_WITH_SSE))
    8283              :                     return -1;
    8284              :                   return 2259; /* mmx_ashlv4hi3 */
    8285              : 
    8286              :                 case E_V2SImode:
    8287              :                   if (pattern858 (x2, 
    8288              : E_V2SImode, 
    8289              : E_DImode) != 0
    8290              :                       || !
    8291              : #line 3919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8292              : (TARGET_MMX || TARGET_MMX_WITH_SSE))
    8293              :                     return -1;
    8294              :                   return 2261; /* mmx_ashlv2si3 */
    8295              : 
    8296              :                 case E_V1DImode:
    8297              :                   if (pattern858 (x2, 
    8298              : E_V1DImode, 
    8299              : E_DImode) != 0
    8300              :                       || !
    8301              : #line 3919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8302              : (TARGET_MMX || TARGET_MMX_WITH_SSE))
    8303              :                     return -1;
    8304              :                   return 2263; /* mmx_ashlv1di3 */
    8305              : 
    8306              :                 case E_V1SImode:
    8307              :                   if (pattern858 (x2, 
    8308              : E_V1SImode, 
    8309              : E_DImode) != 0
    8310              :                       || !
    8311              : #line 3956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8312              : (TARGET_SSE2))
    8313              :                     return -1;
    8314              :                   return 2265; /* mmx_ashlv1si3 */
    8315              : 
    8316              :                 case E_V2HImode:
    8317              :                   if (pattern858 (x2, 
    8318              : E_V2HImode, 
    8319              : E_DImode) != 0
    8320              :                       || !
    8321              : #line 3973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8322              : (TARGET_SSE2))
    8323              :                     return -1;
    8324              :                   return 2267; /* ashlv2hi3 */
    8325              : 
    8326              :                 case E_V2QImode:
    8327              :                   if (pnum_clobbers == NULL
    8328              :                       || pattern858 (x2, 
    8329              : E_V2QImode, 
    8330              : E_QImode) != 0
    8331              :                       || !
    8332              : #line 4035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8333              : (!TARGET_PARTIAL_REG_STALL || optimize_size))
    8334              :                     return -1;
    8335              :                   *pnum_clobbers = 1;
    8336              :                   return 2271; /* ashlv2qi3 */
    8337              : 
    8338              :                 default:
    8339              :                   return -1;
    8340              :                 }
    8341              : 
    8342              :             case 1:
    8343              :               if (!
    8344              : #line 16571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8345              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    8346              :                 return -1;
    8347              :               *pnum_clobbers = 1;
    8348              :               return 1140; /* *ashlqi3_1_slp */
    8349              : 
    8350              :             case 2:
    8351              :               if (!
    8352              : #line 16571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8353              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    8354              :                 return -1;
    8355              :               *pnum_clobbers = 1;
    8356              :               return 1141; /* *ashlhi3_1_slp */
    8357              : 
    8358              :             default:
    8359              :               return -1;
    8360              :             }
    8361              : 
    8362              :         case 1:
    8363              :           if (!(
    8364              : #line 15602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8365              : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
    8366              :     || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
    8367              :          == (2 * 8 * BITS_PER_UNIT - 1)))
    8368              :    && ix86_pre_reload_split ()) && 
    8369              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8370              : (TARGET_64BIT)))
    8371              :             return -1;
    8372              :           *pnum_clobbers = 1;
    8373              :           return 1087; /* *ashlti3_doubleword_mask_1 */
    8374              : 
    8375              :         default:
    8376              :           return -1;
    8377              :         }
    8378              : 
    8379              :     case SIGN_EXTEND:
    8380              :       if (pattern44 (x1, pnum_clobbers) != 0
    8381              :           || !(
    8382              : #line 15703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8383              : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
    8384              :    && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) && 
    8385              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8386              : (TARGET_64BIT)))
    8387              :         return -1;
    8388              :       *pnum_clobbers = 1;
    8389              :       return 1092; /* *ashlti3_doubleword_highpart */
    8390              : 
    8391              :     case ZERO_EXTEND:
    8392              :       if (pattern44 (x1, pnum_clobbers) != 0
    8393              :           || !(
    8394              : #line 15703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8395              : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
    8396              :    && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) && 
    8397              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8398              : (TARGET_64BIT)))
    8399              :         return -1;
    8400              :       *pnum_clobbers = 1;
    8401              :       return 1093; /* *ashlti3_doubleword_highpart */
    8402              : 
    8403              :     default:
    8404              :       return -1;
    8405              :     }
    8406              : }
    8407              : 
    8408              :  int
    8409              : recog_52 (rtx x1 ATTRIBUTE_UNUSED,
    8410              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8411              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8412              : {
    8413              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8414              :   rtx x2, x3, x4, x5;
    8415              :   int res ATTRIBUTE_UNUSED;
    8416              :   x2 = XEXP (x1, 0);
    8417              :   operands[0] = x2;
    8418              :   x3 = XEXP (x1, 1);
    8419              :   switch (GET_CODE (x3))
    8420              :     {
    8421              :     case NE:
    8422              :     case EQ:
    8423              :     case GE:
    8424              :     case GT:
    8425              :     case LE:
    8426              :     case LT:
    8427              :       res = recog_51 (x1, insn, pnum_clobbers);
    8428              :       if (res >= 0)
    8429              :         return res;
    8430              :       break;
    8431              : 
    8432              :     default:
    8433              :       break;
    8434              :     }
    8435              :   operands[3] = x3;
    8436              :   x4 = XEXP (x3, 0);
    8437              :   operands[1] = x4;
    8438              :   x5 = XEXP (x3, 1);
    8439              :   operands[2] = x5;
    8440              :   switch (GET_MODE (operands[0]))
    8441              :     {
    8442              :     case E_SFmode:
    8443              :       if (pattern750 (
    8444              : E_SFmode) != 0
    8445              :           || !
    8446              : #line 20047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8447              : (SSE_FLOAT_MODE_P (SFmode)))
    8448              :         return -1;
    8449              :       return 1487; /* setcc_sf_sse */
    8450              : 
    8451              :     case E_DFmode:
    8452              :       if (pattern750 (
    8453              : E_DFmode) != 0
    8454              :           || !
    8455              : #line 20047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8456              : (SSE_FLOAT_MODE_P (DFmode)))
    8457              :         return -1;
    8458              :       return 1488; /* setcc_df_sse */
    8459              : 
    8460              :     default:
    8461              :       return -1;
    8462              :     }
    8463              : }
    8464              : 
    8465              :  int
    8466              : recog_56 (rtx x1 ATTRIBUTE_UNUSED,
    8467              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8468              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8469              : {
    8470              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8471              :   rtx x2;
    8472              :   int res ATTRIBUTE_UNUSED;
    8473              :   switch (pattern88 (x1, pnum_clobbers))
    8474              :     {
    8475              :     case 0:
    8476              :       switch (GET_MODE (operands[0]))
    8477              :         {
    8478              :         case E_TImode:
    8479              :           x2 = XEXP (x1, 1);
    8480              :           if (pattern79 (x2, pnum_clobbers) != 0
    8481              :               || !(
    8482              : #line 6516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8483              : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)) && 
    8484              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8485              : (TARGET_64BIT)))
    8486              :             return -1;
    8487              :           *pnum_clobbers = 1;
    8488              :           return 271; /* *addti3_doubleword */
    8489              : 
    8490              :         case E_HImode:
    8491              :           x2 = XEXP (x1, 1);
    8492              :           if (pattern80 (x2, 
    8493              : E_HImode) != 0)
    8494              :             return -1;
    8495              :           if (
    8496              : #line 6864 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8497              : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
    8498              :   && TARGET_APX_NF))
    8499              :             return 301; /* *addhi_1_nf */
    8500              :           if (pnum_clobbers == NULL
    8501              :               || !
    8502              : #line 6864 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8503              : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
    8504              :   && true))
    8505              :             return -1;
    8506              :           *pnum_clobbers = 1;
    8507              :           return 302; /* *addhi_1 */
    8508              : 
    8509              :         case E_QImode:
    8510              :           x2 = XEXP (x1, 1);
    8511              :           if (pattern80 (x2, 
    8512              : E_QImode) != 0)
    8513              :             return -1;
    8514              :           if (
    8515              : #line 6921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8516              : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
    8517              :   && TARGET_APX_NF))
    8518              :             return 303; /* *addqi_1_nf */
    8519              :           if (pnum_clobbers == NULL
    8520              :               || !
    8521              : #line 6921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8522              : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
    8523              :   && true))
    8524              :             return -1;
    8525              :           *pnum_clobbers = 1;
    8526              :           return 304; /* *addqi_1 */
    8527              : 
    8528              :         case E_HFmode:
    8529              :           x2 = XEXP (x1, 1);
    8530              :           if (pattern3 (x2, 
    8531              : E_HFmode) != 0
    8532              :               || !
    8533              : #line 23830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8534              : (TARGET_AVX512FP16
    8535              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8536              :             return -1;
    8537              :           return 1710; /* *addhf */
    8538              : 
    8539              :         case E_V8QImode:
    8540              :           x2 = XEXP (x1, 1);
    8541              :           if (pattern6 (x2, 
    8542              : E_V8QImode) != 0
    8543              :               || !
    8544              : #line 3239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8545              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8546              :    && ix86_binary_operator_ok (PLUS, V8QImode, operands)))
    8547              :             return -1;
    8548              :           return 2181; /* *mmx_addv8qi3 */
    8549              : 
    8550              :         case E_V4HImode:
    8551              :           x2 = XEXP (x1, 1);
    8552              :           if (pattern6 (x2, 
    8553              : E_V4HImode) != 0
    8554              :               || !
    8555              : #line 3239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8556              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8557              :    && ix86_binary_operator_ok (PLUS, V4HImode, operands)))
    8558              :             return -1;
    8559              :           return 2183; /* *mmx_addv4hi3 */
    8560              : 
    8561              :         case E_V2SImode:
    8562              :           x2 = XEXP (x1, 1);
    8563              :           if (pattern6 (x2, 
    8564              : E_V2SImode) != 0
    8565              :               || !
    8566              : #line 3239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8567              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8568              :    && ix86_binary_operator_ok (PLUS, V2SImode, operands)))
    8569              :             return -1;
    8570              :           return 2185; /* *mmx_addv2si3 */
    8571              : 
    8572              :         case E_V1DImode:
    8573              :           x2 = XEXP (x1, 1);
    8574              :           if (pattern6 (x2, 
    8575              : E_V1DImode) != 0
    8576              :               || !(
    8577              : #line 3239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8578              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8579              :    && ix86_binary_operator_ok (PLUS, V1DImode, operands)) && 
    8580              : #line 50 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8581              : (TARGET_SSE2)))
    8582              :             return -1;
    8583              :           return 2187; /* *mmx_addv1di3 */
    8584              : 
    8585              :         case E_V4QImode:
    8586              :           x2 = XEXP (x1, 1);
    8587              :           if (pattern5 (x2, 
    8588              : E_V4QImode) != 0
    8589              :               || !
    8590              : #line 3255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8591              : (TARGET_SSE2))
    8592              :             return -1;
    8593              :           return 2189; /* addv4qi3 */
    8594              : 
    8595              :         case E_V2HImode:
    8596              :           x2 = XEXP (x1, 1);
    8597              :           if (pattern5 (x2, 
    8598              : E_V2HImode) != 0
    8599              :               || !
    8600              : #line 3255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8601              : (TARGET_SSE2))
    8602              :             return -1;
    8603              :           return 2191; /* addv2hi3 */
    8604              : 
    8605              :         case E_V2QImode:
    8606              :           if (pnum_clobbers == NULL)
    8607              :             return -1;
    8608              :           x2 = XEXP (x1, 1);
    8609              :           if (pattern5 (x2, 
    8610              : E_V2QImode) != 0
    8611              :               || !
    8612              : #line 3269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8613              : (!TARGET_PARTIAL_REG_STALL || optimize_size || TARGET_SSE2))
    8614              :             return -1;
    8615              :           *pnum_clobbers = 1;
    8616              :           return 2193; /* addv2qi3 */
    8617              : 
    8618              :         default:
    8619              :           return -1;
    8620              :         }
    8621              : 
    8622              :     case 1:
    8623              :       if (!
    8624              : #line 6997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8625              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    8626              :         return -1;
    8627              :       *pnum_clobbers = 1;
    8628              :       return 305; /* *addqi_1_slp */
    8629              : 
    8630              :     case 2:
    8631              :       if (!
    8632              : #line 6997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8633              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    8634              :         return -1;
    8635              :       *pnum_clobbers = 1;
    8636              :       return 306; /* *addhi_1_slp */
    8637              : 
    8638              :     default:
    8639              :       return -1;
    8640              :     }
    8641              : }
    8642              : 
    8643              :  int
    8644              : recog_64 (rtx x1 ATTRIBUTE_UNUSED,
    8645              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8646              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8647              : {
    8648              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8649              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    8650              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    8651              :   int res ATTRIBUTE_UNUSED;
    8652              :   x2 = XEXP (x1, 0);
    8653              :   operands[0] = x2;
    8654              :   x3 = XEXP (x1, 1);
    8655              :   x4 = XEXP (x3, 0);
    8656              :   switch (GET_CODE (x4))
    8657              :     {
    8658              :     case PLUS:
    8659              :       if (pattern102 (x3, 
    8660              : E_V2SFmode, 
    8661              : E_SFmode) != 0)
    8662              :         return -1;
    8663              :       x5 = XEXP (x3, 1);
    8664              :       x6 = XEXP (x5, 0);
    8665              :       x7 = XEXP (x6, 0);
    8666              :       operands[2] = x7;
    8667              :       if (!nonimmediate_operand (operands[2], E_V2SFmode)
    8668              :           || pattern1879 (x3) != 0
    8669              :           || !
    8670              : #line 1018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8671              : (TARGET_3DNOW
    8672              :    && INTVAL (operands[3]) != INTVAL (operands[4])
    8673              :    && INTVAL (operands[5]) != INTVAL (operands[6])))
    8674              :         return -1;
    8675              :       return 2121; /* *mmx_haddv2sf3 */
    8676              : 
    8677              :     case MINUS:
    8678              :       if (pattern103 (x4, 
    8679              : E_SFmode) != 0
    8680              :           || !register_operand (operands[0], E_V2SFmode)
    8681              :           || GET_MODE (x3) != E_V2SFmode)
    8682              :         return -1;
    8683              :       x8 = XEXP (x4, 0);
    8684              :       x9 = XEXP (x8, 0);
    8685              :       operands[1] = x9;
    8686              :       if (!register_operand (operands[1], E_V2SFmode))
    8687              :         return -1;
    8688              :       x5 = XEXP (x3, 1);
    8689              :       if (GET_MODE (x5) != E_SFmode)
    8690              :         return -1;
    8691              :       x10 = XEXP (x4, 1);
    8692              :       x11 = XEXP (x10, 0);
    8693              :       if (!rtx_equal_p (x11, operands[1]))
    8694              :         return -1;
    8695              :       switch (GET_CODE (x5))
    8696              :         {
    8697              :         case MINUS:
    8698              :           if (pattern1565 (x5, 
    8699              : E_SFmode) != 0)
    8700              :             return -1;
    8701              :           x6 = XEXP (x5, 0);
    8702              :           x7 = XEXP (x6, 0);
    8703              :           operands[2] = x7;
    8704              :           if (!nonimmediate_operand (operands[2], E_V2SFmode))
    8705              :             return -1;
    8706              :           x12 = XEXP (x5, 1);
    8707              :           x13 = XEXP (x12, 0);
    8708              :           if (!rtx_equal_p (x13, operands[2])
    8709              :               || !
    8710              : #line 1066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8711              : (TARGET_3DNOW_A))
    8712              :             return -1;
    8713              :           return 2123; /* mmx_hsubv2sf3 */
    8714              : 
    8715              :         case PLUS:
    8716              :           x6 = XEXP (x5, 0);
    8717              :           if (GET_CODE (x6) != VEC_SELECT
    8718              :               || GET_MODE (x6) != E_SFmode)
    8719              :             return -1;
    8720              :           x14 = XEXP (x6, 1);
    8721              :           if (GET_CODE (x14) != PARALLEL
    8722              :               || XVECLEN (x14, 0) != 1)
    8723              :             return -1;
    8724              :           x12 = XEXP (x5, 1);
    8725              :           if (GET_CODE (x12) != VEC_SELECT
    8726              :               || GET_MODE (x12) != E_SFmode)
    8727              :             return -1;
    8728              :           x15 = XEXP (x12, 1);
    8729              :           if (GET_CODE (x15) != PARALLEL
    8730              :               || XVECLEN (x15, 0) != 1)
    8731              :             return -1;
    8732              :           x7 = XEXP (x6, 0);
    8733              :           operands[2] = x7;
    8734              :           if (!nonimmediate_operand (operands[2], E_V2SFmode))
    8735              :             return -1;
    8736              :           x16 = XVECEXP (x14, 0, 0);
    8737              :           operands[3] = x16;
    8738              :           if (!const_0_to_1_operand (operands[3], E_SImode))
    8739              :             return -1;
    8740              :           x17 = XVECEXP (x15, 0, 0);
    8741              :           operands[4] = x17;
    8742              :           if (!const_0_to_1_operand (operands[4], E_SImode))
    8743              :             return -1;
    8744              :           x13 = XEXP (x12, 0);
    8745              :           if (!rtx_equal_p (x13, operands[2])
    8746              :               || !
    8747              : #line 1128 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8748              : (TARGET_3DNOW_A
    8749              :    && INTVAL (operands[3]) != INTVAL (operands[4])))
    8750              :             return -1;
    8751              :           return 2125; /* *mmx_haddsubv2sf3 */
    8752              : 
    8753              :         default:
    8754              :           return -1;
    8755              :         }
    8756              : 
    8757              :     case REG:
    8758              :     case SUBREG:
    8759              :     case MEM:
    8760              :       operands[1] = x4;
    8761              :       x5 = XEXP (x3, 1);
    8762              :       operands[2] = x5;
    8763              :       switch (GET_MODE (operands[0]))
    8764              :         {
    8765              :         case E_V2SFmode:
    8766              :           if (!register_operand (operands[0], E_V2SFmode)
    8767              :               || GET_MODE (x3) != E_V2SFmode
    8768              :               || !nonimmediate_operand (operands[1], E_SFmode))
    8769              :             return -1;
    8770              :           if (nonimm_or_0_operand (operands[2], E_SFmode))
    8771              :             {
    8772              :               if (
    8773              : #line 1778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8774              : (TARGET_MMX && !TARGET_SSE))
    8775              :                 return 2149; /* *mmx_concatv2sf */
    8776              :               if (
    8777              : #line 12082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8778              : (TARGET_SSE4_1 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8779              :                 return 5300; /* *vec_concatv2sf_sse4_1 */
    8780              :             }
    8781              :           if (!reg_or_0_operand (operands[2], E_SFmode)
    8782              :               || !
    8783              : #line 12146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8784              : (TARGET_SSE))
    8785              :             return -1;
    8786              :           return 5301; /* *vec_concatv2sf_sse */
    8787              : 
    8788              :         case E_V2SImode:
    8789              :           if (!register_operand (operands[0], E_V2SImode)
    8790              :               || GET_MODE (x3) != E_V2SImode
    8791              :               || !nonimmediate_operand (operands[1], E_SImode))
    8792              :             return -1;
    8793              :           if (nonimm_or_0_operand (operands[2], E_SImode))
    8794              :             {
    8795              :               if (
    8796              : #line 5729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8797              : (TARGET_MMX && !TARGET_SSE))
    8798              :                 return 2405; /* *mmx_concatv2si */
    8799              :               if (
    8800              : #line 21845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8801              : (TARGET_SSE4_1 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8802              :                 return 8524; /* *vec_concatv2si_sse4_1 */
    8803              :             }
    8804              :           if (!reg_or_0_operand (operands[2], E_SImode)
    8805              :               || !
    8806              : #line 21894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8807              : (TARGET_SSE && !TARGET_SSE4_1))
    8808              :             return -1;
    8809              :           return 8525; /* *vec_concatv2si */
    8810              : 
    8811              :         default:
    8812              :           return -1;
    8813              :         }
    8814              : 
    8815              :     case SS_TRUNCATE:
    8816              :       x5 = XEXP (x3, 1);
    8817              :       if (GET_CODE (x5) != SS_TRUNCATE)
    8818              :         return -1;
    8819              :       switch (pattern271 (x3))
    8820              :         {
    8821              :         case 0:
    8822              :           if (!
    8823              : #line 4799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8824              : (TARGET_MMX || TARGET_MMX_WITH_SSE))
    8825              :             return -1;
    8826              :           return 2349; /* mmx_packsswb */
    8827              : 
    8828              :         case 1:
    8829              :           if (!
    8830              : #line 4840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8831              : (TARGET_MMX || TARGET_MMX_WITH_SSE))
    8832              :             return -1;
    8833              :           return 2351; /* mmx_packssdw */
    8834              : 
    8835              :         default:
    8836              :           return -1;
    8837              :         }
    8838              : 
    8839              :     default:
    8840              :       return -1;
    8841              :     }
    8842              : }
    8843              : 
    8844              :  int
    8845              : recog_70 (rtx x1 ATTRIBUTE_UNUSED,
    8846              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8847              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8848              : {
    8849              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8850              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    8851              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    8852              :   rtx x18, x19;
    8853              :   int res ATTRIBUTE_UNUSED;
    8854              :   x2 = XEXP (x1, 0);
    8855              :   operands[0] = x2;
    8856              :   x3 = XEXP (x1, 1);
    8857              :   x4 = XEXP (x3, 0);
    8858              :   switch (GET_CODE (x4))
    8859              :     {
    8860              :     case LSHIFTRT:
    8861              :       x5 = XEXP (x4, 1);
    8862              :       if (GET_CODE (x5) != CONST_INT)
    8863              :         return -1;
    8864              :       x6 = XEXP (x4, 0);
    8865              :       switch (GET_CODE (x6))
    8866              :         {
    8867              :         case MULT:
    8868              :           if (XWINT (x5, 0) != 16L)
    8869              :             return -1;
    8870              :           x7 = XEXP (x6, 0);
    8871              :           switch (GET_CODE (x7))
    8872              :             {
    8873              :             case SIGN_EXTEND:
    8874              :               switch (pattern755 (x3, 
    8875              : SIGN_EXTEND))
    8876              :                 {
    8877              :                 case 0:
    8878              :                   if (!
    8879              : #line 3475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8880              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8881              :    && ix86_binary_operator_ok (MULT, V4HImode, operands)))
    8882              :                     return -1;
    8883              :                   return 2218; /* *mmx_smulv4hi3_highpart */
    8884              : 
    8885              :                 case 1:
    8886              :                   if (!
    8887              : #line 3544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8888              : (TARGET_SSE2))
    8889              :                     return -1;
    8890              :                   return 2220; /* smulv2hi3_highpart */
    8891              : 
    8892              :                 default:
    8893              :                   return -1;
    8894              :                 }
    8895              : 
    8896              :             case ZERO_EXTEND:
    8897              :               switch (pattern755 (x3, 
    8898              : ZERO_EXTEND))
    8899              :                 {
    8900              :                 case 0:
    8901              :                   if (!
    8902              : #line 3510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8903              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8904              :    && (TARGET_SSE || TARGET_3DNOW_A)
    8905              :    && ix86_binary_operator_ok (MULT, V4HImode, operands)))
    8906              :                     return -1;
    8907              :                   return 2219; /* *mmx_umulv4hi3_highpart */
    8908              : 
    8909              :                 case 1:
    8910              :                   if (!
    8911              : #line 3544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8912              : (TARGET_SSE2))
    8913              :                     return -1;
    8914              :                   return 2221; /* umulv2hi3_highpart */
    8915              : 
    8916              :                 default:
    8917              :                   return -1;
    8918              :                 }
    8919              : 
    8920              :             default:
    8921              :               return -1;
    8922              :             }
    8923              : 
    8924              :         case PLUS:
    8925              :           x7 = XEXP (x6, 0);
    8926              :           switch (GET_CODE (x7))
    8927              :             {
    8928              :             case MULT:
    8929              :               if (GET_MODE (x7) != E_V4SImode)
    8930              :                 return -1;
    8931              :               x8 = XEXP (x7, 0);
    8932              :               if (GET_CODE (x8) != SIGN_EXTEND
    8933              :                   || GET_MODE (x8) != E_V4SImode)
    8934              :                 return -1;
    8935              :               x9 = XEXP (x7, 1);
    8936              :               if (GET_CODE (x9) != SIGN_EXTEND
    8937              :                   || GET_MODE (x9) != E_V4SImode)
    8938              :                 return -1;
    8939              :               x10 = XEXP (x6, 1);
    8940              :               if (GET_CODE (x10) != CONST_VECTOR
    8941              :                   || XVECLEN (x10, 0) != 4
    8942              :                   || GET_MODE (x10) != E_V4SImode)
    8943              :                 return -1;
    8944              :               x11 = XVECEXP (x10, 0, 0);
    8945              :               if (GET_CODE (x11) != CONST_INT
    8946              :                   || XWINT (x11, 0) != 32768L)
    8947              :                 return -1;
    8948              :               x12 = XVECEXP (x10, 0, 1);
    8949              :               if (GET_CODE (x12) != CONST_INT
    8950              :                   || XWINT (x12, 0) != 32768L)
    8951              :                 return -1;
    8952              :               x13 = XVECEXP (x10, 0, 2);
    8953              :               if (GET_CODE (x13) != CONST_INT
    8954              :                   || XWINT (x13, 0) != 32768L)
    8955              :                 return -1;
    8956              :               x14 = XVECEXP (x10, 0, 3);
    8957              :               if (GET_CODE (x14) != CONST_INT
    8958              :                   || XWINT (x14, 0) != 32768L
    8959              :                   || XWINT (x5, 0) != 16L
    8960              :                   || !register_operand (operands[0], E_V4HImode)
    8961              :                   || GET_MODE (x3) != E_V4HImode
    8962              :                   || GET_MODE (x4) != E_V4SImode
    8963              :                   || GET_MODE (x6) != E_V4SImode)
    8964              :                 return -1;
    8965              :               x15 = XEXP (x8, 0);
    8966              :               operands[1] = x15;
    8967              :               if (!nonimmediate_operand (operands[1], E_V4HImode))
    8968              :                 return -1;
    8969              :               x16 = XEXP (x9, 0);
    8970              :               operands[2] = x16;
    8971              :               if (!nonimmediate_operand (operands[2], E_V4HImode)
    8972              :                   || !
    8973              : #line 3633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8974              : (TARGET_3DNOW && ix86_binary_operator_ok (MULT, V4HImode, operands)))
    8975              :                 return -1;
    8976              :               return 2223; /* *mmx_pmulhrwv4hi3 */
    8977              : 
    8978              :             case PLUS:
    8979              :               x8 = XEXP (x7, 0);
    8980              :               if (GET_CODE (x8) != ZERO_EXTEND)
    8981              :                 return -1;
    8982              :               x9 = XEXP (x7, 1);
    8983              :               if (GET_CODE (x9) != ZERO_EXTEND)
    8984              :                 return -1;
    8985              :               x10 = XEXP (x6, 1);
    8986              :               if (GET_CODE (x10) != CONST_VECTOR
    8987              :                   || XWINT (x5, 0) != 1L)
    8988              :                 return -1;
    8989              :               x15 = XEXP (x8, 0);
    8990              :               operands[1] = x15;
    8991              :               x16 = XEXP (x9, 0);
    8992              :               operands[2] = x16;
    8993              :               switch (XVECLEN (x10, 0))
    8994              :                 {
    8995              :                 case 8:
    8996              :                   if (pattern1370 (x10, 
    8997              : E_V8HImode) != 0
    8998              :                       || pattern1652 (x3, 
    8999              : E_V8QImode, 
    9000              : E_V8HImode) != 0
    9001              :                       || !
    9002              : #line 6360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    9003              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    9004              :    && (TARGET_SSE || TARGET_3DNOW)
    9005              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9006              :                     return -1;
    9007              :                   return 2435; /* *mmx_uavgv8qi3 */
    9008              : 
    9009              :                 case 4:
    9010              :                   x11 = XVECEXP (x10, 0, 0);
    9011              :                   if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    9012              :                     return -1;
    9013              :                   x12 = XVECEXP (x10, 0, 1);
    9014              :                   if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    9015              :                     return -1;
    9016              :                   x13 = XVECEXP (x10, 0, 2);
    9017              :                   if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    9018              :                     return -1;
    9019              :                   x14 = XVECEXP (x10, 0, 3);
    9020              :                   if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    9021              :                     return -1;
    9022              :                   switch (GET_MODE (operands[0]))
    9023              :                     {
    9024              :                     case E_V4HImode:
    9025              :                       if (pattern1652 (x3, 
    9026              : E_V4HImode, 
    9027              : E_V4SImode) != 0
    9028              :                           || GET_MODE (x10) != E_V4SImode
    9029              :                           || !
    9030              : #line 6404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    9031              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    9032              :    && (TARGET_SSE || TARGET_3DNOW_A)
    9033              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9034              :                         return -1;
    9035              :                       return 2436; /* *mmx_uavgv4hi3 */
    9036              : 
    9037              :                     case E_V4QImode:
    9038              :                       if (pattern1548 (x3, 
    9039              : E_V4HImode, 
    9040              : E_V4QImode) != 0
    9041              :                           || !
    9042              : #line 6444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    9043              : (TARGET_SSE2))
    9044              :                         return -1;
    9045              :                       return 2437; /* uavgv4qi3_ceil */
    9046              : 
    9047              :                     default:
    9048              :                       return -1;
    9049              :                     }
    9050              : 
    9051              :                 case 2:
    9052              :                   x11 = XVECEXP (x10, 0, 0);
    9053              :                   if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    9054              :                     return -1;
    9055              :                   x12 = XVECEXP (x10, 0, 1);
    9056              :                   if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    9057              :                     return -1;
    9058              :                   switch (GET_MODE (operands[0]))
    9059              :                     {
    9060              :                     case E_V2QImode:
    9061              :                       if (pattern1548 (x3, 
    9062              : E_V2HImode, 
    9063              : E_V2QImode) != 0
    9064              :                           || !
    9065              : #line 6464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    9066              : (TARGET_SSE2))
    9067              :                         return -1;
    9068              :                       return 2438; /* uavgv2qi3_ceil */
    9069              : 
    9070              :                     case E_V2HImode:
    9071              :                       if (pattern1548 (x3, 
    9072              : E_V2SImode, 
    9073              : E_V2HImode) != 0
    9074              :                           || !
    9075              : #line 6484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    9076              : (TARGET_SSE2))
    9077              :                         return -1;
    9078              :                       return 2439; /* uavgv2hi3_ceil */
    9079              : 
    9080              :                     default:
    9081              :                       return -1;
    9082              :                     }
    9083              : 
    9084              :                 default:
    9085              :                   return -1;
    9086              :                 }
    9087              : 
    9088              :             case LSHIFTRT:
    9089              :               if (pattern627 (x7) != 0
    9090              :                   || XWINT (x5, 0) != 1L)
    9091              :                 return -1;
    9092              :               x8 = XEXP (x7, 0);
    9093              :               x15 = XEXP (x8, 0);
    9094              :               x17 = XEXP (x15, 0);
    9095              :               operands[1] = x17;
    9096              :               x18 = XEXP (x8, 1);
    9097              :               x19 = XEXP (x18, 0);
    9098              :               operands[2] = x19;
    9099              :               x10 = XEXP (x6, 1);
    9100              :               operands[3] = x10;
    9101              :               switch (GET_MODE (operands[0]))
    9102              :                 {
    9103              :                 case E_V4HImode:
    9104              :                   if (pattern1523 (x3, 
    9105              : E_V4SImode, 
    9106              : E_V4HImode) != 0
    9107              :                       || !register_mmxmem_operand (operands[1], E_V4HImode)
    9108              :                       || GET_MODE (x18) != E_V4SImode
    9109              :                       || !register_mmxmem_operand (operands[2], E_V4HImode)
    9110              :                       || !const1_operand (operands[3], E_V4HImode)
    9111              :                       || !
    9112              : #line 23410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9113              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    9114              :    && TARGET_SSSE3
    9115              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9116              :                     return -1;
    9117              :                   return 8667; /* *ssse3_pmulhrswv4hi3 */
    9118              : 
    9119              :                 case E_V2HImode:
    9120              :                   if (pattern1523 (x3, 
    9121              : E_V2SImode, 
    9122              : E_V2HImode) != 0
    9123              :                       || !register_operand (operands[1], E_V2HImode)
    9124              :                       || GET_MODE (x18) != E_V2SImode
    9125              :                       || !register_operand (operands[2], E_V2HImode)
    9126              :                       || !const1_operand (operands[3], E_V2HImode)
    9127              :                       || !
    9128              : #line 23455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9129              : (TARGET_SSSE3
    9130              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9131              :                     return -1;
    9132              :                   return 8668; /* *smulhrsv2hi3 */
    9133              : 
    9134              :                 default:
    9135              :                   return -1;
    9136              :                 }
    9137              : 
    9138              :             default:
    9139              :               return -1;
    9140              :             }
    9141              : 
    9142              :         default:
    9143              :           return -1;
    9144              :         }
    9145              : 
    9146              :     case REG:
    9147              :     case SUBREG:
    9148              :       operands[1] = x4;
    9149              :       switch (GET_MODE (operands[0]))
    9150              :         {
    9151              :         case E_V4QImode:
    9152              :           if (GET_MODE (x3) != E_V4QImode)
    9153              :             return -1;
    9154              :           if (register_operand (operands[0], E_V4QImode)
    9155              :               && register_operand (operands[1], E_V4HImode)
    9156              :               && (
    9157              : #line 5172 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    9158              : (TARGET_AVX512VL && TARGET_AVX512BW) && 
    9159              : #line 73 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    9160              : (TARGET_MMX_WITH_SSE)))
    9161              :             return 2369; /* avx512vl_truncv4hiv4qi2 */
    9162              :           if (!memory_operand (operands[0], E_V4QImode))
    9163              :             return -1;
    9164              :           switch (GET_MODE (operands[1]))
    9165              :             {
    9166              :             case E_V4SImode:
    9167              :               if (!register_operand (operands[1], E_V4SImode)
    9168              :                   || !
    9169              : #line 15820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9170              : (TARGET_AVX512VL))
    9171              :                 return -1;
    9172              :               return 7348; /* *avx512vl_truncatev4siv4qi2_store_1 */
    9173              : 
    9174              :             case E_V4DImode:
    9175              :               if (!register_operand (operands[1], E_V4DImode)
    9176              :                   || !
    9177              : #line 15820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9178              : (TARGET_AVX512VL))
    9179              :                 return -1;
    9180              :               return 7351; /* *avx512vl_truncatev4div4qi2_store_1 */
    9181              : 
    9182              :             default:
    9183              :               return -1;
    9184              :             }
    9185              : 
    9186              :         case E_V2QImode:
    9187              :           if (GET_MODE (x3) != E_V2QImode)
    9188              :             return -1;
    9189              :           if (register_operand (operands[0], E_V2QImode))
    9190              :             {
    9191              :               switch (GET_MODE (operands[1]))
    9192              :                 {
    9193              :                 case E_V2HImode:
    9194              :                   if (register_operand (operands[1], E_V2HImode)
    9195              :                       && 
    9196              : #line 5172 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    9197              : (TARGET_AVX512VL && TARGET_AVX512BW))
    9198              :                     return 2370; /* avx512vl_truncv2hiv2qi2 */
    9199              :                   break;
    9200              : 
    9201              :                 case E_V2SImode:
    9202              :                   if (register_operand (operands[1], E_V2SImode)
    9203              :                       && 
    9204              : #line 5198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    9205              : (TARGET_AVX512VL && TARGET_MMX_WITH_SSE))
    9206              :                     return 2371; /* avx512vl_truncv2siv2qi2 */
    9207              :                   break;
    9208              : 
    9209              :                 default:
    9210              :                   break;
    9211              :                 }
    9212              :             }
    9213              :           if (!memory_operand (operands[0], E_V2QImode)
    9214              :               || !register_operand (operands[1], E_V2DImode)
    9215              :               || !
    9216              : #line 15725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9217              : (TARGET_AVX512VL))
    9218              :             return -1;
    9219              :           return 7333; /* *avx512vl_truncatev2div2qi2_store_1 */
    9220              : 
    9221              :         case E_V2HImode:
    9222              :           if (GET_MODE (x3) != E_V2HImode)
    9223              :             return -1;
    9224              :           if (register_operand (operands[0], E_V2HImode)
    9225              :               && register_operand (operands[1], E_V2SImode)
    9226              :               && 
    9227              : #line 5198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    9228              : (TARGET_AVX512VL && TARGET_MMX_WITH_SSE))
    9229              :             return 2372; /* avx512vl_truncv2siv2hi2 */
    9230              :           if (!memory_operand (operands[0], E_V2HImode)
    9231              :               || !register_operand (operands[1], E_V2DImode)
    9232              :               || !
    9233              : #line 16171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9234              : (TARGET_AVX512VL))
    9235              :             return -1;
    9236              :           return 7448; /* *avx512vl_truncatev2div2hi2_store_1 */
    9237              : 
    9238              :         case E_V8QImode:
    9239              :           switch (pattern10 (x3))
    9240              :             {
    9241              :             case 0:
    9242              :               if (!(
    9243              : #line 15918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9244              : (TARGET_AVX512VL) && 
    9245              : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9246              : (TARGET_AVX512BW)))
    9247              :                 return -1;
    9248              :               return 7378; /* *avx512vl_truncatev8hiv8qi2_store_1 */
    9249              : 
    9250              :             case 1:
    9251              :               if (!
    9252              : #line 15918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9253              : (TARGET_AVX512VL))
    9254              :                 return -1;
    9255              :               return 7381; /* *avx512vl_truncatev8siv8qi2_store_1 */
    9256              : 
    9257              :             case 2:
    9258              :               if (!
    9259              : #line 16434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9260              : (TARGET_AVX512F))
    9261              :                 return -1;
    9262              :               return 7485; /* *avx512f_truncatev8div16qi2_store_1 */
    9263              : 
    9264              :             default:
    9265              :               return -1;
    9266              :             }
    9267              : 
    9268              :         case E_V4HImode:
    9269              :           switch (pattern9 (x3, 
    9270              : E_V4HImode))
    9271              :             {
    9272              :             case 0:
    9273              :               if (!
    9274              : #line 16080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9275              : (TARGET_AVX512VL))
    9276              :                 return -1;
    9277              :               return 7418; /* *avx512vl_truncatev4siv4hi2_store_1 */
    9278              : 
    9279              :             case 1:
    9280              :               if (!
    9281              : #line 16080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9282              : (TARGET_AVX512VL))
    9283              :                 return -1;
    9284              :               return 7421; /* *avx512vl_truncatev4div4hi2_store_1 */
    9285              : 
    9286              :             default:
    9287              :               return -1;
    9288              :             }
    9289              : 
    9290              :         case E_V2SImode:
    9291              :           if (!memory_operand (operands[0], E_V2SImode)
    9292              :               || GET_MODE (x3) != E_V2SImode
    9293              :               || !register_operand (operands[1], E_V2DImode)
    9294              :               || !
    9295              : #line 16321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9296              : (TARGET_AVX512VL))
    9297              :             return -1;
    9298              :           return 7467; /* *avx512vl_truncatev2div2si2_store_1 */
    9299              : 
    9300              :         default:
    9301              :           return -1;
    9302              :         }
    9303              : 
    9304              :     default:
    9305              :       return -1;
    9306              :     }
    9307              : }
    9308              : 
    9309              :  int
    9310              : recog_79 (rtx x1 ATTRIBUTE_UNUSED,
    9311              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9312              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9313              : {
    9314              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9315              :   rtx x2, x3, x4, x5, x6;
    9316              :   int res ATTRIBUTE_UNUSED;
    9317              :   x2 = XEXP (x1, 1);
    9318              :   x3 = XEXP (x2, 0);
    9319              :   x4 = XEXP (x3, 0);
    9320              :   switch (GET_CODE (x4))
    9321              :     {
    9322              :     case REG:
    9323              :     case SUBREG:
    9324              :     case MEM:
    9325              :       switch (pattern115 (x2, pnum_clobbers))
    9326              :         {
    9327              :         case 0:
    9328              :           if (
    9329              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9330              : (TARGET_APX_NDD && TARGET_APX_NF
    9331              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9332              :             return 877; /* *xorqi_1_zextsi_nf */
    9333              :           if (pnum_clobbers == NULL
    9334              :               || !
    9335              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9336              : (TARGET_APX_NDD && true
    9337              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9338              :             return -1;
    9339              :           *pnum_clobbers = 1;
    9340              :           return 878; /* *xorqi_1_zextsi */
    9341              : 
    9342              :         case 1:
    9343              :           if (
    9344              : #line 14049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9345              : (TARGET_APX_NDD && TARGET_APX_NF
    9346              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9347              :             return 885; /* *xorhi_1_zextsi_nf */
    9348              :           if (pnum_clobbers == NULL
    9349              :               || !
    9350              : #line 14049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9351              : (TARGET_APX_NDD && true
    9352              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9353              :             return -1;
    9354              :           *pnum_clobbers = 1;
    9355              :           return 886; /* *xorhi_1_zextsi */
    9356              : 
    9357              :         case 2:
    9358              :           if (
    9359              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9360              : (TARGET_APX_NDD && TARGET_APX_NF
    9361              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9362              :             return 881; /* *xorqi_1_zextdi_nf */
    9363              :           if (pnum_clobbers == NULL
    9364              :               || !
    9365              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9366              : (TARGET_APX_NDD && true
    9367              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9368              :             return -1;
    9369              :           *pnum_clobbers = 1;
    9370              :           return 882; /* *xorqi_1_zextdi */
    9371              : 
    9372              :         case 3:
    9373              :           if (
    9374              : #line 14049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9375              : (TARGET_APX_NDD && TARGET_APX_NF
    9376              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9377              :             return 889; /* *xorhi_1_zextdi_nf */
    9378              :           if (pnum_clobbers == NULL
    9379              :               || !
    9380              : #line 14049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9381              : (TARGET_APX_NDD && true
    9382              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    9383              :             return -1;
    9384              :           *pnum_clobbers = 1;
    9385              :           return 890; /* *xorhi_1_zextdi */
    9386              : 
    9387              :         case 4:
    9388              :           if (!
    9389              : #line 14065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9390              : (TARGET_64BIT
    9391              :    && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
    9392              :             return -1;
    9393              :           *pnum_clobbers = 1;
    9394              :           return 892; /* *xorsi_1_zext */
    9395              : 
    9396              :         default:
    9397              :           return -1;
    9398              :         }
    9399              : 
    9400              :     case MINUS:
    9401              :       if (pnum_clobbers == NULL
    9402              :           || pattern442 (x3) != 0
    9403              :           || !register_operand (operands[0], E_DImode)
    9404              :           || GET_MODE (x2) != E_DImode
    9405              :           || GET_MODE (x3) != E_SImode)
    9406              :         return -1;
    9407              :       x5 = XEXP (x4, 1);
    9408              :       x6 = XEXP (x5, 0);
    9409              :       operands[1] = x6;
    9410              :       if (!nonimmediate_operand (operands[1], E_SImode)
    9411              :           || !
    9412              : #line 21705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9413              : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
    9414              :         return -1;
    9415              :       *pnum_clobbers = 1;
    9416              :       return 1565; /* *bsru_2 */
    9417              : 
    9418              :     default:
    9419              :       return -1;
    9420              :     }
    9421              : }
    9422              : 
    9423              :  int
    9424              : recog_82 (rtx x1 ATTRIBUTE_UNUSED,
    9425              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9426              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9427              : {
    9428              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9429              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    9430              :   rtx x10, x11;
    9431              :   int res ATTRIBUTE_UNUSED;
    9432              :   x2 = XEXP (x1, 1);
    9433              :   x3 = XEXP (x2, 0);
    9434              :   x4 = XEXP (x3, 1);
    9435              :   x5 = XEXP (x4, 0);
    9436              :   operands[2] = x5;
    9437              :   x6 = XEXP (x3, 0);
    9438              :   if (!rtx_equal_p (x6, operands[0]))
    9439              :     return -1;
    9440              :   x7 = XEXP (x2, 1);
    9441              :   x8 = XEXP (x7, 0);
    9442              :   x9 = XEXP (x8, 1);
    9443              :   x10 = XEXP (x9, 1);
    9444              :   x11 = XEXP (x10, 0);
    9445              :   if (!rtx_equal_p (x11, operands[2]))
    9446              :     return -1;
    9447              :   if (
    9448              : #line 15739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9449              : (TARGET_64BIT && TARGET_APX_NF))
    9450              :     return 1094; /* x86_64_shld_nf */
    9451              :   if (pnum_clobbers == NULL
    9452              :       || !
    9453              : #line 15739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9454              : (TARGET_64BIT && true))
    9455              :     return -1;
    9456              :   *pnum_clobbers = 1;
    9457              :   return 1095; /* x86_64_shld */
    9458              : }
    9459              : 
    9460              :  int
    9461              : recog_84 (rtx x1 ATTRIBUTE_UNUSED,
    9462              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9463              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9464              : {
    9465              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9466              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    9467              :   rtx x10, x11, x12, x13, x14, x15;
    9468              :   int res ATTRIBUTE_UNUSED;
    9469              :   x2 = XEXP (x1, 1);
    9470              :   x3 = XEXP (x2, 0);
    9471              :   x4 = XEXP (x3, 0);
    9472              :   switch (GET_CODE (x4))
    9473              :     {
    9474              :     case REG:
    9475              :     case SUBREG:
    9476              :     case MEM:
    9477              :       x5 = XEXP (x3, 1);
    9478              :       switch (GET_CODE (x5))
    9479              :         {
    9480              :         case CONST_INT:
    9481              :         case CONST_WIDE_INT:
    9482              :         case CONST_POLY_INT:
    9483              :         case CONST_FIXED:
    9484              :         case CONST_DOUBLE:
    9485              :         case CONST_VECTOR:
    9486              :         case CONST:
    9487              :         case REG:
    9488              :         case SUBREG:
    9489              :         case LABEL_REF:
    9490              :         case SYMBOL_REF:
    9491              :         case HIGH:
    9492              :           x6 = XEXP (x2, 1);
    9493              :           switch (GET_CODE (x6))
    9494              :             {
    9495              :             case CONST_INT:
    9496              :             case CONST_WIDE_INT:
    9497              :               operands[3] = x6;
    9498              :               operands[1] = x4;
    9499              :               operands[2] = x5;
    9500              :               switch (GET_MODE (operands[0]))
    9501              :                 {
    9502              :                 case E_SImode:
    9503              :                   if (pattern614 (x2, 
    9504              : E_SImode) != 0
    9505              :                       || !
    9506              : #line 8072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9507              : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
    9508              :    < (HOST_WIDE_INT_1U << INTVAL (operands[2]))))
    9509              :                     return -1;
    9510              :                   return 380; /* *leasi_general_4 */
    9511              : 
    9512              :                 case E_DImode:
    9513              :                   if (GET_MODE (x2) != E_DImode
    9514              :                       || GET_MODE (x3) != E_DImode)
    9515              :                     return -1;
    9516              :                   if (register_operand (operands[0], E_DImode)
    9517              :                       && register_no_SP_operand (operands[1], E_DImode)
    9518              :                       && const_0_to_3_operand (operands[2], E_VOIDmode)
    9519              :                       && const_int_operand (operands[3], E_VOIDmode)
    9520              :                       && (
    9521              : #line 8072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9522              : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
    9523              :    < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) && 
    9524              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9525              : (TARGET_64BIT)))
    9526              :                     return 382; /* *leadi_general_4 */
    9527              :                   if (!nonimmediate_operand (operands[0], E_DImode)
    9528              :                       || !register_operand (operands[1], E_DImode)
    9529              :                       || !const_int_operand (operands[2], E_QImode)
    9530              :                       || !const_scalar_int_operand (operands[3], E_DImode)
    9531              :                       || !(
    9532              : #line 14473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9533              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT / 2
    9534              :    && (DImode == DImode
    9535              :        ? CONST_INT_P (operands[3])
    9536              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
    9537              :        : CONST_INT_P (operands[3])
    9538              :        ? INTVAL (operands[3]) >= 0
    9539              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
    9540              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
    9541              :    && !(CONST_INT_P (operands[3])
    9542              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
    9543              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
    9544              :                                                                      0)),
    9545              :                                         VOIDmode))) && 
    9546              : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9547              : (!TARGET_64BIT)))
    9548              :                     return -1;
    9549              :                   return 961; /* *concatsidi3_5 */
    9550              : 
    9551              :                 default:
    9552              :                   return -1;
    9553              :                 }
    9554              : 
    9555              :             case ZERO_EXTEND:
    9556              :               if (GET_MODE (x6) != E_DImode
    9557              :                   || !nonimmediate_operand (operands[0], E_DImode)
    9558              :                   || GET_MODE (x2) != E_DImode
    9559              :                   || GET_MODE (x3) != E_DImode)
    9560              :                 return -1;
    9561              :               operands[1] = x4;
    9562              :               if (!register_operand (operands[1], E_DImode))
    9563              :                 return -1;
    9564              :               operands[2] = x5;
    9565              :               if (!const_int_operand (operands[2], E_QImode))
    9566              :                 return -1;
    9567              :               x7 = XEXP (x6, 0);
    9568              :               operands[3] = x7;
    9569              :               if (!nonimmediate_operand (operands[3], E_SImode)
    9570              :                   || !(
    9571              : #line 14396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9572              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
    9573              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9574              : (!TARGET_64BIT)))
    9575              :                 return -1;
    9576              :               return 925; /* *concatsidi3_1 */
    9577              : 
    9578              :             case SUBREG:
    9579              :               switch (pattern444 (x2, 
    9580              : LSHIFTRT))
    9581              :                 {
    9582              :                 case 0:
    9583              :                   operands[2] = x5;
    9584              :                   if (pattern1371 (x2) == 0)
    9585              :                     {
    9586              :                       if (
    9587              : #line 15775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9588              : (TARGET_64BIT
    9589              :    && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
    9590              :    && TARGET_APX_NF))
    9591              :                         return 1098; /* x86_64_shld_1_nf */
    9592              :                       if (pnum_clobbers != NULL
    9593              :                           && 
    9594              : #line 15775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9595              : (TARGET_64BIT
    9596              :    && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
    9597              :    && true))
    9598              :                         {
    9599              :                           *pnum_clobbers = 1;
    9600              :                           return 1099; /* x86_64_shld_1 */
    9601              :                         }
    9602              :                     }
    9603              :                   operands[3] = x5;
    9604              :                   if (pattern1372 (x2) != 0)
    9605              :                     return -1;
    9606              :                   if (
    9607              : #line 15797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9608              : (TARGET_APX_NDD
    9609              :    && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
    9610              :    && TARGET_APX_NF))
    9611              :                     return 1100; /* x86_64_shld_ndd_1_nf */
    9612              :                   if (pnum_clobbers == NULL
    9613              :                       || !
    9614              : #line 15797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9615              : (TARGET_APX_NDD
    9616              :    && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
    9617              :    && true))
    9618              :                     return -1;
    9619              :                   *pnum_clobbers = 1;
    9620              :                   return 1101; /* x86_64_shld_ndd_1 */
    9621              : 
    9622              :                 case 1:
    9623              :                   operands[2] = x5;
    9624              :                   if (pattern1373 (x2) == 0)
    9625              :                     {
    9626              :                       if (
    9627              : #line 16007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9628              : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
    9629              :   && TARGET_APX_NF))
    9630              :                         return 1110; /* x86_shld_1_nf */
    9631              :                       if (pnum_clobbers != NULL
    9632              :                           && 
    9633              : #line 16007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9634              : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
    9635              :   && true))
    9636              :                         {
    9637              :                           *pnum_clobbers = 1;
    9638              :                           return 1111; /* x86_shld_1 */
    9639              :                         }
    9640              :                     }
    9641              :                   operands[3] = x5;
    9642              :                   if (pattern1374 (x2) != 0)
    9643              :                     return -1;
    9644              :                   if (
    9645              : #line 16029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9646              : (TARGET_APX_NDD 
    9647              :    && INTVAL (operands[4]) == 32 - INTVAL (operands[3])
    9648              :    && TARGET_APX_NF))
    9649              :                     return 1112; /* x86_shld_ndd_1_nf */
    9650              :                   if (pnum_clobbers == NULL
    9651              :                       || !
    9652              : #line 16029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9653              : (TARGET_APX_NDD 
    9654              :    && INTVAL (operands[4]) == 32 - INTVAL (operands[3])
    9655              :    && true))
    9656              :                     return -1;
    9657              :                   *pnum_clobbers = 1;
    9658              :                   return 1113; /* x86_shld_ndd_1 */
    9659              : 
    9660              :                 default:
    9661              :                   return -1;
    9662              :                 }
    9663              : 
    9664              :             case LSHIFTRT:
    9665              :               switch (pattern447 (x2, pnum_clobbers))
    9666              :                 {
    9667              :                 case 0:
    9668              :                   if (
    9669              : #line 15813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9670              : (TARGET_64BIT && TARGET_APX_NF
    9671              :    && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
    9672              :    && ix86_pre_reload_split ()))
    9673              :                     return 1102; /* *x86_64_shld_shrd_1_nozext_nf */
    9674              :                   if (pnum_clobbers == NULL
    9675              :                       || !
    9676              : #line 15869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9677              : (TARGET_64BIT
    9678              :    && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
    9679              :    && ix86_pre_reload_split ()))
    9680              :                     return -1;
    9681              :                   *pnum_clobbers = 1;
    9682              :                   return 1103; /* *x86_64_shld_shrd_1_nozext */
    9683              : 
    9684              :                 case 1:
    9685              :                   if (
    9686              : #line 16045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9687              : (TARGET_APX_NF
    9688              :    && INTVAL (operands[3]) == 32 - INTVAL (operands[2])
    9689              :    && ix86_pre_reload_split ()))
    9690              :                     return 1114; /* *x86_shld_shrd_1_nozext_nf */
    9691              :                   if (pnum_clobbers == NULL
    9692              :                       || !
    9693              : #line 16101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9694              : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
    9695              :    && ix86_pre_reload_split ()))
    9696              :                     return -1;
    9697              :                   *pnum_clobbers = 1;
    9698              :                   return 1115; /* *x86_shld_shrd_1_nozext */
    9699              : 
    9700              :                 case 2:
    9701              :                   x7 = XEXP (x6, 0);
    9702              :                   operands[1] = x7;
    9703              :                   if (nonimmediate_operand (operands[0], E_DImode))
    9704              :                     {
    9705              :                       operands[2] = x5;
    9706              :                       if (rtx_equal_p (x4, operands[0]))
    9707              :                         {
    9708              :                           x8 = XEXP (x6, 1);
    9709              :                           x9 = XEXP (x8, 1);
    9710              :                           if (rtx_equal_p (x9, operands[2])
    9711              :                               && 
    9712              : #line 15922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9713              : (TARGET_64BIT && ix86_pre_reload_split ()))
    9714              :                             {
    9715              :                               *pnum_clobbers = 1;
    9716              :                               return 1104; /* *x86_64_shld_2 */
    9717              :                             }
    9718              :                         }
    9719              :                     }
    9720              :                   operands[2] = x7;
    9721              :                   if (!register_operand (operands[0], E_DImode))
    9722              :                     return -1;
    9723              :                   operands[1] = x4;
    9724              :                   if (!nonimmediate_operand (operands[1], E_DImode))
    9725              :                     return -1;
    9726              :                   operands[3] = x5;
    9727              :                   x8 = XEXP (x6, 1);
    9728              :                   x9 = XEXP (x8, 1);
    9729              :                   if (!rtx_equal_p (x9, operands[3])
    9730              :                       || !
    9731              : #line 15943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9732              : (TARGET_APX_NDD
    9733              :    && ix86_pre_reload_split ()))
    9734              :                     return -1;
    9735              :                   *pnum_clobbers = 1;
    9736              :                   return 1105; /* *x86_64_shld_ndd_2 */
    9737              : 
    9738              :                 case 3:
    9739              :                   x7 = XEXP (x6, 0);
    9740              :                   operands[1] = x7;
    9741              :                   if (nonimmediate_operand (operands[0], E_SImode))
    9742              :                     {
    9743              :                       operands[2] = x5;
    9744              :                       if (rtx_equal_p (x4, operands[0]))
    9745              :                         {
    9746              :                           x8 = XEXP (x6, 1);
    9747              :                           x9 = XEXP (x8, 1);
    9748              :                           if (rtx_equal_p (x9, operands[2])
    9749              :                               && 
    9750              : #line 16153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9751              : (TARGET_64BIT && ix86_pre_reload_split ()))
    9752              :                             {
    9753              :                               *pnum_clobbers = 1;
    9754              :                               return 1116; /* *x86_shld_2 */
    9755              :                             }
    9756              :                         }
    9757              :                     }
    9758              :                   operands[2] = x7;
    9759              :                   if (!register_operand (operands[0], E_SImode))
    9760              :                     return -1;
    9761              :                   operands[1] = x4;
    9762              :                   if (!nonimmediate_operand (operands[1], E_SImode))
    9763              :                     return -1;
    9764              :                   operands[3] = x5;
    9765              :                   x8 = XEXP (x6, 1);
    9766              :                   x9 = XEXP (x8, 1);
    9767              :                   if (!rtx_equal_p (x9, operands[3])
    9768              :                       || !
    9769              : #line 16174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9770              : (TARGET_APX_NDD
    9771              :    && ix86_pre_reload_split ()))
    9772              :                     return -1;
    9773              :                   *pnum_clobbers = 1;
    9774              :                   return 1117; /* *x86_shld_ndd_2 */
    9775              : 
    9776              :                 default:
    9777              :                   return -1;
    9778              :                 }
    9779              : 
    9780              :             default:
    9781              :               return -1;
    9782              :             }
    9783              : 
    9784              :         case AND:
    9785              :           switch (pattern289 (x2, 
    9786              : LSHIFTRT))
    9787              :             {
    9788              :             case 0:
    9789              :               x6 = XEXP (x2, 1);
    9790              :               x7 = XEXP (x6, 0);
    9791              :               x10 = XEXP (x7, 0);
    9792              :               x11 = XEXP (x10, 0);
    9793              :               operands[1] = x11;
    9794              :               if (nonimmediate_operand (operands[0], E_DImode))
    9795              :                 {
    9796              :                   res = recog_82 (x1, insn, pnum_clobbers);
    9797              :                   if (res >= 0)
    9798              :                     return res;
    9799              :                 }
    9800              :               operands[2] = x11;
    9801              :               if (!register_operand (operands[0], E_DImode))
    9802              :                 return -1;
    9803              :               operands[1] = x4;
    9804              :               if (!nonimmediate_operand (operands[1], E_DImode))
    9805              :                 return -1;
    9806              :               x12 = XEXP (x5, 0);
    9807              :               operands[3] = x12;
    9808              :               x13 = XEXP (x7, 1);
    9809              :               x14 = XEXP (x13, 1);
    9810              :               x15 = XEXP (x14, 0);
    9811              :               if (!rtx_equal_p (x15, operands[3]))
    9812              :                 return -1;
    9813              :               if (
    9814              : #line 15760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9815              : (TARGET_APX_NDD && TARGET_APX_NF))
    9816              :                 return 1096; /* x86_64_shld_ndd_nf */
    9817              :               if (pnum_clobbers == NULL
    9818              :                   || !
    9819              : #line 15760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9820              : (TARGET_APX_NDD && true))
    9821              :                 return -1;
    9822              :               *pnum_clobbers = 1;
    9823              :               return 1097; /* x86_64_shld_ndd */
    9824              : 
    9825              :             case 1:
    9826              :               if (!nonimmediate_operand (operands[0], E_SImode)
    9827              :                   || pattern288 (x2, 
    9828              : E_SImode, 
    9829              : E_DImode) != 0)
    9830              :                 return -1;
    9831              :               x6 = XEXP (x2, 1);
    9832              :               x7 = XEXP (x6, 0);
    9833              :               x10 = XEXP (x7, 0);
    9834              :               x11 = XEXP (x10, 0);
    9835              :               operands[1] = x11;
    9836              :               x12 = XEXP (x5, 0);
    9837              :               operands[2] = x12;
    9838              :               if (rtx_equal_p (x4, operands[0]))
    9839              :                 {
    9840              :                   x13 = XEXP (x7, 1);
    9841              :                   x14 = XEXP (x13, 1);
    9842              :                   x15 = XEXP (x14, 0);
    9843              :                   if (rtx_equal_p (x15, operands[2]))
    9844              :                     {
    9845              :                       if (
    9846              : #line 15969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9847              : (TARGET_APX_NF))
    9848              :                         return 1106; /* x86_shld_nf */
    9849              :                       if (pnum_clobbers != NULL)
    9850              :                         {
    9851              :                           *pnum_clobbers = 1;
    9852              :                           return 1107; /* x86_shld */
    9853              :                         }
    9854              :                     }
    9855              :                 }
    9856              :               operands[2] = x11;
    9857              :               operands[1] = x4;
    9858              :               if (!nonimmediate_operand (operands[1], E_SImode))
    9859              :                 return -1;
    9860              :               operands[3] = x12;
    9861              :               x13 = XEXP (x7, 1);
    9862              :               x14 = XEXP (x13, 1);
    9863              :               x15 = XEXP (x14, 0);
    9864              :               if (!rtx_equal_p (x15, operands[3]))
    9865              :                 return -1;
    9866              :               if (
    9867              : #line 15991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9868              : (TARGET_APX_NDD && TARGET_APX_NF))
    9869              :                 return 1108; /* x86_shld_ndd_nf */
    9870              :               if (pnum_clobbers == NULL
    9871              :                   || !
    9872              : #line 15991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9873              : (TARGET_APX_NDD && true))
    9874              :                 return -1;
    9875              :               *pnum_clobbers = 1;
    9876              :               return 1109; /* x86_shld_ndd */
    9877              : 
    9878              :             default:
    9879              :               return -1;
    9880              :             }
    9881              : 
    9882              :         default:
    9883              :           return -1;
    9884              :         }
    9885              : 
    9886              :     case SIGN_EXTEND:
    9887              :       switch (pattern260 (x2, 
    9888              : E_SImode, 
    9889              : E_DImode))
    9890              :         {
    9891              :         case 0:
    9892              :           if (!(
    9893              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9894              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
    9895              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9896              : (!TARGET_64BIT)))
    9897              :             return -1;
    9898              :           return 937; /* *concatsidi3_3 */
    9899              : 
    9900              :         case 1:
    9901              :           if (!(
    9902              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9903              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
    9904              :    && (DImode == DImode
    9905              :        ? CONST_INT_P (operands[3])
    9906              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
    9907              :        : CONST_INT_P (operands[3])
    9908              :        ? INTVAL (operands[3]) >= 0
    9909              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
    9910              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
    9911              :    && !(CONST_INT_P (operands[3])
    9912              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
    9913              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
    9914              :                                                                      0)),
    9915              :                                         VOIDmode))) && 
    9916              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9917              : (!TARGET_64BIT)))
    9918              :             return -1;
    9919              :           return 967; /* *concatsidi3_6 */
    9920              : 
    9921              :         default:
    9922              :           return -1;
    9923              :         }
    9924              : 
    9925              :     case ZERO_EXTEND:
    9926              :       switch (pattern260 (x2, 
    9927              : E_SImode, 
    9928              : E_DImode))
    9929              :         {
    9930              :         case 0:
    9931              :           if (!(
    9932              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9933              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
    9934              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9935              : (!TARGET_64BIT)))
    9936              :             return -1;
    9937              :           return 940; /* *concatsidi3_3 */
    9938              : 
    9939              :         case 1:
    9940              :           if (!(
    9941              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9942              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
    9943              :    && (DImode == DImode
    9944              :        ? CONST_INT_P (operands[3])
    9945              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
    9946              :        : CONST_INT_P (operands[3])
    9947              :        ? INTVAL (operands[3]) >= 0
    9948              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
    9949              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
    9950              :    && !(CONST_INT_P (operands[3])
    9951              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
    9952              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
    9953              :                                                                      0)),
    9954              :                                         VOIDmode))) && 
    9955              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9956              : (!TARGET_64BIT)))
    9957              :             return -1;
    9958              :           return 970; /* *concatsidi3_6 */
    9959              : 
    9960              :         default:
    9961              :           return -1;
    9962              :         }
    9963              : 
    9964              :     case CONST_INT:
    9965              :       switch (pattern287 (x2, pnum_clobbers))
    9966              :         {
    9967              :         case 0:
    9968              :           x5 = XEXP (x3, 1);
    9969              :           operands[2] = x5;
    9970              :           if (register_operand (operands[2], E_QImode))
    9971              :             {
    9972              :               switch (pattern759 (x2))
    9973              :                 {
    9974              :                 case 0:
    9975              :                   if (
    9976              : #line 19165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9977              : (TARGET_USE_BT))
    9978              :                     {
    9979              :                       *pnum_clobbers = 1;
    9980              :                       return 1423; /* *btssi */
    9981              :                     }
    9982              :                   break;
    9983              : 
    9984              :                 case 1:
    9985              :                   if ((
    9986              : #line 19165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9987              : (TARGET_USE_BT) && 
    9988              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9989              : (TARGET_64BIT)))
    9990              :                     {
    9991              :                       *pnum_clobbers = 1;
    9992              :                       return 1425; /* *btsdi */
    9993              :                     }
    9994              :                   break;
    9995              : 
    9996              :                 default:
    9997              :                   break;
    9998              :                 }
    9999              :             }
   10000              :           if (GET_CODE (x5) != SUBREG)
   10001              :             return -1;
   10002              :           switch (pattern768 (x2))
   10003              :             {
   10004              :             case 0:
   10005              :               if (!
   10006              : #line 19184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10007              : (TARGET_USE_BT
   10008              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
   10009              :       == GET_MODE_BITSIZE (SImode)-1
   10010              :    && ix86_pre_reload_split ()))
   10011              :                 return -1;
   10012              :               *pnum_clobbers = 1;
   10013              :               return 1427; /* *btssi_mask */
   10014              : 
   10015              :             case 1:
   10016              :               if (!(
   10017              : #line 19184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10018              : (TARGET_USE_BT
   10019              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
   10020              :       == GET_MODE_BITSIZE (DImode)-1
   10021              :    && ix86_pre_reload_split ()) && 
   10022              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10023              : (TARGET_64BIT)))
   10024              :                 return -1;
   10025              :               *pnum_clobbers = 1;
   10026              :               return 1429; /* *btsdi_mask */
   10027              : 
   10028              :             default:
   10029              :               return -1;
   10030              :             }
   10031              : 
   10032              :         case 1:
   10033              :           if (!
   10034              : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10035              : (TARGET_USE_BT
   10036              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
   10037              :       == GET_MODE_BITSIZE (SImode)-1
   10038              :    && ix86_pre_reload_split ()))
   10039              :             return -1;
   10040              :           *pnum_clobbers = 1;
   10041              :           return 1431; /* *btssi_mask_1 */
   10042              : 
   10043              :         case 2:
   10044              :           if (!(
   10045              : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10046              : (TARGET_USE_BT
   10047              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
   10048              :       == GET_MODE_BITSIZE (DImode)-1
   10049              :    && ix86_pre_reload_split ()) && 
   10050              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10051              : (TARGET_64BIT)))
   10052              :             return -1;
   10053              :           *pnum_clobbers = 1;
   10054              :           return 1433; /* *btsdi_mask_1 */
   10055              : 
   10056              :         default:
   10057              :           return -1;
   10058              :         }
   10059              : 
   10060              :     default:
   10061              :       return -1;
   10062              :     }
   10063              : }
   10064              : 
   10065              :  int
   10066              : recog_103 (rtx x1 ATTRIBUTE_UNUSED,
   10067              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10068              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10069              : {
   10070              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10071              :   rtx x2;
   10072              :   int res ATTRIBUTE_UNUSED;
   10073              :   switch (GET_MODE (operands[0]))
   10074              :     {
   10075              :     case E_DImode:
   10076              :       if (pnum_clobbers != NULL)
   10077              :         {
   10078              :           x2 = XEXP (x1, 1);
   10079              :           if (pattern858 (x2, 
   10080              : E_DImode, 
   10081              : E_QImode) == 0
   10082              :               && 
   10083              : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10084              : (!TARGET_64BIT))
   10085              :             {
   10086              :               *pnum_clobbers = 1;
   10087              :               return 1163; /* ashrdi3_doubleword */
   10088              :             }
   10089              :         }
   10090              :       x2 = XEXP (x1, 1);
   10091              :       if (GET_MODE (x2) != E_DImode
   10092              :           || !nonimmediate_operand (operands[1], E_DImode))
   10093              :         return -1;
   10094              :       if (nonimmediate_operand (operands[0], E_DImode)
   10095              :           && const_int_operand (operands[2], E_QImode))
   10096              :         {
   10097              :           if ((
   10098              : #line 17580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10099              : (INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)-1
   10100              :    && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
   10101              :    && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
   10102              :    && TARGET_APX_NF) && 
   10103              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10104              : (TARGET_64BIT)))
   10105              :             return 1200; /* ashrdi3_cvt_nf */
   10106              :           if (pnum_clobbers != NULL
   10107              :               && (
   10108              : #line 17580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10109              : (INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)-1
   10110              :    && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
   10111              :    && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
   10112              :    && true) && 
   10113              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10114              : (TARGET_64BIT)))
   10115              :             {
   10116              :               *pnum_clobbers = 1;
   10117              :               return 1201; /* ashrdi3_cvt */
   10118              :             }
   10119              :         }
   10120              :       if (register_operand (operands[0], E_DImode)
   10121              :           && register_operand (operands[2], E_DImode)
   10122              :           && (
   10123              : #line 17649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10124              : (TARGET_BMI2) && 
   10125              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10126              : (TARGET_64BIT)))
   10127              :         return 1206; /* *bmi2_ashrdi3_1 */
   10128              :       if (!nonimmediate_operand (operands[0], E_DImode)
   10129              :           || !nonmemory_operand (operands[2], E_QImode))
   10130              :         return -1;
   10131              :       if ((
   10132              : #line 17659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10133              : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
   10134              :    && TARGET_APX_NF) && 
   10135              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10136              : (TARGET_64BIT)))
   10137              :         return 1209; /* *ashrdi3_1_nf */
   10138              :       if (pnum_clobbers == NULL
   10139              :           || !(
   10140              : #line 17659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10141              : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
   10142              :    && true) && 
   10143              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10144              : (TARGET_64BIT)))
   10145              :         return -1;
   10146              :       *pnum_clobbers = 1;
   10147              :       return 1210; /* *ashrdi3_1 */
   10148              : 
   10149              :     case E_SImode:
   10150              :       x2 = XEXP (x1, 1);
   10151              :       if (pattern635 (x2, 
   10152              : E_SImode) != 0)
   10153              :         return -1;
   10154              :       if (
   10155              : #line 17659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10156              : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
   10157              :    && TARGET_APX_NF))
   10158              :         return 1207; /* *ashrsi3_1_nf */
   10159              :       if (pnum_clobbers == NULL
   10160              :           || !
   10161              : #line 17659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10162              : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
   10163              :    && true))
   10164              :         return -1;
   10165              :       *pnum_clobbers = 1;
   10166              :       return 1208; /* *ashrsi3_1 */
   10167              : 
   10168              :     default:
   10169              :       return -1;
   10170              :     }
   10171              : }
   10172              : 
   10173              :  int
   10174              : recog_108 (rtx x1 ATTRIBUTE_UNUSED,
   10175              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10176              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10177              : {
   10178              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10179              :   rtx x2, x3, x4, x5, x6, x7, x8;
   10180              :   int res ATTRIBUTE_UNUSED;
   10181              :   x2 = XEXP (x1, 0);
   10182              :   if (GET_CODE (x2) == SUBREG
   10183              :       && known_eq (SUBREG_BYTE (x2), 0))
   10184              :     {
   10185              :       x3 = XEXP (x2, 0);
   10186              :       operands[0] = x3;
   10187              :       if (register_operand (operands[0], E_QImode))
   10188              :         {
   10189              :           x4 = XEXP (x1, 1);
   10190              :           x5 = XEXP (x4, 2);
   10191              :           operands[2] = x5;
   10192              :           if (register_operand (operands[2], E_QImode))
   10193              :             {
   10194              :               switch (GET_MODE (x2))
   10195              :                 {
   10196              :                 case E_SImode:
   10197              :                   if (GET_MODE (x4) == E_SImode
   10198              :                       && register_operand (operands[1], E_SImode)
   10199              :                       && 
   10200              : #line 19684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10201              : (TARGET_USE_BT && ix86_pre_reload_split ()))
   10202              :                     {
   10203              :                       *pnum_clobbers = 1;
   10204              :                       return 1466; /* *btsi_setcqi */
   10205              :                     }
   10206              :                   break;
   10207              : 
   10208              :                 case E_DImode:
   10209              :                   if (GET_MODE (x4) == E_DImode
   10210              :                       && register_operand (operands[1], E_DImode)
   10211              :                       && (
   10212              : #line 19684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10213              : (TARGET_USE_BT && ix86_pre_reload_split ()) && 
   10214              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10215              : (TARGET_64BIT)))
   10216              :                     {
   10217              :                       *pnum_clobbers = 1;
   10218              :                       return 1467; /* *btdi_setcqi */
   10219              :                     }
   10220              :                   break;
   10221              : 
   10222              :                 default:
   10223              :                   break;
   10224              :                 }
   10225              :             }
   10226              :         }
   10227              :     }
   10228              :   x4 = XEXP (x1, 1);
   10229              :   x5 = XEXP (x4, 2);
   10230              :   if (GET_CODE (x5) != SUBREG
   10231              :       || maybe_ne (SUBREG_BYTE (x5), 0)
   10232              :       || GET_MODE (x5) != E_QImode)
   10233              :     return -1;
   10234              :   x6 = XEXP (x5, 0);
   10235              :   if (GET_CODE (x6) != AND)
   10236              :     return -1;
   10237              :   operands[0] = x2;
   10238              :   x7 = XEXP (x6, 0);
   10239              :   operands[2] = x7;
   10240              :   x8 = XEXP (x6, 1);
   10241              :   operands[3] = x8;
   10242              :   if (!const_int_operand (operands[3], E_VOIDmode))
   10243              :     return -1;
   10244              :   switch (GET_MODE (operands[0]))
   10245              :     {
   10246              :     case E_SImode:
   10247              :       if (pattern1465 (x4, 
   10248              : E_SImode) != 0
   10249              :           || !
   10250              : #line 19765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10251              : (TARGET_USE_BT
   10252              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
   10253              :       == GET_MODE_BITSIZE (SImode)-1
   10254              :    && ix86_pre_reload_split ()))
   10255              :         return -1;
   10256              :       *pnum_clobbers = 1;
   10257              :       return 1474; /* *btsi_setcsi_mask */
   10258              : 
   10259              :     case E_DImode:
   10260              :       if (pattern1465 (x4, 
   10261              : E_DImode) != 0
   10262              :           || !(
   10263              : #line 19765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10264              : (TARGET_USE_BT
   10265              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
   10266              :       == GET_MODE_BITSIZE (DImode)-1
   10267              :    && ix86_pre_reload_split ()) && 
   10268              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10269              : (TARGET_64BIT)))
   10270              :         return -1;
   10271              :       *pnum_clobbers = 1;
   10272              :       return 1475; /* *btdi_setcdi_mask */
   10273              : 
   10274              :     default:
   10275              :       return -1;
   10276              :     }
   10277              : }
   10278              : 
   10279              :  int
   10280              : recog_109 (rtx x1 ATTRIBUTE_UNUSED,
   10281              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10282              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10283              : {
   10284              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10285              :   rtx x2, x3, x4, x5, x6;
   10286              :   int res ATTRIBUTE_UNUSED;
   10287              :   if (pnum_clobbers == NULL)
   10288              :     return -1;
   10289              :   x2 = XEXP (x1, 1);
   10290              :   x3 = XEXP (x2, 1);
   10291              :   if (GET_CODE (x3) != CONST_INT)
   10292              :     return -1;
   10293              :   x4 = XEXP (x2, 0);
   10294              :   operands[1] = x4;
   10295              :   if (XWINT (x3, 0) == 1L)
   10296              :     {
   10297              :       res = recog_108 (x1, insn, pnum_clobbers);
   10298              :       if (res >= 0)
   10299              :         return res;
   10300              :     }
   10301              :   x5 = XEXP (x1, 0);
   10302              :   operands[0] = x5;
   10303              :   operands[2] = x3;
   10304              :   if (!const_0_to_255_operand (operands[2], E_QImode))
   10305              :     return -1;
   10306              :   x6 = XEXP (x2, 2);
   10307              :   operands[3] = x6;
   10308              :   if (!const_0_to_255_operand (operands[3], E_QImode))
   10309              :     return -1;
   10310              :   switch (pattern132 (x2))
   10311              :     {
   10312              :     case 0:
   10313              :       if (!
   10314              : #line 22524 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10315              : (TARGET_TBM))
   10316              :         return -1;
   10317              :       *pnum_clobbers = 1;
   10318              :       return 1638; /* tbm_bextri_si */
   10319              : 
   10320              :     case 1:
   10321              :       if (!(
   10322              : #line 22524 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10323              : (TARGET_TBM) && 
   10324              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10325              : (TARGET_64BIT)))
   10326              :         return -1;
   10327              :       *pnum_clobbers = 1;
   10328              :       return 1639; /* tbm_bextri_di */
   10329              : 
   10330              :     default:
   10331              :       return -1;
   10332              :     }
   10333              : }
   10334              : 
   10335              :  int
   10336              : recog_111 (rtx x1 ATTRIBUTE_UNUSED,
   10337              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10338              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10339              : {
   10340              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10341              :   rtx x2, x3, x4, x5;
   10342              :   int res ATTRIBUTE_UNUSED;
   10343              :   x2 = XEXP (x1, 1);
   10344              :   if (GET_MODE (x2) != E_SImode)
   10345              :     return -1;
   10346              :   x3 = XEXP (x1, 0);
   10347              :   operands[0] = x3;
   10348              :   if (!register_operand (operands[0], E_SImode))
   10349              :     return -1;
   10350              :   x4 = XVECEXP (x2, 0, 0);
   10351              :   switch (GET_CODE (x4))
   10352              :     {
   10353              :     case REG:
   10354              :     case SUBREG:
   10355              :       operands[1] = x4;
   10356              :       switch (GET_MODE (operands[1]))
   10357              :         {
   10358              :         case E_DFmode:
   10359              :           if (register_operand (operands[1], E_DFmode)
   10360              :               && 
   10361              : #line 25866 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   10362              : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
   10363              :             return 1793; /* movmsk_df */
   10364              :           break;
   10365              : 
   10366              :         case E_V8QImode:
   10367              :           if (register_operand (operands[1], E_V8QImode)
   10368              :               && 
   10369              : #line 6851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   10370              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
   10371              :    && (TARGET_SSE || TARGET_3DNOW_A)))
   10372              :             return 2441; /* mmx_pmovmskb */
   10373              :           break;
   10374              : 
   10375              :         case E_V8SFmode:
   10376              :           if (register_operand (operands[1], E_V8SFmode)
   10377              :               && (
   10378              : #line 22286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10379              : (TARGET_SSE) && 
   10380              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10381              : (TARGET_AVX)))
   10382              :             return 8553; /* avx_movmskps256 */
   10383              :           break;
   10384              : 
   10385              :         case E_V4SFmode:
   10386              :           if (register_operand (operands[1], E_V4SFmode)
   10387              :               && 
   10388              : #line 22286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10389              : (TARGET_SSE))
   10390              :             return 8554; /* sse_movmskps */
   10391              :           break;
   10392              : 
   10393              :         case E_V4DFmode:
   10394              :           if (register_operand (operands[1], E_V4DFmode)
   10395              :               && (
   10396              : #line 22286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10397              : (TARGET_SSE) && 
   10398              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10399              : (TARGET_AVX)))
   10400              :             return 8555; /* avx_movmskpd256 */
   10401              :           break;
   10402              : 
   10403              :         case E_V2DFmode:
   10404              :           if (register_operand (operands[1], E_V2DFmode)
   10405              :               && (
   10406              : #line 22286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10407              : (TARGET_SSE) && 
   10408              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10409              : (TARGET_SSE2)))
   10410              :             return 8556; /* sse2_movmskpd */
   10411              :           break;
   10412              : 
   10413              :         case E_V32QImode:
   10414              :           if (register_operand (operands[1], E_V32QImode)
   10415              :               && (
   10416              : #line 22436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10417              : (TARGET_SSE2) && 
   10418              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10419              : (TARGET_AVX2)))
   10420              :             return 8601; /* avx2_pmovmskb */
   10421              :           break;
   10422              : 
   10423              :         case E_V16QImode:
   10424              :           if (register_operand (operands[1], E_V16QImode)
   10425              :               && 
   10426              : #line 22436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10427              : (TARGET_SSE2))
   10428              :             return 8602; /* sse2_pmovmskb */
   10429              :           break;
   10430              : 
   10431              :         default:
   10432              :           break;
   10433              :         }
   10434              :       if (GET_CODE (x4) != SUBREG
   10435              :           || maybe_ne (SUBREG_BYTE (x4), 0))
   10436              :         return -1;
   10437              :       x5 = XEXP (x4, 0);
   10438              :       switch (GET_CODE (x5))
   10439              :         {
   10440              :         case VEC_MERGE:
   10441              :           switch (pattern1106 (x4))
   10442              :             {
   10443              :             case 0:
   10444              :               if (!(
   10445              : #line 22337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10446              : (TARGET_SSE) && 
   10447              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10448              : (TARGET_AVX)))
   10449              :                 return -1;
   10450              :               return 8569; /* *avx_movmskps256_lt_avx512 */
   10451              : 
   10452              :             case 1:
   10453              :               if (!
   10454              : #line 22337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10455              : (TARGET_SSE))
   10456              :                 return -1;
   10457              :               return 8570; /* *sse_movmskps_lt_avx512 */
   10458              : 
   10459              :             case 2:
   10460              :               if (!(
   10461              : #line 22337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10462              : (TARGET_SSE) && 
   10463              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10464              : (TARGET_AVX)))
   10465              :                 return -1;
   10466              :               return 8571; /* *avx_movmskpd256_lt_avx512 */
   10467              : 
   10468              :             case 3:
   10469              :               if (!(
   10470              : #line 22337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10471              : (TARGET_SSE) && 
   10472              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10473              : (TARGET_SSE2)))
   10474              :                 return -1;
   10475              :               return 8572; /* *sse2_movmskpd_lt_avx512 */
   10476              : 
   10477              :             default:
   10478              :               return -1;
   10479              :             }
   10480              : 
   10481              :         case ASHIFTRT:
   10482              :           switch (pattern1107 (x4))
   10483              :             {
   10484              :             case 0:
   10485              :               if (!(
   10486              : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10487              : (TARGET_SSE) && 
   10488              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10489              : (TARGET_AVX)))
   10490              :                 return -1;
   10491              :               return 8589; /* *avx_movmskps256_shift */
   10492              : 
   10493              :             case 1:
   10494              :               if (!
   10495              : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10496              : (TARGET_SSE))
   10497              :                 return -1;
   10498              :               return 8590; /* *sse_movmskps_shift */
   10499              : 
   10500              :             case 2:
   10501              :               if (!(
   10502              : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10503              : (TARGET_SSE) && 
   10504              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10505              : (TARGET_AVX)))
   10506              :                 return -1;
   10507              :               return 8591; /* *avx_movmskpd256_shift */
   10508              : 
   10509              :             case 3:
   10510              :               if (!(
   10511              : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10512              : (TARGET_SSE) && 
   10513              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10514              : (TARGET_SSE2)))
   10515              :                 return -1;
   10516              :               return 8592; /* *sse2_movmskpd_shift */
   10517              : 
   10518              :             default:
   10519              :               return -1;
   10520              :             }
   10521              : 
   10522              :         default:
   10523              :           return -1;
   10524              :         }
   10525              : 
   10526              :     case LT:
   10527              :       switch (pattern769 (x4))
   10528              :         {
   10529              :         case 0:
   10530              :           if (!(
   10531              : #line 22313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10532              : (TARGET_SSE) && 
   10533              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10534              : (TARGET_AVX)))
   10535              :             return -1;
   10536              :           return 8565; /* *avx_movmskps256_lt */
   10537              : 
   10538              :         case 1:
   10539              :           if (!
   10540              : #line 22313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10541              : (TARGET_SSE))
   10542              :             return -1;
   10543              :           return 8566; /* *sse_movmskps_lt */
   10544              : 
   10545              :         case 2:
   10546              :           if (!(
   10547              : #line 22313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10548              : (TARGET_SSE) && 
   10549              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10550              : (TARGET_AVX)))
   10551              :             return -1;
   10552              :           return 8567; /* *avx_movmskpd256_lt */
   10553              : 
   10554              :         case 3:
   10555              :           if (!(
   10556              : #line 22313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10557              : (TARGET_SSE) && 
   10558              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10559              : (TARGET_SSE2)))
   10560              :             return -1;
   10561              :           return 8568; /* *sse2_movmskpd_lt */
   10562              : 
   10563              :         case 4:
   10564              :           if (!(
   10565              : #line 22565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10566              : (TARGET_SSE2) && 
   10567              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10568              : (TARGET_AVX2)))
   10569              :             return -1;
   10570              :           return 8607; /* *avx2_pmovmskb_lt */
   10571              : 
   10572              :         case 5:
   10573              :           if (!
   10574              : #line 22565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10575              : (TARGET_SSE2))
   10576              :             return -1;
   10577              :           return 8608; /* *sse2_pmovmskb_lt */
   10578              : 
   10579              :         default:
   10580              :           return -1;
   10581              :         }
   10582              : 
   10583              :     case VEC_MERGE:
   10584              :       switch (pattern771 (x4))
   10585              :         {
   10586              :         case 0:
   10587              :           if (!(
   10588              : #line 22593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10589              : (TARGET_SSE2) && 
   10590              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10591              : (TARGET_AVX2)))
   10592              :             return -1;
   10593              :           return 8609; /* *avx2_pmovmskb_lt_avx512 */
   10594              : 
   10595              :         case 1:
   10596              :           if (!
   10597              : #line 22593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10598              : (TARGET_SSE2))
   10599              :             return -1;
   10600              :           return 8610; /* *sse2_pmovmskb_lt_avx512 */
   10601              : 
   10602              :         case 2:
   10603              :           if (!
   10604              : #line 22721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10605              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   10606              :             return -1;
   10607              :           return 8618; /* *pmovsk_kmask_v16qi_avx512 */
   10608              : 
   10609              :         case 3:
   10610              :           if (!
   10611              : #line 22735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10612              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   10613              :             return -1;
   10614              :           return 8619; /* *pmovsk_mask_v32qi_avx512 */
   10615              : 
   10616              :         default:
   10617              :           return -1;
   10618              :         }
   10619              : 
   10620              :     default:
   10621              :       return -1;
   10622              :     }
   10623              : }
   10624              : 
   10625              :  int
   10626              : recog_125 (rtx x1 ATTRIBUTE_UNUSED,
   10627              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10628              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10629              : {
   10630              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10631              :   rtx x2, x3, x4, x5, x6;
   10632              :   int res ATTRIBUTE_UNUSED;
   10633              :   x2 = XEXP (x1, 1);
   10634              :   x3 = XEXP (x2, 0);
   10635              :   x4 = XVECEXP (x3, 0, 0);
   10636              :   operands[1] = x4;
   10637              :   x5 = XEXP (x2, 2);
   10638              :   switch (GET_CODE (x5))
   10639              :     {
   10640              :     case REG:
   10641              :     case SUBREG:
   10642              :       operands[3] = x5;
   10643              :       switch (GET_MODE (operands[0]))
   10644              :         {
   10645              :         case E_V16SImode:
   10646              :           if (pattern1003 (x2, 
   10647              : E_V16SImode, 
   10648              : E_HImode) != 0
   10649              :               || !
   10650              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10651              : (TARGET_AVX512F))
   10652              :             return -1;
   10653              :           return 2506; /* *avx512f_loadv16si_mask */
   10654              : 
   10655              :         case E_V8SImode:
   10656              :           if (pattern1003 (x2, 
   10657              : E_V8SImode, 
   10658              : E_QImode) != 0
   10659              :               || !(
   10660              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10661              : (TARGET_AVX512F) && 
   10662              : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10663              : (TARGET_AVX512VL)))
   10664              :             return -1;
   10665              :           return 2507; /* *avx512vl_loadv8si_mask */
   10666              : 
   10667              :         case E_V4SImode:
   10668              :           if (pattern1003 (x2, 
   10669              : E_V4SImode, 
   10670              : E_QImode) != 0
   10671              :               || !(
   10672              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10673              : (TARGET_AVX512F) && 
   10674              : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10675              : (TARGET_AVX512VL)))
   10676              :             return -1;
   10677              :           return 2508; /* *avx512vl_loadv4si_mask */
   10678              : 
   10679              :         case E_V8DImode:
   10680              :           if (pattern1003 (x2, 
   10681              : E_V8DImode, 
   10682              : E_QImode) != 0
   10683              :               || !
   10684              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10685              : (TARGET_AVX512F))
   10686              :             return -1;
   10687              :           return 2509; /* *avx512f_loadv8di_mask */
   10688              : 
   10689              :         case E_V4DImode:
   10690              :           if (pattern1003 (x2, 
   10691              : E_V4DImode, 
   10692              : E_QImode) != 0
   10693              :               || !(
   10694              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10695              : (TARGET_AVX512F) && 
   10696              : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10697              : (TARGET_AVX512VL)))
   10698              :             return -1;
   10699              :           return 2510; /* *avx512vl_loadv4di_mask */
   10700              : 
   10701              :         case E_V2DImode:
   10702              :           if (pattern1003 (x2, 
   10703              : E_V2DImode, 
   10704              : E_QImode) != 0
   10705              :               || !(
   10706              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10707              : (TARGET_AVX512F) && 
   10708              : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10709              : (TARGET_AVX512VL)))
   10710              :             return -1;
   10711              :           return 2511; /* *avx512vl_loadv2di_mask */
   10712              : 
   10713              :         case E_V16SFmode:
   10714              :           if (pattern1003 (x2, 
   10715              : E_V16SFmode, 
   10716              : E_HImode) != 0
   10717              :               || !
   10718              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10719              : (TARGET_AVX512F))
   10720              :             return -1;
   10721              :           return 2512; /* *avx512f_loadv16sf_mask */
   10722              : 
   10723              :         case E_V8SFmode:
   10724              :           if (pattern1003 (x2, 
   10725              : E_V8SFmode, 
   10726              : E_QImode) != 0
   10727              :               || !(
   10728              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10729              : (TARGET_AVX512F) && 
   10730              : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10731              : (TARGET_AVX512VL)))
   10732              :             return -1;
   10733              :           return 2513; /* *avx512vl_loadv8sf_mask */
   10734              : 
   10735              :         case E_V4SFmode:
   10736              :           if (pattern1003 (x2, 
   10737              : E_V4SFmode, 
   10738              : E_QImode) != 0
   10739              :               || !(
   10740              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10741              : (TARGET_AVX512F) && 
   10742              : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10743              : (TARGET_AVX512VL)))
   10744              :             return -1;
   10745              :           return 2514; /* *avx512vl_loadv4sf_mask */
   10746              : 
   10747              :         case E_V8DFmode:
   10748              :           if (pattern1003 (x2, 
   10749              : E_V8DFmode, 
   10750              : E_QImode) != 0
   10751              :               || !
   10752              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10753              : (TARGET_AVX512F))
   10754              :             return -1;
   10755              :           return 2515; /* *avx512f_loadv8df_mask */
   10756              : 
   10757              :         case E_V4DFmode:
   10758              :           if (pattern1003 (x2, 
   10759              : E_V4DFmode, 
   10760              : E_QImode) != 0
   10761              :               || !(
   10762              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10763              : (TARGET_AVX512F) && 
   10764              : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10765              : (TARGET_AVX512VL)))
   10766              :             return -1;
   10767              :           return 2516; /* *avx512vl_loadv4df_mask */
   10768              : 
   10769              :         case E_V2DFmode:
   10770              :           if (pattern1003 (x2, 
   10771              : E_V2DFmode, 
   10772              : E_QImode) != 0
   10773              :               || !(
   10774              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10775              : (TARGET_AVX512F) && 
   10776              : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10777              : (TARGET_AVX512VL)))
   10778              :             return -1;
   10779              :           return 2517; /* *avx512vl_loadv2df_mask */
   10780              : 
   10781              :         case E_V64QImode:
   10782              :           if (pattern1003 (x2, 
   10783              : E_V64QImode, 
   10784              : E_DImode) != 0
   10785              :               || !
   10786              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10787              : (TARGET_AVX512BW))
   10788              :             return -1;
   10789              :           return 2536; /* *avx512bw_loadv64qi_mask */
   10790              : 
   10791              :         case E_V16QImode:
   10792              :           if (pattern1003 (x2, 
   10793              : E_V16QImode, 
   10794              : E_HImode) != 0
   10795              :               || !(
   10796              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10797              : (TARGET_AVX512BW) && 
   10798              : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10799              : (TARGET_AVX512VL)))
   10800              :             return -1;
   10801              :           return 2537; /* *avx512vl_loadv16qi_mask */
   10802              : 
   10803              :         case E_V32QImode:
   10804              :           if (pattern1003 (x2, 
   10805              : E_V32QImode, 
   10806              : E_SImode) != 0
   10807              :               || !(
   10808              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10809              : (TARGET_AVX512BW) && 
   10810              : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10811              : (TARGET_AVX512VL)))
   10812              :             return -1;
   10813              :           return 2538; /* *avx512vl_loadv32qi_mask */
   10814              : 
   10815              :         case E_V32HImode:
   10816              :           if (pattern1003 (x2, 
   10817              : E_V32HImode, 
   10818              : E_SImode) != 0
   10819              :               || !
   10820              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10821              : (TARGET_AVX512BW))
   10822              :             return -1;
   10823              :           return 2539; /* *avx512bw_loadv32hi_mask */
   10824              : 
   10825              :         case E_V16HImode:
   10826              :           if (pattern1003 (x2, 
   10827              : E_V16HImode, 
   10828              : E_HImode) != 0
   10829              :               || !(
   10830              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10831              : (TARGET_AVX512BW) && 
   10832              : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10833              : (TARGET_AVX512VL)))
   10834              :             return -1;
   10835              :           return 2540; /* *avx512vl_loadv16hi_mask */
   10836              : 
   10837              :         case E_V8HImode:
   10838              :           if (pattern1003 (x2, 
   10839              : E_V8HImode, 
   10840              : E_QImode) != 0
   10841              :               || !(
   10842              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10843              : (TARGET_AVX512BW) && 
   10844              : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10845              : (TARGET_AVX512VL)))
   10846              :             return -1;
   10847              :           return 2541; /* *avx512vl_loadv8hi_mask */
   10848              : 
   10849              :         case E_V32HFmode:
   10850              :           if (pattern1003 (x2, 
   10851              : E_V32HFmode, 
   10852              : E_SImode) != 0
   10853              :               || !
   10854              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10855              : (TARGET_AVX512BW))
   10856              :             return -1;
   10857              :           return 2542; /* *avx512bw_loadv32hf_mask */
   10858              : 
   10859              :         case E_V16HFmode:
   10860              :           if (pattern1003 (x2, 
   10861              : E_V16HFmode, 
   10862              : E_HImode) != 0
   10863              :               || !(
   10864              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10865              : (TARGET_AVX512BW) && 
   10866              : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10867              : (TARGET_AVX512VL)))
   10868              :             return -1;
   10869              :           return 2543; /* *avx512vl_loadv16hf_mask */
   10870              : 
   10871              :         case E_V8HFmode:
   10872              :           if (pattern1003 (x2, 
   10873              : E_V8HFmode, 
   10874              : E_QImode) != 0
   10875              :               || !(
   10876              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10877              : (TARGET_AVX512BW) && 
   10878              : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10879              : (TARGET_AVX512VL)))
   10880              :             return -1;
   10881              :           return 2544; /* *avx512fp16_loadv8hf_mask */
   10882              : 
   10883              :         case E_V32BFmode:
   10884              :           if (pattern1003 (x2, 
   10885              : E_V32BFmode, 
   10886              : E_SImode) != 0
   10887              :               || !
   10888              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10889              : (TARGET_AVX512BW))
   10890              :             return -1;
   10891              :           return 2545; /* *avx512bw_loadv32bf_mask */
   10892              : 
   10893              :         case E_V16BFmode:
   10894              :           if (pattern1003 (x2, 
   10895              : E_V16BFmode, 
   10896              : E_HImode) != 0
   10897              :               || !(
   10898              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10899              : (TARGET_AVX512BW) && 
   10900              : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10901              : (TARGET_AVX512VL)))
   10902              :             return -1;
   10903              :           return 2546; /* *avx512vl_loadv16bf_mask */
   10904              : 
   10905              :         case E_V8BFmode:
   10906              :           if (pattern1003 (x2, 
   10907              : E_V8BFmode, 
   10908              : E_QImode) != 0
   10909              :               || !(
   10910              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10911              : (TARGET_AVX512BW) && 
   10912              : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10913              : (TARGET_AVX512VL)))
   10914              :             return -1;
   10915              :           return 2547; /* *avx512vl_loadv8bf_mask */
   10916              : 
   10917              :         default:
   10918              :           return -1;
   10919              :         }
   10920              : 
   10921              :     case AND:
   10922              :       if (GET_MODE (x5) != E_QImode)
   10923              :         return -1;
   10924              :       x6 = XEXP (x5, 1);
   10925              :       if (GET_CODE (x6) != CONST_INT)
   10926              :         return -1;
   10927              :       switch (pattern1111 (x2))
   10928              :         {
   10929              :         case 0:
   10930              :           if (!(
   10931              : #line 1636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10932              : (TARGET_AVX512F) && 
   10933              : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10934              : (TARGET_AVX512VL)))
   10935              :             return -1;
   10936              :           return 2530; /* *avx512vl_loadv4sfmask_and15 */
   10937              : 
   10938              :         case 1:
   10939              :           if (!(
   10940              : #line 1636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10941              : (TARGET_AVX512F) && 
   10942              : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10943              : (TARGET_AVX512VL)))
   10944              :             return -1;
   10945              :           return 2531; /* *avx512vl_loadv4dfmask_and15 */
   10946              : 
   10947              :         case 2:
   10948              :           if (!(
   10949              : #line 1636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10950              : (TARGET_AVX512F) && 
   10951              : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10952              : (TARGET_AVX512VL)))
   10953              :             return -1;
   10954              :           return 2532; /* *avx512vl_loadv4simask_and15 */
   10955              : 
   10956              :         case 3:
   10957              :           if (!(
   10958              : #line 1636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10959              : (TARGET_AVX512F) && 
   10960              : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10961              : (TARGET_AVX512VL)))
   10962              :             return -1;
   10963              :           return 2533; /* *avx512vl_loadv4dimask_and15 */
   10964              : 
   10965              :         case 4:
   10966              :           if (!(
   10967              : #line 1655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10968              : (TARGET_AVX512F) && 
   10969              : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10970              : (TARGET_AVX512VL)))
   10971              :             return -1;
   10972              :           return 2534; /* *avx512vl_loadv2dfmask_and3 */
   10973              : 
   10974              :         case 5:
   10975              :           if (!(
   10976              : #line 1655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10977              : (TARGET_AVX512F) && 
   10978              : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10979              : (TARGET_AVX512VL)))
   10980              :             return -1;
   10981              :           return 2535; /* *avx512vl_loadv2dimask_and3 */
   10982              : 
   10983              :         default:
   10984              :           return -1;
   10985              :         }
   10986              : 
   10987              :     default:
   10988              :       return -1;
   10989              :     }
   10990              : }
   10991              : 
   10992              :  int
   10993              : recog_131 (rtx x1 ATTRIBUTE_UNUSED,
   10994              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10995              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10996              : {
   10997              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10998              :   rtx x2, x3, x4, x5;
   10999              :   int res ATTRIBUTE_UNUSED;
   11000              :   x2 = XEXP (x1, 1);
   11001              :   x3 = XEXP (x2, 0);
   11002              :   x4 = XVECEXP (x3, 0, 0);
   11003              :   operands[1] = x4;
   11004              :   x5 = XEXP (x2, 2);
   11005              :   operands[3] = x5;
   11006              :   switch (GET_MODE (operands[0]))
   11007              :     {
   11008              :     case E_V32HFmode:
   11009              :       if (pattern1001 (x2, 
   11010              : E_V32HFmode, 
   11011              : E_SImode) != 0
   11012              :           || !(
   11013              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11014              : (TARGET_AVX512F) && (
   11015              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11016              : (TARGET_AVX512F) && 
   11017              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11018              : (TARGET_AVX512FP16))))
   11019              :         return -1;
   11020              :       return 7058; /* avx512bw_getexpv32hf_mask */
   11021              : 
   11022              :     case E_V16HFmode:
   11023              :       if (pattern1001 (x2, 
   11024              : E_V16HFmode, 
   11025              : E_HImode) != 0
   11026              :           || !(
   11027              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11028              : (TARGET_AVX512F) && (
   11029              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11030              : (TARGET_AVX512F) && 
   11031              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11032              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   11033              :         return -1;
   11034              :       return 7062; /* avx512vl_getexpv16hf_mask */
   11035              : 
   11036              :     case E_V8HFmode:
   11037              :       if (pattern1001 (x2, 
   11038              : E_V8HFmode, 
   11039              : E_QImode) != 0
   11040              :           || !(
   11041              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11042              : (TARGET_AVX512F) && (
   11043              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11044              : (TARGET_AVX512F) && 
   11045              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11046              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   11047              :         return -1;
   11048              :       return 7066; /* avx512fp16_getexpv8hf_mask */
   11049              : 
   11050              :     case E_V16SFmode:
   11051              :       if (pattern1001 (x2, 
   11052              : E_V16SFmode, 
   11053              : E_HImode) != 0
   11054              :           || !
   11055              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11056              : (TARGET_AVX512F))
   11057              :         return -1;
   11058              :       return 7070; /* avx512f_getexpv16sf_mask */
   11059              : 
   11060              :     case E_V8SFmode:
   11061              :       if (pattern1001 (x2, 
   11062              : E_V8SFmode, 
   11063              : E_QImode) != 0
   11064              :           || !(
   11065              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11066              : (TARGET_AVX512F) && (
   11067              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11068              : (TARGET_AVX512F) && 
   11069              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11070              : (TARGET_AVX512VL))))
   11071              :         return -1;
   11072              :       return 7074; /* avx512vl_getexpv8sf_mask */
   11073              : 
   11074              :     case E_V4SFmode:
   11075              :       if (pattern1001 (x2, 
   11076              : E_V4SFmode, 
   11077              : E_QImode) != 0
   11078              :           || !(
   11079              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11080              : (TARGET_AVX512F) && (
   11081              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11082              : (TARGET_AVX512F) && 
   11083              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11084              : (TARGET_AVX512VL))))
   11085              :         return -1;
   11086              :       return 7078; /* avx512vl_getexpv4sf_mask */
   11087              : 
   11088              :     case E_V8DFmode:
   11089              :       if (pattern1001 (x2, 
   11090              : E_V8DFmode, 
   11091              : E_QImode) != 0
   11092              :           || !
   11093              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11094              : (TARGET_AVX512F))
   11095              :         return -1;
   11096              :       return 7082; /* avx512f_getexpv8df_mask */
   11097              : 
   11098              :     case E_V4DFmode:
   11099              :       if (pattern1001 (x2, 
   11100              : E_V4DFmode, 
   11101              : E_QImode) != 0
   11102              :           || !(
   11103              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11104              : (TARGET_AVX512F) && (
   11105              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11106              : (TARGET_AVX512F) && 
   11107              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11108              : (TARGET_AVX512VL))))
   11109              :         return -1;
   11110              :       return 7086; /* avx512vl_getexpv4df_mask */
   11111              : 
   11112              :     case E_V2DFmode:
   11113              :       if (pattern1001 (x2, 
   11114              : E_V2DFmode, 
   11115              : E_QImode) != 0
   11116              :           || !(
   11117              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11118              : (TARGET_AVX512F) && (
   11119              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11120              : (TARGET_AVX512F) && 
   11121              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11122              : (TARGET_AVX512VL))))
   11123              :         return -1;
   11124              :       return 7090; /* avx512vl_getexpv2df_mask */
   11125              : 
   11126              :     case E_V32BFmode:
   11127              :       if (pattern638 (x2, 
   11128              : E_V32BFmode, 
   11129              : E_SImode) != 0
   11130              :           || !(
   11131              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11132              : (TARGET_AVX512F) && 
   11133              : #line 33123 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11134              : (TARGET_AVX10_2)))
   11135              :         return -1;
   11136              :       return 10769; /* avx10_2_getexpbf16_v32bf_mask */
   11137              : 
   11138              :     case E_V16BFmode:
   11139              :       if (pattern638 (x2, 
   11140              : E_V16BFmode, 
   11141              : E_HImode) != 0
   11142              :           || !(
   11143              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11144              : (TARGET_AVX512F) && 
   11145              : #line 33123 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11146              : (TARGET_AVX10_2)))
   11147              :         return -1;
   11148              :       return 10771; /* avx10_2_getexpbf16_v16bf_mask */
   11149              : 
   11150              :     case E_V8BFmode:
   11151              :       if (pattern638 (x2, 
   11152              : E_V8BFmode, 
   11153              : E_QImode) != 0
   11154              :           || !(
   11155              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   11156              : (TARGET_AVX512F) && 
   11157              : #line 33123 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11158              : (TARGET_AVX10_2)))
   11159              :         return -1;
   11160              :       return 10773; /* avx10_2_getexpbf16_v8bf_mask */
   11161              : 
   11162              :     default:
   11163              :       return -1;
   11164              :     }
   11165              : }
   11166              : 
   11167              :  int
   11168              : recog_139 (rtx x1 ATTRIBUTE_UNUSED,
   11169              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   11170              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   11171              : {
   11172              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   11173              :   rtx x2;
   11174              :   int res ATTRIBUTE_UNUSED;
   11175              :   x2 = XEXP (x1, 1);
   11176              :   switch (pattern485 (x2))
   11177              :     {
   11178              :     case 0:
   11179              :       if (!
   11180              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11181              : (TARGET_AVX512VBMI2))
   11182              :         return -1;
   11183              :       return 10329; /* vpshldv_v32hi_mask */
   11184              : 
   11185              :     case 1:
   11186              :       if (!
   11187              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11188              : (TARGET_AVX512VBMI2))
   11189              :         return -1;
   11190              :       return 10330; /* vpshldv_v16si_mask */
   11191              : 
   11192              :     case 2:
   11193              :       if (!
   11194              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11195              : (TARGET_AVX512VBMI2))
   11196              :         return -1;
   11197              :       return 10331; /* vpshldv_v8di_mask */
   11198              : 
   11199              :     case 3:
   11200              :       if (!(
   11201              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11202              : (TARGET_AVX512VBMI2) && 
   11203              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11204              : (TARGET_AVX512VL)))
   11205              :         return -1;
   11206              :       return 10332; /* vpshldv_v16hi_mask */
   11207              : 
   11208              :     case 4:
   11209              :       if (!(
   11210              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11211              : (TARGET_AVX512VBMI2) && 
   11212              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11213              : (TARGET_AVX512VL)))
   11214              :         return -1;
   11215              :       return 10333; /* vpshldv_v8si_mask */
   11216              : 
   11217              :     case 5:
   11218              :       if (!(
   11219              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11220              : (TARGET_AVX512VBMI2) && 
   11221              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11222              : (TARGET_AVX512VL)))
   11223              :         return -1;
   11224              :       return 10334; /* vpshldv_v4di_mask */
   11225              : 
   11226              :     case 6:
   11227              :       if (!(
   11228              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11229              : (TARGET_AVX512VBMI2) && 
   11230              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11231              : (TARGET_AVX512VL)))
   11232              :         return -1;
   11233              :       return 10335; /* vpshldv_v8hi_mask */
   11234              : 
   11235              :     case 7:
   11236              :       if (!(
   11237              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11238              : (TARGET_AVX512VBMI2) && 
   11239              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11240              : (TARGET_AVX512VL)))
   11241              :         return -1;
   11242              :       return 10336; /* vpshldv_v4si_mask */
   11243              : 
   11244              :     case 8:
   11245              :       if (!(
   11246              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11247              : (TARGET_AVX512VBMI2) && 
   11248              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11249              : (TARGET_AVX512VL)))
   11250              :         return -1;
   11251              :       return 10337; /* vpshldv_v2di_mask */
   11252              : 
   11253              :     case 9:
   11254              :       if (!
   11255              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11256              : (TARGET_AVX512VBMI2))
   11257              :         return -1;
   11258              :       return 10338; /* vpshldv_v32hi_maskz_1 */
   11259              : 
   11260              :     case 10:
   11261              :       if (!
   11262              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11263              : (TARGET_AVX512VBMI2))
   11264              :         return -1;
   11265              :       return 10339; /* vpshldv_v16si_maskz_1 */
   11266              : 
   11267              :     case 11:
   11268              :       if (!
   11269              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11270              : (TARGET_AVX512VBMI2))
   11271              :         return -1;
   11272              :       return 10340; /* vpshldv_v8di_maskz_1 */
   11273              : 
   11274              :     case 12:
   11275              :       if (!(
   11276              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11277              : (TARGET_AVX512VBMI2) && 
   11278              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11279              : (TARGET_AVX512VL)))
   11280              :         return -1;
   11281              :       return 10341; /* vpshldv_v16hi_maskz_1 */
   11282              : 
   11283              :     case 13:
   11284              :       if (!(
   11285              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11286              : (TARGET_AVX512VBMI2) && 
   11287              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11288              : (TARGET_AVX512VL)))
   11289              :         return -1;
   11290              :       return 10342; /* vpshldv_v8si_maskz_1 */
   11291              : 
   11292              :     case 14:
   11293              :       if (!(
   11294              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11295              : (TARGET_AVX512VBMI2) && 
   11296              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11297              : (TARGET_AVX512VL)))
   11298              :         return -1;
   11299              :       return 10343; /* vpshldv_v4di_maskz_1 */
   11300              : 
   11301              :     case 15:
   11302              :       if (!(
   11303              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11304              : (TARGET_AVX512VBMI2) && 
   11305              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11306              : (TARGET_AVX512VL)))
   11307              :         return -1;
   11308              :       return 10344; /* vpshldv_v8hi_maskz_1 */
   11309              : 
   11310              :     case 16:
   11311              :       if (!(
   11312              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11313              : (TARGET_AVX512VBMI2) && 
   11314              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11315              : (TARGET_AVX512VL)))
   11316              :         return -1;
   11317              :       return 10345; /* vpshldv_v4si_maskz_1 */
   11318              : 
   11319              :     case 17:
   11320              :       if (!(
   11321              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11322              : (TARGET_AVX512VBMI2) && 
   11323              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11324              : (TARGET_AVX512VL)))
   11325              :         return -1;
   11326              :       return 10346; /* vpshldv_v2di_maskz_1 */
   11327              : 
   11328              :     default:
   11329              :       return -1;
   11330              :     }
   11331              : }
   11332              : 
   11333              :  int
   11334              : recog_143 (rtx x1 ATTRIBUTE_UNUSED,
   11335              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   11336              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   11337              : {
   11338              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   11339              :   rtx x2, x3, x4, x5, x6, x7, x8;
   11340              :   int res ATTRIBUTE_UNUSED;
   11341              :   x2 = XEXP (x1, 1);
   11342              :   x3 = XEXP (x2, 0);
   11343              :   x4 = XVECEXP (x3, 0, 0);
   11344              :   operands[1] = x4;
   11345              :   x5 = XVECEXP (x3, 0, 1);
   11346              :   operands[2] = x5;
   11347              :   x6 = XVECEXP (x3, 0, 2);
   11348              :   operands[3] = x6;
   11349              :   x7 = XEXP (x2, 1);
   11350              :   switch (GET_CODE (x7))
   11351              :     {
   11352              :     case REG:
   11353              :     case SUBREG:
   11354              :       if (!rtx_equal_p (x7, operands[1]))
   11355              :         return -1;
   11356              :       x8 = XEXP (x2, 2);
   11357              :       operands[4] = x8;
   11358              :       switch (GET_MODE (operands[0]))
   11359              :         {
   11360              :         case E_V16SFmode:
   11361              :           if (pattern482 (x2, 
   11362              : E_V16SFmode, 
   11363              : E_HImode) != 0
   11364              :               || !
   11365              : #line 32765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11366              : (TARGET_AVX10_2))
   11367              :             return -1;
   11368              :           return 10654; /* vdpphps_v16sf_mask */
   11369              : 
   11370              :         case E_V8SFmode:
   11371              :           if (pattern482 (x2, 
   11372              : E_V8SFmode, 
   11373              : E_QImode) != 0
   11374              :               || !(
   11375              : #line 32765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11376              : (TARGET_AVX10_2) && 
   11377              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11378              : (TARGET_AVX512VL)))
   11379              :             return -1;
   11380              :           return 10655; /* vdpphps_v8sf_mask */
   11381              : 
   11382              :         case E_V4SFmode:
   11383              :           if (pattern482 (x2, 
   11384              : E_V4SFmode, 
   11385              : E_QImode) != 0
   11386              :               || !(
   11387              : #line 32765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11388              : (TARGET_AVX10_2) && 
   11389              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11390              : (TARGET_AVX512VL)))
   11391              :             return -1;
   11392              :           return 10656; /* vdpphps_v4sf_mask */
   11393              : 
   11394              :         default:
   11395              :           return -1;
   11396              :         }
   11397              : 
   11398              :     case CONST_INT:
   11399              :     case CONST_DOUBLE:
   11400              :     case CONST_VECTOR:
   11401              :       operands[4] = x7;
   11402              :       x8 = XEXP (x2, 2);
   11403              :       operands[5] = x8;
   11404              :       switch (GET_MODE (operands[0]))
   11405              :         {
   11406              :         case E_V16SFmode:
   11407              :           if (pattern484 (x2, 
   11408              : E_V16SFmode, 
   11409              : E_HImode) != 0
   11410              :               || !
   11411              : #line 32792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11412              : (TARGET_AVX10_2))
   11413              :             return -1;
   11414              :           return 10657; /* vdpphps_v16sf_maskz_1 */
   11415              : 
   11416              :         case E_V8SFmode:
   11417              :           if (pattern484 (x2, 
   11418              : E_V8SFmode, 
   11419              : E_QImode) != 0
   11420              :               || !(
   11421              : #line 32792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11422              : (TARGET_AVX10_2) && 
   11423              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11424              : (TARGET_AVX512VL)))
   11425              :             return -1;
   11426              :           return 10658; /* vdpphps_v8sf_maskz_1 */
   11427              : 
   11428              :         case E_V4SFmode:
   11429              :           if (pattern484 (x2, 
   11430              : E_V4SFmode, 
   11431              : E_QImode) != 0
   11432              :               || !(
   11433              : #line 32792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11434              : (TARGET_AVX10_2) && 
   11435              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11436              : (TARGET_AVX512VL)))
   11437              :             return -1;
   11438              :           return 10659; /* vdpphps_v4sf_maskz_1 */
   11439              : 
   11440              :         default:
   11441              :           return -1;
   11442              :         }
   11443              : 
   11444              :     default:
   11445              :       return -1;
   11446              :     }
   11447              : }
   11448              : 
   11449              :  int
   11450              : recog_150 (rtx x1 ATTRIBUTE_UNUSED,
   11451              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   11452              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   11453              : {
   11454              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   11455              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   11456              :   rtx x10, x11, x12, x13;
   11457              :   int res ATTRIBUTE_UNUSED;
   11458              :   x2 = XEXP (x1, 1);
   11459              :   x3 = XEXP (x2, 2);
   11460              :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   11461              :     return -1;
   11462              :   x4 = XEXP (x2, 0);
   11463              :   x5 = XEXP (x4, 2);
   11464              :   if (!register_operand (x5, E_QImode))
   11465              :     return -1;
   11466              :   x6 = XEXP (x4, 0);
   11467              :   x7 = XEXP (x6, 0);
   11468              :   switch (GET_CODE (x7))
   11469              :     {
   11470              :     case REG:
   11471              :     case SUBREG:
   11472              :     case MEM:
   11473              :       operands[1] = x7;
   11474              :       x8 = XEXP (x6, 1);
   11475              :       operands[2] = x8;
   11476              :       x9 = XEXP (x6, 2);
   11477              :       switch (GET_CODE (x9))
   11478              :         {
   11479              :         case REG:
   11480              :         case SUBREG:
   11481              :         case MEM:
   11482              :           operands[3] = x9;
   11483              :           switch (pattern1224 (x2))
   11484              :             {
   11485              :             case 0:
   11486              :               if (pattern1471 (x2, 
   11487              : E_V8HFmode) != 0)
   11488              :                 return -1;
   11489              :               x10 = XEXP (x4, 1);
   11490              :               if (rtx_equal_p (x10, operands[1]))
   11491              :                 {
   11492              :                   x11 = XEXP (x2, 1);
   11493              :                   if (rtx_equal_p (x11, operands[1])
   11494              :                       && (
   11495              : #line 7018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11496              : (TARGET_AVX512F) && 
   11497              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11498              : (TARGET_AVX512FP16)))
   11499              :                     return 4282; /* avx512f_vmfmadd_v8hf_mask */
   11500              :                 }
   11501              :               if (!rtx_equal_p (x10, operands[3]))
   11502              :                 return -1;
   11503              :               x11 = XEXP (x2, 1);
   11504              :               if (!rtx_equal_p (x11, operands[3])
   11505              :                   || !(
   11506              : #line 7038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11507              : (TARGET_AVX512F) && 
   11508              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11509              : (TARGET_AVX512FP16)))
   11510              :                 return -1;
   11511              :               return 4288; /* avx512f_vmfmadd_v8hf_mask3 */
   11512              : 
   11513              :             case 1:
   11514              :               if (pattern1471 (x2, 
   11515              : E_V4SFmode) != 0)
   11516              :                 return -1;
   11517              :               x10 = XEXP (x4, 1);
   11518              :               if (rtx_equal_p (x10, operands[1]))
   11519              :                 {
   11520              :                   x11 = XEXP (x2, 1);
   11521              :                   if (rtx_equal_p (x11, operands[1])
   11522              :                       && 
   11523              : #line 7018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11524              : (TARGET_AVX512F))
   11525              :                     return 4284; /* avx512f_vmfmadd_v4sf_mask */
   11526              :                 }
   11527              :               if (!rtx_equal_p (x10, operands[3]))
   11528              :                 return -1;
   11529              :               x11 = XEXP (x2, 1);
   11530              :               if (!rtx_equal_p (x11, operands[3])
   11531              :                   || !
   11532              : #line 7038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11533              : (TARGET_AVX512F))
   11534              :                 return -1;
   11535              :               return 4290; /* avx512f_vmfmadd_v4sf_mask3 */
   11536              : 
   11537              :             case 2:
   11538              :               if (pattern1471 (x2, 
   11539              : E_V2DFmode) != 0)
   11540              :                 return -1;
   11541              :               x10 = XEXP (x4, 1);
   11542              :               if (rtx_equal_p (x10, operands[1]))
   11543              :                 {
   11544              :                   x11 = XEXP (x2, 1);
   11545              :                   if (rtx_equal_p (x11, operands[1])
   11546              :                       && (
   11547              : #line 7018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11548              : (TARGET_AVX512F) && 
   11549              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11550              : (TARGET_SSE2)))
   11551              :                     return 4286; /* avx512f_vmfmadd_v2df_mask */
   11552              :                 }
   11553              :               if (!rtx_equal_p (x10, operands[3]))
   11554              :                 return -1;
   11555              :               x11 = XEXP (x2, 1);
   11556              :               if (!rtx_equal_p (x11, operands[3])
   11557              :                   || !(
   11558              : #line 7038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11559              : (TARGET_AVX512F) && 
   11560              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11561              : (TARGET_SSE2)))
   11562              :                 return -1;
   11563              :               return 4292; /* avx512f_vmfmadd_v2df_mask3 */
   11564              : 
   11565              :             case 3:
   11566              :               if (pattern1552 (x2, 
   11567              : E_V8HFmode) != 0
   11568              :                   || !(
   11569              : #line 7070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11570              : (TARGET_AVX512F) && 
   11571              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11572              : (TARGET_AVX512FP16)))
   11573              :                 return -1;
   11574              :               return 4294; /* avx512f_vmfmadd_v8hf_maskz_1 */
   11575              : 
   11576              :             case 4:
   11577              :               if (pattern1552 (x2, 
   11578              : E_V4SFmode) != 0
   11579              :                   || !
   11580              : #line 7070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11581              : (TARGET_AVX512F))
   11582              :                 return -1;
   11583              :               return 4296; /* avx512f_vmfmadd_v4sf_maskz_1 */
   11584              : 
   11585              :             case 5:
   11586              :               if (pattern1552 (x2, 
   11587              : E_V2DFmode) != 0
   11588              :                   || !(
   11589              : #line 7070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11590              : (TARGET_AVX512F) && 
   11591              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11592              : (TARGET_SSE2)))
   11593              :                 return -1;
   11594              :               return 4298; /* avx512f_vmfmadd_v2df_maskz_1 */
   11595              : 
   11596              :             default:
   11597              :               return -1;
   11598              :             }
   11599              : 
   11600              :         case NEG:
   11601              :           x12 = XEXP (x9, 0);
   11602              :           operands[3] = x12;
   11603              :           switch (pattern1224 (x2))
   11604              :             {
   11605              :             case 0:
   11606              :               if (pattern1472 (x2, 
   11607              : E_V8HFmode) != 0)
   11608              :                 return -1;
   11609              :               x10 = XEXP (x4, 1);
   11610              :               if (rtx_equal_p (x10, operands[1]))
   11611              :                 {
   11612              :                   x11 = XEXP (x2, 1);
   11613              :                   if (rtx_equal_p (x11, operands[1])
   11614              :                       && (
   11615              : #line 7091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11616              : (TARGET_AVX512F) && 
   11617              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11618              : (TARGET_AVX512FP16)))
   11619              :                     return 4300; /* *avx512f_vmfmsub_v8hf_mask */
   11620              :                 }
   11621              :               if (!rtx_equal_p (x10, operands[3]))
   11622              :                 return -1;
   11623              :               x11 = XEXP (x2, 1);
   11624              :               if (!rtx_equal_p (x11, operands[3])
   11625              :                   || !(
   11626              : #line 7112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11627              : (TARGET_AVX512F) && 
   11628              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11629              : (TARGET_AVX512FP16)))
   11630              :                 return -1;
   11631              :               return 4306; /* avx512f_vmfmsub_v8hf_mask3 */
   11632              : 
   11633              :             case 1:
   11634              :               if (pattern1472 (x2, 
   11635              : E_V4SFmode) != 0)
   11636              :                 return -1;
   11637              :               x10 = XEXP (x4, 1);
   11638              :               if (rtx_equal_p (x10, operands[1]))
   11639              :                 {
   11640              :                   x11 = XEXP (x2, 1);
   11641              :                   if (rtx_equal_p (x11, operands[1])
   11642              :                       && 
   11643              : #line 7091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11644              : (TARGET_AVX512F))
   11645              :                     return 4302; /* *avx512f_vmfmsub_v4sf_mask */
   11646              :                 }
   11647              :               if (!rtx_equal_p (x10, operands[3]))
   11648              :                 return -1;
   11649              :               x11 = XEXP (x2, 1);
   11650              :               if (!rtx_equal_p (x11, operands[3])
   11651              :                   || !
   11652              : #line 7112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11653              : (TARGET_AVX512F))
   11654              :                 return -1;
   11655              :               return 4308; /* avx512f_vmfmsub_v4sf_mask3 */
   11656              : 
   11657              :             case 2:
   11658              :               if (pattern1472 (x2, 
   11659              : E_V2DFmode) != 0)
   11660              :                 return -1;
   11661              :               x10 = XEXP (x4, 1);
   11662              :               if (rtx_equal_p (x10, operands[1]))
   11663              :                 {
   11664              :                   x11 = XEXP (x2, 1);
   11665              :                   if (rtx_equal_p (x11, operands[1])
   11666              :                       && (
   11667              : #line 7091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11668              : (TARGET_AVX512F) && 
   11669              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11670              : (TARGET_SSE2)))
   11671              :                     return 4304; /* *avx512f_vmfmsub_v2df_mask */
   11672              :                 }
   11673              :               if (!rtx_equal_p (x10, operands[3]))
   11674              :                 return -1;
   11675              :               x11 = XEXP (x2, 1);
   11676              :               if (!rtx_equal_p (x11, operands[3])
   11677              :                   || !(
   11678              : #line 7112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11679              : (TARGET_AVX512F) && 
   11680              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11681              : (TARGET_SSE2)))
   11682              :                 return -1;
   11683              :               return 4310; /* avx512f_vmfmsub_v2df_mask3 */
   11684              : 
   11685              :             case 3:
   11686              :               if (pattern1553 (x2, 
   11687              : E_V8HFmode) != 0
   11688              :                   || !(
   11689              : #line 7131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11690              : (TARGET_AVX512F) && 
   11691              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11692              : (TARGET_AVX512FP16)))
   11693              :                 return -1;
   11694              :               return 4312; /* *avx512f_vmfmsub_v8hf_maskz_1 */
   11695              : 
   11696              :             case 4:
   11697              :               if (pattern1553 (x2, 
   11698              : E_V4SFmode) != 0
   11699              :                   || !
   11700              : #line 7131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11701              : (TARGET_AVX512F))
   11702              :                 return -1;
   11703              :               return 4314; /* *avx512f_vmfmsub_v4sf_maskz_1 */
   11704              : 
   11705              :             case 5:
   11706              :               if (pattern1553 (x2, 
   11707              : E_V2DFmode) != 0
   11708              :                   || !(
   11709              : #line 7131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11710              : (TARGET_AVX512F) && 
   11711              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11712              : (TARGET_SSE2)))
   11713              :                 return -1;
   11714              :               return 4316; /* *avx512f_vmfmsub_v2df_maskz_1 */
   11715              : 
   11716              :             default:
   11717              :               return -1;
   11718              :             }
   11719              : 
   11720              :         default:
   11721              :           return -1;
   11722              :         }
   11723              : 
   11724              :     case NEG:
   11725              :       x9 = XEXP (x6, 2);
   11726              :       switch (GET_CODE (x9))
   11727              :         {
   11728              :         case REG:
   11729              :         case SUBREG:
   11730              :         case MEM:
   11731              :           operands[3] = x9;
   11732              :           switch (pattern1009 (x2))
   11733              :             {
   11734              :             case 0:
   11735              :               x8 = XEXP (x6, 1);
   11736              :               operands[2] = x8;
   11737              :               x13 = XEXP (x7, 0);
   11738              :               operands[1] = x13;
   11739              :               if (nonimmediate_operand (operands[3], E_V8HFmode))
   11740              :                 {
   11741              :                   x10 = XEXP (x4, 1);
   11742              :                   if (rtx_equal_p (x10, operands[1]))
   11743              :                     {
   11744              :                       x11 = XEXP (x2, 1);
   11745              :                       if (rtx_equal_p (x11, operands[1])
   11746              :                           && (
   11747              : #line 7152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11748              : (TARGET_AVX512F) && 
   11749              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11750              : (TARGET_AVX512FP16)))
   11751              :                         return 4318; /* avx512f_vmfnmadd_v8hf_mask */
   11752              :                     }
   11753              :                 }
   11754              :               operands[1] = x8;
   11755              :               operands[2] = x13;
   11756              :               if (!nonimmediate_operand (operands[3], E_V8HFmode))
   11757              :                 return -1;
   11758              :               x10 = XEXP (x4, 1);
   11759              :               if (!rtx_equal_p (x10, operands[3]))
   11760              :                 return -1;
   11761              :               x11 = XEXP (x2, 1);
   11762              :               if (!rtx_equal_p (x11, operands[3])
   11763              :                   || !(
   11764              : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11765              : (TARGET_AVX512F) && 
   11766              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11767              : (TARGET_AVX512FP16)))
   11768              :                 return -1;
   11769              :               return 4324; /* avx512f_vmfnmadd_v8hf_mask3 */
   11770              : 
   11771              :             case 1:
   11772              :               x8 = XEXP (x6, 1);
   11773              :               operands[2] = x8;
   11774              :               x13 = XEXP (x7, 0);
   11775              :               operands[1] = x13;
   11776              :               if (nonimmediate_operand (operands[3], E_V4SFmode))
   11777              :                 {
   11778              :                   x10 = XEXP (x4, 1);
   11779              :                   if (rtx_equal_p (x10, operands[1]))
   11780              :                     {
   11781              :                       x11 = XEXP (x2, 1);
   11782              :                       if (rtx_equal_p (x11, operands[1])
   11783              :                           && 
   11784              : #line 7152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11785              : (TARGET_AVX512F))
   11786              :                         return 4320; /* avx512f_vmfnmadd_v4sf_mask */
   11787              :                     }
   11788              :                 }
   11789              :               operands[1] = x8;
   11790              :               operands[2] = x13;
   11791              :               if (!nonimmediate_operand (operands[3], E_V4SFmode))
   11792              :                 return -1;
   11793              :               x10 = XEXP (x4, 1);
   11794              :               if (!rtx_equal_p (x10, operands[3]))
   11795              :                 return -1;
   11796              :               x11 = XEXP (x2, 1);
   11797              :               if (!rtx_equal_p (x11, operands[3])
   11798              :                   || !
   11799              : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11800              : (TARGET_AVX512F))
   11801              :                 return -1;
   11802              :               return 4326; /* avx512f_vmfnmadd_v4sf_mask3 */
   11803              : 
   11804              :             case 2:
   11805              :               x8 = XEXP (x6, 1);
   11806              :               operands[2] = x8;
   11807              :               x13 = XEXP (x7, 0);
   11808              :               operands[1] = x13;
   11809              :               if (nonimmediate_operand (operands[3], E_V2DFmode))
   11810              :                 {
   11811              :                   x10 = XEXP (x4, 1);
   11812              :                   if (rtx_equal_p (x10, operands[1]))
   11813              :                     {
   11814              :                       x11 = XEXP (x2, 1);
   11815              :                       if (rtx_equal_p (x11, operands[1])
   11816              :                           && (
   11817              : #line 7152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11818              : (TARGET_AVX512F) && 
   11819              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11820              : (TARGET_SSE2)))
   11821              :                         return 4322; /* avx512f_vmfnmadd_v2df_mask */
   11822              :                     }
   11823              :                 }
   11824              :               operands[1] = x8;
   11825              :               operands[2] = x13;
   11826              :               if (!nonimmediate_operand (operands[3], E_V2DFmode))
   11827              :                 return -1;
   11828              :               x10 = XEXP (x4, 1);
   11829              :               if (!rtx_equal_p (x10, operands[3]))
   11830              :                 return -1;
   11831              :               x11 = XEXP (x2, 1);
   11832              :               if (!rtx_equal_p (x11, operands[3])
   11833              :                   || !(
   11834              : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11835              : (TARGET_AVX512F) && 
   11836              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11837              : (TARGET_SSE2)))
   11838              :                 return -1;
   11839              :               return 4328; /* avx512f_vmfnmadd_v2df_mask3 */
   11840              : 
   11841              :             case 3:
   11842              :               if (pattern1554 (x2, 
   11843              : E_V8HFmode) != 0
   11844              :                   || !(
   11845              : #line 7206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11846              : (TARGET_AVX512F) && 
   11847              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11848              : (TARGET_AVX512FP16)))
   11849              :                 return -1;
   11850              :               return 4330; /* avx512f_vmfnmadd_v8hf_maskz_1 */
   11851              : 
   11852              :             case 4:
   11853              :               if (pattern1554 (x2, 
   11854              : E_V4SFmode) != 0
   11855              :                   || !
   11856              : #line 7206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11857              : (TARGET_AVX512F))
   11858              :                 return -1;
   11859              :               return 4332; /* avx512f_vmfnmadd_v4sf_maskz_1 */
   11860              : 
   11861              :             case 5:
   11862              :               if (pattern1554 (x2, 
   11863              : E_V2DFmode) != 0
   11864              :                   || !(
   11865              : #line 7206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11866              : (TARGET_AVX512F) && 
   11867              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11868              : (TARGET_SSE2)))
   11869              :                 return -1;
   11870              :               return 4334; /* avx512f_vmfnmadd_v2df_maskz_1 */
   11871              : 
   11872              :             default:
   11873              :               return -1;
   11874              :             }
   11875              : 
   11876              :         case NEG:
   11877              :           x12 = XEXP (x9, 0);
   11878              :           operands[3] = x12;
   11879              :           switch (pattern1009 (x2))
   11880              :             {
   11881              :             case 0:
   11882              :               x8 = XEXP (x6, 1);
   11883              :               operands[2] = x8;
   11884              :               if (pattern1716 (x2, 
   11885              : E_V8HFmode) == 0
   11886              :                   && (
   11887              : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11888              : (TARGET_AVX512F) && 
   11889              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11890              : (TARGET_AVX512FP16)))
   11891              :                 return 4336; /* *avx512f_vmfnmsub_v8hf_mask */
   11892              :               operands[1] = x8;
   11893              :               if (pattern1717 (x2, 
   11894              : E_V8HFmode) != 0
   11895              :                   || !(
   11896              : #line 7250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11897              : (TARGET_AVX512F) && 
   11898              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11899              : (TARGET_AVX512FP16)))
   11900              :                 return -1;
   11901              :               return 4342; /* *avx512f_vmfnmsub_v8hf_mask3 */
   11902              : 
   11903              :             case 1:
   11904              :               x8 = XEXP (x6, 1);
   11905              :               operands[2] = x8;
   11906              :               if (pattern1716 (x2, 
   11907              : E_V4SFmode) == 0
   11908              :                   && 
   11909              : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11910              : (TARGET_AVX512F))
   11911              :                 return 4338; /* *avx512f_vmfnmsub_v4sf_mask */
   11912              :               operands[1] = x8;
   11913              :               if (pattern1717 (x2, 
   11914              : E_V4SFmode) != 0
   11915              :                   || !
   11916              : #line 7250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11917              : (TARGET_AVX512F))
   11918              :                 return -1;
   11919              :               return 4344; /* *avx512f_vmfnmsub_v4sf_mask3 */
   11920              : 
   11921              :             case 2:
   11922              :               x8 = XEXP (x6, 1);
   11923              :               operands[2] = x8;
   11924              :               if (pattern1716 (x2, 
   11925              : E_V2DFmode) == 0
   11926              :                   && (
   11927              : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11928              : (TARGET_AVX512F) && 
   11929              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11930              : (TARGET_SSE2)))
   11931              :                 return 4340; /* *avx512f_vmfnmsub_v2df_mask */
   11932              :               operands[1] = x8;
   11933              :               if (pattern1717 (x2, 
   11934              : E_V2DFmode) != 0
   11935              :                   || !(
   11936              : #line 7250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11937              : (TARGET_AVX512F) && 
   11938              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11939              : (TARGET_SSE2)))
   11940              :                 return -1;
   11941              :               return 4346; /* *avx512f_vmfnmsub_v2df_mask3 */
   11942              : 
   11943              :             case 3:
   11944              :               if (pattern1555 (x2, 
   11945              : E_V8HFmode) != 0
   11946              :                   || !(
   11947              : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11948              : (TARGET_AVX512F) && 
   11949              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11950              : (TARGET_AVX512FP16)))
   11951              :                 return -1;
   11952              :               return 4348; /* *avx512f_vmfnmsub_v8hf_maskz_1 */
   11953              : 
   11954              :             case 4:
   11955              :               if (pattern1555 (x2, 
   11956              : E_V4SFmode) != 0
   11957              :                   || !
   11958              : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11959              : (TARGET_AVX512F))
   11960              :                 return -1;
   11961              :               return 4350; /* *avx512f_vmfnmsub_v4sf_maskz_1 */
   11962              : 
   11963              :             case 5:
   11964              :               if (pattern1555 (x2, 
   11965              : E_V2DFmode) != 0
   11966              :                   || !(
   11967              : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11968              : (TARGET_AVX512F) && 
   11969              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11970              : (TARGET_SSE2)))
   11971              :                 return -1;
   11972              :               return 4352; /* *avx512f_vmfnmsub_v2df_maskz_1 */
   11973              : 
   11974              :             default:
   11975              :               return -1;
   11976              :             }
   11977              : 
   11978              :         default:
   11979              :           return -1;
   11980              :         }
   11981              : 
   11982              :     default:
   11983              :       return -1;
   11984              :     }
   11985              : }
   11986              : 
   11987              :  int
   11988              : recog_162 (rtx x1 ATTRIBUTE_UNUSED,
   11989              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   11990              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   11991              : {
   11992              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   11993              :   rtx x2, x3;
   11994              :   int res ATTRIBUTE_UNUSED;
   11995              :   x2 = XEXP (x1, 1);
   11996              :   switch (pattern649 (x2))
   11997              :     {
   11998              :     case 0:
   11999              :       if (pattern1390 (x2, 
   12000              : E_V32HFmode, 
   12001              : E_SImode) != 0
   12002              :           || !(
   12003              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12004              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1) && 
   12005              : #line 6276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12006              : (TARGET_AVX512FP16)))
   12007              :         return -1;
   12008              :       return 3940; /* fma_fmsub_v32hf_maskz_1 */
   12009              : 
   12010              :     case 1:
   12011              :       if (pattern1390 (x2, 
   12012              : E_V16HFmode, 
   12013              : E_HImode) != 0
   12014              :           || !(
   12015              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12016              : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
   12017              : #line 6277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12018              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   12019              :         return -1;
   12020              :       return 3944; /* fma_fmsub_v16hf_maskz_1 */
   12021              : 
   12022              :     case 2:
   12023              :       if (pattern1390 (x2, 
   12024              : E_V8HFmode, 
   12025              : E_QImode) != 0
   12026              :           || !(
   12027              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12028              : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
   12029              : #line 6278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12030              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   12031              :         return -1;
   12032              :       return 3946; /* fma_fmsub_v8hf_maskz_1 */
   12033              : 
   12034              :     case 3:
   12035              :       if (pattern1390 (x2, 
   12036              : E_V16SFmode, 
   12037              : E_HImode) != 0
   12038              :           || !
   12039              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12040              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
   12041              :         return -1;
   12042              :       return 3950; /* fma_fmsub_v16sf_maskz_1 */
   12043              : 
   12044              :     case 4:
   12045              :       if (pattern1390 (x2, 
   12046              : E_V8SFmode, 
   12047              : E_QImode) != 0
   12048              :           || !(
   12049              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12050              : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
   12051              : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12052              : (TARGET_AVX512VL)))
   12053              :         return -1;
   12054              :       return 3954; /* fma_fmsub_v8sf_maskz_1 */
   12055              : 
   12056              :     case 5:
   12057              :       if (pattern1390 (x2, 
   12058              : E_V4SFmode, 
   12059              : E_QImode) != 0
   12060              :           || !(
   12061              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12062              : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
   12063              : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12064              : (TARGET_AVX512VL)))
   12065              :         return -1;
   12066              :       return 3956; /* fma_fmsub_v4sf_maskz_1 */
   12067              : 
   12068              :     case 6:
   12069              :       if (pattern1390 (x2, 
   12070              : E_V8DFmode, 
   12071              : E_QImode) != 0
   12072              :           || !
   12073              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12074              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
   12075              :         return -1;
   12076              :       return 3959; /* fma_fmsub_v8df_maskz_1 */
   12077              : 
   12078              :     case 7:
   12079              :       if (pattern1390 (x2, 
   12080              : E_V4DFmode, 
   12081              : E_QImode) != 0
   12082              :           || !(
   12083              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12084              : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
   12085              : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12086              : (TARGET_AVX512VL)))
   12087              :         return -1;
   12088              :       return 3963; /* fma_fmsub_v4df_maskz_1 */
   12089              : 
   12090              :     case 8:
   12091              :       if (pattern1390 (x2, 
   12092              : E_V2DFmode, 
   12093              : E_QImode) != 0
   12094              :           || !(
   12095              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12096              : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
   12097              : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12098              : (TARGET_AVX512VL)))
   12099              :         return -1;
   12100              :       return 3965; /* fma_fmsub_v2df_maskz_1 */
   12101              : 
   12102              :     case 9:
   12103              :       if (pattern1392 (x2, 
   12104              : E_SImode, 
   12105              : E_V32BFmode) != 0
   12106              :           || !
   12107              : #line 32981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12108              : (TARGET_AVX10_2))
   12109              :         return -1;
   12110              :       return 10727; /* avx10_2_fmsubbf16_v32bf_maskz_1 */
   12111              : 
   12112              :     case 10:
   12113              :       if (pattern1392 (x2, 
   12114              : E_HImode, 
   12115              : E_V16BFmode) != 0
   12116              :           || !
   12117              : #line 32981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12118              : (TARGET_AVX10_2))
   12119              :         return -1;
   12120              :       return 10729; /* avx10_2_fmsubbf16_v16bf_maskz_1 */
   12121              : 
   12122              :     case 11:
   12123              :       if (pattern1392 (x2, 
   12124              : E_QImode, 
   12125              : E_V8BFmode) != 0
   12126              :           || !
   12127              : #line 32981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12128              : (TARGET_AVX10_2))
   12129              :         return -1;
   12130              :       return 10731; /* avx10_2_fmsubbf16_v8bf_maskz_1 */
   12131              : 
   12132              :     case 12:
   12133              :       if (pattern1394 (x2, 
   12134              : E_V4SFmode) != 0
   12135              :           || !
   12136              : #line 7318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12137              : (TARGET_FMA4))
   12138              :         return -1;
   12139              :       return 4356; /* *fma4i_vmfmsub_v4sf */
   12140              : 
   12141              :     case 13:
   12142              :       if (pattern1394 (x2, 
   12143              : E_V2DFmode) != 0
   12144              :           || !(
   12145              : #line 7318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12146              : (TARGET_FMA4) && 
   12147              : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12148              : (TARGET_SSE2)))
   12149              :         return -1;
   12150              :       return 4357; /* *fma4i_vmfmsub_v2df */
   12151              : 
   12152              :     case 14:
   12153              :       if (pattern1298 (x2, 
   12154              : E_V32HFmode, 
   12155              : E_SImode) != 0)
   12156              :         return -1;
   12157              :       if (nonimmediate_operand (operands[1], E_V32HFmode)
   12158              :           && vector_operand (operands[3], E_V32HFmode))
   12159              :         {
   12160              :           x3 = XEXP (x2, 1);
   12161              :           if (rtx_equal_p (x3, operands[1])
   12162              :               && (
   12163              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12164              : (TARGET_AVX512F) && 
   12165              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12166              : (TARGET_AVX512FP16)))
   12167              :             return 3966; /* avx512bw_fmsub_v32hf_mask */
   12168              :         }
   12169              :       if (!vector_operand (operands[1], E_V32HFmode)
   12170              :           || !nonimmediate_operand (operands[3], E_V32HFmode))
   12171              :         return -1;
   12172              :       x3 = XEXP (x2, 1);
   12173              :       if (!rtx_equal_p (x3, operands[3])
   12174              :           || !(
   12175              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12176              : (TARGET_AVX512F && 1) && 
   12177              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12178              : (TARGET_AVX512FP16)))
   12179              :         return -1;
   12180              :       return 3984; /* avx512bw_fmsub_v32hf_mask3 */
   12181              : 
   12182              :     case 15:
   12183              :       if (pattern1298 (x2, 
   12184              : E_V16HFmode, 
   12185              : E_HImode) != 0)
   12186              :         return -1;
   12187              :       if (nonimmediate_operand (operands[1], E_V16HFmode)
   12188              :           && vector_operand (operands[3], E_V16HFmode))
   12189              :         {
   12190              :           x3 = XEXP (x2, 1);
   12191              :           if (rtx_equal_p (x3, operands[1])
   12192              :               && (
   12193              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12194              : (TARGET_AVX512F) && 
   12195              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12196              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   12197              :             return 3968; /* avx512vl_fmsub_v16hf_mask */
   12198              :         }
   12199              :       if (!vector_operand (operands[1], E_V16HFmode)
   12200              :           || !nonimmediate_operand (operands[3], E_V16HFmode))
   12201              :         return -1;
   12202              :       x3 = XEXP (x2, 1);
   12203              :       if (!rtx_equal_p (x3, operands[3])
   12204              :           || !(
   12205              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12206              : (TARGET_AVX512F && 1) && 
   12207              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12208              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   12209              :         return -1;
   12210              :       return 3986; /* avx512vl_fmsub_v16hf_mask3 */
   12211              : 
   12212              :     case 16:
   12213              :       if (pattern1298 (x2, 
   12214              : E_V8HFmode, 
   12215              : E_QImode) != 0)
   12216              :         return -1;
   12217              :       if (nonimmediate_operand (operands[1], E_V8HFmode)
   12218              :           && vector_operand (operands[3], E_V8HFmode))
   12219              :         {
   12220              :           x3 = XEXP (x2, 1);
   12221              :           if (rtx_equal_p (x3, operands[1])
   12222              :               && (
   12223              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12224              : (TARGET_AVX512F) && 
   12225              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12226              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   12227              :             return 3970; /* avx512fp16_fmsub_v8hf_mask */
   12228              :         }
   12229              :       if (!vector_operand (operands[1], E_V8HFmode)
   12230              :           || !nonimmediate_operand (operands[3], E_V8HFmode))
   12231              :         return -1;
   12232              :       x3 = XEXP (x2, 1);
   12233              :       if (!rtx_equal_p (x3, operands[3])
   12234              :           || !(
   12235              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12236              : (TARGET_AVX512F && 1) && 
   12237              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12238              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   12239              :         return -1;
   12240              :       return 3987; /* avx512fp16_fmsub_v8hf_mask3 */
   12241              : 
   12242              :     case 17:
   12243              :       if (pattern1298 (x2, 
   12244              : E_V16SFmode, 
   12245              : E_HImode) != 0)
   12246              :         return -1;
   12247              :       if (nonimmediate_operand (operands[1], E_V16SFmode)
   12248              :           && vector_operand (operands[3], E_V16SFmode))
   12249              :         {
   12250              :           x3 = XEXP (x2, 1);
   12251              :           if (rtx_equal_p (x3, operands[1])
   12252              :               && 
   12253              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12254              : (TARGET_AVX512F))
   12255              :             return 3972; /* avx512f_fmsub_v16sf_mask */
   12256              :         }
   12257              :       if (!vector_operand (operands[1], E_V16SFmode)
   12258              :           || !nonimmediate_operand (operands[3], E_V16SFmode))
   12259              :         return -1;
   12260              :       x3 = XEXP (x2, 1);
   12261              :       if (!rtx_equal_p (x3, operands[3])
   12262              :           || !
   12263              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12264              : (TARGET_AVX512F && 1))
   12265              :         return -1;
   12266              :       return 3988; /* avx512f_fmsub_v16sf_mask3 */
   12267              : 
   12268              :     case 18:
   12269              :       if (pattern1298 (x2, 
   12270              : E_V8SFmode, 
   12271              : E_QImode) != 0)
   12272              :         return -1;
   12273              :       if (nonimmediate_operand (operands[1], E_V8SFmode)
   12274              :           && vector_operand (operands[3], E_V8SFmode))
   12275              :         {
   12276              :           x3 = XEXP (x2, 1);
   12277              :           if (rtx_equal_p (x3, operands[1])
   12278              :               && (
   12279              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12280              : (TARGET_AVX512F) && 
   12281              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12282              : (TARGET_AVX512VL)))
   12283              :             return 3974; /* avx512vl_fmsub_v8sf_mask */
   12284              :         }
   12285              :       if (!vector_operand (operands[1], E_V8SFmode)
   12286              :           || !nonimmediate_operand (operands[3], E_V8SFmode))
   12287              :         return -1;
   12288              :       x3 = XEXP (x2, 1);
   12289              :       if (!rtx_equal_p (x3, operands[3])
   12290              :           || !(
   12291              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12292              : (TARGET_AVX512F && 1) && 
   12293              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12294              : (TARGET_AVX512VL)))
   12295              :         return -1;
   12296              :       return 3990; /* avx512vl_fmsub_v8sf_mask3 */
   12297              : 
   12298              :     case 19:
   12299              :       if (pattern1298 (x2, 
   12300              : E_V4SFmode, 
   12301              : E_QImode) != 0)
   12302              :         return -1;
   12303              :       if (nonimmediate_operand (operands[1], E_V4SFmode)
   12304              :           && vector_operand (operands[3], E_V4SFmode))
   12305              :         {
   12306              :           x3 = XEXP (x2, 1);
   12307              :           if (rtx_equal_p (x3, operands[1])
   12308              :               && (
   12309              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12310              : (TARGET_AVX512F) && 
   12311              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12312              : (TARGET_AVX512VL)))
   12313              :             return 3976; /* avx512vl_fmsub_v4sf_mask */
   12314              :         }
   12315              :       if (!vector_operand (operands[1], E_V4SFmode)
   12316              :           || !nonimmediate_operand (operands[3], E_V4SFmode))
   12317              :         return -1;
   12318              :       x3 = XEXP (x2, 1);
   12319              :       if (!rtx_equal_p (x3, operands[3])
   12320              :           || !(
   12321              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12322              : (TARGET_AVX512F && 1) && 
   12323              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12324              : (TARGET_AVX512VL)))
   12325              :         return -1;
   12326              :       return 3991; /* avx512vl_fmsub_v4sf_mask3 */
   12327              : 
   12328              :     case 20:
   12329              :       if (pattern1298 (x2, 
   12330              : E_V8DFmode, 
   12331              : E_QImode) != 0)
   12332              :         return -1;
   12333              :       if (nonimmediate_operand (operands[1], E_V8DFmode)
   12334              :           && vector_operand (operands[3], E_V8DFmode))
   12335              :         {
   12336              :           x3 = XEXP (x2, 1);
   12337              :           if (rtx_equal_p (x3, operands[1])
   12338              :               && 
   12339              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12340              : (TARGET_AVX512F))
   12341              :             return 3978; /* avx512f_fmsub_v8df_mask */
   12342              :         }
   12343              :       if (!vector_operand (operands[1], E_V8DFmode)
   12344              :           || !nonimmediate_operand (operands[3], E_V8DFmode))
   12345              :         return -1;
   12346              :       x3 = XEXP (x2, 1);
   12347              :       if (!rtx_equal_p (x3, operands[3])
   12348              :           || !
   12349              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12350              : (TARGET_AVX512F && 1))
   12351              :         return -1;
   12352              :       return 3992; /* avx512f_fmsub_v8df_mask3 */
   12353              : 
   12354              :     case 21:
   12355              :       if (pattern1298 (x2, 
   12356              : E_V4DFmode, 
   12357              : E_QImode) != 0)
   12358              :         return -1;
   12359              :       if (nonimmediate_operand (operands[1], E_V4DFmode)
   12360              :           && vector_operand (operands[3], E_V4DFmode))
   12361              :         {
   12362              :           x3 = XEXP (x2, 1);
   12363              :           if (rtx_equal_p (x3, operands[1])
   12364              :               && (
   12365              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12366              : (TARGET_AVX512F) && 
   12367              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12368              : (TARGET_AVX512VL)))
   12369              :             return 3980; /* avx512vl_fmsub_v4df_mask */
   12370              :         }
   12371              :       if (!vector_operand (operands[1], E_V4DFmode)
   12372              :           || !nonimmediate_operand (operands[3], E_V4DFmode))
   12373              :         return -1;
   12374              :       x3 = XEXP (x2, 1);
   12375              :       if (!rtx_equal_p (x3, operands[3])
   12376              :           || !(
   12377              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12378              : (TARGET_AVX512F && 1) && 
   12379              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12380              : (TARGET_AVX512VL)))
   12381              :         return -1;
   12382              :       return 3994; /* avx512vl_fmsub_v4df_mask3 */
   12383              : 
   12384              :     case 22:
   12385              :       if (pattern1298 (x2, 
   12386              : E_V2DFmode, 
   12387              : E_QImode) != 0)
   12388              :         return -1;
   12389              :       if (nonimmediate_operand (operands[1], E_V2DFmode)
   12390              :           && vector_operand (operands[3], E_V2DFmode))
   12391              :         {
   12392              :           x3 = XEXP (x2, 1);
   12393              :           if (rtx_equal_p (x3, operands[1])
   12394              :               && (
   12395              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12396              : (TARGET_AVX512F) && 
   12397              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12398              : (TARGET_AVX512VL)))
   12399              :             return 3982; /* avx512vl_fmsub_v2df_mask */
   12400              :         }
   12401              :       if (!vector_operand (operands[1], E_V2DFmode)
   12402              :           || !nonimmediate_operand (operands[3], E_V2DFmode))
   12403              :         return -1;
   12404              :       x3 = XEXP (x2, 1);
   12405              :       if (!rtx_equal_p (x3, operands[3])
   12406              :           || !(
   12407              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12408              : (TARGET_AVX512F && 1) && 
   12409              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12410              : (TARGET_AVX512VL)))
   12411              :         return -1;
   12412              :       return 3995; /* avx512vl_fmsub_v2df_mask3 */
   12413              : 
   12414              :     case 23:
   12415              :       if (pattern1300 (x2, 
   12416              : E_SImode, 
   12417              : E_V32BFmode) != 0)
   12418              :         return -1;
   12419              :       x3 = XEXP (x2, 1);
   12420              :       if (rtx_equal_p (x3, operands[1])
   12421              :           && 
   12422              : #line 33000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12423              : (TARGET_AVX10_2))
   12424              :         return 10732; /* avx10_2_fmsubbf16_v32bf_mask */
   12425              :       if (!rtx_equal_p (x3, operands[3])
   12426              :           || !
   12427              : #line 33018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12428              : (TARGET_AVX10_2))
   12429              :         return -1;
   12430              :       return 10735; /* avx10_2_fmsubbf16_v32bf_mask3 */
   12431              : 
   12432              :     case 24:
   12433              :       if (pattern1300 (x2, 
   12434              : E_HImode, 
   12435              : E_V16BFmode) != 0)
   12436              :         return -1;
   12437              :       x3 = XEXP (x2, 1);
   12438              :       if (rtx_equal_p (x3, operands[1])
   12439              :           && 
   12440              : #line 33000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12441              : (TARGET_AVX10_2))
   12442              :         return 10733; /* avx10_2_fmsubbf16_v16bf_mask */
   12443              :       if (!rtx_equal_p (x3, operands[3])
   12444              :           || !
   12445              : #line 33018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12446              : (TARGET_AVX10_2))
   12447              :         return -1;
   12448              :       return 10736; /* avx10_2_fmsubbf16_v16bf_mask3 */
   12449              : 
   12450              :     case 25:
   12451              :       if (pattern1300 (x2, 
   12452              : E_QImode, 
   12453              : E_V8BFmode) != 0)
   12454              :         return -1;
   12455              :       x3 = XEXP (x2, 1);
   12456              :       if (rtx_equal_p (x3, operands[1])
   12457              :           && 
   12458              : #line 33000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12459              : (TARGET_AVX10_2))
   12460              :         return 10734; /* avx10_2_fmsubbf16_v8bf_mask */
   12461              :       if (!rtx_equal_p (x3, operands[3])
   12462              :           || !
   12463              : #line 33018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12464              : (TARGET_AVX10_2))
   12465              :         return -1;
   12466              :       return 10737; /* avx10_2_fmsubbf16_v8bf_mask3 */
   12467              : 
   12468              :     case 26:
   12469              :       if (pattern1395 (x2, 
   12470              : E_V8HFmode) != 0
   12471              :           || !(
   12472              : #line 6961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12473              : (TARGET_FMA || TARGET_AVX512F) && 
   12474              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12475              : (TARGET_AVX512FP16)))
   12476              :         return -1;
   12477              :       return 4264; /* *fmai_fmsub_v8hf */
   12478              : 
   12479              :     case 27:
   12480              :       if (pattern1395 (x2, 
   12481              : E_V4SFmode) != 0
   12482              :           || !
   12483              : #line 6961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12484              : (TARGET_FMA || TARGET_AVX512F))
   12485              :         return -1;
   12486              :       return 4266; /* *fmai_fmsub_v4sf */
   12487              : 
   12488              :     case 28:
   12489              :       if (pattern1395 (x2, 
   12490              : E_V2DFmode) != 0
   12491              :           || !(
   12492              : #line 6961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12493              : (TARGET_FMA || TARGET_AVX512F) && 
   12494              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12495              : (TARGET_SSE2)))
   12496              :         return -1;
   12497              :       return 4268; /* *fmai_fmsub_v2df */
   12498              : 
   12499              :     default:
   12500              :       return -1;
   12501              :     }
   12502              : }
   12503              : 
   12504              :  int
   12505              : recog_167 (rtx x1 ATTRIBUTE_UNUSED,
   12506              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12507              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12508              : {
   12509              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12510              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   12511              :   rtx x10, x11, x12;
   12512              :   int res ATTRIBUTE_UNUSED;
   12513              :   x2 = XEXP (x1, 1);
   12514              :   x3 = XEXP (x2, 0);
   12515              :   x4 = XEXP (x3, 1);
   12516              :   x5 = XVECEXP (x4, 0, 2);
   12517              :   if (GET_CODE (x5) != CONST_INT)
   12518              :     return -1;
   12519              :   x6 = XVECEXP (x4, 0, 3);
   12520              :   if (GET_CODE (x6) != CONST_INT)
   12521              :     return -1;
   12522              :   x7 = XEXP (x2, 2);
   12523              :   if (!register_operand (x7, E_QImode))
   12524              :     return -1;
   12525              :   x8 = XVECEXP (x4, 0, 0);
   12526              :   switch (XWINT (x8, 0))
   12527              :     {
   12528              :     case 2L:
   12529              :       x9 = XVECEXP (x4, 0, 1);
   12530              :       if (XWINT (x9, 0) != 6L
   12531              :           || XWINT (x5, 0) != 3L
   12532              :           || XWINT (x6, 0) != 7L)
   12533              :         return -1;
   12534              :       x10 = XEXP (x3, 0);
   12535              :       x11 = XEXP (x10, 1);
   12536              :       operands[2] = x11;
   12537              :       x12 = XEXP (x2, 1);
   12538              :       operands[3] = x12;
   12539              :       operands[4] = x7;
   12540              :       switch (GET_MODE (operands[0]))
   12541              :         {
   12542              :         case E_V4SFmode:
   12543              :           if (pattern1594 (x2, 
   12544              : E_V4SFmode, 
   12545              : E_V8SFmode) != 0
   12546              :               || !(
   12547              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12548              : (TARGET_AVX512F) && 
   12549              : #line 11546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12550              : (TARGET_SSE && TARGET_AVX512VL)))
   12551              :             return -1;
   12552              :           return 5265; /* vec_interleave_highv4sf_mask */
   12553              : 
   12554              :         case E_V4SImode:
   12555              :           if (pattern1594 (x2, 
   12556              : E_V4SImode, 
   12557              : E_V8SImode) != 0
   12558              :               || !(
   12559              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12560              : (TARGET_AVX512F) && 
   12561              : #line 20097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12562              : (TARGET_SSE2 && TARGET_AVX512VL)))
   12563              :             return -1;
   12564              :           return 8417; /* vec_interleave_highv4si_mask */
   12565              : 
   12566              :         default:
   12567              :           return -1;
   12568              :         }
   12569              : 
   12570              :     case 0L:
   12571              :       x9 = XVECEXP (x4, 0, 1);
   12572              :       switch (XWINT (x9, 0))
   12573              :         {
   12574              :         case 4L:
   12575              :           switch (XWINT (x5, 0))
   12576              :             {
   12577              :             case 1L:
   12578              :               if (XWINT (x6, 0) != 5L)
   12579              :                 return -1;
   12580              :               x10 = XEXP (x3, 0);
   12581              :               x11 = XEXP (x10, 1);
   12582              :               operands[2] = x11;
   12583              :               x12 = XEXP (x2, 1);
   12584              :               operands[3] = x12;
   12585              :               operands[4] = x7;
   12586              :               switch (GET_MODE (operands[0]))
   12587              :                 {
   12588              :                 case E_V4SFmode:
   12589              :                   if (pattern1593 (x2, 
   12590              : E_V4SFmode, 
   12591              : E_V8SFmode) != 0
   12592              :                       || !
   12593              : #line 11603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12594              : (TARGET_AVX512VL))
   12595              :                     return -1;
   12596              :                   return 5270; /* unpcklps128_mask */
   12597              : 
   12598              :                 case E_V4SImode:
   12599              :                   if (pattern1594 (x2, 
   12600              : E_V4SImode, 
   12601              : E_V8SImode) != 0
   12602              :                       || !(
   12603              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12604              : (TARGET_AVX512F) && 
   12605              : #line 20151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12606              : (TARGET_SSE2 && TARGET_AVX512VL)))
   12607              :                     return -1;
   12608              :                   return 8423; /* vec_interleave_lowv4si_mask */
   12609              : 
   12610              :                 default:
   12611              :                   return -1;
   12612              :                 }
   12613              : 
   12614              :             case 2L:
   12615              :               if (XWINT (x6, 0) != 6L)
   12616              :                 return -1;
   12617              :               switch (GET_MODE (operands[0]))
   12618              :                 {
   12619              :                 case E_V4DFmode:
   12620              :                   if (pattern1656 (x2, 
   12621              : E_V4DFmode, 
   12622              : E_V8DFmode) != 0)
   12623              :                     return -1;
   12624              :                   x12 = XEXP (x2, 1);
   12625              :                   operands[2] = x12;
   12626              :                   if (nonimmediate_operand (operands[1], E_V4DFmode))
   12627              :                     {
   12628              :                       operands[3] = x7;
   12629              :                       x10 = XEXP (x3, 0);
   12630              :                       x11 = XEXP (x10, 1);
   12631              :                       if (rtx_equal_p (x11, operands[1])
   12632              :                           && (
   12633              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12634              : (TARGET_AVX512F) && 
   12635              : #line 13794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12636              : (TARGET_AVX && TARGET_AVX512VL)))
   12637              :                         return 5425; /* avx_movddup256_mask */
   12638              :                     }
   12639              :                   operands[3] = x12;
   12640              :                   if (!register_operand (operands[1], E_V4DFmode))
   12641              :                     return -1;
   12642              :                   x10 = XEXP (x3, 0);
   12643              :                   x11 = XEXP (x10, 1);
   12644              :                   operands[2] = x11;
   12645              :                   if (!nonimmediate_operand (operands[2], E_V4DFmode))
   12646              :                     return -1;
   12647              :                   operands[4] = x7;
   12648              :                   if (!(
   12649              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12650              : (TARGET_AVX512F) && 
   12651              : #line 13808 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12652              : (TARGET_AVX && TARGET_AVX512VL)))
   12653              :                     return -1;
   12654              :                   return 5427; /* avx_unpcklpd256_mask */
   12655              : 
   12656              :                 case E_V4DImode:
   12657              :                   if (pattern1657 (x2, 
   12658              : E_V4DImode, 
   12659              : E_V8DImode) != 0
   12660              :                       || !(
   12661              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12662              : (TARGET_AVX512F) && 
   12663              : #line 14840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12664              : (TARGET_AVX2 && TARGET_AVX512VL)))
   12665              :                     return -1;
   12666              :                   return 7240; /* avx2_interleave_lowv4di_mask */
   12667              : 
   12668              :                 default:
   12669              :                   return -1;
   12670              :                 }
   12671              : 
   12672              :             default:
   12673              :               return -1;
   12674              :             }
   12675              : 
   12676              :         case 0L:
   12677              :           if (XWINT (x5, 0) != 6L
   12678              :               || XWINT (x6, 0) != 6L
   12679              :               || pattern1592 (x2) != 0
   12680              :               || !(
   12681              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12682              : (TARGET_AVX512F) && 
   12683              : #line 11741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12684              : (TARGET_SSE3 && TARGET_AVX512VL)))
   12685              :             return -1;
   12686              :           return 5281; /* sse3_movsldup_mask */
   12687              : 
   12688              :         default:
   12689              :           return -1;
   12690              :         }
   12691              : 
   12692              :     case 1L:
   12693              :       if (XWINT (x6, 0) != 7L)
   12694              :         return -1;
   12695              :       x9 = XVECEXP (x4, 0, 1);
   12696              :       switch (XWINT (x9, 0))
   12697              :         {
   12698              :         case 1L:
   12699              :           if (XWINT (x5, 0) != 7L
   12700              :               || pattern1592 (x2) != 0
   12701              :               || !(
   12702              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12703              : (TARGET_AVX512F) && 
   12704              : #line 11688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12705              : (TARGET_SSE3 && TARGET_AVX512VL)))
   12706              :             return -1;
   12707              :           return 5275; /* sse3_movshdup_mask */
   12708              : 
   12709              :         case 5L:
   12710              :           if (XWINT (x5, 0) != 3L)
   12711              :             return -1;
   12712              :           x10 = XEXP (x3, 0);
   12713              :           x11 = XEXP (x10, 1);
   12714              :           operands[2] = x11;
   12715              :           x12 = XEXP (x2, 1);
   12716              :           operands[3] = x12;
   12717              :           operands[4] = x7;
   12718              :           switch (GET_MODE (operands[0]))
   12719              :             {
   12720              :             case E_V4DFmode:
   12721              :               if (pattern1593 (x2, 
   12722              : E_V4DFmode, 
   12723              : E_V8DFmode) != 0
   12724              :                   || !(
   12725              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12726              : (TARGET_AVX512F) && 
   12727              : #line 13664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12728              : (TARGET_AVX && TARGET_AVX512VL)))
   12729              :                 return -1;
   12730              :               return 5417; /* avx_unpckhpd256_mask */
   12731              : 
   12732              :             case E_V4DImode:
   12733              :               if (pattern1593 (x2, 
   12734              : E_V4DImode, 
   12735              : E_V8DImode) != 0
   12736              :                   || !(
   12737              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12738              : (TARGET_AVX512F) && 
   12739              : #line 14790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12740              : (TARGET_AVX2 && TARGET_AVX512VL)))
   12741              :                 return -1;
   12742              :               return 7234; /* avx2_interleave_highv4di_mask */
   12743              : 
   12744              :             default:
   12745              :               return -1;
   12746              :             }
   12747              : 
   12748              :         default:
   12749              :           return -1;
   12750              :         }
   12751              : 
   12752              :     default:
   12753              :       return -1;
   12754              :     }
   12755              : }
   12756              : 
   12757              :  int
   12758              : recog_173 (rtx x1 ATTRIBUTE_UNUSED,
   12759              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12760              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12761              : {
   12762              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12763              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   12764              :   rtx x10;
   12765              :   int res ATTRIBUTE_UNUSED;
   12766              :   x2 = XEXP (x1, 1);
   12767              :   x3 = XEXP (x2, 0);
   12768              :   x4 = XEXP (x3, 1);
   12769              :   x5 = XVECEXP (x4, 0, 0);
   12770              :   if (GET_CODE (x5) != CONST_INT)
   12771              :     return -1;
   12772              :   operands[2] = x5;
   12773              :   res = recog_172 (x1, insn, pnum_clobbers);
   12774              :   if (res >= 0)
   12775              :     return res;
   12776              :   x6 = XVECEXP (x4, 0, 1);
   12777              :   if (GET_CODE (x6) != CONST_INT)
   12778              :     return -1;
   12779              :   x7 = XVECEXP (x4, 0, 2);
   12780              :   if (GET_CODE (x7) != CONST_INT)
   12781              :     return -1;
   12782              :   x8 = XVECEXP (x4, 0, 3);
   12783              :   if (GET_CODE (x8) != CONST_INT)
   12784              :     return -1;
   12785              :   x9 = XEXP (x2, 1);
   12786              :   operands[2] = x9;
   12787              :   x10 = XEXP (x2, 2);
   12788              :   operands[3] = x10;
   12789              :   if (!register_operand (operands[3], E_QImode))
   12790              :     return -1;
   12791              :   switch (XWINT (x5, 0))
   12792              :     {
   12793              :     case 0L:
   12794              :       if (XWINT (x6, 0) != 1L
   12795              :           || XWINT (x7, 0) != 2L
   12796              :           || XWINT (x8, 0) != 3L)
   12797              :         return -1;
   12798              :       switch (GET_MODE (operands[0]))
   12799              :         {
   12800              :         case E_V4DFmode:
   12801              :           if (!nonimmediate_operand (operands[0], E_V4DFmode)
   12802              :               || pattern1557 (x2, 
   12803              : E_V4DFmode, 
   12804              : E_V8DFmode) != 0
   12805              :               || !
   12806              : #line 12947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12807              : (TARGET_AVX512F
   12808              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12809              :             return -1;
   12810              :           return 5358; /* vec_extract_lo_v8df_mask */
   12811              : 
   12812              :         case E_V4DImode:
   12813              :           if (!nonimmediate_operand (operands[0], E_V4DImode)
   12814              :               || pattern1557 (x2, 
   12815              : E_V4DImode, 
   12816              : E_V8DImode) != 0
   12817              :               || !
   12818              : #line 12947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12819              : (TARGET_AVX512F
   12820              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12821              :             return -1;
   12822              :           return 5359; /* vec_extract_lo_v8di_mask */
   12823              : 
   12824              :         case E_V4SImode:
   12825              :           if (!nonimmediate_operand (operands[0], E_V4SImode)
   12826              :               || pattern1557 (x2, 
   12827              : E_V4SImode, 
   12828              : E_V8SImode) != 0
   12829              :               || !
   12830              : #line 13281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12831              : (TARGET_AVX512VL
   12832              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12833              :             return -1;
   12834              :           return 5382; /* vec_extract_lo_v8si_mask */
   12835              : 
   12836              :         case E_V4SFmode:
   12837              :           if (!nonimmediate_operand (operands[0], E_V4SFmode)
   12838              :               || pattern1557 (x2, 
   12839              : E_V4SFmode, 
   12840              : E_V8SFmode) != 0
   12841              :               || !
   12842              : #line 13281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12843              : (TARGET_AVX512VL
   12844              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12845              :             return -1;
   12846              :           return 5383; /* vec_extract_lo_v8sf_mask */
   12847              : 
   12848              :         default:
   12849              :           return -1;
   12850              :         }
   12851              : 
   12852              :     case 4L:
   12853              :       if (XWINT (x6, 0) != 5L
   12854              :           || XWINT (x7, 0) != 6L
   12855              :           || XWINT (x8, 0) != 7L)
   12856              :         return -1;
   12857              :       switch (GET_MODE (operands[0]))
   12858              :         {
   12859              :         case E_V4DFmode:
   12860              :           if (!nonimmediate_operand (operands[0], E_V4DFmode)
   12861              :               || pattern1557 (x2, 
   12862              : E_V4DFmode, 
   12863              : E_V8DFmode) != 0
   12864              :               || !
   12865              : #line 12984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12866              : (TARGET_AVX512F
   12867              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12868              :             return -1;
   12869              :           return 5362; /* vec_extract_hi_v8df_mask */
   12870              : 
   12871              :         case E_V4DImode:
   12872              :           if (!nonimmediate_operand (operands[0], E_V4DImode)
   12873              :               || pattern1557 (x2, 
   12874              : E_V4DImode, 
   12875              : E_V8DImode) != 0
   12876              :               || !
   12877              : #line 12984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12878              : (TARGET_AVX512F
   12879              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12880              :             return -1;
   12881              :           return 5363; /* vec_extract_hi_v8di_mask */
   12882              : 
   12883              :         case E_V4SImode:
   12884              :           if (!register_operand (operands[0], E_V4SImode)
   12885              :               || pattern1557 (x2, 
   12886              : E_V4SImode, 
   12887              : E_V8SImode) != 0
   12888              :               || !
   12889              : #line 13313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12890              : (TARGET_AVX512VL
   12891              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12892              :             return -1;
   12893              :           return 5386; /* vec_extract_hi_v8si_mask */
   12894              : 
   12895              :         case E_V4SFmode:
   12896              :           if (!register_operand (operands[0], E_V4SFmode)
   12897              :               || pattern1557 (x2, 
   12898              : E_V4SFmode, 
   12899              : E_V8SFmode) != 0
   12900              :               || !
   12901              : #line 13313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12902              : (TARGET_AVX512VL
   12903              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12904              :             return -1;
   12905              :           return 5387; /* vec_extract_hi_v8sf_mask */
   12906              : 
   12907              :         default:
   12908              :           return -1;
   12909              :         }
   12910              : 
   12911              :     default:
   12912              :       return -1;
   12913              :     }
   12914              : }
   12915              : 
   12916              :  int
   12917              : recog_184 (rtx x1 ATTRIBUTE_UNUSED,
   12918              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12919              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12920              : {
   12921              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12922              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   12923              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   12924              :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
   12925              :   rtx x26, x27, x28, x29, x30, x31, x32, x33;
   12926              :   rtx x34, x35, x36, x37, x38, x39, x40, x41;
   12927              :   rtx x42, x43, x44, x45, x46, x47, x48, x49;
   12928              :   rtx x50, x51, x52, x53, x54, x55, x56, x57;
   12929              :   rtx x58, x59, x60, x61;
   12930              :   int res ATTRIBUTE_UNUSED;
   12931              :   x2 = XEXP (x1, 1);
   12932              :   x3 = XEXP (x2, 0);
   12933              :   x4 = XEXP (x3, 1);
   12934              :   if (GET_CODE (x4) != PARALLEL)
   12935              :     return -1;
   12936              :   x5 = XEXP (x3, 0);
   12937              :   switch (GET_CODE (x5))
   12938              :     {
   12939              :     case VEC_CONCAT:
   12940              :       x6 = XEXP (x5, 0);
   12941              :       switch (GET_CODE (x6))
   12942              :         {
   12943              :         case REG:
   12944              :         case SUBREG:
   12945              :         case MEM:
   12946              :           return recog_170 (x1, insn, pnum_clobbers);
   12947              : 
   12948              :         case SS_TRUNCATE:
   12949              :           x7 = XEXP (x5, 1);
   12950              :           if (GET_CODE (x7) != SS_TRUNCATE)
   12951              :             return -1;
   12952              :           x8 = XEXP (x6, 0);
   12953              :           operands[1] = x8;
   12954              :           x9 = XEXP (x7, 0);
   12955              :           operands[2] = x9;
   12956              :           x10 = XEXP (x2, 1);
   12957              :           operands[3] = x10;
   12958              :           x11 = XEXP (x2, 2);
   12959              :           operands[4] = x11;
   12960              :           switch (XVECLEN (x4, 0))
   12961              :             {
   12962              :             case 32:
   12963              :               if (pattern682 (x4, 
   12964              : 3, 
   12965              : 2, 
   12966              : 1) != 0
   12967              :                   || pattern1305 (x4) != 0
   12968              :                   || pattern1809 (x4, 
   12969              : 23, 
   12970              : 22, 
   12971              : 21, 
   12972              : 20) != 0)
   12973              :                 return -1;
   12974              :               x12 = XVECEXP (x4, 0, 20);
   12975              :               if (GET_CODE (x12) != CONST_INT)
   12976              :                 return -1;
   12977              :               x13 = XVECEXP (x4, 0, 21);
   12978              :               if (GET_CODE (x13) != CONST_INT)
   12979              :                 return -1;
   12980              :               x14 = XVECEXP (x4, 0, 22);
   12981              :               if (GET_CODE (x14) != CONST_INT)
   12982              :                 return -1;
   12983              :               x15 = XVECEXP (x4, 0, 23);
   12984              :               if (GET_CODE (x15) != CONST_INT)
   12985              :                 return -1;
   12986              :               x16 = XVECEXP (x4, 0, 24);
   12987              :               if (GET_CODE (x16) != CONST_INT)
   12988              :                 return -1;
   12989              :               x17 = XVECEXP (x4, 0, 25);
   12990              :               if (GET_CODE (x17) != CONST_INT)
   12991              :                 return -1;
   12992              :               x18 = XVECEXP (x4, 0, 26);
   12993              :               if (GET_CODE (x18) != CONST_INT)
   12994              :                 return -1;
   12995              :               x19 = XVECEXP (x4, 0, 27);
   12996              :               if (GET_CODE (x19) != CONST_INT
   12997              :                   || pattern1910 (x4, 
   12998              : 31, 
   12999              : 30, 
   13000              : 29, 
   13001              : 28) != 0
   13002              :                   || !register_operand (operands[4], E_SImode))
   13003              :                 return -1;
   13004              :               x20 = XVECEXP (x4, 0, 4);
   13005              :               switch (XWINT (x20, 0))
   13006              :                 {
   13007              :                 case 4L:
   13008              :                   x21 = XVECEXP (x4, 0, 5);
   13009              :                   if (XWINT (x21, 0) != 5L)
   13010              :                     return -1;
   13011              :                   x22 = XVECEXP (x4, 0, 6);
   13012              :                   if (XWINT (x22, 0) != 6L)
   13013              :                     return -1;
   13014              :                   x23 = XVECEXP (x4, 0, 7);
   13015              :                   if (XWINT (x23, 0) != 7L)
   13016              :                     return -1;
   13017              :                   x24 = XVECEXP (x4, 0, 8);
   13018              :                   if (XWINT (x24, 0) != 16L)
   13019              :                     return -1;
   13020              :                   x25 = XVECEXP (x4, 0, 9);
   13021              :                   if (XWINT (x25, 0) != 17L)
   13022              :                     return -1;
   13023              :                   x26 = XVECEXP (x4, 0, 10);
   13024              :                   if (XWINT (x26, 0) != 18L)
   13025              :                     return -1;
   13026              :                   x27 = XVECEXP (x4, 0, 11);
   13027              :                   if (XWINT (x27, 0) != 19L
   13028              :                       || XWINT (x12, 0) != 12L
   13029              :                       || XWINT (x13, 0) != 13L
   13030              :                       || XWINT (x14, 0) != 14L
   13031              :                       || XWINT (x15, 0) != 15L
   13032              :                       || XWINT (x16, 0) != 24L
   13033              :                       || XWINT (x17, 0) != 25L
   13034              :                       || XWINT (x18, 0) != 26L
   13035              :                       || XWINT (x19, 0) != 27L
   13036              :                       || pattern1918 (x2, 
   13037              : E_V32QImode, 
   13038              : E_V16HImode, 
   13039              : E_V16QImode) != 0
   13040              :                       || !(
   13041              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13042              : (TARGET_AVX512F) && 
   13043              : #line 19584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13044              : (TARGET_AVX2 && TARGET_AVX512VL && TARGET_AVX512BW)))
   13045              :                     return -1;
   13046              :                   return 8349; /* avx2_packsswb_mask */
   13047              : 
   13048              :                 case 16L:
   13049              :                   x21 = XVECEXP (x4, 0, 5);
   13050              :                   if (XWINT (x21, 0) != 17L)
   13051              :                     return -1;
   13052              :                   x22 = XVECEXP (x4, 0, 6);
   13053              :                   if (XWINT (x22, 0) != 18L)
   13054              :                     return -1;
   13055              :                   x23 = XVECEXP (x4, 0, 7);
   13056              :                   if (XWINT (x23, 0) != 19L)
   13057              :                     return -1;
   13058              :                   x24 = XVECEXP (x4, 0, 8);
   13059              :                   if (XWINT (x24, 0) != 4L)
   13060              :                     return -1;
   13061              :                   x25 = XVECEXP (x4, 0, 9);
   13062              :                   if (XWINT (x25, 0) != 5L)
   13063              :                     return -1;
   13064              :                   x26 = XVECEXP (x4, 0, 10);
   13065              :                   if (XWINT (x26, 0) != 6L)
   13066              :                     return -1;
   13067              :                   x27 = XVECEXP (x4, 0, 11);
   13068              :                   if (XWINT (x27, 0) != 7L
   13069              :                       || XWINT (x12, 0) != 24L
   13070              :                       || XWINT (x13, 0) != 25L
   13071              :                       || XWINT (x14, 0) != 26L
   13072              :                       || XWINT (x15, 0) != 27L
   13073              :                       || XWINT (x16, 0) != 12L
   13074              :                       || XWINT (x17, 0) != 13L
   13075              :                       || XWINT (x18, 0) != 14L
   13076              :                       || XWINT (x19, 0) != 15L
   13077              :                       || pattern1918 (x2, 
   13078              : E_V32HImode, 
   13079              : E_V16SImode, 
   13080              : E_V16HImode) != 0
   13081              :                       || !(
   13082              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13083              : (TARGET_AVX512F) && 
   13084              : #line 19700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13085              : (TARGET_AVX512BW)))
   13086              :                     return -1;
   13087              :                   return 8357; /* avx512bw_packssdw_mask */
   13088              : 
   13089              :                 default:
   13090              :                   return -1;
   13091              :                 }
   13092              : 
   13093              :             case 64:
   13094              :               if (pattern681 (x4) != 0
   13095              :                   || pattern1307 (x4, 
   13096              : 35, 
   13097              : 34, 
   13098              : 33, 
   13099              : 32) != 0
   13100              :                   || pattern1809 (x4, 
   13101              : 39, 
   13102              : 38, 
   13103              : 37, 
   13104              : 36) != 0)
   13105              :                 return -1;
   13106              :               x12 = XVECEXP (x4, 0, 20);
   13107              :               if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
   13108              :                 return -1;
   13109              :               x13 = XVECEXP (x4, 0, 21);
   13110              :               if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
   13111              :                 return -1;
   13112              :               x14 = XVECEXP (x4, 0, 22);
   13113              :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
   13114              :                 return -1;
   13115              :               x15 = XVECEXP (x4, 0, 23);
   13116              :               if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
   13117              :                 return -1;
   13118              :               x16 = XVECEXP (x4, 0, 24);
   13119              :               if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 40])
   13120              :                 return -1;
   13121              :               x17 = XVECEXP (x4, 0, 25);
   13122              :               if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 41])
   13123              :                 return -1;
   13124              :               x18 = XVECEXP (x4, 0, 26);
   13125              :               if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 42])
   13126              :                 return -1;
   13127              :               x19 = XVECEXP (x4, 0, 27);
   13128              :               if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 43]
   13129              :                   || pattern1910 (x4, 
   13130              : 47, 
   13131              : 46, 
   13132              : 45, 
   13133              : 44) != 0)
   13134              :                 return -1;
   13135              :               x28 = XVECEXP (x4, 0, 32);
   13136              :               if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
   13137              :                 return -1;
   13138              :               x29 = XVECEXP (x4, 0, 33);
   13139              :               if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
   13140              :                 return -1;
   13141              :               x30 = XVECEXP (x4, 0, 34);
   13142              :               if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 18])
   13143              :                 return -1;
   13144              :               x31 = XVECEXP (x4, 0, 35);
   13145              :               if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 19])
   13146              :                 return -1;
   13147              :               x32 = XVECEXP (x4, 0, 36);
   13148              :               if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 20])
   13149              :                 return -1;
   13150              :               x33 = XVECEXP (x4, 0, 37);
   13151              :               if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 21])
   13152              :                 return -1;
   13153              :               x34 = XVECEXP (x4, 0, 38);
   13154              :               if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 22])
   13155              :                 return -1;
   13156              :               x35 = XVECEXP (x4, 0, 39);
   13157              :               if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 23])
   13158              :                 return -1;
   13159              :               x36 = XVECEXP (x4, 0, 40);
   13160              :               if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 48])
   13161              :                 return -1;
   13162              :               x37 = XVECEXP (x4, 0, 41);
   13163              :               if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 49])
   13164              :                 return -1;
   13165              :               x38 = XVECEXP (x4, 0, 42);
   13166              :               if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 50])
   13167              :                 return -1;
   13168              :               x39 = XVECEXP (x4, 0, 43);
   13169              :               if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 51])
   13170              :                 return -1;
   13171              :               x40 = XVECEXP (x4, 0, 44);
   13172              :               if (x40 != const_int_rtx[MAX_SAVED_CONST_INT + 52])
   13173              :                 return -1;
   13174              :               x41 = XVECEXP (x4, 0, 45);
   13175              :               if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 53])
   13176              :                 return -1;
   13177              :               x42 = XVECEXP (x4, 0, 46);
   13178              :               if (x42 != const_int_rtx[MAX_SAVED_CONST_INT + 54])
   13179              :                 return -1;
   13180              :               x43 = XVECEXP (x4, 0, 47);
   13181              :               if (x43 != const_int_rtx[MAX_SAVED_CONST_INT + 55])
   13182              :                 return -1;
   13183              :               x44 = XVECEXP (x4, 0, 48);
   13184              :               if (x44 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
   13185              :                 return -1;
   13186              :               x45 = XVECEXP (x4, 0, 49);
   13187              :               if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
   13188              :                 return -1;
   13189              :               x46 = XVECEXP (x4, 0, 50);
   13190              :               if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
   13191              :                 return -1;
   13192              :               x47 = XVECEXP (x4, 0, 51);
   13193              :               if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
   13194              :                 return -1;
   13195              :               x48 = XVECEXP (x4, 0, 52);
   13196              :               if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
   13197              :                 return -1;
   13198              :               x49 = XVECEXP (x4, 0, 53);
   13199              :               if (x49 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
   13200              :                 return -1;
   13201              :               x50 = XVECEXP (x4, 0, 54);
   13202              :               if (x50 != const_int_rtx[MAX_SAVED_CONST_INT + 30])
   13203              :                 return -1;
   13204              :               x51 = XVECEXP (x4, 0, 55);
   13205              :               if (x51 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
   13206              :                 return -1;
   13207              :               x52 = XVECEXP (x4, 0, 56);
   13208              :               if (x52 != const_int_rtx[MAX_SAVED_CONST_INT + 56])
   13209              :                 return -1;
   13210              :               x53 = XVECEXP (x4, 0, 57);
   13211              :               if (x53 != const_int_rtx[MAX_SAVED_CONST_INT + 57])
   13212              :                 return -1;
   13213              :               x54 = XVECEXP (x4, 0, 58);
   13214              :               if (x54 != const_int_rtx[MAX_SAVED_CONST_INT + 58])
   13215              :                 return -1;
   13216              :               x55 = XVECEXP (x4, 0, 59);
   13217              :               if (x55 != const_int_rtx[MAX_SAVED_CONST_INT + 59])
   13218              :                 return -1;
   13219              :               x56 = XVECEXP (x4, 0, 60);
   13220              :               if (x56 != const_int_rtx[MAX_SAVED_CONST_INT + 60])
   13221              :                 return -1;
   13222              :               x57 = XVECEXP (x4, 0, 61);
   13223              :               if (x57 != const_int_rtx[MAX_SAVED_CONST_INT + 61])
   13224              :                 return -1;
   13225              :               x58 = XVECEXP (x4, 0, 62);
   13226              :               if (x58 != const_int_rtx[MAX_SAVED_CONST_INT + 62])
   13227              :                 return -1;
   13228              :               x59 = XVECEXP (x4, 0, 63);
   13229              :               if (x59 != const_int_rtx[MAX_SAVED_CONST_INT + 63]
   13230              :                   || pattern1859 (x2, 
   13231              : E_DImode, 
   13232              : E_V64QImode, 
   13233              : E_V32HImode, 
   13234              : E_V32QImode) != 0
   13235              :                   || !(
   13236              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13237              : (TARGET_AVX512F) && 
   13238              : #line 19631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13239              : (TARGET_AVX512BW)))
   13240              :                 return -1;
   13241              :               return 8351; /* avx512bw_packsswb_mask */
   13242              : 
   13243              :             case 16:
   13244              :               if (pattern795 (x4, 
   13245              : 10, 
   13246              : 9, 
   13247              : 8) != 0
   13248              :                   || pattern1490 (x4, 
   13249              : 7, 
   13250              : 6, 
   13251              : 5, 
   13252              : 4, 
   13253              : 11) != 0
   13254              :                   || pattern1859 (x2, 
   13255              : E_HImode, 
   13256              : E_V16HImode, 
   13257              : E_V8SImode, 
   13258              : E_V8HImode) != 0
   13259              :                   || !(
   13260              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13261              : (TARGET_AVX512F) && 
   13262              : #line 19670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13263              : (TARGET_AVX2 && TARGET_AVX512VL && TARGET_AVX512BW)))
   13264              :                 return -1;
   13265              :               return 8355; /* avx2_packssdw_mask */
   13266              : 
   13267              :             default:
   13268              :               return -1;
   13269              :             }
   13270              : 
   13271              :         default:
   13272              :           return -1;
   13273              :         }
   13274              : 
   13275              :     case REG:
   13276              :     case SUBREG:
   13277              :     case MEM:
   13278              :       operands[1] = x5;
   13279              :       switch (XVECLEN (x4, 0))
   13280              :         {
   13281              :         case 2:
   13282              :           res = recog_171 (x1, insn, pnum_clobbers);
   13283              :           if (res >= 0)
   13284              :             return res;
   13285              :           break;
   13286              : 
   13287              :         case 4:
   13288              :           res = recog_173 (x1, insn, pnum_clobbers);
   13289              :           if (res >= 0)
   13290              :             return res;
   13291              :           break;
   13292              : 
   13293              :         case 8:
   13294              :           res = recog_177 (x1, insn, pnum_clobbers);
   13295              :           if (res >= 0)
   13296              :             return res;
   13297              :           break;
   13298              : 
   13299              :         case 16:
   13300              :           res = recog_180 (x1, insn, pnum_clobbers);
   13301              :           if (res >= 0)
   13302              :             return res;
   13303              :           break;
   13304              : 
   13305              :         default:
   13306              :           break;
   13307              :         }
   13308              :       if (XVECLEN (x4, 0) >= 1)
   13309              :         {
   13310              :           operands[2] = x4;
   13311              :           x60 = XVECEXP (x4, 0, 0);
   13312              :           operands[3] = x60;
   13313              :           if (const_int_operand (operands[3], E_VOIDmode))
   13314              :             {
   13315              :               x10 = XEXP (x2, 1);
   13316              :               operands[4] = x10;
   13317              :               x11 = XEXP (x2, 2);
   13318              :               operands[5] = x11;
   13319              :               switch (GET_MODE (operands[0]))
   13320              :                 {
   13321              :                 case E_V16SImode:
   13322              :                   if (pattern1405 (x2, 
   13323              : E_V16SImode, 
   13324              : E_HImode) == 0
   13325              :                       && (
   13326              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13327              : (TARGET_AVX512F) && (
   13328              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13329              : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL)
   13330              :    && avx_vpermilp_parallel (operands[2], V16SImode)) && 
   13331              : #line 311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13332              : (TARGET_AVX512F))))
   13333              :                     return 9213; /* *avx512f_vpermilpv16si_mask */
   13334              :                   break;
   13335              : 
   13336              :                 case E_V8SImode:
   13337              :                   if (pattern1405 (x2, 
   13338              : E_V8SImode, 
   13339              : E_QImode) == 0
   13340              :                       && (
   13341              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13342              : (TARGET_AVX512F) && (
   13343              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13344              : (TARGET_AVX && (32 == 64 || TARGET_AVX512VL)
   13345              :    && avx_vpermilp_parallel (operands[2], V8SImode)) && 
   13346              : #line 311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13347              : (TARGET_AVX))))
   13348              :                     return 9215; /* *avx_vpermilpv8si_mask */
   13349              :                   break;
   13350              : 
   13351              :                 case E_V4SImode:
   13352              :                   if (pattern1405 (x2, 
   13353              : E_V4SImode, 
   13354              : E_QImode) == 0
   13355              :                       && (
   13356              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13357              : (TARGET_AVX512F) && 
   13358              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13359              : (TARGET_AVX && (16 == 64 || TARGET_AVX512VL)
   13360              :    && avx_vpermilp_parallel (operands[2], V4SImode))))
   13361              :                     return 9217; /* *sse2_vpermilpv4si_mask */
   13362              :                   break;
   13363              : 
   13364              :                 case E_V8DImode:
   13365              :                   if (pattern1405 (x2, 
   13366              : E_V8DImode, 
   13367              : E_QImode) == 0
   13368              :                       && (
   13369              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13370              : (TARGET_AVX512F) && (
   13371              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13372              : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL)
   13373              :    && avx_vpermilp_parallel (operands[2], V8DImode)) && 
   13374              : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13375              : (TARGET_AVX512F))))
   13376              :                     return 9219; /* *avx512f_vpermilpv8di_mask */
   13377              :                   break;
   13378              : 
   13379              :                 case E_V4DImode:
   13380              :                   if (pattern1405 (x2, 
   13381              : E_V4DImode, 
   13382              : E_QImode) == 0
   13383              :                       && (
   13384              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13385              : (TARGET_AVX512F) && (
   13386              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13387              : (TARGET_AVX && (32 == 64 || TARGET_AVX512VL)
   13388              :    && avx_vpermilp_parallel (operands[2], V4DImode)) && 
   13389              : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13390              : (TARGET_AVX))))
   13391              :                     return 9221; /* *avx512vl_vpermilpv4di_mask */
   13392              :                   break;
   13393              : 
   13394              :                 case E_V2DImode:
   13395              :                   if (pattern1405 (x2, 
   13396              : E_V2DImode, 
   13397              : E_QImode) == 0
   13398              :                       && (
   13399              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13400              : (TARGET_AVX512F) && (
   13401              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13402              : (TARGET_AVX && (16 == 64 || TARGET_AVX512VL)
   13403              :    && avx_vpermilp_parallel (operands[2], V2DImode)) && 
   13404              : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13405              : (TARGET_SSE2))))
   13406              :                     return 9223; /* *avx512vl_vpermilpv2di_mask */
   13407              :                   break;
   13408              : 
   13409              :                 case E_V16SFmode:
   13410              :                   if (pattern1405 (x2, 
   13411              : E_V16SFmode, 
   13412              : E_HImode) == 0
   13413              :                       && (
   13414              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13415              : (TARGET_AVX512F) && (
   13416              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13417              : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL)
   13418              :    && avx_vpermilp_parallel (operands[2], V16SFmode)) && 
   13419              : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13420              : (TARGET_AVX512F))))
   13421              :                     return 9225; /* *avx512f_vpermilpv16sf_mask */
   13422              :                   break;
   13423              : 
   13424              :                 case E_V8SFmode:
   13425              :                   if (pattern1405 (x2, 
   13426              : E_V8SFmode, 
   13427              : E_QImode) == 0
   13428              :                       && (
   13429              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13430              : (TARGET_AVX512F) && (
   13431              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13432              : (TARGET_AVX && (32 == 64 || TARGET_AVX512VL)
   13433              :    && avx_vpermilp_parallel (operands[2], V8SFmode)) && 
   13434              : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13435              : (TARGET_AVX))))
   13436              :                     return 9227; /* *avx_vpermilpv8sf_mask */
   13437              :                   break;
   13438              : 
   13439              :                 case E_V4SFmode:
   13440              :                   if (pattern1405 (x2, 
   13441              : E_V4SFmode, 
   13442              : E_QImode) == 0
   13443              :                       && (
   13444              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13445              : (TARGET_AVX512F) && 
   13446              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13447              : (TARGET_AVX && (16 == 64 || TARGET_AVX512VL)
   13448              :    && avx_vpermilp_parallel (operands[2], V4SFmode))))
   13449              :                     return 9229; /* *avx_vpermilpv4sf_mask */
   13450              :                   break;
   13451              : 
   13452              :                 case E_V8DFmode:
   13453              :                   if (pattern1405 (x2, 
   13454              : E_V8DFmode, 
   13455              : E_QImode) == 0
   13456              :                       && (
   13457              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13458              : (TARGET_AVX512F) && (
   13459              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13460              : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL)
   13461              :    && avx_vpermilp_parallel (operands[2], V8DFmode)) && 
   13462              : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13463              : (TARGET_AVX512F))))
   13464              :                     return 9231; /* *avx512f_vpermilpv8df_mask */
   13465              :                   break;
   13466              : 
   13467              :                 case E_V4DFmode:
   13468              :                   if (pattern1405 (x2, 
   13469              : E_V4DFmode, 
   13470              : E_QImode) == 0
   13471              :                       && (
   13472              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13473              : (TARGET_AVX512F) && (
   13474              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13475              : (TARGET_AVX && (32 == 64 || TARGET_AVX512VL)
   13476              :    && avx_vpermilp_parallel (operands[2], V4DFmode)) && 
   13477              : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13478              : (TARGET_AVX))))
   13479              :                     return 9233; /* *avx_vpermilpv4df_mask */
   13480              :                   break;
   13481              : 
   13482              :                 case E_V2DFmode:
   13483              :                   if (pattern1405 (x2, 
   13484              : E_V2DFmode, 
   13485              : E_QImode) == 0
   13486              :                       && (
   13487              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13488              : (TARGET_AVX512F) && (
   13489              : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13490              : (TARGET_AVX && (16 == 64 || TARGET_AVX512VL)
   13491              :    && avx_vpermilp_parallel (operands[2], V2DFmode)) && 
   13492              : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13493              : (TARGET_SSE2))))
   13494              :                     return 9235; /* *avx_vpermilpv2df_mask */
   13495              :                   break;
   13496              : 
   13497              :                 default:
   13498              :                   break;
   13499              :                 }
   13500              :             }
   13501              :         }
   13502              :       x11 = XEXP (x2, 2);
   13503              :       if (!register_operand (x11, E_QImode))
   13504              :         return -1;
   13505              :       switch (XVECLEN (x4, 0))
   13506              :         {
   13507              :         case 4:
   13508              :           x60 = XVECEXP (x4, 0, 0);
   13509              :           operands[2] = x60;
   13510              :           if (pattern1022 (x4) != 0)
   13511              :             return -1;
   13512              :           x10 = XEXP (x2, 1);
   13513              :           operands[6] = x10;
   13514              :           operands[7] = x11;
   13515              :           switch (GET_MODE (operands[0]))
   13516              :             {
   13517              :             case E_V4DImode:
   13518              :               if (pattern1690 (x2, 
   13519              : E_V4DImode) != 0
   13520              :                   || !(
   13521              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13522              : (TARGET_AVX512F) && 
   13523              : #line 28241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13524              : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
   13525              :                 return -1;
   13526              :               return 9237; /* avx2_permv4di_1_mask */
   13527              : 
   13528              :             case E_V4DFmode:
   13529              :               if (pattern1690 (x2, 
   13530              : E_V4DFmode) != 0
   13531              :                   || !(
   13532              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13533              : (TARGET_AVX512F) && 
   13534              : #line 28241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13535              : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
   13536              :                 return -1;
   13537              :               return 9239; /* avx2_permv4df_1_mask */
   13538              : 
   13539              :             default:
   13540              :               return -1;
   13541              :             }
   13542              : 
   13543              :         case 8:
   13544              :           x60 = XVECEXP (x4, 0, 0);
   13545              :           operands[2] = x60;
   13546              :           if (pattern1022 (x4) != 0)
   13547              :             return -1;
   13548              :           x20 = XVECEXP (x4, 0, 4);
   13549              :           operands[6] = x20;
   13550              :           if (!const_4_to_7_operand (operands[6], E_VOIDmode))
   13551              :             return -1;
   13552              :           x21 = XVECEXP (x4, 0, 5);
   13553              :           operands[7] = x21;
   13554              :           if (!const_4_to_7_operand (operands[7], E_VOIDmode))
   13555              :             return -1;
   13556              :           x22 = XVECEXP (x4, 0, 6);
   13557              :           operands[8] = x22;
   13558              :           if (!const_4_to_7_operand (operands[8], E_VOIDmode))
   13559              :             return -1;
   13560              :           x23 = XVECEXP (x4, 0, 7);
   13561              :           operands[9] = x23;
   13562              :           if (!const_4_to_7_operand (operands[9], E_VOIDmode))
   13563              :             return -1;
   13564              :           x10 = XEXP (x2, 1);
   13565              :           operands[10] = x10;
   13566              :           operands[11] = x11;
   13567              :           switch (GET_MODE (operands[0]))
   13568              :             {
   13569              :             case E_V8DFmode:
   13570              :               if (pattern1857 (x2, 
   13571              : E_V8DFmode) != 0
   13572              :                   || !(
   13573              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13574              : (TARGET_AVX512F) && 
   13575              : #line 28312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13576              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL)
   13577              :    && (INTVAL (operands[2]) == (INTVAL (operands[6]) - 4)
   13578              :        && INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
   13579              :        && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
   13580              :        && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4)))))
   13581              :                 return -1;
   13582              :               return 9241; /* avx512f_permv8df_1_mask */
   13583              : 
   13584              :             case E_V8DImode:
   13585              :               if (pattern1857 (x2, 
   13586              : E_V8DImode) != 0
   13587              :                   || !(
   13588              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13589              : (TARGET_AVX512F) && 
   13590              : #line 28312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13591              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL)
   13592              :    && (INTVAL (operands[2]) == (INTVAL (operands[6]) - 4)
   13593              :        && INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
   13594              :        && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
   13595              :        && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4)))))
   13596              :                 return -1;
   13597              :               return 9243; /* avx512f_permv8di_1_mask */
   13598              : 
   13599              :             default:
   13600              :               return -1;
   13601              :             }
   13602              : 
   13603              :         default:
   13604              :           return -1;
   13605              :         }
   13606              : 
   13607              :     case UNSPEC:
   13608              :       if (XVECLEN (x5, 0) != 1
   13609              :           || XINT (x5, 1) != 150
   13610              :           || GET_MODE (x5) != E_V8SFmode
   13611              :           || XVECLEN (x4, 0) != 4
   13612              :           || pattern682 (x4, 
   13613              : 3, 
   13614              : 2, 
   13615              : 1) != 0
   13616              :           || !register_operand (operands[0], E_V4SFmode)
   13617              :           || GET_MODE (x2) != E_V4SFmode
   13618              :           || GET_MODE (x3) != E_V4SFmode)
   13619              :         return -1;
   13620              :       x61 = XVECEXP (x5, 0, 0);
   13621              :       operands[1] = x61;
   13622              :       if (!register_operand (operands[1], E_V8HImode))
   13623              :         return -1;
   13624              :       x10 = XEXP (x2, 1);
   13625              :       operands[2] = x10;
   13626              :       if (!nonimm_or_0_operand (operands[2], E_V4SFmode))
   13627              :         return -1;
   13628              :       x11 = XEXP (x2, 2);
   13629              :       operands[3] = x11;
   13630              :       if (!register_operand (operands[3], E_QImode)
   13631              :           || !(
   13632              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13633              : (TARGET_AVX512F) && 
   13634              : #line 29778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13635              : (TARGET_F16C || TARGET_AVX512VL)))
   13636              :         return -1;
   13637              :       return 9722; /* vcvtph2ps_mask */
   13638              : 
   13639              :     default:
   13640              :       return -1;
   13641              :     }
   13642              : }
   13643              : 
   13644              :  int
   13645              : recog_199 (rtx x1 ATTRIBUTE_UNUSED,
   13646              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   13647              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   13648              : {
   13649              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   13650              :   rtx x2, x3, x4, x5, x6, x7;
   13651              :   int res ATTRIBUTE_UNUSED;
   13652              :   x2 = XEXP (x1, 1);
   13653              :   x3 = XEXP (x2, 0);
   13654              :   x4 = XEXP (x3, 0);
   13655              :   operands[1] = x4;
   13656              :   x5 = XEXP (x3, 1);
   13657              :   operands[2] = x5;
   13658              :   x6 = XEXP (x2, 1);
   13659              :   operands[3] = x6;
   13660              :   x7 = XEXP (x2, 2);
   13661              :   operands[4] = x7;
   13662              :   switch (GET_CODE (operands[2]))
   13663              :     {
   13664              :     case REG:
   13665              :     case SUBREG:
   13666              :     case MEM:
   13667              :     case VEC_DUPLICATE:
   13668              :       switch (GET_MODE (operands[0]))
   13669              :         {
   13670              :         case E_V8SFmode:
   13671              :           if (pattern133 (x2, 
   13672              : E_V8SFmode, 
   13673              : E_QImode) != 0
   13674              :               || !(
   13675              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13676              : (TARGET_AVX512F) && (
   13677              : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13678              : (TARGET_SSE && TARGET_AVX512VL
   13679              :    && (!true || 32 != 16)
   13680              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13681              : #line 432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13682              : (TARGET_AVX))))
   13683              :             return -1;
   13684              :           return 3800; /* *xorv8sf3_mask */
   13685              : 
   13686              :         case E_V4SFmode:
   13687              :           if (pattern133 (x2, 
   13688              : E_V4SFmode, 
   13689              : E_QImode) != 0
   13690              :               || !(
   13691              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13692              : (TARGET_AVX512F) && 
   13693              : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13694              : (TARGET_SSE && TARGET_AVX512VL
   13695              :    && (!true || 32 != 16)
   13696              :    && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   13697              :             return -1;
   13698              :           return 3806; /* *xorv4sf3_mask */
   13699              : 
   13700              :         case E_V4DFmode:
   13701              :           if (pattern133 (x2, 
   13702              : E_V4DFmode, 
   13703              : E_QImode) != 0
   13704              :               || !(
   13705              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13706              : (TARGET_AVX512F) && (
   13707              : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13708              : (TARGET_SSE && TARGET_AVX512VL
   13709              :    && (!true || 64 != 16)
   13710              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13711              : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13712              : (TARGET_AVX))))
   13713              :             return -1;
   13714              :           return 3812; /* *xorv4df3_mask */
   13715              : 
   13716              :         case E_V2DFmode:
   13717              :           if (pattern133 (x2, 
   13718              : E_V2DFmode, 
   13719              : E_QImode) != 0
   13720              :               || !(
   13721              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13722              : (TARGET_AVX512F) && (
   13723              : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13724              : (TARGET_SSE && TARGET_AVX512VL
   13725              :    && (!true || 64 != 16)
   13726              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13727              : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13728              : (TARGET_SSE2))))
   13729              :             return -1;
   13730              :           return 3818; /* *xorv2df3_mask */
   13731              : 
   13732              :         case E_V16SFmode:
   13733              :           if (pattern134 (x2, 
   13734              : E_V16SFmode, 
   13735              : E_HImode) != 0
   13736              :               || !(
   13737              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13738              : (TARGET_AVX512F) && 
   13739              : #line 5787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13740              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13741              :    && (!true || 32 != 16))))
   13742              :             return -1;
   13743              :           return 3830; /* *xorv16sf3_mask */
   13744              : 
   13745              :         case E_V8DFmode:
   13746              :           if (pattern134 (x2, 
   13747              : E_V8DFmode, 
   13748              : E_QImode) != 0
   13749              :               || !(
   13750              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13751              : (TARGET_AVX512F) && 
   13752              : #line 5787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13753              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13754              :    && (!true || 64 != 16))))
   13755              :             return -1;
   13756              :           return 3836; /* *xorv8df3_mask */
   13757              : 
   13758              :         case E_V16SImode:
   13759              :           if (pattern489 (x2, 
   13760              : E_V16SImode, 
   13761              : E_HImode) != 0
   13762              :               || !(
   13763              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13764              : (TARGET_AVX512F) && (
   13765              : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13766              : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
   13767              :    && ix86_binary_operator_ok (XOR, V16SImode, operands)) && 
   13768              : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13769              : (TARGET_AVX512F))))
   13770              :             return -1;
   13771              :           return 8054; /* *xorv16si3_mask */
   13772              : 
   13773              :         case E_V8SImode:
   13774              :           if (pattern489 (x2, 
   13775              : E_V8SImode, 
   13776              : E_QImode) != 0
   13777              :               || !(
   13778              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13779              : (TARGET_AVX512F) && (
   13780              : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13781              : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
   13782              :    && ix86_binary_operator_ok (XOR, V8SImode, operands)) && 
   13783              : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13784              : (TARGET_AVX))))
   13785              :             return -1;
   13786              :           return 8060; /* *xorv8si3_mask */
   13787              : 
   13788              :         case E_V4SImode:
   13789              :           if (pattern489 (x2, 
   13790              : E_V4SImode, 
   13791              : E_QImode) != 0
   13792              :               || !(
   13793              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13794              : (TARGET_AVX512F) && 
   13795              : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13796              : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
   13797              :    && ix86_binary_operator_ok (XOR, V4SImode, operands))))
   13798              :             return -1;
   13799              :           return 8066; /* *xorv4si3_mask */
   13800              : 
   13801              :         case E_V8DImode:
   13802              :           if (pattern489 (x2, 
   13803              : E_V8DImode, 
   13804              : E_QImode) != 0
   13805              :               || !(
   13806              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13807              : (TARGET_AVX512F) && (
   13808              : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13809              : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
   13810              :    && ix86_binary_operator_ok (XOR, V8DImode, operands)) && 
   13811              : #line 800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13812              : (TARGET_AVX512F))))
   13813              :             return -1;
   13814              :           return 8072; /* *xorv8di3_mask */
   13815              : 
   13816              :         case E_V4DImode:
   13817              :           if (pattern489 (x2, 
   13818              : E_V4DImode, 
   13819              : E_QImode) != 0
   13820              :               || !(
   13821              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13822              : (TARGET_AVX512F) && (
   13823              : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13824              : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
   13825              :    && ix86_binary_operator_ok (XOR, V4DImode, operands)) && 
   13826              : #line 800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13827              : (TARGET_AVX))))
   13828              :             return -1;
   13829              :           return 8078; /* *xorv4di3_mask */
   13830              : 
   13831              :         case E_V2DImode:
   13832              :           if (pattern489 (x2, 
   13833              : E_V2DImode, 
   13834              : E_QImode) != 0
   13835              :               || !(
   13836              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13837              : (TARGET_AVX512F) && 
   13838              : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13839              : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
   13840              :    && ix86_binary_operator_ok (XOR, V2DImode, operands))))
   13841              :             return -1;
   13842              :           return 8084; /* *xorv2di3_mask */
   13843              : 
   13844              :         default:
   13845              :           return -1;
   13846              :         }
   13847              : 
   13848              :     case CONST_VECTOR:
   13849              :       switch (GET_MODE (operands[0]))
   13850              :         {
   13851              :         case E_V16SImode:
   13852              :           if (pattern1021 (x2, 
   13853              : E_V16SImode, 
   13854              : E_HImode) != 0
   13855              :               || !(
   13856              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13857              : (TARGET_AVX512F) && (
   13858              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13859              : (TARGET_AVX512F
   13860              :    && (!true
   13861              :        || SImode == SImode
   13862              :        || SImode == DImode)) && 
   13863              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13864              : (TARGET_AVX512F))))
   13865              :             return -1;
   13866              :           return 8002; /* one_cmplv16si2_mask */
   13867              : 
   13868              :         case E_V8DImode:
   13869              :           if (pattern1021 (x2, 
   13870              : E_V8DImode, 
   13871              : E_QImode) != 0
   13872              :               || !(
   13873              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13874              : (TARGET_AVX512F) && (
   13875              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13876              : (TARGET_AVX512F
   13877              :    && (!true
   13878              :        || DImode == SImode
   13879              :        || DImode == DImode)) && 
   13880              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13881              : (TARGET_AVX512F))))
   13882              :             return -1;
   13883              :           return 8004; /* one_cmplv8di2_mask */
   13884              : 
   13885              :         case E_V8SImode:
   13886              :           if (pattern1021 (x2, 
   13887              : E_V8SImode, 
   13888              : E_QImode) != 0
   13889              :               || !(
   13890              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13891              : (TARGET_AVX512F) && (
   13892              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13893              : (TARGET_AVX512F
   13894              :    && (!true
   13895              :        || SImode == SImode
   13896              :        || SImode == DImode)) && 
   13897              : #line 559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13898              : (TARGET_AVX))))
   13899              :             return -1;
   13900              :           return 8012; /* one_cmplv8si2_mask */
   13901              : 
   13902              :         case E_V4SImode:
   13903              :           if (pattern1021 (x2, 
   13904              : E_V4SImode, 
   13905              : E_QImode) != 0
   13906              :               || !(
   13907              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13908              : (TARGET_AVX512F) && 
   13909              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13910              : (TARGET_AVX512F
   13911              :    && (!true
   13912              :        || SImode == SImode
   13913              :        || SImode == DImode))))
   13914              :             return -1;
   13915              :           return 8014; /* one_cmplv4si2_mask */
   13916              : 
   13917              :         case E_V4DImode:
   13918              :           if (pattern1021 (x2, 
   13919              : E_V4DImode, 
   13920              : E_QImode) != 0
   13921              :               || !(
   13922              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13923              : (TARGET_AVX512F) && (
   13924              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13925              : (TARGET_AVX512F
   13926              :    && (!true
   13927              :        || DImode == SImode
   13928              :        || DImode == DImode)) && 
   13929              : #line 560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13930              : (TARGET_AVX))))
   13931              :             return -1;
   13932              :           return 8016; /* one_cmplv4di2_mask */
   13933              : 
   13934              :         case E_V2DImode:
   13935              :           if (pattern1021 (x2, 
   13936              : E_V2DImode, 
   13937              : E_QImode) != 0
   13938              :               || !(
   13939              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13940              : (TARGET_AVX512F) && 
   13941              : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13942              : (TARGET_AVX512F
   13943              :    && (!true
   13944              :        || DImode == SImode
   13945              :        || DImode == DImode))))
   13946              :             return -1;
   13947              :           return 8018; /* one_cmplv2di2_mask */
   13948              : 
   13949              :         default:
   13950              :           return -1;
   13951              :         }
   13952              : 
   13953              :     default:
   13954              :       return -1;
   13955              :     }
   13956              : }
   13957              : 
   13958              :  int
   13959              : recog_208 (rtx x1 ATTRIBUTE_UNUSED,
   13960              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   13961              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   13962              : {
   13963              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   13964              :   rtx x2, x3, x4, x5;
   13965              :   int res ATTRIBUTE_UNUSED;
   13966              :   x2 = XEXP (x1, 1);
   13967              :   x3 = XEXP (x2, 0);
   13968              :   x4 = XEXP (x3, 0);
   13969              :   operands[1] = x4;
   13970              :   x5 = XEXP (x3, 1);
   13971              :   operands[2] = x5;
   13972              :   switch (pattern490 (x2))
   13973              :     {
   13974              :     case 0:
   13975              :       if (!(
   13976              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13977              : (TARGET_AVX512F) && (
   13978              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13979              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V32HFmode, operands)
   13980              :    && (64 == 64 || TARGET_AVX512VL) && 1) && 
   13981              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13982              : (TARGET_AVX512FP16))))
   13983              :         return -1;
   13984              :       return 2748; /* *addv32hf3_mask */
   13985              : 
   13986              :     case 1:
   13987              :       if (!(
   13988              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13989              : (TARGET_AVX512F) && (
   13990              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13991              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16HFmode, operands)
   13992              :    && (32 == 64 || TARGET_AVX512VL) && 1) && 
   13993              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13994              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   13995              :         return -1;
   13996              :       return 2756; /* *addv16hf3_mask */
   13997              : 
   13998              :     case 2:
   13999              :       if (!(
   14000              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14001              : (TARGET_AVX512F) && (
   14002              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14003              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8HFmode, operands)
   14004              :    && (16 == 64 || TARGET_AVX512VL) && 1) && 
   14005              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14006              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14007              :         return -1;
   14008              :       return 2764; /* *addv8hf3_mask */
   14009              : 
   14010              :     case 3:
   14011              :       if (!(
   14012              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14013              : (TARGET_AVX512F) && (
   14014              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14015              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16SFmode, operands)
   14016              :    && (64 == 64 || TARGET_AVX512VL) && 1) && 
   14017              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14018              : (TARGET_AVX512F))))
   14019              :         return -1;
   14020              :       return 2772; /* *addv16sf3_mask */
   14021              : 
   14022              :     case 4:
   14023              :       if (!(
   14024              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14025              : (TARGET_AVX512F) && (
   14026              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14027              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8SFmode, operands)
   14028              :    && (32 == 64 || TARGET_AVX512VL) && 1) && 
   14029              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14030              : (TARGET_AVX))))
   14031              :         return -1;
   14032              :       return 2780; /* *addv8sf3_mask */
   14033              : 
   14034              :     case 5:
   14035              :       if (!(
   14036              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14037              : (TARGET_AVX512F) && 
   14038              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14039              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4SFmode, operands)
   14040              :    && (16 == 64 || TARGET_AVX512VL) && 1)))
   14041              :         return -1;
   14042              :       return 2788; /* *addv4sf3_mask */
   14043              : 
   14044              :     case 6:
   14045              :       if (!(
   14046              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14047              : (TARGET_AVX512F) && (
   14048              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14049              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8DFmode, operands)
   14050              :    && (64 == 64 || TARGET_AVX512VL) && 1) && 
   14051              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14052              : (TARGET_AVX512F))))
   14053              :         return -1;
   14054              :       return 2796; /* *addv8df3_mask */
   14055              : 
   14056              :     case 7:
   14057              :       if (!(
   14058              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14059              : (TARGET_AVX512F) && (
   14060              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14061              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4DFmode, operands)
   14062              :    && (32 == 64 || TARGET_AVX512VL) && 1) && 
   14063              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14064              : (TARGET_AVX))))
   14065              :         return -1;
   14066              :       return 2804; /* *addv4df3_mask */
   14067              : 
   14068              :     case 8:
   14069              :       if (!(
   14070              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14071              : (TARGET_AVX512F) && (
   14072              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14073              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V2DFmode, operands)
   14074              :    && (16 == 64 || TARGET_AVX512VL) && 1) && 
   14075              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14076              : (TARGET_SSE2))))
   14077              :         return -1;
   14078              :       return 2812; /* *addv2df3_mask */
   14079              : 
   14080              :     case 9:
   14081              :       if (!
   14082              : #line 16610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14083              : (TARGET_AVX512F && ix86_binary_operator_ok (PLUS, V16SImode, operands)))
   14084              :         return -1;
   14085              :       return 7523; /* *addv16si3_mask */
   14086              : 
   14087              :     case 10:
   14088              :       if (!(
   14089              : #line 16610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14090              : (TARGET_AVX512F && ix86_binary_operator_ok (PLUS, V8SImode, operands)) && 
   14091              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14092              : (TARGET_AVX512VL)))
   14093              :         return -1;
   14094              :       return 7525; /* *addv8si3_mask */
   14095              : 
   14096              :     case 11:
   14097              :       if (!(
   14098              : #line 16610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14099              : (TARGET_AVX512F && ix86_binary_operator_ok (PLUS, V4SImode, operands)) && 
   14100              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14101              : (TARGET_AVX512VL)))
   14102              :         return -1;
   14103              :       return 7527; /* *addv4si3_mask */
   14104              : 
   14105              :     case 12:
   14106              :       if (!
   14107              : #line 16610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14108              : (TARGET_AVX512F && ix86_binary_operator_ok (PLUS, V8DImode, operands)))
   14109              :         return -1;
   14110              :       return 7529; /* *addv8di3_mask */
   14111              : 
   14112              :     case 13:
   14113              :       if (!(
   14114              : #line 16610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14115              : (TARGET_AVX512F && ix86_binary_operator_ok (PLUS, V4DImode, operands)) && 
   14116              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14117              : (TARGET_AVX512VL)))
   14118              :         return -1;
   14119              :       return 7531; /* *addv4di3_mask */
   14120              : 
   14121              :     case 14:
   14122              :       if (!(
   14123              : #line 16610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14124              : (TARGET_AVX512F && ix86_binary_operator_ok (PLUS, V2DImode, operands)) && 
   14125              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14126              : (TARGET_AVX512VL)))
   14127              :         return -1;
   14128              :       return 7533; /* *addv2di3_mask */
   14129              : 
   14130              :     case 15:
   14131              :       if (!
   14132              : #line 16624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14133              : (TARGET_AVX512BW && ix86_binary_operator_ok (PLUS, V64QImode, operands)))
   14134              :         return -1;
   14135              :       return 7535; /* *addv64qi3_mask */
   14136              : 
   14137              :     case 16:
   14138              :       if (!(
   14139              : #line 16624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14140              : (TARGET_AVX512BW && ix86_binary_operator_ok (PLUS, V16QImode, operands)) && 
   14141              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14142              : (TARGET_AVX512VL)))
   14143              :         return -1;
   14144              :       return 7537; /* *addv16qi3_mask */
   14145              : 
   14146              :     case 17:
   14147              :       if (!(
   14148              : #line 16624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14149              : (TARGET_AVX512BW && ix86_binary_operator_ok (PLUS, V32QImode, operands)) && 
   14150              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14151              : (TARGET_AVX512VL)))
   14152              :         return -1;
   14153              :       return 7539; /* *addv32qi3_mask */
   14154              : 
   14155              :     case 18:
   14156              :       if (!
   14157              : #line 16624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14158              : (TARGET_AVX512BW && ix86_binary_operator_ok (PLUS, V32HImode, operands)))
   14159              :         return -1;
   14160              :       return 7541; /* *addv32hi3_mask */
   14161              : 
   14162              :     case 19:
   14163              :       if (!(
   14164              : #line 16624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14165              : (TARGET_AVX512BW && ix86_binary_operator_ok (PLUS, V16HImode, operands)) && 
   14166              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14167              : (TARGET_AVX512VL)))
   14168              :         return -1;
   14169              :       return 7543; /* *addv16hi3_mask */
   14170              : 
   14171              :     case 20:
   14172              :       if (!(
   14173              : #line 16624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14174              : (TARGET_AVX512BW && ix86_binary_operator_ok (PLUS, V8HImode, operands)) && 
   14175              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14176              : (TARGET_AVX512VL)))
   14177              :         return -1;
   14178              :       return 7545; /* *addv8hi3_mask */
   14179              : 
   14180              :     case 21:
   14181              :       if (!(
   14182              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14183              : (TARGET_AVX512F) && 
   14184              : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14185              : (TARGET_AVX10_2)))
   14186              :         return -1;
   14187              :       return 10679; /* avx10_2_addbf16_v32bf_mask */
   14188              : 
   14189              :     case 22:
   14190              :       if (!(
   14191              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14192              : (TARGET_AVX512F) && 
   14193              : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14194              : (TARGET_AVX10_2)))
   14195              :         return -1;
   14196              :       return 10687; /* avx10_2_addbf16_v16bf_mask */
   14197              : 
   14198              :     case 23:
   14199              :       if (!(
   14200              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14201              : (TARGET_AVX512F) && 
   14202              : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14203              : (TARGET_AVX10_2)))
   14204              :         return -1;
   14205              :       return 10695; /* avx10_2_addbf16_v8bf_mask */
   14206              : 
   14207              :     case 24:
   14208              :       if (!(
   14209              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14210              : (TARGET_SSE) && 
   14211              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14212              : (TARGET_AVX512FP16)))
   14213              :         return -1;
   14214              :       return 2824; /* avx512fp16_vmaddv8hf3 */
   14215              : 
   14216              :     case 25:
   14217              :       if (!
   14218              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14219              : (TARGET_SSE))
   14220              :         return -1;
   14221              :       return 2832; /* sse_vmaddv4sf3 */
   14222              : 
   14223              :     case 26:
   14224              :       if (!(
   14225              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14226              : (TARGET_SSE) && 
   14227              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14228              : (TARGET_SSE2)))
   14229              :         return -1;
   14230              :       return 2840; /* sse2_vmaddv2df3 */
   14231              : 
   14232              :     default:
   14233              :       return -1;
   14234              :     }
   14235              : }
   14236              : 
   14237              :  int
   14238              : recog_225 (rtx x1 ATTRIBUTE_UNUSED,
   14239              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   14240              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   14241              : {
   14242              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   14243              :   rtx x2, x3, x4, x5, x6, x7, x8;
   14244              :   int res ATTRIBUTE_UNUSED;
   14245              :   x2 = XEXP (x1, 1);
   14246              :   x3 = XVECEXP (x2, 0, 0);
   14247              :   x4 = XEXP (x3, 0);
   14248              :   x5 = XVECEXP (x4, 0, 0);
   14249              :   operands[1] = x5;
   14250              :   x6 = XEXP (x3, 1);
   14251              :   operands[2] = x6;
   14252              :   x7 = XEXP (x3, 2);
   14253              :   operands[3] = x7;
   14254              :   x8 = XVECEXP (x2, 0, 1);
   14255              :   operands[4] = x8;
   14256              :   switch (XINT (x4, 1))
   14257              :     {
   14258              :     case 157:
   14259              :       if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
   14260              :         return -1;
   14261              :       switch (GET_MODE (operands[0]))
   14262              :         {
   14263              :         case E_V32HImode:
   14264              :           if (pattern1308 (x2, 
   14265              : E_SImode, 
   14266              : E_V32HImode, 
   14267              : E_V32HFmode) != 0
   14268              :               || !(
   14269              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14270              : (TARGET_AVX512F) && (
   14271              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14272              : (TARGET_AVX512F) && 
   14273              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14274              : (TARGET_AVX512FP16))))
   14275              :             return -1;
   14276              :           return 4449; /* avx512fp16_vcvtph2uw_v32hi_mask_round */
   14277              : 
   14278              :         case E_V16SImode:
   14279              :           if (pattern1318 (x2, 
   14280              : E_V16SImode, 
   14281              : E_HImode) != 0)
   14282              :             return -1;
   14283              :           switch (GET_MODE (operands[1]))
   14284              :             {
   14285              :             case E_V16HFmode:
   14286              :               if (!register_operand (operands[1], E_V16HFmode)
   14287              :                   || !(
   14288              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14289              : (TARGET_AVX512F) && (
   14290              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14291              : (TARGET_AVX512F) && 
   14292              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14293              : (TARGET_AVX512FP16))))
   14294              :                 return -1;
   14295              :               return 4457; /* avx512fp16_vcvtph2udq_v16si_mask_round */
   14296              : 
   14297              :             case E_V16SFmode:
   14298              :               if (!nonimmediate_operand (operands[1], E_V16SFmode)
   14299              :                   || !
   14300              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14301              : (TARGET_AVX512F))
   14302              :                 return -1;
   14303              :               return 4885; /* avx512f_fixuns_notruncv16sfv16si_mask_round */
   14304              : 
   14305              :             default:
   14306              :               return -1;
   14307              :             }
   14308              : 
   14309              :         case E_V8DImode:
   14310              :           switch (pattern1485 (x2, 
   14311              : E_V8DImode))
   14312              :             {
   14313              :             case 0:
   14314              :               if (!(
   14315              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14316              : (TARGET_AVX512F) && (
   14317              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14318              : (TARGET_AVX512F) && 
   14319              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14320              : (TARGET_AVX512FP16))))
   14321              :                 return -1;
   14322              :               return 4465; /* avx512fp16_vcvtph2uqq_v8di_mask_round */
   14323              : 
   14324              :             case 1:
   14325              :               if (!(
   14326              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14327              : (TARGET_AVX512F) && (
   14328              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14329              : (TARGET_AVX512F) && 
   14330              : #line 9073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14331              : (TARGET_AVX512DQ && (V8DImode == V16SFmode
   14332              :                                                               || V8DImode == V8DFmode
   14333              :                                                               || V8DImode == V8DImode
   14334              :                                                               || V8DImode == V16SImode
   14335              :                                                               || V8DImode == V32HFmode)))))
   14336              :                 return -1;
   14337              :               return 4905; /* avx512dq_cvtps2uqqv8di_mask_round */
   14338              : 
   14339              :             case 2:
   14340              :               if (!(
   14341              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14342              : (TARGET_AVX512F) && (
   14343              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14344              : (TARGET_AVX512F) && 
   14345              : #line 10051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14346              : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
   14347              :                                                               || V8DFmode == V8DFmode
   14348              :                                                               || V8DFmode == V8DImode
   14349              :                                                               || V8DFmode == V16SImode
   14350              :                                                               || V8DFmode == V32HFmode)))))
   14351              :                 return -1;
   14352              :               return 5131; /* fixuns_notruncv8dfv8di2_mask_round */
   14353              : 
   14354              :             default:
   14355              :               return -1;
   14356              :             }
   14357              : 
   14358              :         case E_V16HImode:
   14359              :           if (pattern1308 (x2, 
   14360              : E_HImode, 
   14361              : E_V16HImode, 
   14362              : E_V16HFmode) != 0
   14363              :               || !(
   14364              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14365              : (TARGET_AVX512F) && (
   14366              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14367              : (TARGET_AVX512F) && (
   14368              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14369              : (TARGET_AVX512FP16) && 
   14370              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14371              : (TARGET_AVX512VL)))))
   14372              :             return -1;
   14373              :           return 4473; /* avx512fp16_vcvtph2uw_v16hi_mask_round */
   14374              : 
   14375              :         case E_V8SImode:
   14376              :           switch (pattern1485 (x2, 
   14377              : E_V8SImode))
   14378              :             {
   14379              :             case 0:
   14380              :               if (!(
   14381              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14382              : (TARGET_AVX512F) && (
   14383              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14384              : (TARGET_AVX512F) && (
   14385              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14386              : (TARGET_AVX512FP16) && 
   14387              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14388              : (TARGET_AVX512VL)))))
   14389              :                 return -1;
   14390              :               return 4481; /* avx512fp16_vcvtph2udq_v8si_mask_round */
   14391              : 
   14392              :             case 1:
   14393              :               if (!(
   14394              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14395              : (TARGET_AVX512F) && (
   14396              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14397              : (TARGET_AVX512F) && (
   14398              : #line 9040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14399              : (TARGET_AVX512F) && 
   14400              : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14401              : (TARGET_AVX512VL)))))
   14402              :                 return -1;
   14403              :               return 4889; /* avx512vl_fixuns_notruncv8sfv8si_mask_round */
   14404              : 
   14405              :             case 2:
   14406              :               if (!
   14407              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14408              : (TARGET_AVX512F))
   14409              :                 return -1;
   14410              :               return 5051; /* fixuns_notruncv8dfv8si2_mask_round */
   14411              : 
   14412              :             default:
   14413              :               return -1;
   14414              :             }
   14415              : 
   14416              :         case E_V4DImode:
   14417              :           if (pattern1308 (x2, 
   14418              : E_QImode, 
   14419              : E_V4DImode, 
   14420              : E_V8HFmode) != 0
   14421              :               || !(
   14422              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14423              : (TARGET_AVX512F) && (
   14424              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14425              : (TARGET_AVX512F) && (
   14426              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14427              : (TARGET_AVX512FP16) && 
   14428              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14429              : (TARGET_AVX512VL)))))
   14430              :             return -1;
   14431              :           return 4489; /* avx512fp16_vcvtph2uqq_v4di_mask_round */
   14432              : 
   14433              :         case E_V8HImode:
   14434              :           if (pattern1308 (x2, 
   14435              : E_QImode, 
   14436              : E_V8HImode, 
   14437              : E_V8HFmode) != 0
   14438              :               || !(
   14439              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14440              : (TARGET_AVX512F) && (
   14441              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14442              : (TARGET_AVX512F) && (
   14443              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14444              : (TARGET_AVX512FP16) && 
   14445              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14446              : (TARGET_AVX512VL)))))
   14447              :             return -1;
   14448              :           return 4497; /* avx512fp16_vcvtph2uw_v8hi_mask_round */
   14449              : 
   14450              :         case E_V4SImode:
   14451              :           if (pattern1318 (x2, 
   14452              : E_V4SImode, 
   14453              : E_QImode) != 0)
   14454              :             return -1;
   14455              :           switch (GET_MODE (operands[1]))
   14456              :             {
   14457              :             case E_V8HFmode:
   14458              :               if (!register_operand (operands[1], E_V8HFmode)
   14459              :                   || !(
   14460              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14461              : (TARGET_AVX512F) && (
   14462              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14463              : (TARGET_AVX512F) && (
   14464              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14465              : (TARGET_AVX512FP16) && 
   14466              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14467              : (TARGET_AVX512VL)))))
   14468              :                 return -1;
   14469              :               return 4505; /* avx512fp16_vcvtph2udq_v4si_mask_round */
   14470              : 
   14471              :             case E_V4SFmode:
   14472              :               if (!nonimmediate_operand (operands[1], E_V4SFmode)
   14473              :                   || !(
   14474              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14475              : (TARGET_AVX512F) && (
   14476              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14477              : (TARGET_AVX512F) && (
   14478              : #line 9040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14479              : (TARGET_AVX512F) && 
   14480              : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14481              : (TARGET_AVX512VL)))))
   14482              :                 return -1;
   14483              :               return 4893; /* avx512vl_fixuns_notruncv4sfv4si_mask_round */
   14484              : 
   14485              :             case E_V4DFmode:
   14486              :               if (!nonimmediate_operand (operands[1], E_V4DFmode)
   14487              :                   || !(
   14488              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14489              : (TARGET_AVX512F) && (
   14490              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14491              : (TARGET_AVX512F) && (
   14492              : #line 9832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14493              : (TARGET_AVX512F) && 
   14494              : #line 469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14495              : (TARGET_AVX512VL)))))
   14496              :                 return -1;
   14497              :               return 5055; /* fixuns_notruncv4dfv4si2_mask_round */
   14498              : 
   14499              :             default:
   14500              :               return -1;
   14501              :             }
   14502              : 
   14503              :         case E_V2DImode:
   14504              :           if (pattern1308 (x2, 
   14505              : E_QImode, 
   14506              : E_V2DImode, 
   14507              : E_V8HFmode) != 0
   14508              :               || !(
   14509              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14510              : (TARGET_AVX512F) && (
   14511              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14512              : (TARGET_AVX512F) && (
   14513              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14514              : (TARGET_AVX512FP16) && 
   14515              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14516              : (TARGET_AVX512VL)))))
   14517              :             return -1;
   14518              :           return 4513; /* avx512fp16_vcvtph2uqq_v2di_mask_round */
   14519              : 
   14520              :         default:
   14521              :           return -1;
   14522              :         }
   14523              : 
   14524              :     case 47:
   14525              :       if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
   14526              :         return -1;
   14527              :       switch (GET_MODE (operands[0]))
   14528              :         {
   14529              :         case E_V32HImode:
   14530              :           if (pattern1308 (x2, 
   14531              : E_SImode, 
   14532              : E_V32HImode, 
   14533              : E_V32HFmode) != 0
   14534              :               || !(
   14535              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14536              : (TARGET_AVX512F) && (
   14537              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14538              : (TARGET_AVX512F) && 
   14539              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14540              : (TARGET_AVX512FP16))))
   14541              :             return -1;
   14542              :           return 4453; /* avx512fp16_vcvtph2w_v32hi_mask_round */
   14543              : 
   14544              :         case E_V16SImode:
   14545              :           switch (pattern1310 (x2))
   14546              :             {
   14547              :             case 0:
   14548              :               if (!(
   14549              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14550              : (TARGET_AVX512F) && (
   14551              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14552              : (TARGET_AVX512F) && 
   14553              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14554              : (TARGET_AVX512FP16))))
   14555              :                 return -1;
   14556              :               return 4461; /* avx512fp16_vcvtph2dq_v16si_mask_round */
   14557              : 
   14558              :             case 1:
   14559              :               if (!
   14560              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14561              : (TARGET_AVX512F))
   14562              :                 return -1;
   14563              :               return 4881; /* avx512f_fix_notruncv16sfv16si_mask_round */
   14564              : 
   14565              :             default:
   14566              :               return -1;
   14567              :             }
   14568              : 
   14569              :         case E_V8DImode:
   14570              :           if (pattern1318 (x2, 
   14571              : E_V8DImode, 
   14572              : E_QImode) != 0)
   14573              :             return -1;
   14574              :           switch (GET_MODE (operands[1]))
   14575              :             {
   14576              :             case E_V8HFmode:
   14577              :               if (!register_operand (operands[1], E_V8HFmode)
   14578              :                   || !(
   14579              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14580              : (TARGET_AVX512F) && (
   14581              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14582              : (TARGET_AVX512F) && 
   14583              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14584              : (TARGET_AVX512FP16))))
   14585              :                 return -1;
   14586              :               return 4469; /* avx512fp16_vcvtph2qq_v8di_mask_round */
   14587              : 
   14588              :             case E_V8SFmode:
   14589              :               if (!nonimmediate_operand (operands[1], E_V8SFmode)
   14590              :                   || !(
   14591              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14592              : (TARGET_AVX512F) && (
   14593              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14594              : (TARGET_AVX512F) && 
   14595              : #line 9050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14596              : (TARGET_AVX512DQ && (V8DImode == V16SFmode
   14597              :                                                               || V8DImode == V8DFmode
   14598              :                                                               || V8DImode == V8DImode
   14599              :                                                               || V8DImode == V16SImode
   14600              :                                                               || V8DImode == V32HFmode)))))
   14601              :                 return -1;
   14602              :               return 4897; /* avx512dq_cvtps2qqv8di_mask_round */
   14603              : 
   14604              :             case E_V8DFmode:
   14605              :               if (!register_operand (operands[1], E_V8DFmode)
   14606              :                   || !(
   14607              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14608              : (TARGET_AVX512F) && (
   14609              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14610              : (TARGET_AVX512F) && 
   14611              : #line 10040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14612              : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
   14613              :                                                               || V8DFmode == V8DFmode
   14614              :                                                               || V8DFmode == V8DImode
   14615              :                                                               || V8DFmode == V16SImode
   14616              :                                                               || V8DFmode == V32HFmode)))))
   14617              :                 return -1;
   14618              :               return 5123; /* fix_notruncv8dfv8di2_mask_round */
   14619              : 
   14620              :             default:
   14621              :               return -1;
   14622              :             }
   14623              : 
   14624              :         case E_V16HImode:
   14625              :           if (pattern1308 (x2, 
   14626              : E_HImode, 
   14627              : E_V16HImode, 
   14628              : E_V16HFmode) != 0
   14629              :               || !(
   14630              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14631              : (TARGET_AVX512F) && (
   14632              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14633              : (TARGET_AVX512F) && (
   14634              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14635              : (TARGET_AVX512FP16) && 
   14636              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14637              : (TARGET_AVX512VL)))))
   14638              :             return -1;
   14639              :           return 4477; /* avx512fp16_vcvtph2w_v16hi_mask_round */
   14640              : 
   14641              :         case E_V8SImode:
   14642              :           switch (pattern1309 (x2))
   14643              :             {
   14644              :             case 0:
   14645              :               if (!(
   14646              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14647              : (TARGET_AVX512F) && (
   14648              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14649              : (TARGET_AVX512F) && (
   14650              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14651              : (TARGET_AVX512FP16) && 
   14652              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14653              : (TARGET_AVX512VL)))))
   14654              :                 return -1;
   14655              :               return 4485; /* avx512fp16_vcvtph2dq_v8si_mask_round */
   14656              : 
   14657              :             case 1:
   14658              :               if (!
   14659              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14660              : (TARGET_AVX512F))
   14661              :                 return -1;
   14662              :               return 5041; /* avx512f_cvtpd2dq512_mask_round */
   14663              : 
   14664              :             default:
   14665              :               return -1;
   14666              :             }
   14667              : 
   14668              :         case E_V4DImode:
   14669              :           if (pattern1308 (x2, 
   14670              : E_QImode, 
   14671              : E_V4DImode, 
   14672              : E_V8HFmode) != 0
   14673              :               || !(
   14674              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14675              : (TARGET_AVX512F) && (
   14676              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14677              : (TARGET_AVX512F) && (
   14678              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14679              : (TARGET_AVX512FP16) && 
   14680              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14681              : (TARGET_AVX512VL)))))
   14682              :             return -1;
   14683              :           return 4493; /* avx512fp16_vcvtph2qq_v4di_mask_round */
   14684              : 
   14685              :         case E_V8HImode:
   14686              :           if (pattern1308 (x2, 
   14687              : E_QImode, 
   14688              : E_V8HImode, 
   14689              : E_V8HFmode) != 0
   14690              :               || !(
   14691              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14692              : (TARGET_AVX512F) && (
   14693              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14694              : (TARGET_AVX512F) && (
   14695              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14696              : (TARGET_AVX512FP16) && 
   14697              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14698              : (TARGET_AVX512VL)))))
   14699              :             return -1;
   14700              :           return 4501; /* avx512fp16_vcvtph2w_v8hi_mask_round */
   14701              : 
   14702              :         case E_V4SImode:
   14703              :           if (pattern1308 (x2, 
   14704              : E_QImode, 
   14705              : E_V4SImode, 
   14706              : E_V8HFmode) != 0
   14707              :               || !(
   14708              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14709              : (TARGET_AVX512F) && (
   14710              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14711              : (TARGET_AVX512F) && (
   14712              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14713              : (TARGET_AVX512FP16) && 
   14714              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14715              : (TARGET_AVX512VL)))))
   14716              :             return -1;
   14717              :           return 4509; /* avx512fp16_vcvtph2dq_v4si_mask_round */
   14718              : 
   14719              :         case E_V2DImode:
   14720              :           if (pattern1308 (x2, 
   14721              : E_QImode, 
   14722              : E_V2DImode, 
   14723              : E_V8HFmode) != 0
   14724              :               || !(
   14725              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14726              : (TARGET_AVX512F) && (
   14727              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14728              : (TARGET_AVX512F) && (
   14729              : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14730              : (TARGET_AVX512FP16) && 
   14731              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14732              : (TARGET_AVX512VL)))))
   14733              :             return -1;
   14734              :           return 4517; /* avx512fp16_vcvtph2qq_v2di_mask_round */
   14735              : 
   14736              :         default:
   14737              :           return -1;
   14738              :         }
   14739              : 
   14740              :     case 173:
   14741              :       switch (pattern1311 (x2))
   14742              :         {
   14743              :         case 0:
   14744              :           if (!(
   14745              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14746              : (TARGET_AVX512F) && (
   14747              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14748              : (TARGET_AVX512F) && (
   14749              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14750              : (TARGET_AVX512FP16) && 
   14751              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14752              : (TARGET_AVX512VL)))))
   14753              :             return -1;
   14754              :           return 4607; /* unspec_avx512fp16_fix_truncv8hi2_mask_round */
   14755              : 
   14756              :         case 1:
   14757              :           if (!(
   14758              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14759              : (TARGET_AVX512F) && (
   14760              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14761              : (TARGET_AVX512F) && (
   14762              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14763              : (TARGET_AVX512FP16) && 
   14764              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14765              : (TARGET_AVX512VL)))))
   14766              :             return -1;
   14767              :           return 4615; /* unspec_avx512fp16_fix_truncv16hi2_mask_round */
   14768              : 
   14769              :         case 2:
   14770              :           if (!(
   14771              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14772              : (TARGET_AVX512F) && (
   14773              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14774              : (TARGET_AVX512F) && 
   14775              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14776              : (TARGET_AVX512FP16))))
   14777              :             return -1;
   14778              :           return 4623; /* unspec_avx512fp16_fix_truncv32hi2_mask_round */
   14779              : 
   14780              :         case 3:
   14781              :           if (!(
   14782              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14783              : (TARGET_AVX512F) && (
   14784              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14785              : (TARGET_AVX512F) && (
   14786              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14787              : (TARGET_AVX512FP16) && 
   14788              : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14789              : (TARGET_AVX512VL)))))
   14790              :             return -1;
   14791              :           return 4631; /* unspec_avx512fp16_fix_truncv8si2_mask_round */
   14792              : 
   14793              :         case 4:
   14794              :           if (!
   14795              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14796              : (TARGET_AVX512F))
   14797              :             return -1;
   14798              :           return 5062; /* unspec_fix_truncv8dfv8si2_mask_round */
   14799              : 
   14800              :         case 5:
   14801              :           if (!(
   14802              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14803              : (TARGET_AVX512F) && (
   14804              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14805              : (TARGET_AVX512F) && 
   14806              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14807              : (TARGET_AVX512FP16))))
   14808              :             return -1;
   14809              :           return 4639; /* unspec_avx512fp16_fix_truncv16si2_mask_round */
   14810              : 
   14811              :         case 6:
   14812              :           if (!
   14813              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14814              : (TARGET_AVX512F))
   14815              :             return -1;
   14816              :           return 4913; /* unspec_fix_truncv16sfv16si2_mask_round */
   14817              : 
   14818              :         case 7:
   14819              :           if (!(
   14820              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14821              : (TARGET_AVX512F) && (
   14822              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14823              : (TARGET_AVX512F) && 
   14824              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14825              : (TARGET_AVX512FP16))))
   14826              :             return -1;
   14827              :           return 4647; /* unspec_avx512fp16_fix_truncv8di2_mask_round */
   14828              : 
   14829              :         case 8:
   14830              :           if (!(
   14831              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14832              : (TARGET_AVX512F) && (
   14833              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14834              : (TARGET_AVX512F) && 
   14835              : #line 10019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14836              : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
   14837              :                                                                               || V8DFmode == V8DFmode
   14838              :                                                                               || V8DFmode == V8DImode
   14839              :                                                                               || V8DFmode == V16SImode
   14840              :                                                                               || V8DFmode == V32HFmode)))))
   14841              :             return -1;
   14842              :           return 5091; /* unspec_fix_truncv8dfv8di2_mask_round */
   14843              : 
   14844              :         case 9:
   14845              :           if (!(
   14846              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14847              : (TARGET_AVX512F) && (
   14848              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14849              : (TARGET_AVX512F) && 
   14850              : #line 10062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14851              : (TARGET_AVX512DQ && (V8DImode == V16SFmode
   14852              :                                                                               || V8DImode == V8DFmode
   14853              :                                                                               || V8DImode == V8DImode
   14854              :                                                                               || V8DImode == V16SImode
   14855              :                                                                               || V8DImode == V32HFmode)))))
   14856              :             return -1;
   14857              :           return 5139; /* unspec_fix_truncv8sfv8di2_mask_round */
   14858              : 
   14859              :         default:
   14860              :           return -1;
   14861              :         }
   14862              : 
   14863              :     case 174:
   14864              :       switch (pattern1311 (x2))
   14865              :         {
   14866              :         case 0:
   14867              :           if (!(
   14868              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14869              : (TARGET_AVX512F) && (
   14870              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14871              : (TARGET_AVX512F) && (
   14872              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14873              : (TARGET_AVX512FP16) && 
   14874              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14875              : (TARGET_AVX512VL)))))
   14876              :             return -1;
   14877              :           return 4611; /* unspec_avx512fp16_fixuns_truncv8hi2_mask_round */
   14878              : 
   14879              :         case 1:
   14880              :           if (!(
   14881              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14882              : (TARGET_AVX512F) && (
   14883              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14884              : (TARGET_AVX512F) && (
   14885              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14886              : (TARGET_AVX512FP16) && 
   14887              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14888              : (TARGET_AVX512VL)))))
   14889              :             return -1;
   14890              :           return 4619; /* unspec_avx512fp16_fixuns_truncv16hi2_mask_round */
   14891              : 
   14892              :         case 2:
   14893              :           if (!(
   14894              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14895              : (TARGET_AVX512F) && (
   14896              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14897              : (TARGET_AVX512F) && 
   14898              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14899              : (TARGET_AVX512FP16))))
   14900              :             return -1;
   14901              :           return 4627; /* unspec_avx512fp16_fixuns_truncv32hi2_mask_round */
   14902              : 
   14903              :         case 3:
   14904              :           if (!(
   14905              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14906              : (TARGET_AVX512F) && (
   14907              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14908              : (TARGET_AVX512F) && (
   14909              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14910              : (TARGET_AVX512FP16) && 
   14911              : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14912              : (TARGET_AVX512VL)))))
   14913              :             return -1;
   14914              :           return 4635; /* unspec_avx512fp16_fixuns_truncv8si2_mask_round */
   14915              : 
   14916              :         case 4:
   14917              :           if (!
   14918              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14919              : (TARGET_AVX512F))
   14920              :             return -1;
   14921              :           return 5066; /* unspec_fixuns_truncv8dfv8si2_mask_round */
   14922              : 
   14923              :         case 5:
   14924              :           if (!(
   14925              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14926              : (TARGET_AVX512F) && (
   14927              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14928              : (TARGET_AVX512F) && 
   14929              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14930              : (TARGET_AVX512FP16))))
   14931              :             return -1;
   14932              :           return 4643; /* unspec_avx512fp16_fixuns_truncv16si2_mask_round */
   14933              : 
   14934              :         case 6:
   14935              :           if (!
   14936              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14937              : (TARGET_AVX512F))
   14938              :             return -1;
   14939              :           return 4917; /* unspec_fixuns_truncv16sfv16si2_mask_round */
   14940              : 
   14941              :         case 7:
   14942              :           if (!(
   14943              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14944              : (TARGET_AVX512F) && (
   14945              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14946              : (TARGET_AVX512F) && 
   14947              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14948              : (TARGET_AVX512FP16))))
   14949              :             return -1;
   14950              :           return 4651; /* unspec_avx512fp16_fixuns_truncv8di2_mask_round */
   14951              : 
   14952              :         case 8:
   14953              :           if (!(
   14954              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14955              : (TARGET_AVX512F) && (
   14956              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14957              : (TARGET_AVX512F) && 
   14958              : #line 10019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14959              : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
   14960              :                                                                               || V8DFmode == V8DFmode
   14961              :                                                                               || V8DFmode == V8DImode
   14962              :                                                                               || V8DFmode == V16SImode
   14963              :                                                                               || V8DFmode == V32HFmode)))))
   14964              :             return -1;
   14965              :           return 5095; /* unspec_fixuns_truncv8dfv8di2_mask_round */
   14966              : 
   14967              :         case 9:
   14968              :           if (!(
   14969              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14970              : (TARGET_AVX512F) && (
   14971              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14972              : (TARGET_AVX512F) && 
   14973              : #line 10062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14974              : (TARGET_AVX512DQ && (V8DImode == V16SFmode
   14975              :                                                                               || V8DImode == V8DFmode
   14976              :                                                                               || V8DImode == V8DImode
   14977              :                                                                               || V8DImode == V16SImode
   14978              :                                                                               || V8DImode == V32HFmode)))))
   14979              :             return -1;
   14980              :           return 5143; /* unspec_fixuns_truncv8sfv8di2_mask_round */
   14981              : 
   14982              :         default:
   14983              :           return -1;
   14984              :         }
   14985              : 
   14986              :     case 166:
   14987              :       if (!const48_operand (operands[4], E_SImode))
   14988              :         return -1;
   14989              :       switch (GET_MODE (operands[0]))
   14990              :         {
   14991              :         case E_V32HFmode:
   14992              :           if (pattern1486 (x2, 
   14993              : E_V32HFmode, 
   14994              : E_SImode) != 0
   14995              :               || !(
   14996              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14997              : (TARGET_AVX512F) && (
   14998              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14999              : (TARGET_AVX512F) && (
   15000              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15001              : (TARGET_AVX512F) && 
   15002              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15003              : (TARGET_AVX512FP16)))))
   15004              :             return -1;
   15005              :           return 7059; /* avx512bw_getexpv32hf_mask_round */
   15006              : 
   15007              :         case E_V16HFmode:
   15008              :           if (pattern1486 (x2, 
   15009              : E_V16HFmode, 
   15010              : E_HImode) != 0
   15011              :               || !(
   15012              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15013              : (TARGET_AVX512F) && (
   15014              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15015              : (TARGET_AVX512F) && (
   15016              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15017              : (TARGET_AVX512F) && 
   15018              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15019              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
   15020              :             return -1;
   15021              :           return 7063; /* avx512vl_getexpv16hf_mask_round */
   15022              : 
   15023              :         case E_V8HFmode:
   15024              :           if (pattern1486 (x2, 
   15025              : E_V8HFmode, 
   15026              : E_QImode) != 0
   15027              :               || !(
   15028              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15029              : (TARGET_AVX512F) && (
   15030              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15031              : (TARGET_AVX512F) && (
   15032              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15033              : (TARGET_AVX512F) && 
   15034              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15035              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
   15036              :             return -1;
   15037              :           return 7067; /* avx512fp16_getexpv8hf_mask_round */
   15038              : 
   15039              :         case E_V16SFmode:
   15040              :           if (pattern1486 (x2, 
   15041              : E_V16SFmode, 
   15042              : E_HImode) != 0
   15043              :               || !
   15044              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15045              : (TARGET_AVX512F))
   15046              :             return -1;
   15047              :           return 7071; /* avx512f_getexpv16sf_mask_round */
   15048              : 
   15049              :         case E_V8SFmode:
   15050              :           if (pattern1486 (x2, 
   15051              : E_V8SFmode, 
   15052              : E_QImode) != 0
   15053              :               || !(
   15054              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15055              : (TARGET_AVX512F) && (
   15056              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15057              : (TARGET_AVX512F) && (
   15058              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15059              : (TARGET_AVX512F) && 
   15060              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15061              : (TARGET_AVX512VL)))))
   15062              :             return -1;
   15063              :           return 7075; /* avx512vl_getexpv8sf_mask_round */
   15064              : 
   15065              :         case E_V4SFmode:
   15066              :           if (pattern1486 (x2, 
   15067              : E_V4SFmode, 
   15068              : E_QImode) != 0
   15069              :               || !(
   15070              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15071              : (TARGET_AVX512F) && (
   15072              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15073              : (TARGET_AVX512F) && (
   15074              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15075              : (TARGET_AVX512F) && 
   15076              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15077              : (TARGET_AVX512VL)))))
   15078              :             return -1;
   15079              :           return 7079; /* avx512vl_getexpv4sf_mask_round */
   15080              : 
   15081              :         case E_V8DFmode:
   15082              :           if (pattern1486 (x2, 
   15083              : E_V8DFmode, 
   15084              : E_QImode) != 0
   15085              :               || !
   15086              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15087              : (TARGET_AVX512F))
   15088              :             return -1;
   15089              :           return 7083; /* avx512f_getexpv8df_mask_round */
   15090              : 
   15091              :         case E_V4DFmode:
   15092              :           if (pattern1486 (x2, 
   15093              : E_V4DFmode, 
   15094              : E_QImode) != 0
   15095              :               || !(
   15096              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15097              : (TARGET_AVX512F) && (
   15098              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15099              : (TARGET_AVX512F) && (
   15100              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15101              : (TARGET_AVX512F) && 
   15102              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15103              : (TARGET_AVX512VL)))))
   15104              :             return -1;
   15105              :           return 7087; /* avx512vl_getexpv4df_mask_round */
   15106              : 
   15107              :         case E_V2DFmode:
   15108              :           if (pattern1486 (x2, 
   15109              : E_V2DFmode, 
   15110              : E_QImode) != 0
   15111              :               || !(
   15112              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15113              : (TARGET_AVX512F) && (
   15114              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15115              : (TARGET_AVX512F) && (
   15116              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15117              : (TARGET_AVX512F) && 
   15118              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15119              : (TARGET_AVX512VL)))))
   15120              :             return -1;
   15121              :           return 7091; /* avx512vl_getexpv2df_mask_round */
   15122              : 
   15123              :         default:
   15124              :           return -1;
   15125              :         }
   15126              : 
   15127              :     case 150:
   15128              :       if (pattern1312 (x2, 
   15129              : E_HImode, 
   15130              : E_V16SFmode, 
   15131              : E_V16HImode) != 0
   15132              :           || !
   15133              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15134              : (TARGET_AVX512F))
   15135              :         return -1;
   15136              :       return 9730; /* avx512f_vcvtph2ps512_mask_round */
   15137              : 
   15138              :     case 266:
   15139              :       if (pattern1313 (x2, 
   15140              : E_SImode, 
   15141              : E_V32HImode, 
   15142              : E_V32HFmode) != 0
   15143              :           || !(
   15144              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15145              : (TARGET_AVX512F) && (
   15146              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15147              : (TARGET_AVX512F) && 
   15148              : #line 33216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15149              : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
   15150              :                                                               || V32HFmode == V8DFmode
   15151              :                                                               || V32HFmode == V8DImode
   15152              :                                                               || V32HFmode == V16SImode
   15153              :                                                               || V32HFmode == V32HFmode)))))
   15154              :         return -1;
   15155              :       return 10831; /* avx10_2_cvtph2ibsv32hf_mask_round */
   15156              : 
   15157              :     case 267:
   15158              :       if (pattern1313 (x2, 
   15159              : E_SImode, 
   15160              : E_V32HImode, 
   15161              : E_V32HFmode) != 0
   15162              :           || !(
   15163              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15164              : (TARGET_AVX512F) && (
   15165              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15166              : (TARGET_AVX512F) && 
   15167              : #line 33216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15168              : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
   15169              :                                                               || V32HFmode == V8DFmode
   15170              :                                                               || V32HFmode == V8DImode
   15171              :                                                               || V32HFmode == V16SImode
   15172              :                                                               || V32HFmode == V32HFmode)))))
   15173              :         return -1;
   15174              :       return 10835; /* avx10_2_cvtph2iubsv32hf_mask_round */
   15175              : 
   15176              :     case 272:
   15177              :       if (pattern1312 (x2, 
   15178              : E_SImode, 
   15179              : E_V32HImode, 
   15180              : E_V32HFmode) != 0
   15181              :           || !(
   15182              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15183              : (TARGET_AVX512F) && (
   15184              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15185              : (TARGET_AVX512F) && 
   15186              : #line 33231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15187              : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
   15188              :                                                                               || V32HFmode == V8DFmode
   15189              :                                                                               || V32HFmode == V8DImode
   15190              :                                                                               || V32HFmode == V16SImode
   15191              :                                                                               || V32HFmode == V32HFmode)))))
   15192              :         return -1;
   15193              :       return 10847; /* avx10_2_cvttph2ibsv32hf_mask_round */
   15194              : 
   15195              :     case 273:
   15196              :       if (pattern1312 (x2, 
   15197              : E_SImode, 
   15198              : E_V32HImode, 
   15199              : E_V32HFmode) != 0
   15200              :           || !(
   15201              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15202              : (TARGET_AVX512F) && (
   15203              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15204              : (TARGET_AVX512F) && 
   15205              : #line 33231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15206              : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
   15207              :                                                                               || V32HFmode == V8DFmode
   15208              :                                                                               || V32HFmode == V8DImode
   15209              :                                                                               || V32HFmode == V16SImode
   15210              :                                                                               || V32HFmode == V32HFmode)))))
   15211              :         return -1;
   15212              :       return 10851; /* avx10_2_cvttph2iubsv32hf_mask_round */
   15213              : 
   15214              :     case 268:
   15215              :       if (pattern1313 (x2, 
   15216              : E_HImode, 
   15217              : E_V16SImode, 
   15218              : E_V16SFmode) != 0
   15219              :           || !(
   15220              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15221              : (TARGET_AVX512F) && (
   15222              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15223              : (TARGET_AVX512F) && 
   15224              : #line 33246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15225              : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
   15226              :                                                               || V16SFmode == V8DFmode
   15227              :                                                               || V16SFmode == V8DImode
   15228              :                                                               || V16SFmode == V16SImode
   15229              :                                                               || V16SFmode == V32HFmode)))))
   15230              :         return -1;
   15231              :       return 10863; /* avx10_2_cvtps2ibsv16sf_mask_round */
   15232              : 
   15233              :     case 269:
   15234              :       if (pattern1313 (x2, 
   15235              : E_HImode, 
   15236              : E_V16SImode, 
   15237              : E_V16SFmode) != 0
   15238              :           || !(
   15239              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15240              : (TARGET_AVX512F) && (
   15241              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15242              : (TARGET_AVX512F) && 
   15243              : #line 33246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15244              : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
   15245              :                                                               || V16SFmode == V8DFmode
   15246              :                                                               || V16SFmode == V8DImode
   15247              :                                                               || V16SFmode == V16SImode
   15248              :                                                               || V16SFmode == V32HFmode)))))
   15249              :         return -1;
   15250              :       return 10867; /* avx10_2_cvtps2iubsv16sf_mask_round */
   15251              : 
   15252              :     case 274:
   15253              :       if (pattern1312 (x2, 
   15254              : E_HImode, 
   15255              : E_V16SImode, 
   15256              : E_V16SFmode) != 0
   15257              :           || !(
   15258              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15259              : (TARGET_AVX512F) && (
   15260              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15261              : (TARGET_AVX512F) && 
   15262              : #line 33261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15263              : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
   15264              :                                                                               || V16SFmode == V8DFmode
   15265              :                                                                               || V16SFmode == V8DImode
   15266              :                                                                               || V16SFmode == V16SImode
   15267              :                                                                               || V16SFmode == V32HFmode)))))
   15268              :         return -1;
   15269              :       return 10879; /* avx10_2_cvttps2ibsv16sf_mask_round */
   15270              : 
   15271              :     case 275:
   15272              :       if (pattern1312 (x2, 
   15273              : E_HImode, 
   15274              : E_V16SImode, 
   15275              : E_V16SFmode) != 0
   15276              :           || !(
   15277              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15278              : (TARGET_AVX512F) && (
   15279              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15280              : (TARGET_AVX512F) && 
   15281              : #line 33261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15282              : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
   15283              :                                                                               || V16SFmode == V8DFmode
   15284              :                                                                               || V16SFmode == V8DImode
   15285              :                                                                               || V16SFmode == V16SImode
   15286              :                                                                               || V16SFmode == V32HFmode)))))
   15287              :         return -1;
   15288              :       return 10883; /* avx10_2_cvttps2iubsv16sf_mask_round */
   15289              : 
   15290              :     case 276:
   15291              :       switch (pattern1314 (x2))
   15292              :         {
   15293              :         case 0:
   15294              :           if (!(
   15295              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15296              : (TARGET_AVX512F) && (
   15297              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15298              : (TARGET_AVX512F) && (
   15299              : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15300              : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
   15301              :                                                                               || V16SFmode == V8DFmode
   15302              :                                                                               || V16SFmode == V8DImode
   15303              :                                                                               || V16SFmode == V16SImode
   15304              :                                                                               || V16SFmode == V32HFmode)) && 
   15305              : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15306              : (TARGET_AVX512F)))))
   15307              :             return -1;
   15308              :           return 10895; /* avx10_2_vcvttps2dqsv16sf_mask_round */
   15309              : 
   15310              :         case 1:
   15311              :           if (!(
   15312              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15313              : (TARGET_AVX512F) && (
   15314              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15315              : (TARGET_AVX512F) && (
   15316              : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15317              : (TARGET_AVX10_2 && (V8DFmode == V16SFmode
   15318              :                                                                               || V8DFmode == V8DFmode
   15319              :                                                                               || V8DFmode == V8DImode
   15320              :                                                                               || V8DFmode == V16SImode
   15321              :                                                                               || V8DFmode == V32HFmode)) && 
   15322              : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15323              : (TARGET_AVX512F)))))
   15324              :             return -1;
   15325              :           return 10911; /* avx10_2_vcvttpd2dqsv8df_mask_round */
   15326              : 
   15327              :         case 2:
   15328              :           if (!(
   15329              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15330              : (TARGET_AVX512F) && (
   15331              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15332              : (TARGET_AVX512F) && (
   15333              : #line 33291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15334              : (TARGET_AVX10_2 && (V8DFmode == V16SFmode
   15335              :                                                                               || V8DFmode == V8DFmode
   15336              :                                                                               || V8DFmode == V8DImode
   15337              :                                                                               || V8DFmode == V16SImode
   15338              :                                                                               || V8DFmode == V32HFmode)) && 
   15339              : #line 451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15340              : (TARGET_AVX512F)))))
   15341              :             return -1;
   15342              :           return 10927; /* avx10_2_vcvttpd2qqsv8df_mask_round */
   15343              : 
   15344              :         case 3:
   15345              :           if (!(
   15346              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15347              : (TARGET_AVX512F) && (
   15348              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15349              : (TARGET_AVX512F) && (
   15350              : #line 33302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15351              : (TARGET_AVX10_2 && (V8DImode == V16SFmode
   15352              :                                                                               || V8DImode == V8DFmode
   15353              :                                                                               || V8DImode == V8DImode
   15354              :                                                                               || V8DImode == V16SImode
   15355              :                                                                               || V8DImode == V32HFmode)) && 
   15356              : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15357              : (TARGET_AVX512F)))))
   15358              :             return -1;
   15359              :           return 10943; /* avx10_2_vcvttps2qqsv8di_mask_round */
   15360              : 
   15361              :         default:
   15362              :           return -1;
   15363              :         }
   15364              : 
   15365              :     case 277:
   15366              :       switch (pattern1314 (x2))
   15367              :         {
   15368              :         case 0:
   15369              :           if (!(
   15370              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15371              : (TARGET_AVX512F) && (
   15372              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15373              : (TARGET_AVX512F) && (
   15374              : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15375              : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
   15376              :                                                                               || V16SFmode == V8DFmode
   15377              :                                                                               || V16SFmode == V8DImode
   15378              :                                                                               || V16SFmode == V16SImode
   15379              :                                                                               || V16SFmode == V32HFmode)) && 
   15380              : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15381              : (TARGET_AVX512F)))))
   15382              :             return -1;
   15383              :           return 10899; /* avx10_2_vcvttps2udqsv16sf_mask_round */
   15384              : 
   15385              :         case 1:
   15386              :           if (!(
   15387              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15388              : (TARGET_AVX512F) && (
   15389              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15390              : (TARGET_AVX512F) && (
   15391              : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15392              : (TARGET_AVX10_2 && (V8DFmode == V16SFmode
   15393              :                                                                               || V8DFmode == V8DFmode
   15394              :                                                                               || V8DFmode == V8DImode
   15395              :                                                                               || V8DFmode == V16SImode
   15396              :                                                                               || V8DFmode == V32HFmode)) && 
   15397              : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15398              : (TARGET_AVX512F)))))
   15399              :             return -1;
   15400              :           return 10915; /* avx10_2_vcvttpd2udqsv8df_mask_round */
   15401              : 
   15402              :         case 2:
   15403              :           if (!(
   15404              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15405              : (TARGET_AVX512F) && (
   15406              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15407              : (TARGET_AVX512F) && (
   15408              : #line 33291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15409              : (TARGET_AVX10_2 && (V8DFmode == V16SFmode
   15410              :                                                                               || V8DFmode == V8DFmode
   15411              :                                                                               || V8DFmode == V8DImode
   15412              :                                                                               || V8DFmode == V16SImode
   15413              :                                                                               || V8DFmode == V32HFmode)) && 
   15414              : #line 451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15415              : (TARGET_AVX512F)))))
   15416              :             return -1;
   15417              :           return 10931; /* avx10_2_vcvttpd2uqqsv8df_mask_round */
   15418              : 
   15419              :         case 3:
   15420              :           if (!(
   15421              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15422              : (TARGET_AVX512F) && (
   15423              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15424              : (TARGET_AVX512F) && (
   15425              : #line 33302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15426              : (TARGET_AVX10_2 && (V8DImode == V16SFmode
   15427              :                                                                               || V8DImode == V8DFmode
   15428              :                                                                               || V8DImode == V8DImode
   15429              :                                                                               || V8DImode == V16SImode
   15430              :                                                                               || V8DImode == V32HFmode)) && 
   15431              : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15432              : (TARGET_AVX512F)))))
   15433              :             return -1;
   15434              :           return 10947; /* avx10_2_vcvttps2uqqsv8di_mask_round */
   15435              : 
   15436              :         default:
   15437              :           return -1;
   15438              :         }
   15439              : 
   15440              :     default:
   15441              :       return -1;
   15442              :     }
   15443              : }
   15444              : 
   15445              :  int
   15446              : recog_245 (rtx x1 ATTRIBUTE_UNUSED,
   15447              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   15448              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   15449              : {
   15450              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   15451              :   rtx x2, x3, x4, x5;
   15452              :   int res ATTRIBUTE_UNUSED;
   15453              :   x2 = XEXP (x1, 0);
   15454              :   operands[0] = x2;
   15455              :   x3 = XEXP (x1, 1);
   15456              :   x4 = XVECEXP (x3, 0, 0);
   15457              :   operands[1] = x4;
   15458              :   x5 = XVECEXP (x3, 0, 1);
   15459              :   operands[2] = x5;
   15460              :   if (!const_0_to_255_operand (operands[2], E_SImode))
   15461              :     return -1;
   15462              :   switch (GET_MODE (operands[0]))
   15463              :     {
   15464              :     case E_V8HImode:
   15465              :       if (GET_MODE (x3) != E_V8HImode
   15466              :           || !register_operand (operands[1], E_V8SFmode))
   15467              :         return -1;
   15468              :       if (register_operand (operands[0], E_V8HImode)
   15469              :           && 
   15470              : #line 29868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15471              : (TARGET_F16C || TARGET_AVX512VL))
   15472              :         return 9734; /* vcvtps2ph256 */
   15473              :       if (!memory_operand (operands[0], E_V8HImode)
   15474              :           || !
   15475              : #line 29880 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15476              : (TARGET_F16C || TARGET_AVX512VL))
   15477              :         return -1;
   15478              :       return 9736; /* *vcvtps2ph256 */
   15479              : 
   15480              :     case E_V16HImode:
   15481              :       if (GET_MODE (x3) != E_V16HImode
   15482              :           || !register_operand (operands[1], E_V16SFmode))
   15483              :         return -1;
   15484              :       if (register_operand (operands[0], E_V16HImode)
   15485              :           && 
   15486              : #line 29919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15487              : (TARGET_AVX512F))
   15488              :         return 9738; /* *avx512f_vcvtps2ph512 */
   15489              :       if (!memory_operand (operands[0], E_V16HImode)
   15490              :           || !
   15491              : #line 29931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15492              : (TARGET_AVX512F))
   15493              :         return -1;
   15494              :       return 9742; /* *avx512f_vcvtps2ph512 */
   15495              : 
   15496              :     default:
   15497              :       return -1;
   15498              :     }
   15499              : }
   15500              : 
   15501              :  int
   15502              : recog_249 (rtx x1 ATTRIBUTE_UNUSED,
   15503              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   15504              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   15505              : {
   15506              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   15507              :   rtx x2, x3, x4, x5, x6;
   15508              :   int res ATTRIBUTE_UNUSED;
   15509              :   x2 = XEXP (x1, 1);
   15510              :   x3 = XVECEXP (x2, 0, 0);
   15511              :   operands[1] = x3;
   15512              :   x4 = XVECEXP (x2, 0, 2);
   15513              :   switch (GET_CODE (x4))
   15514              :     {
   15515              :     case REG:
   15516              :     case SUBREG:
   15517              :     case MEM:
   15518              :       switch (GET_CODE (x4))
   15519              :         {
   15520              :         case MEM:
   15521              :           res = recog_247 (x1, insn, pnum_clobbers);
   15522              :           if (res >= 0)
   15523              :             return res;
   15524              :           break;
   15525              : 
   15526              :         case REG:
   15527              :         case SUBREG:
   15528              :           operands[2] = x4;
   15529              :           x5 = XEXP (x1, 0);
   15530              :           operands[0] = x5;
   15531              :           x6 = XVECEXP (x2, 0, 1);
   15532              :           if (rtx_equal_p (x6, operands[0]))
   15533              :             {
   15534              :               switch (GET_MODE (operands[0]))
   15535              :                 {
   15536              :                 case E_V16SImode:
   15537              :                   if (pattern916 (x2, 
   15538              : E_HImode, 
   15539              : E_V16SImode) == 0
   15540              :                       && 
   15541              : #line 29436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15542              : (TARGET_AVX512F))
   15543              :                     return 9576; /* avx512f_storev16si_mask */
   15544              :                   break;
   15545              : 
   15546              :                 case E_V8DImode:
   15547              :                   if (pattern916 (x2, 
   15548              : E_QImode, 
   15549              : E_V8DImode) == 0
   15550              :                       && 
   15551              : #line 29436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15552              : (TARGET_AVX512F))
   15553              :                     return 9579; /* avx512f_storev8di_mask */
   15554              :                   break;
   15555              : 
   15556              :                 case E_V16SFmode:
   15557              :                   if (pattern916 (x2, 
   15558              : E_HImode, 
   15559              : E_V16SFmode) == 0
   15560              :                       && 
   15561              : #line 29436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15562              : (TARGET_AVX512F))
   15563              :                     return 9582; /* avx512f_storev16sf_mask */
   15564              :                   break;
   15565              : 
   15566              :                 case E_V8SFmode:
   15567              :                   if (pattern916 (x2, 
   15568              : E_QImode, 
   15569              : E_V8SFmode) == 0
   15570              :                       && (
   15571              : #line 29436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15572              : (TARGET_AVX512F) && 
   15573              : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15574              : (TARGET_AVX512VL)))
   15575              :                     return 9583; /* avx512vl_storev8sf_mask */
   15576              :                   break;
   15577              : 
   15578              :                 case E_V4SFmode:
   15579              :                   if (pattern916 (x2, 
   15580              : E_QImode, 
   15581              : E_V4SFmode) == 0
   15582              :                       && (
   15583              : #line 29436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15584              : (TARGET_AVX512F) && 
   15585              : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15586              : (TARGET_AVX512VL)))
   15587              :                     return 9584; /* avx512vl_storev4sf_mask */
   15588              :                   break;
   15589              : 
   15590              :                 case E_V8DFmode:
   15591              :                   if (pattern916 (x2, 
   15592              : E_QImode, 
   15593              : E_V8DFmode) == 0
   15594              :                       && 
   15595              : #line 29436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15596              : (TARGET_AVX512F))
   15597              :                     return 9585; /* avx512f_storev8df_mask */
   15598              :                   break;
   15599              : 
   15600              :                 case E_V4DFmode:
   15601              :                   if (pattern916 (x2, 
   15602              : E_QImode, 
   15603              : E_V4DFmode) == 0
   15604              :                       && (
   15605              : #line 29436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15606              : (TARGET_AVX512F) && 
   15607              : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15608              : (TARGET_AVX512VL)))
   15609              :                     return 9586; /* avx512vl_storev4df_mask */
   15610              :                   break;
   15611              : 
   15612              :                 case E_V2DFmode:
   15613              :                   if (pattern916 (x2, 
   15614              : E_QImode, 
   15615              : E_V2DFmode) == 0
   15616              :                       && (
   15617              : #line 29436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15618              : (TARGET_AVX512F) && 
   15619              : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15620              : (TARGET_AVX512VL)))
   15621              :                     return 9587; /* avx512vl_storev2df_mask */
   15622              :                   break;
   15623              : 
   15624              :                 case E_V64QImode:
   15625              :                   if (pattern916 (x2, 
   15626              : E_DImode, 
   15627              : E_V64QImode) == 0
   15628              :                       && 
   15629              : #line 29465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15630              : (TARGET_AVX512BW))
   15631              :                     return 9588; /* avx512bw_storev64qi_mask */
   15632              :                   break;
   15633              : 
   15634              :                 case E_V16QImode:
   15635              :                   if (pattern916 (x2, 
   15636              : E_HImode, 
   15637              : E_V16QImode) == 0
   15638              :                       && (
   15639              : #line 29465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15640              : (TARGET_AVX512BW) && 
   15641              : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15642              : (TARGET_AVX512VL)))
   15643              :                     return 9589; /* avx512vl_storev16qi_mask */
   15644              :                   break;
   15645              : 
   15646              :                 case E_V32QImode:
   15647              :                   if (pattern916 (x2, 
   15648              : E_SImode, 
   15649              : E_V32QImode) == 0
   15650              :                       && (
   15651              : #line 29465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15652              : (TARGET_AVX512BW) && 
   15653              : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15654              : (TARGET_AVX512VL)))
   15655              :                     return 9590; /* avx512vl_storev32qi_mask */
   15656              :                   break;
   15657              : 
   15658              :                 case E_V32HImode:
   15659              :                   if (pattern916 (x2, 
   15660              : E_SImode, 
   15661              : E_V32HImode) == 0
   15662              :                       && 
   15663              : #line 29465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15664              : (TARGET_AVX512BW))
   15665              :                     return 9591; /* avx512bw_storev32hi_mask */
   15666              :                   break;
   15667              : 
   15668              :                 case E_V16HImode:
   15669              :                   if (pattern916 (x2, 
   15670              : E_HImode, 
   15671              : E_V16HImode) == 0
   15672              :                       && (
   15673              : #line 29465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15674              : (TARGET_AVX512BW) && 
   15675              : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15676              : (TARGET_AVX512VL)))
   15677              :                     return 9592; /* avx512vl_storev16hi_mask */
   15678              :                   break;
   15679              : 
   15680              :                 case E_V8HImode:
   15681              :                   if (pattern916 (x2, 
   15682              : E_QImode, 
   15683              : E_V8HImode) == 0
   15684              :                       && (
   15685              : #line 29465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15686              : (TARGET_AVX512BW) && 
   15687              : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15688              : (TARGET_AVX512VL)))
   15689              :                     return 9593; /* avx512vl_storev8hi_mask */
   15690              :                   break;
   15691              : 
   15692              :                 case E_V32HFmode:
   15693              :                   if (pattern916 (x2, 
   15694              : E_SImode, 
   15695              : E_V32HFmode) == 0
   15696              :                       && 
   15697              : #line 29465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15698              : (TARGET_AVX512BW))
   15699              :                     return 9594; /* avx512bw_storev32hf_mask */
   15700              :                   break;
   15701              : 
   15702              :                 case E_V16HFmode:
   15703              :                   if (pattern916 (x2, 
   15704              : E_HImode, 
   15705              : E_V16HFmode) == 0
   15706              :                       && (
   15707              : #line 29465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15708              : (TARGET_AVX512BW) && 
   15709              : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15710              : (TARGET_AVX512VL)))
   15711              :                     return 9595; /* avx512vl_storev16hf_mask */
   15712              :                   break;
   15713              : 
   15714              :                 case E_V8HFmode:
   15715              :                   if (pattern916 (x2, 
   15716              : E_QImode, 
   15717              : E_V8HFmode) == 0
   15718              :                       && (
   15719              : #line 29465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15720              : (TARGET_AVX512BW) && 
   15721              : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15722              : (TARGET_AVX512VL)))
   15723              :                     return 9596; /* avx512fp16_storev8hf_mask */
   15724              :                   break;
   15725              : 
   15726              :                 case E_V32BFmode:
   15727              :                   if (pattern916 (x2, 
   15728              : E_SImode, 
   15729              : E_V32BFmode) == 0
   15730              :                       && 
   15731              : #line 29465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15732              : (TARGET_AVX512BW))
   15733              :                     return 9597; /* avx512bw_storev32bf_mask */
   15734              :                   break;
   15735              : 
   15736              :                 case E_V16BFmode:
   15737              :                   if (pattern916 (x2, 
   15738              : E_HImode, 
   15739              : E_V16BFmode) == 0
   15740              :                       && (
   15741              : #line 29465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15742              : (TARGET_AVX512BW) && 
   15743              : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15744              : (TARGET_AVX512VL)))
   15745              :                     return 9598; /* avx512vl_storev16bf_mask */
   15746              :                   break;
   15747              : 
   15748              :                 case E_V8BFmode:
   15749              :                   if (pattern916 (x2, 
   15750              : E_QImode, 
   15751              : E_V8BFmode) == 0
   15752              :                       && (
   15753              : #line 29465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15754              : (TARGET_AVX512BW) && 
   15755              : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15756              : (TARGET_AVX512VL)))
   15757              :                     return 9599; /* avx512vl_storev8bf_mask */
   15758              :                   break;
   15759              : 
   15760              :                 default:
   15761              :                   break;
   15762              :                 }
   15763              :             }
   15764              :           break;
   15765              : 
   15766              :         default:
   15767              :           break;
   15768              :         }
   15769              :       x5 = XEXP (x1, 0);
   15770              :       operands[0] = x5;
   15771              :       switch (GET_MODE (operands[0]))
   15772              :         {
   15773              :         case E_V4SFmode:
   15774              :           if (pattern792 (x2, 
   15775              : E_V4SFmode, 
   15776              : E_V4SImode) != 0
   15777              :               || !
   15778              : #line 29345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15779              : (TARGET_AVX))
   15780              :             return -1;
   15781              :           return 9568; /* avx_maskstoreps */
   15782              : 
   15783              :         case E_V2DFmode:
   15784              :           if (pattern792 (x2, 
   15785              : E_V2DFmode, 
   15786              : E_V2DImode) != 0
   15787              :               || !
   15788              : #line 29345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15789              : (TARGET_AVX))
   15790              :             return -1;
   15791              :           return 9569; /* avx_maskstorepd */
   15792              : 
   15793              :         case E_V4DImode:
   15794              :           if (!memory_operand (operands[0], E_V4DImode)
   15795              :               || GET_MODE (x2) != E_V4DImode
   15796              :               || !register_operand (operands[1], E_V4DImode))
   15797              :             return -1;
   15798              :           x6 = XVECEXP (x2, 0, 1);
   15799              :           operands[2] = x6;
   15800              :           if (register_operand (operands[2], E_V4DImode)
   15801              :               && rtx_equal_p (x4, operands[0])
   15802              :               && 
   15803              : #line 29345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15804              : (TARGET_AVX))
   15805              :             return 9570; /* avx2_maskstoreq256 */
   15806              :           operands[2] = x4;
   15807              :           if (!register_operand (operands[2], E_QImode)
   15808              :               || !rtx_equal_p (x6, operands[0])
   15809              :               || !(
   15810              : #line 29436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15811              : (TARGET_AVX512F) && 
   15812              : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15813              : (TARGET_AVX512VL)))
   15814              :             return -1;
   15815              :           return 9580; /* avx512vl_storev4di_mask */
   15816              : 
   15817              :         case E_V2DImode:
   15818              :           if (!memory_operand (operands[0], E_V2DImode)
   15819              :               || GET_MODE (x2) != E_V2DImode
   15820              :               || !register_operand (operands[1], E_V2DImode))
   15821              :             return -1;
   15822              :           x6 = XVECEXP (x2, 0, 1);
   15823              :           operands[2] = x6;
   15824              :           if (register_operand (operands[2], E_V2DImode)
   15825              :               && rtx_equal_p (x4, operands[0])
   15826              :               && 
   15827              : #line 29345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15828              : (TARGET_AVX))
   15829              :             return 9571; /* avx2_maskstoreq */
   15830              :           operands[2] = x4;
   15831              :           if (!register_operand (operands[2], E_QImode)
   15832              :               || !rtx_equal_p (x6, operands[0])
   15833              :               || !(
   15834              : #line 29436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15835              : (TARGET_AVX512F) && 
   15836              : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15837              : (TARGET_AVX512VL)))
   15838              :             return -1;
   15839              :           return 9581; /* avx512vl_storev2di_mask */
   15840              : 
   15841              :         case E_V8SFmode:
   15842              :           if (pattern792 (x2, 
   15843              : E_V8SFmode, 
   15844              : E_V8SImode) != 0
   15845              :               || !
   15846              : #line 29345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15847              : (TARGET_AVX))
   15848              :             return -1;
   15849              :           return 9572; /* avx_maskstoreps256 */
   15850              : 
   15851              :         case E_V4DFmode:
   15852              :           if (pattern792 (x2, 
   15853              : E_V4DFmode, 
   15854              : E_V4DImode) != 0
   15855              :               || !
   15856              : #line 29345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15857              : (TARGET_AVX))
   15858              :             return -1;
   15859              :           return 9573; /* avx_maskstorepd256 */
   15860              : 
   15861              :         case E_V8SImode:
   15862              :           if (!memory_operand (operands[0], E_V8SImode)
   15863              :               || GET_MODE (x2) != E_V8SImode
   15864              :               || !register_operand (operands[1], E_V8SImode))
   15865              :             return -1;
   15866              :           x6 = XVECEXP (x2, 0, 1);
   15867              :           operands[2] = x6;
   15868              :           if (register_operand (operands[2], E_V8SImode)
   15869              :               && rtx_equal_p (x4, operands[0])
   15870              :               && 
   15871              : #line 29345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15872              : (TARGET_AVX))
   15873              :             return 9574; /* avx2_maskstored256 */
   15874              :           operands[2] = x4;
   15875              :           if (!register_operand (operands[2], E_QImode)
   15876              :               || !rtx_equal_p (x6, operands[0])
   15877              :               || !(
   15878              : #line 29436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15879              : (TARGET_AVX512F) && 
   15880              : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15881              : (TARGET_AVX512VL)))
   15882              :             return -1;
   15883              :           return 9577; /* avx512vl_storev8si_mask */
   15884              : 
   15885              :         case E_V4SImode:
   15886              :           if (!memory_operand (operands[0], E_V4SImode)
   15887              :               || GET_MODE (x2) != E_V4SImode
   15888              :               || !register_operand (operands[1], E_V4SImode))
   15889              :             return -1;
   15890              :           x6 = XVECEXP (x2, 0, 1);
   15891              :           operands[2] = x6;
   15892              :           if (register_operand (operands[2], E_V4SImode)
   15893              :               && rtx_equal_p (x4, operands[0])
   15894              :               && 
   15895              : #line 29345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15896              : (TARGET_AVX))
   15897              :             return 9575; /* avx2_maskstored */
   15898              :           operands[2] = x4;
   15899              :           if (!register_operand (operands[2], E_QImode)
   15900              :               || !rtx_equal_p (x6, operands[0])
   15901              :               || !(
   15902              : #line 29436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15903              : (TARGET_AVX512F) && 
   15904              : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15905              : (TARGET_AVX512VL)))
   15906              :             return -1;
   15907              :           return 9578; /* avx512vl_storev4si_mask */
   15908              : 
   15909              :         default:
   15910              :           return -1;
   15911              :         }
   15912              : 
   15913              :     case CONST_INT:
   15914              :     case CONST_DOUBLE:
   15915              :     case CONST_VECTOR:
   15916              :       operands[2] = x4;
   15917              :       x5 = XEXP (x1, 0);
   15918              :       operands[0] = x5;
   15919              :       switch (pattern794 (x2))
   15920              :         {
   15921              :         case 0:
   15922              :           if (!(
   15923              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15924              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   15925              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15926              : (TARGET_AVX512F)))
   15927              :             return -1;
   15928              :           return 9600; /* *avx512bw_storev64qi_mask_1 */
   15929              : 
   15930              :         case 1:
   15931              :           if (!(
   15932              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15933              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   15934              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15935              : (TARGET_AVX)))
   15936              :             return -1;
   15937              :           return 9601; /* *avx512vl_storev32qi_mask_1 */
   15938              : 
   15939              :         case 2:
   15940              :           if (!
   15941              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15942              : (TARGET_AVX512F && ix86_pre_reload_split ()))
   15943              :             return -1;
   15944              :           return 9602; /* *avx512vl_storev16qi_mask_1 */
   15945              : 
   15946              :         case 3:
   15947              :           if (!(
   15948              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15949              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   15950              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15951              : (TARGET_AVX512F)))
   15952              :             return -1;
   15953              :           return 9603; /* *avx512bw_storev32hi_mask_1 */
   15954              : 
   15955              :         case 4:
   15956              :           if (!(
   15957              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15958              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   15959              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15960              : (TARGET_AVX)))
   15961              :             return -1;
   15962              :           return 9604; /* *avx512vl_storev16hi_mask_1 */
   15963              : 
   15964              :         case 5:
   15965              :           if (!
   15966              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15967              : (TARGET_AVX512F && ix86_pre_reload_split ()))
   15968              :             return -1;
   15969              :           return 9605; /* *avx512vl_storev8hi_mask_1 */
   15970              : 
   15971              :         case 6:
   15972              :           if (!(
   15973              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15974              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   15975              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15976              : (TARGET_AVX512F)))
   15977              :             return -1;
   15978              :           return 9606; /* *avx512f_storev16si_mask_1 */
   15979              : 
   15980              :         case 7:
   15981              :           if (!(
   15982              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15983              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   15984              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15985              : (TARGET_AVX)))
   15986              :             return -1;
   15987              :           return 9607; /* *avx512vl_storev8si_mask_1 */
   15988              : 
   15989              :         case 8:
   15990              :           if (!
   15991              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15992              : (TARGET_AVX512F && ix86_pre_reload_split ()))
   15993              :             return -1;
   15994              :           return 9608; /* *avx512vl_storev4si_mask_1 */
   15995              : 
   15996              :         case 9:
   15997              :           if (!(
   15998              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15999              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   16000              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16001              : (TARGET_AVX512F)))
   16002              :             return -1;
   16003              :           return 9609; /* *avx512f_storev8di_mask_1 */
   16004              : 
   16005              :         case 10:
   16006              :           if (!(
   16007              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16008              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   16009              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16010              : (TARGET_AVX)))
   16011              :             return -1;
   16012              :           return 9610; /* *avx512vl_storev4di_mask_1 */
   16013              : 
   16014              :         case 11:
   16015              :           if (!
   16016              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16017              : (TARGET_AVX512F && ix86_pre_reload_split ()))
   16018              :             return -1;
   16019              :           return 9611; /* *avx512vl_storev2di_mask_1 */
   16020              : 
   16021              :         case 12:
   16022              :           if (!(
   16023              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16024              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   16025              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16026              : (TARGET_AVX512F)))
   16027              :             return -1;
   16028              :           return 9612; /* *avx512bw_storev32hf_mask_1 */
   16029              : 
   16030              :         case 13:
   16031              :           if (!(
   16032              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16033              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   16034              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16035              : (TARGET_AVX)))
   16036              :             return -1;
   16037              :           return 9613; /* *avx512vl_storev16hf_mask_1 */
   16038              : 
   16039              :         case 14:
   16040              :           if (!
   16041              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16042              : (TARGET_AVX512F && ix86_pre_reload_split ()))
   16043              :             return -1;
   16044              :           return 9614; /* *avx512fp16_storev8hf_mask_1 */
   16045              : 
   16046              :         case 15:
   16047              :           if (!(
   16048              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16049              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   16050              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16051              : (TARGET_AVX512F)))
   16052              :             return -1;
   16053              :           return 9615; /* *avx512bw_storev32bf_mask_1 */
   16054              : 
   16055              :         case 16:
   16056              :           if (!(
   16057              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16058              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   16059              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16060              : (TARGET_AVX)))
   16061              :             return -1;
   16062              :           return 9616; /* *avx512vl_storev16bf_mask_1 */
   16063              : 
   16064              :         case 17:
   16065              :           if (!
   16066              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16067              : (TARGET_AVX512F && ix86_pre_reload_split ()))
   16068              :             return -1;
   16069              :           return 9617; /* *avx512vl_storev8bf_mask_1 */
   16070              : 
   16071              :         case 18:
   16072              :           if (!(
   16073              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16074              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   16075              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16076              : (TARGET_AVX512F)))
   16077              :             return -1;
   16078              :           return 9618; /* *avx512f_storev16sf_mask_1 */
   16079              : 
   16080              :         case 19:
   16081              :           if (!(
   16082              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16083              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   16084              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16085              : (TARGET_AVX)))
   16086              :             return -1;
   16087              :           return 9619; /* *avx512vl_storev8sf_mask_1 */
   16088              : 
   16089              :         case 20:
   16090              :           if (!
   16091              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16092              : (TARGET_AVX512F && ix86_pre_reload_split ()))
   16093              :             return -1;
   16094              :           return 9620; /* *avx512vl_storev4sf_mask_1 */
   16095              : 
   16096              :         case 21:
   16097              :           if (!(
   16098              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16099              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   16100              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16101              : (TARGET_AVX512F)))
   16102              :             return -1;
   16103              :           return 9621; /* *avx512f_storev8df_mask_1 */
   16104              : 
   16105              :         case 22:
   16106              :           if (!(
   16107              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16108              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   16109              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16110              : (TARGET_AVX)))
   16111              :             return -1;
   16112              :           return 9622; /* *avx512vl_storev4df_mask_1 */
   16113              : 
   16114              :         case 23:
   16115              :           if (!(
   16116              : #line 29479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16117              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   16118              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16119              : (TARGET_SSE2)))
   16120              :             return -1;
   16121              :           return 9623; /* *avx512vl_storev2df_mask_1 */
   16122              : 
   16123              :         default:
   16124              :           return -1;
   16125              :         }
   16126              : 
   16127              :     default:
   16128              :       return -1;
   16129              :     }
   16130              : }
   16131              : 
   16132              :  int
   16133              : recog_272 (rtx x1 ATTRIBUTE_UNUSED,
   16134              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16135              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16136              : {
   16137              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16138              :   rtx x2, x3, x4;
   16139              :   int res ATTRIBUTE_UNUSED;
   16140              :   x2 = XEXP (x1, 1);
   16141              :   x3 = XEXP (x2, 0);
   16142              :   operands[1] = x3;
   16143              :   x4 = XEXP (x2, 1);
   16144              :   switch (GET_CODE (x4))
   16145              :     {
   16146              :     case REG:
   16147              :     case SUBREG:
   16148              :     case MEM:
   16149              :       switch (GET_MODE (operands[0]))
   16150              :         {
   16151              :         case E_V4SFmode:
   16152              :           if (pattern799 (x2, 
   16153              : E_V2SFmode, 
   16154              : E_V4SFmode) == 0
   16155              :               && 
   16156              : #line 12161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16157              : (TARGET_SSE))
   16158              :             return 5302; /* *vec_concatv4sf */
   16159              :           break;
   16160              : 
   16161              :         case E_V8HFmode:
   16162              :           if (pattern799 (x2, 
   16163              : E_V4HFmode, 
   16164              : E_V8HFmode) == 0
   16165              :               && 
   16166              : #line 12161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16167              : (TARGET_SSE))
   16168              :             return 5303; /* *vec_concatv8hf */
   16169              :           break;
   16170              : 
   16171              :         case E_V8BFmode:
   16172              :           if (pattern799 (x2, 
   16173              : E_V4BFmode, 
   16174              : E_V8BFmode) == 0
   16175              :               && 
   16176              : #line 12161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16177              : (TARGET_SSE))
   16178              :             return 5304; /* *vec_concatv8bf */
   16179              :           break;
   16180              : 
   16181              :         case E_V16QImode:
   16182              :           if (pattern799 (x2, 
   16183              : E_V8QImode, 
   16184              : E_V16QImode) == 0
   16185              :               && 
   16186              : #line 21912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16187              : (TARGET_SSE))
   16188              :             return 8526; /* *vec_concatv16qi */
   16189              :           break;
   16190              : 
   16191              :         case E_V8HImode:
   16192              :           if (pattern799 (x2, 
   16193              : E_V4HImode, 
   16194              : E_V8HImode) == 0
   16195              :               && 
   16196              : #line 21912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16197              : (TARGET_SSE))
   16198              :             return 8527; /* *vec_concatv8hi */
   16199              :           break;
   16200              : 
   16201              :         case E_V4SImode:
   16202              :           if (pattern799 (x2, 
   16203              : E_V2SImode, 
   16204              : E_V4SImode) == 0
   16205              :               && 
   16206              : #line 21912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16207              : (TARGET_SSE))
   16208              :             return 8528; /* *vec_concatv4si */
   16209              :           break;
   16210              : 
   16211              :         case E_V2DImode:
   16212              :           if (pattern799 (x2, 
   16213              : E_DImode, 
   16214              : E_V2DImode) == 0
   16215              :               && 
   16216              : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16217              : (TARGET_SSE))
   16218              :             return 8534; /* vec_concatv2di */
   16219              :           break;
   16220              : 
   16221              :         case E_V32QImode:
   16222              :           if (register_operand (operands[0], E_V32QImode)
   16223              :               && GET_MODE (x2) == E_V32QImode
   16224              :               && rtx_equal_p (x4, operands[1]))
   16225              :             {
   16226              :               if (memory_operand (operands[1], E_V16QImode)
   16227              :                   && 
   16228              : #line 28575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16229              : (TARGET_AVX2))
   16230              :                 return 9359; /* avx2_vbroadcasti128_v32qi */
   16231              :               if (nonimmediate_operand (operands[1], E_V16QImode)
   16232              :                   && 
   16233              : #line 28690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16234              : (TARGET_AVX))
   16235              :                 return 9378; /* avx_vbroadcastf128_v32qi */
   16236              :             }
   16237              :           break;
   16238              : 
   16239              :         case E_V16HImode:
   16240              :           if (register_operand (operands[0], E_V16HImode)
   16241              :               && GET_MODE (x2) == E_V16HImode
   16242              :               && rtx_equal_p (x4, operands[1]))
   16243              :             {
   16244              :               if (memory_operand (operands[1], E_V8HImode)
   16245              :                   && 
   16246              : #line 28575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16247              : (TARGET_AVX2))
   16248              :                 return 9360; /* avx2_vbroadcasti128_v16hi */
   16249              :               if (nonimmediate_operand (operands[1], E_V8HImode)
   16250              :                   && 
   16251              : #line 28690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16252              : (TARGET_AVX))
   16253              :                 return 9379; /* avx_vbroadcastf128_v16hi */
   16254              :             }
   16255              :           break;
   16256              : 
   16257              :         case E_V8SImode:
   16258              :           if (register_operand (operands[0], E_V8SImode)
   16259              :               && GET_MODE (x2) == E_V8SImode
   16260              :               && rtx_equal_p (x4, operands[1]))
   16261              :             {
   16262              :               if (memory_operand (operands[1], E_V4SImode)
   16263              :                   && 
   16264              : #line 28575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16265              : (TARGET_AVX2))
   16266              :                 return 9361; /* avx2_vbroadcasti128_v8si */
   16267              :               if (nonimmediate_operand (operands[1], E_V4SImode)
   16268              :                   && 
   16269              : #line 28690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16270              : (TARGET_AVX))
   16271              :                 return 9380; /* avx_vbroadcastf128_v8si */
   16272              :             }
   16273              :           break;
   16274              : 
   16275              :         case E_V4DImode:
   16276              :           if (register_operand (operands[0], E_V4DImode)
   16277              :               && GET_MODE (x2) == E_V4DImode
   16278              :               && memory_operand (operands[1], E_V2DImode)
   16279              :               && rtx_equal_p (x4, operands[1])
   16280              :               && 
   16281              : #line 28575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16282              : (TARGET_AVX2))
   16283              :             return 9362; /* avx2_vbroadcasti128_v4di */
   16284              :           break;
   16285              : 
   16286              :         case E_V8SFmode:
   16287              :           if (pattern800 (x2, 
   16288              : E_V4SFmode, 
   16289              : E_V8SFmode) == 0
   16290              :               && 
   16291              : #line 28690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16292              : (TARGET_AVX))
   16293              :             return 9382; /* avx_vbroadcastf128_v8sf */
   16294              :           break;
   16295              : 
   16296              :         case E_V4DFmode:
   16297              :           if (pattern800 (x2, 
   16298              : E_V2DFmode, 
   16299              : E_V4DFmode) == 0
   16300              :               && 
   16301              : #line 28690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16302              : (TARGET_AVX))
   16303              :             return 9383; /* avx_vbroadcastf128_v4df */
   16304              :           break;
   16305              : 
   16306              :         case E_V16HFmode:
   16307              :           if (pattern800 (x2, 
   16308              : E_V8HFmode, 
   16309              : E_V16HFmode) == 0
   16310              :               && 
   16311              : #line 28690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16312              : (TARGET_AVX))
   16313              :             return 9384; /* avx_vbroadcastf128_v16hf */
   16314              :           break;
   16315              : 
   16316              :         case E_V16BFmode:
   16317              :           if (pattern800 (x2, 
   16318              : E_V8BFmode, 
   16319              : E_V16BFmode) == 0
   16320              :               && 
   16321              : #line 28690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16322              : (TARGET_AVX))
   16323              :             return 9385; /* avx_vbroadcastf128_v16bf */
   16324              :           break;
   16325              : 
   16326              :         default:
   16327              :           break;
   16328              :         }
   16329              :       break;
   16330              : 
   16331              :     case CONST_INT:
   16332              :     case CONST_DOUBLE:
   16333              :     case CONST_VECTOR:
   16334              :       operands[2] = x4;
   16335              :       switch (GET_MODE (operands[0]))
   16336              :         {
   16337              :         case E_V4SFmode:
   16338              :           if (pattern923 (x2, 
   16339              : E_V2SFmode, 
   16340              : E_V4SFmode) == 0
   16341              :               && 
   16342              : #line 12177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16343              : (TARGET_SSE2))
   16344              :             return 5305; /* *vec_concatv4sf_0 */
   16345              :           break;
   16346              : 
   16347              :         case E_V8HFmode:
   16348              :           if (pattern923 (x2, 
   16349              : E_V4HFmode, 
   16350              : E_V8HFmode) == 0
   16351              :               && 
   16352              : #line 12177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16353              : (TARGET_SSE2))
   16354              :             return 5306; /* *vec_concatv8hf_0 */
   16355              :           break;
   16356              : 
   16357              :         case E_V8BFmode:
   16358              :           if (pattern923 (x2, 
   16359              : E_V4BFmode, 
   16360              : E_V8BFmode) == 0
   16361              :               && 
   16362              : #line 12177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16363              : (TARGET_SSE2))
   16364              :             return 5307; /* *vec_concatv8bf_0 */
   16365              :           break;
   16366              : 
   16367              :         case E_V16QImode:
   16368              :           if (pattern923 (x2, 
   16369              : E_V8QImode, 
   16370              : E_V16QImode) == 0
   16371              :               && 
   16372              : #line 21983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16373              : (TARGET_SSE2))
   16374              :             return 8531; /* *vec_concatv16qi_0 */
   16375              :           break;
   16376              : 
   16377              :         case E_V8HImode:
   16378              :           if (pattern923 (x2, 
   16379              : E_V4HImode, 
   16380              : E_V8HImode) == 0
   16381              :               && 
   16382              : #line 21983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16383              : (TARGET_SSE2))
   16384              :             return 8532; /* *vec_concatv8hi_0 */
   16385              :           break;
   16386              : 
   16387              :         case E_V4SImode:
   16388              :           if (pattern923 (x2, 
   16389              : E_V2SImode, 
   16390              : E_V4SImode) == 0
   16391              :               && 
   16392              : #line 21983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16393              : (TARGET_SSE2))
   16394              :             return 8533; /* *vec_concatv4si_0 */
   16395              :           break;
   16396              : 
   16397              :         case E_V2DImode:
   16398              :           if (pattern923 (x2, 
   16399              : E_DImode, 
   16400              : E_V2DImode) == 0
   16401              :               && 
   16402              : #line 22074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16403              : (TARGET_SSE2))
   16404              :             return 8535; /* *vec_concatv2di_0 */
   16405              :           break;
   16406              : 
   16407              :         default:
   16408              :           break;
   16409              :         }
   16410              :       break;
   16411              : 
   16412              :     default:
   16413              :       break;
   16414              :     }
   16415              :   operands[2] = x4;
   16416              :   switch (GET_MODE (operands[0]))
   16417              :     {
   16418              :     case E_V2DFmode:
   16419              :       if (pattern801 (x2, 
   16420              : E_DFmode, 
   16421              : E_V2DFmode) != 0
   16422              :           || !
   16423              : #line 15234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16424              : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   16425              :         return -1;
   16426              :       return 7257; /* vec_concatv2df */
   16427              : 
   16428              :     case E_V32QImode:
   16429              :       if (pattern801 (x2, 
   16430              : E_V16QImode, 
   16431              : E_V32QImode) != 0
   16432              :           || !
   16433              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16434              : (TARGET_AVX
   16435              :    && (operands[2] == CONST0_RTX (V16QImode)
   16436              :        || !MEM_P (operands[1]))))
   16437              :         return -1;
   16438              :       return 9681; /* avx_vec_concatv32qi */
   16439              : 
   16440              :     case E_V16HImode:
   16441              :       if (pattern801 (x2, 
   16442              : E_V8HImode, 
   16443              : E_V16HImode) != 0
   16444              :           || !
   16445              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16446              : (TARGET_AVX
   16447              :    && (operands[2] == CONST0_RTX (V8HImode)
   16448              :        || !MEM_P (operands[1]))))
   16449              :         return -1;
   16450              :       return 9682; /* avx_vec_concatv16hi */
   16451              : 
   16452              :     case E_V16HFmode:
   16453              :       if (pattern801 (x2, 
   16454              : E_V8HFmode, 
   16455              : E_V16HFmode) != 0
   16456              :           || !
   16457              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16458              : (TARGET_AVX
   16459              :    && (operands[2] == CONST0_RTX (V8HFmode)
   16460              :        || !MEM_P (operands[1]))))
   16461              :         return -1;
   16462              :       return 9683; /* avx_vec_concatv16hf */
   16463              : 
   16464              :     case E_V16BFmode:
   16465              :       if (pattern801 (x2, 
   16466              : E_V8BFmode, 
   16467              : E_V16BFmode) != 0
   16468              :           || !
   16469              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16470              : (TARGET_AVX
   16471              :    && (operands[2] == CONST0_RTX (V8BFmode)
   16472              :        || !MEM_P (operands[1]))))
   16473              :         return -1;
   16474              :       return 9684; /* avx_vec_concatv16bf */
   16475              : 
   16476              :     case E_V8SImode:
   16477              :       if (pattern801 (x2, 
   16478              : E_V4SImode, 
   16479              : E_V8SImode) != 0
   16480              :           || !
   16481              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16482              : (TARGET_AVX
   16483              :    && (operands[2] == CONST0_RTX (V4SImode)
   16484              :        || !MEM_P (operands[1]))))
   16485              :         return -1;
   16486              :       return 9685; /* avx_vec_concatv8si */
   16487              : 
   16488              :     case E_V8SFmode:
   16489              :       if (pattern801 (x2, 
   16490              : E_V4SFmode, 
   16491              : E_V8SFmode) != 0
   16492              :           || !
   16493              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16494              : (TARGET_AVX
   16495              :    && (operands[2] == CONST0_RTX (V4SFmode)
   16496              :        || !MEM_P (operands[1]))))
   16497              :         return -1;
   16498              :       return 9687; /* avx_vec_concatv8sf */
   16499              : 
   16500              :     case E_V4DFmode:
   16501              :       if (pattern801 (x2, 
   16502              : E_V2DFmode, 
   16503              : E_V4DFmode) != 0
   16504              :           || !
   16505              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16506              : (TARGET_AVX
   16507              :    && (operands[2] == CONST0_RTX (V2DFmode)
   16508              :        || !MEM_P (operands[1]))))
   16509              :         return -1;
   16510              :       return 9688; /* avx_vec_concatv4df */
   16511              : 
   16512              :     case E_V64QImode:
   16513              :       if (pattern801 (x2, 
   16514              : E_V32QImode, 
   16515              : E_V64QImode) != 0
   16516              :           || !(
   16517              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16518              : (TARGET_AVX
   16519              :    && (operands[2] == CONST0_RTX (V32QImode)
   16520              :        || !MEM_P (operands[1]))) && 
   16521              : #line 375 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16522              : (TARGET_AVX512F)))
   16523              :         return -1;
   16524              :       return 9689; /* avx_vec_concatv64qi */
   16525              : 
   16526              :     case E_V32HImode:
   16527              :       if (pattern801 (x2, 
   16528              : E_V16HImode, 
   16529              : E_V32HImode) != 0
   16530              :           || !(
   16531              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16532              : (TARGET_AVX
   16533              :    && (operands[2] == CONST0_RTX (V16HImode)
   16534              :        || !MEM_P (operands[1]))) && 
   16535              : #line 375 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16536              : (TARGET_AVX512F)))
   16537              :         return -1;
   16538              :       return 9690; /* avx_vec_concatv32hi */
   16539              : 
   16540              :     case E_V32HFmode:
   16541              :       if (pattern801 (x2, 
   16542              : E_V16HFmode, 
   16543              : E_V32HFmode) != 0
   16544              :           || !(
   16545              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16546              : (TARGET_AVX
   16547              :    && (operands[2] == CONST0_RTX (V16HFmode)
   16548              :        || !MEM_P (operands[1]))) && 
   16549              : #line 376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16550              : (TARGET_AVX512F)))
   16551              :         return -1;
   16552              :       return 9691; /* avx_vec_concatv32hf */
   16553              : 
   16554              :     case E_V32BFmode:
   16555              :       if (pattern801 (x2, 
   16556              : E_V16BFmode, 
   16557              : E_V32BFmode) != 0
   16558              :           || !(
   16559              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16560              : (TARGET_AVX
   16561              :    && (operands[2] == CONST0_RTX (V16BFmode)
   16562              :        || !MEM_P (operands[1]))) && 
   16563              : #line 376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16564              : (TARGET_AVX512F)))
   16565              :         return -1;
   16566              :       return 9692; /* avx_vec_concatv32bf */
   16567              : 
   16568              :     case E_V16SImode:
   16569              :       if (pattern801 (x2, 
   16570              : E_V8SImode, 
   16571              : E_V16SImode) != 0
   16572              :           || !(
   16573              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16574              : (TARGET_AVX
   16575              :    && (operands[2] == CONST0_RTX (V8SImode)
   16576              :        || !MEM_P (operands[1]))) && 
   16577              : #line 377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16578              : (TARGET_AVX512F)))
   16579              :         return -1;
   16580              :       return 9693; /* avx_vec_concatv16si */
   16581              : 
   16582              :     case E_V8DImode:
   16583              :       if (pattern801 (x2, 
   16584              : E_V4DImode, 
   16585              : E_V8DImode) != 0
   16586              :           || !(
   16587              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16588              : (TARGET_AVX
   16589              :    && (operands[2] == CONST0_RTX (V4DImode)
   16590              :        || !MEM_P (operands[1]))) && 
   16591              : #line 377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16592              : (TARGET_AVX512F)))
   16593              :         return -1;
   16594              :       return 9694; /* avx_vec_concatv8di */
   16595              : 
   16596              :     case E_V16SFmode:
   16597              :       if (pattern801 (x2, 
   16598              : E_V8SFmode, 
   16599              : E_V16SFmode) != 0
   16600              :           || !(
   16601              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16602              : (TARGET_AVX
   16603              :    && (operands[2] == CONST0_RTX (V8SFmode)
   16604              :        || !MEM_P (operands[1]))) && 
   16605              : #line 378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16606              : (TARGET_AVX512F)))
   16607              :         return -1;
   16608              :       return 9695; /* avx_vec_concatv16sf */
   16609              : 
   16610              :     case E_V8DFmode:
   16611              :       if (pattern801 (x2, 
   16612              : E_V4DFmode, 
   16613              : E_V8DFmode) != 0
   16614              :           || !(
   16615              : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16616              : (TARGET_AVX
   16617              :    && (operands[2] == CONST0_RTX (V4DFmode)
   16618              :        || !MEM_P (operands[1]))) && 
   16619              : #line 378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16620              : (TARGET_AVX512F)))
   16621              :         return -1;
   16622              :       return 9696; /* avx_vec_concatv8df */
   16623              : 
   16624              :     default:
   16625              :       return -1;
   16626              :     }
   16627              : }
   16628              : 
   16629              :  int
   16630              : recog_280 (rtx x1 ATTRIBUTE_UNUSED,
   16631              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16632              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16633              : {
   16634              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16635              :   rtx x2, x3, x4, x5, x6, x7, x8;
   16636              :   int res ATTRIBUTE_UNUSED;
   16637              :   x2 = XEXP (x1, 1);
   16638              :   x3 = XEXP (x2, 0);
   16639              :   x4 = XEXP (x3, 1);
   16640              :   operands[2] = x4;
   16641              :   x5 = XEXP (x2, 1);
   16642              :   x6 = XVECEXP (x5, 0, 1);
   16643              :   operands[4] = x6;
   16644              :   x7 = XVECEXP (x5, 0, 2);
   16645              :   operands[5] = x7;
   16646              :   x8 = XVECEXP (x5, 0, 3);
   16647              :   operands[6] = x8;
   16648              :   switch (GET_MODE (operands[0]))
   16649              :     {
   16650              :     case E_V4SImode:
   16651              :       if (pattern1531 (x2, 
   16652              : E_V4SImode, 
   16653              : E_V8SImode) != 0
   16654              :           || !
   16655              : #line 11885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16656              : (TARGET_SSE))
   16657              :         return -1;
   16658              :       return 5287; /* sse_shufps_v4si */
   16659              : 
   16660              :     case E_V4SFmode:
   16661              :       if (pattern1531 (x2, 
   16662              : E_V4SFmode, 
   16663              : E_V8SFmode) != 0
   16664              :           || !
   16665              : #line 11885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16666              : (TARGET_SSE))
   16667              :         return -1;
   16668              :       return 5288; /* sse_shufps_v4sf */
   16669              : 
   16670              :     case E_V4DFmode:
   16671              :       if (pattern1425 (x2, 
   16672              : E_V4DFmode, 
   16673              : E_V8DFmode) != 0)
   16674              :         return -1;
   16675              :       if (const_0_to_1_operand (operands[3], E_VOIDmode)
   16676              :           && const_4_to_5_operand (operands[4], E_VOIDmode)
   16677              :           && const_2_to_3_operand (operands[5], E_VOIDmode)
   16678              :           && const_6_to_7_operand (operands[6], E_VOIDmode)
   16679              :           && 
   16680              : #line 14723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16681              : (TARGET_AVX && 1))
   16682              :         return 7230; /* avx_shufpd256_1 */
   16683              :       if (!const_0_to_3_operand (operands[3], E_VOIDmode)
   16684              :           || !const_0_to_3_operand (operands[4], E_VOIDmode)
   16685              :           || !const_4_to_7_operand (operands[5], E_VOIDmode)
   16686              :           || !const_4_to_7_operand (operands[6], E_VOIDmode)
   16687              :           || !
   16688              : #line 20517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16689              : (TARGET_AVX512VL
   16690              :    && (INTVAL (operands[3]) & 1) == 0
   16691              :    && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
   16692              :    && (INTVAL (operands[5]) & 1) == 0
   16693              :    && INTVAL (operands[5]) == INTVAL (operands[6]) - 1))
   16694              :         return -1;
   16695              :       return 8460; /* *avx512dq_shuf_f64x2_1 */
   16696              : 
   16697              :     case E_V4DImode:
   16698              :       if (pattern1425 (x2, 
   16699              : E_V4DImode, 
   16700              : E_V8DImode) != 0
   16701              :           || pattern1530 () != 0
   16702              :           || !
   16703              : #line 20517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16704              : (TARGET_AVX512VL
   16705              :    && (INTVAL (operands[3]) & 1) == 0
   16706              :    && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
   16707              :    && (INTVAL (operands[5]) & 1) == 0
   16708              :    && INTVAL (operands[5]) == INTVAL (operands[6]) - 1))
   16709              :         return -1;
   16710              :       return 8458; /* *avx512dq_shuf_i64x2_1 */
   16711              : 
   16712              :     default:
   16713              :       return -1;
   16714              :     }
   16715              : }
   16716              : 
   16717              :  int
   16718              : recog_282 (rtx x1 ATTRIBUTE_UNUSED,
   16719              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16720              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16721              : {
   16722              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16723              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   16724              :   rtx x10, x11, x12, x13;
   16725              :   int res ATTRIBUTE_UNUSED;
   16726              :   x2 = XEXP (x1, 1);
   16727              :   x3 = XEXP (x2, 1);
   16728              :   if (pattern930 (x3) != 0)
   16729              :     return -1;
   16730              :   x4 = XVECEXP (x3, 0, 0);
   16731              :   switch (XWINT (x4, 0))
   16732              :     {
   16733              :     case 0L:
   16734              :       x5 = XVECEXP (x3, 0, 1);
   16735              :       switch (XWINT (x5, 0))
   16736              :         {
   16737              :         case 1L:
   16738              :           x6 = XVECEXP (x3, 0, 2);
   16739              :           if (XWINT (x6, 0) != 2L)
   16740              :             return -1;
   16741              :           x7 = XVECEXP (x3, 0, 3);
   16742              :           if (XWINT (x7, 0) != 3L)
   16743              :             return -1;
   16744              :           x8 = XVECEXP (x3, 0, 4);
   16745              :           if (XWINT (x8, 0) != 8L)
   16746              :             return -1;
   16747              :           x9 = XVECEXP (x3, 0, 5);
   16748              :           if (XWINT (x9, 0) != 9L)
   16749              :             return -1;
   16750              :           x10 = XVECEXP (x3, 0, 6);
   16751              :           if (XWINT (x10, 0) != 10L)
   16752              :             return -1;
   16753              :           x11 = XVECEXP (x3, 0, 7);
   16754              :           if (XWINT (x11, 0) != 11L)
   16755              :             return -1;
   16756              :           x12 = XEXP (x2, 0);
   16757              :           x13 = XEXP (x12, 1);
   16758              :           operands[2] = x13;
   16759              :           switch (GET_MODE (operands[0]))
   16760              :             {
   16761              :             case E_V8HImode:
   16762              :               if (pattern1493 (x2, 
   16763              : E_V8HImode, 
   16764              : E_V16HImode) != 0
   16765              :                   || !
   16766              : #line 11456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16767              : (TARGET_SSE && ix86_binary_operator_ok (UNKNOWN, V8HImode, operands)))
   16768              :                 return -1;
   16769              :               return 5257; /* sse_movlhps_v8hi */
   16770              : 
   16771              :             case E_V8HFmode:
   16772              :               if (pattern1493 (x2, 
   16773              : E_V8HFmode, 
   16774              : E_V16HFmode) != 0
   16775              :                   || !
   16776              : #line 11456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16777              : (TARGET_SSE && ix86_binary_operator_ok (UNKNOWN, V8HFmode, operands)))
   16778              :                 return -1;
   16779              :               return 5258; /* sse_movlhps_v8hf */
   16780              : 
   16781              :             case E_V8BFmode:
   16782              :               if (pattern1493 (x2, 
   16783              : E_V8BFmode, 
   16784              : E_V16BFmode) != 0
   16785              :                   || !
   16786              : #line 11456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16787              : (TARGET_SSE && ix86_binary_operator_ok (UNKNOWN, V8BFmode, operands)))
   16788              :                 return -1;
   16789              :               return 5259; /* sse_movlhps_v8bf */
   16790              : 
   16791              :             default:
   16792              :               return -1;
   16793              :             }
   16794              : 
   16795              :         case 8L:
   16796              :           x6 = XVECEXP (x3, 0, 2);
   16797              :           switch (XWINT (x6, 0))
   16798              :             {
   16799              :             case 1L:
   16800              :               x7 = XVECEXP (x3, 0, 3);
   16801              :               if (XWINT (x7, 0) != 9L)
   16802              :                 return -1;
   16803              :               x12 = XEXP (x2, 0);
   16804              :               x13 = XEXP (x12, 1);
   16805              :               operands[2] = x13;
   16806              :               x8 = XVECEXP (x3, 0, 4);
   16807              :               switch (XWINT (x8, 0))
   16808              :                 {
   16809              :                 case 4L:
   16810              :                   x9 = XVECEXP (x3, 0, 5);
   16811              :                   if (XWINT (x9, 0) != 12L)
   16812              :                     return -1;
   16813              :                   x10 = XVECEXP (x3, 0, 6);
   16814              :                   if (XWINT (x10, 0) != 5L)
   16815              :                     return -1;
   16816              :                   x11 = XVECEXP (x3, 0, 7);
   16817              :                   if (XWINT (x11, 0) != 13L)
   16818              :                     return -1;
   16819              :                   switch (GET_MODE (operands[0]))
   16820              :                     {
   16821              :                     case E_V8SFmode:
   16822              :                       if (pattern1425 (x2, 
   16823              : E_V8SFmode, 
   16824              : E_V16SFmode) != 0
   16825              :                           || !
   16826              : #line 11586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16827              : (TARGET_AVX && 1))
   16828              :                         return -1;
   16829              :                       return 5268; /* avx_unpcklps256 */
   16830              : 
   16831              :                     case E_V8SImode:
   16832              :                       if (pattern1425 (x2, 
   16833              : E_V8SImode, 
   16834              : E_V16SImode) != 0
   16835              :                           || !
   16836              : #line 20117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16837              : (TARGET_AVX2 && 1))
   16838              :                         return -1;
   16839              :                       return 8418; /* avx2_interleave_lowv8si */
   16840              : 
   16841              :                     default:
   16842              :                       return -1;
   16843              :                     }
   16844              : 
   16845              :                 case 2L:
   16846              :                   x9 = XVECEXP (x3, 0, 5);
   16847              :                   if (XWINT (x9, 0) != 10L)
   16848              :                     return -1;
   16849              :                   x10 = XVECEXP (x3, 0, 6);
   16850              :                   if (XWINT (x10, 0) != 3L)
   16851              :                     return -1;
   16852              :                   x11 = XVECEXP (x3, 0, 7);
   16853              :                   if (XWINT (x11, 0) != 11L)
   16854              :                     return -1;
   16855              :                   switch (GET_MODE (operands[0]))
   16856              :                     {
   16857              :                     case E_V8HImode:
   16858              :                       if (pattern1494 (x2, 
   16859              : E_V8HImode, 
   16860              : E_V16HImode) != 0
   16861              :                           || !
   16862              : #line 20042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16863              : (TARGET_SSE2 && 1 && 1))
   16864              :                         return -1;
   16865              :                       return 8406; /* vec_interleave_lowv8hi */
   16866              : 
   16867              :                     case E_V8HFmode:
   16868              :                       if (pattern1494 (x2, 
   16869              : E_V8HFmode, 
   16870              : E_V16HFmode) != 0
   16871              :                           || !
   16872              : #line 20042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16873              : (TARGET_SSE2 && 1 && 1))
   16874              :                         return -1;
   16875              :                       return 8408; /* vec_interleave_lowv8hf */
   16876              : 
   16877              :                     case E_V8BFmode:
   16878              :                       if (pattern1494 (x2, 
   16879              : E_V8BFmode, 
   16880              : E_V16BFmode) != 0
   16881              :                           || !
   16882              : #line 20042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16883              : (TARGET_SSE2 && 1 && 1))
   16884              :                         return -1;
   16885              :                       return 8410; /* vec_interleave_lowv8bf */
   16886              : 
   16887              :                     default:
   16888              :                       return -1;
   16889              :                     }
   16890              : 
   16891              :                 default:
   16892              :                   return -1;
   16893              :                 }
   16894              : 
   16895              :             case 2L:
   16896              :               x7 = XVECEXP (x3, 0, 3);
   16897              :               if (XWINT (x7, 0) != 10L)
   16898              :                 return -1;
   16899              :               x8 = XVECEXP (x3, 0, 4);
   16900              :               if (XWINT (x8, 0) != 4L)
   16901              :                 return -1;
   16902              :               x9 = XVECEXP (x3, 0, 5);
   16903              :               if (XWINT (x9, 0) != 12L)
   16904              :                 return -1;
   16905              :               x10 = XVECEXP (x3, 0, 6);
   16906              :               if (XWINT (x10, 0) != 6L)
   16907              :                 return -1;
   16908              :               x11 = XVECEXP (x3, 0, 7);
   16909              :               if (XWINT (x11, 0) != 14L)
   16910              :                 return -1;
   16911              :               switch (GET_MODE (operands[0]))
   16912              :                 {
   16913              :                 case E_V8DFmode:
   16914              :                   if (!register_operand (operands[0], E_V8DFmode)
   16915              :                       || GET_MODE (x2) != E_V8DFmode)
   16916              :                     return -1;
   16917              :                   x12 = XEXP (x2, 0);
   16918              :                   if (GET_MODE (x12) != E_V16DFmode)
   16919              :                     return -1;
   16920              :                   if (nonimmediate_operand (operands[1], E_V8DFmode))
   16921              :                     {
   16922              :                       x13 = XEXP (x12, 1);
   16923              :                       if (rtx_equal_p (x13, operands[1])
   16924              :                           && 
   16925              : #line 13763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16926              : (TARGET_AVX512F))
   16927              :                         return 5420; /* avx512f_movddup512 */
   16928              :                     }
   16929              :                   if (!register_operand (operands[1], E_V8DFmode))
   16930              :                     return -1;
   16931              :                   x13 = XEXP (x12, 1);
   16932              :                   operands[2] = x13;
   16933              :                   if (!nonimmediate_operand (operands[2], E_V8DFmode)
   16934              :                       || !
   16935              : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16936              : (TARGET_AVX512F))
   16937              :                     return -1;
   16938              :                   return 5422; /* avx512f_unpcklpd512 */
   16939              : 
   16940              :                 case E_V8DImode:
   16941              :                   if (pattern1631 (x2, 
   16942              : E_V8DImode, 
   16943              : E_V16DImode) != 0
   16944              :                       || !
   16945              : #line 14856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16946              : (TARGET_AVX512F))
   16947              :                     return -1;
   16948              :                   return 7241; /* *avx512f_interleave_lowv8di */
   16949              : 
   16950              :                 default:
   16951              :                   return -1;
   16952              :                 }
   16953              : 
   16954              :             default:
   16955              :               return -1;
   16956              :             }
   16957              : 
   16958              :         case 0L:
   16959              :           if (pattern1677 (x3) != 0
   16960              :               || pattern1813 (x2, 
   16961              : E_V8SFmode, 
   16962              : E_V16SFmode) != 0
   16963              :               || !
   16964              : #line 11725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16965              : (TARGET_AVX && 1))
   16966              :             return -1;
   16967              :           return 5278; /* avx_movsldup256 */
   16968              : 
   16969              :         default:
   16970              :           return -1;
   16971              :         }
   16972              : 
   16973              :     case 2L:
   16974              :       x5 = XVECEXP (x3, 0, 1);
   16975              :       if (XWINT (x5, 0) != 10L)
   16976              :         return -1;
   16977              :       x6 = XVECEXP (x3, 0, 2);
   16978              :       if (XWINT (x6, 0) != 3L)
   16979              :         return -1;
   16980              :       x7 = XVECEXP (x3, 0, 3);
   16981              :       if (XWINT (x7, 0) != 11L
   16982              :           || pattern1727 (x2) != 0)
   16983              :         return -1;
   16984              :       switch (GET_MODE (operands[0]))
   16985              :         {
   16986              :         case E_V8SFmode:
   16987              :           if (pattern1425 (x2, 
   16988              : E_V8SFmode, 
   16989              : E_V16SFmode) != 0
   16990              :               || !
   16991              : #line 11498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16992              : (TARGET_AVX && 1))
   16993              :             return -1;
   16994              :           return 5262; /* avx_unpckhps256 */
   16995              : 
   16996              :         case E_V8SImode:
   16997              :           if (pattern1425 (x2, 
   16998              : E_V8SImode, 
   16999              : E_V16SImode) != 0
   17000              :               || !
   17001              : #line 20062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17002              : (TARGET_AVX2 && 1))
   17003              :             return -1;
   17004              :           return 8412; /* avx2_interleave_highv8si */
   17005              : 
   17006              :         default:
   17007              :           return -1;
   17008              :         }
   17009              : 
   17010              :     case 1L:
   17011              :       x6 = XVECEXP (x3, 0, 2);
   17012              :       if (XWINT (x6, 0) != 3L)
   17013              :         return -1;
   17014              :       x8 = XVECEXP (x3, 0, 4);
   17015              :       if (XWINT (x8, 0) != 5L)
   17016              :         return -1;
   17017              :       x10 = XVECEXP (x3, 0, 6);
   17018              :       if (XWINT (x10, 0) != 7L)
   17019              :         return -1;
   17020              :       x5 = XVECEXP (x3, 0, 1);
   17021              :       switch (XWINT (x5, 0))
   17022              :         {
   17023              :         case 1L:
   17024              :           x7 = XVECEXP (x3, 0, 3);
   17025              :           if (XWINT (x7, 0) != 3L)
   17026              :             return -1;
   17027              :           x9 = XVECEXP (x3, 0, 5);
   17028              :           if (XWINT (x9, 0) != 5L)
   17029              :             return -1;
   17030              :           x11 = XVECEXP (x3, 0, 7);
   17031              :           if (XWINT (x11, 0) != 7L
   17032              :               || pattern1813 (x2, 
   17033              : E_V8SFmode, 
   17034              : E_V16SFmode) != 0
   17035              :               || !
   17036              : #line 11672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17037              : (TARGET_AVX && 1))
   17038              :             return -1;
   17039              :           return 5272; /* avx_movshdup256 */
   17040              : 
   17041              :         case 9L:
   17042              :           x7 = XVECEXP (x3, 0, 3);
   17043              :           if (XWINT (x7, 0) != 11L)
   17044              :             return -1;
   17045              :           x9 = XVECEXP (x3, 0, 5);
   17046              :           if (XWINT (x9, 0) != 13L)
   17047              :             return -1;
   17048              :           x11 = XVECEXP (x3, 0, 7);
   17049              :           if (XWINT (x11, 0) != 15L)
   17050              :             return -1;
   17051              :           x12 = XEXP (x2, 0);
   17052              :           x13 = XEXP (x12, 1);
   17053              :           operands[2] = x13;
   17054              :           switch (GET_MODE (operands[0]))
   17055              :             {
   17056              :             case E_V8DFmode:
   17057              :               if (pattern1425 (x2, 
   17058              : E_V8DFmode, 
   17059              : E_V16DFmode) != 0
   17060              :                   || !
   17061              : #line 13649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17062              : (TARGET_AVX512F))
   17063              :                 return -1;
   17064              :               return 5414; /* *avx512f_unpckhpd512 */
   17065              : 
   17066              :             case E_V8DImode:
   17067              :               if (pattern1425 (x2, 
   17068              : E_V8DImode, 
   17069              : E_V16DImode) != 0
   17070              :                   || !
   17071              : #line 14806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17072              : (TARGET_AVX512F))
   17073              :                 return -1;
   17074              :               return 7235; /* *avx512f_interleave_highv8di */
   17075              : 
   17076              :             default:
   17077              :               return -1;
   17078              :             }
   17079              : 
   17080              :         default:
   17081              :           return -1;
   17082              :         }
   17083              : 
   17084              :     case 4L:
   17085              :       x5 = XVECEXP (x3, 0, 1);
   17086              :       if (XWINT (x5, 0) != 12L)
   17087              :         return -1;
   17088              :       x6 = XVECEXP (x3, 0, 2);
   17089              :       if (XWINT (x6, 0) != 5L)
   17090              :         return -1;
   17091              :       x7 = XVECEXP (x3, 0, 3);
   17092              :       if (XWINT (x7, 0) != 13L
   17093              :           || pattern1727 (x2) != 0)
   17094              :         return -1;
   17095              :       switch (GET_MODE (operands[0]))
   17096              :         {
   17097              :         case E_V8HImode:
   17098              :           if (pattern1494 (x2, 
   17099              : E_V8HImode, 
   17100              : E_V16HImode) != 0
   17101              :               || !
   17102              : #line 19974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17103              : (TARGET_SSE2 && 1 && 1))
   17104              :             return -1;
   17105              :           return 8388; /* vec_interleave_highv8hi */
   17106              : 
   17107              :         case E_V8HFmode:
   17108              :           if (pattern1494 (x2, 
   17109              : E_V8HFmode, 
   17110              : E_V16HFmode) != 0
   17111              :               || !
   17112              : #line 19974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17113              : (TARGET_SSE2 && 1 && 1))
   17114              :             return -1;
   17115              :           return 8390; /* vec_interleave_highv8hf */
   17116              : 
   17117              :         case E_V8BFmode:
   17118              :           if (pattern1494 (x2, 
   17119              : E_V8BFmode, 
   17120              : E_V16BFmode) != 0
   17121              :               || !
   17122              : #line 19974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17123              : (TARGET_SSE2 && 1 && 1))
   17124              :             return -1;
   17125              :           return 8392; /* vec_interleave_highv8bf */
   17126              : 
   17127              :         default:
   17128              :           return -1;
   17129              :         }
   17130              : 
   17131              :     default:
   17132              :       return -1;
   17133              :     }
   17134              : }
   17135              : 
   17136              :  int
   17137              : recog_290 (rtx x1 ATTRIBUTE_UNUSED,
   17138              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   17139              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   17140              : {
   17141              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   17142              :   rtx x2, x3, x4, x5;
   17143              :   int res ATTRIBUTE_UNUSED;
   17144              :   x2 = XEXP (x1, 1);
   17145              :   x3 = XEXP (x2, 1);
   17146              :   x4 = XVECEXP (x3, 0, 0);
   17147              :   if (GET_CODE (x4) != CONST_INT)
   17148              :     return -1;
   17149              :   operands[2] = x4;
   17150              :   if (const_0_to_7_operand (operands[2], E_VOIDmode))
   17151              :     {
   17152              :       x5 = XVECEXP (x3, 0, 1);
   17153              :       operands[3] = x5;
   17154              :       if (const_0_to_7_operand (operands[3], E_VOIDmode))
   17155              :         {
   17156              :           switch (GET_MODE (operands[0]))
   17157              :             {
   17158              :             case E_V2DFmode:
   17159              :               if (nonimmediate_operand (operands[0], E_V2DFmode)
   17160              :                   && GET_MODE (x2) == E_V2DFmode
   17161              :                   && register_operand (operands[1], E_V8DFmode)
   17162              :                   && 
   17163              : #line 12781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17164              : (TARGET_AVX512DQ
   17165              :    && INTVAL (operands[2]) % 2 == 0
   17166              :    && INTVAL (operands[2]) == INTVAL (operands[3]) - 1))
   17167              :                 return 5352; /* *avx512dq_vextractf64x2_1 */
   17168              :               break;
   17169              : 
   17170              :             case E_V2DImode:
   17171              :               if (nonimmediate_operand (operands[0], E_V2DImode)
   17172              :                   && GET_MODE (x2) == E_V2DImode
   17173              :                   && register_operand (operands[1], E_V8DImode)
   17174              :                   && 
   17175              : #line 12781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17176              : (TARGET_AVX512DQ
   17177              :    && INTVAL (operands[2]) % 2 == 0
   17178              :    && INTVAL (operands[2]) == INTVAL (operands[3]) - 1))
   17179              :                 return 5353; /* *avx512dq_vextracti64x2_1 */
   17180              :               break;
   17181              : 
   17182              :             default:
   17183              :               break;
   17184              :             }
   17185              :         }
   17186              :     }
   17187              :   x5 = XVECEXP (x3, 0, 1);
   17188              :   if (GET_CODE (x5) != CONST_INT)
   17189              :     return -1;
   17190              :   switch (XWINT (x4, 0))
   17191              :     {
   17192              :     case 0L:
   17193              :       if (XWINT (x5, 0) != 1L)
   17194              :         return -1;
   17195              :       switch (GET_MODE (operands[0]))
   17196              :         {
   17197              :         case E_V2DImode:
   17198              :           if (!nonimmediate_operand (operands[0], E_V2DImode)
   17199              :               || GET_MODE (x2) != E_V2DImode
   17200              :               || !nonimmediate_operand (operands[1], E_V4DImode)
   17201              :               || !
   17202              : #line 13205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17203              : (TARGET_AVX
   17204              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   17205              :             return -1;
   17206              :           return 5376; /* vec_extract_lo_v4di */
   17207              : 
   17208              :         case E_V2DFmode:
   17209              :           if (!nonimmediate_operand (operands[0], E_V2DFmode)
   17210              :               || GET_MODE (x2) != E_V2DFmode
   17211              :               || !nonimmediate_operand (operands[1], E_V4DFmode)
   17212              :               || !
   17213              : #line 13205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17214              : (TARGET_AVX
   17215              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   17216              :             return -1;
   17217              :           return 5377; /* vec_extract_lo_v4df */
   17218              : 
   17219              :         default:
   17220              :           return -1;
   17221              :         }
   17222              : 
   17223              :     case 2L:
   17224              :       if (XWINT (x5, 0) != 3L)
   17225              :         return -1;
   17226              :       switch (GET_MODE (operands[0]))
   17227              :         {
   17228              :         case E_V2DImode:
   17229              :           if (!nonimmediate_operand (operands[0], E_V2DImode)
   17230              :               || GET_MODE (x2) != E_V2DImode
   17231              :               || !register_operand (operands[1], E_V4DImode)
   17232              :               || !
   17233              : #line 13241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17234              : (TARGET_AVX))
   17235              :             return -1;
   17236              :           return 5380; /* vec_extract_hi_v4di */
   17237              : 
   17238              :         case E_V2DFmode:
   17239              :           if (!nonimmediate_operand (operands[0], E_V2DFmode)
   17240              :               || GET_MODE (x2) != E_V2DFmode
   17241              :               || !register_operand (operands[1], E_V4DFmode)
   17242              :               || !
   17243              : #line 13241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17244              : (TARGET_AVX))
   17245              :             return -1;
   17246              :           return 5381; /* vec_extract_hi_v4df */
   17247              : 
   17248              :         default:
   17249              :           return -1;
   17250              :         }
   17251              : 
   17252              :     default:
   17253              :       return -1;
   17254              :     }
   17255              : }
   17256              : 
   17257              :  int
   17258              : recog_294 (rtx x1 ATTRIBUTE_UNUSED,
   17259              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   17260              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   17261              : {
   17262              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   17263              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   17264              :   int res ATTRIBUTE_UNUSED;
   17265              :   x2 = XEXP (x1, 1);
   17266              :   x3 = XEXP (x2, 1);
   17267              :   x4 = XVECEXP (x3, 0, 1);
   17268              :   operands[3] = x4;
   17269              :   x5 = XVECEXP (x3, 0, 2);
   17270              :   operands[4] = x5;
   17271              :   x6 = XVECEXP (x3, 0, 3);
   17272              :   operands[5] = x6;
   17273              :   x7 = XVECEXP (x3, 0, 5);
   17274              :   operands[7] = x7;
   17275              :   x8 = XVECEXP (x3, 0, 6);
   17276              :   operands[8] = x8;
   17277              :   x9 = XVECEXP (x3, 0, 7);
   17278              :   operands[9] = x9;
   17279              :   switch (GET_MODE (operands[0]))
   17280              :     {
   17281              :     case E_V8DFmode:
   17282              :       if (pattern1632 (x2, 
   17283              : E_V8DFmode) != 0
   17284              :           || !
   17285              : #line 20611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17286              : (TARGET_AVX512F
   17287              :    && (INTVAL (operands[2]) & 1) == 0
   17288              :    && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
   17289              :    && (INTVAL (operands[4]) & 1) == 0
   17290              :    && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
   17291              :    && (INTVAL (operands[6]) & 1) == 0
   17292              :    && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
   17293              :    && (INTVAL (operands[8]) & 1) == 0
   17294              :    && INTVAL (operands[8]) == INTVAL (operands[9]) - 1))
   17295              :         return -1;
   17296              :       return 8466; /* *avx512f_shuf_f64x2_1_1 */
   17297              : 
   17298              :     case E_V8DImode:
   17299              :       if (pattern1632 (x2, 
   17300              : E_V8DImode) != 0
   17301              :           || !
   17302              : #line 20611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17303              : (TARGET_AVX512F
   17304              :    && (INTVAL (operands[2]) & 1) == 0
   17305              :    && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
   17306              :    && (INTVAL (operands[4]) & 1) == 0
   17307              :    && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
   17308              :    && (INTVAL (operands[6]) & 1) == 0
   17309              :    && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
   17310              :    && (INTVAL (operands[8]) & 1) == 0
   17311              :    && INTVAL (operands[8]) == INTVAL (operands[9]) - 1))
   17312              :         return -1;
   17313              :       return 8468; /* *avx512f_shuf_i64x2_1_1 */
   17314              : 
   17315              :     case E_V8SImode:
   17316              :       if (!register_operand (operands[0], E_V8SImode)
   17317              :           || GET_MODE (x2) != E_V8SImode
   17318              :           || !nonimmediate_operand (operands[1], E_V8SImode)
   17319              :           || pattern1728 () != 0
   17320              :           || !
   17321              : #line 20968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17322              : (TARGET_AVX2
   17323              :    && 1
   17324              :    && INTVAL (operands[2]) + 4 == INTVAL (operands[6])
   17325              :    && INTVAL (operands[3]) + 4 == INTVAL (operands[7])
   17326              :    && INTVAL (operands[4]) + 4 == INTVAL (operands[8])
   17327              :    && INTVAL (operands[5]) + 4 == INTVAL (operands[9])))
   17328              :         return -1;
   17329              :       return 8484; /* avx2_pshufd_1 */
   17330              : 
   17331              :     default:
   17332              :       return -1;
   17333              :     }
   17334              : }
   17335              : 
   17336              :  int
   17337              : recog_297 (rtx x1 ATTRIBUTE_UNUSED,
   17338              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   17339              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   17340              : {
   17341              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   17342              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   17343              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   17344              :   rtx x18, x19;
   17345              :   int res ATTRIBUTE_UNUSED;
   17346              :   x2 = XEXP (x1, 1);
   17347              :   x3 = XEXP (x2, 1);
   17348              :   if (pattern931 (x3) != 0)
   17349              :     return -1;
   17350              :   x4 = XVECEXP (x3, 0, 0);
   17351              :   switch (XWINT (x4, 0))
   17352              :     {
   17353              :     case 0L:
   17354              :       if (pattern1792 (x3) != 0)
   17355              :         return -1;
   17356              :       switch (pattern1804 (x2))
   17357              :         {
   17358              :         case 0:
   17359              :           if (!
   17360              : #line 13350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17361              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   17362              :             return -1;
   17363              :           return 5390; /* vec_extract_lo_v32hi */
   17364              : 
   17365              :         case 1:
   17366              :           if (!
   17367              : #line 13350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17368              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   17369              :             return -1;
   17370              :           return 5391; /* vec_extract_lo_v32hf */
   17371              : 
   17372              :         case 2:
   17373              :           if (!
   17374              : #line 13350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17375              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   17376              :             return -1;
   17377              :           return 5392; /* vec_extract_lo_v32bf */
   17378              : 
   17379              :         case 3:
   17380              :           if (!
   17381              : #line 13520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17382              : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   17383              :             return -1;
   17384              :           return 5404; /* vec_extract_lo_v32qi */
   17385              : 
   17386              :         default:
   17387              :           return -1;
   17388              :         }
   17389              : 
   17390              :     case 16L:
   17391              :       x5 = XVECEXP (x3, 0, 1);
   17392              :       if (XWINT (x5, 0) != 17L)
   17393              :         return -1;
   17394              :       x6 = XVECEXP (x3, 0, 2);
   17395              :       if (XWINT (x6, 0) != 18L)
   17396              :         return -1;
   17397              :       x7 = XVECEXP (x3, 0, 3);
   17398              :       if (XWINT (x7, 0) != 19L)
   17399              :         return -1;
   17400              :       x8 = XVECEXP (x3, 0, 4);
   17401              :       if (XWINT (x8, 0) != 20L)
   17402              :         return -1;
   17403              :       x9 = XVECEXP (x3, 0, 5);
   17404              :       if (XWINT (x9, 0) != 21L)
   17405              :         return -1;
   17406              :       x10 = XVECEXP (x3, 0, 6);
   17407              :       if (XWINT (x10, 0) != 22L)
   17408              :         return -1;
   17409              :       x11 = XVECEXP (x3, 0, 7);
   17410              :       if (XWINT (x11, 0) != 23L)
   17411              :         return -1;
   17412              :       x12 = XVECEXP (x3, 0, 8);
   17413              :       if (XWINT (x12, 0) != 24L)
   17414              :         return -1;
   17415              :       x13 = XVECEXP (x3, 0, 9);
   17416              :       if (XWINT (x13, 0) != 25L)
   17417              :         return -1;
   17418              :       x14 = XVECEXP (x3, 0, 10);
   17419              :       if (XWINT (x14, 0) != 26L)
   17420              :         return -1;
   17421              :       x15 = XVECEXP (x3, 0, 11);
   17422              :       if (XWINT (x15, 0) != 27L)
   17423              :         return -1;
   17424              :       x16 = XVECEXP (x3, 0, 12);
   17425              :       if (XWINT (x16, 0) != 28L)
   17426              :         return -1;
   17427              :       x17 = XVECEXP (x3, 0, 13);
   17428              :       if (XWINT (x17, 0) != 29L)
   17429              :         return -1;
   17430              :       x18 = XVECEXP (x3, 0, 14);
   17431              :       if (XWINT (x18, 0) != 30L)
   17432              :         return -1;
   17433              :       x19 = XVECEXP (x3, 0, 15);
   17434              :       if (XWINT (x19, 0) != 31L)
   17435              :         return -1;
   17436              :       switch (GET_MODE (operands[0]))
   17437              :         {
   17438              :         case E_V16HImode:
   17439              :           if (!nonimmediate_operand (operands[0], E_V16HImode)
   17440              :               || GET_MODE (x2) != E_V16HImode
   17441              :               || !register_operand (operands[1], E_V32HImode)
   17442              :               || !
   17443              : #line 13391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17444              : (TARGET_AVX512F))
   17445              :             return -1;
   17446              :           return 5393; /* vec_extract_hi_v32hi */
   17447              : 
   17448              :         case E_V16HFmode:
   17449              :           if (!nonimmediate_operand (operands[0], E_V16HFmode)
   17450              :               || GET_MODE (x2) != E_V16HFmode
   17451              :               || !register_operand (operands[1], E_V32HFmode)
   17452              :               || !
   17453              : #line 13391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17454              : (TARGET_AVX512F))
   17455              :             return -1;
   17456              :           return 5394; /* vec_extract_hi_v32hf */
   17457              : 
   17458              :         case E_V16BFmode:
   17459              :           if (!nonimmediate_operand (operands[0], E_V16BFmode)
   17460              :               || GET_MODE (x2) != E_V16BFmode
   17461              :               || !register_operand (operands[1], E_V32BFmode)
   17462              :               || !
   17463              : #line 13391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17464              : (TARGET_AVX512F))
   17465              :             return -1;
   17466              :           return 5395; /* vec_extract_hi_v32bf */
   17467              : 
   17468              :         case E_V16QImode:
   17469              :           if (!nonimmediate_operand (operands[0], E_V16QImode)
   17470              :               || GET_MODE (x2) != E_V16QImode
   17471              :               || !register_operand (operands[1], E_V32QImode)
   17472              :               || !
   17473              : #line 13538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17474              : (TARGET_AVX))
   17475              :             return -1;
   17476              :           return 5405; /* vec_extract_hi_v32qi */
   17477              : 
   17478              :         default:
   17479              :           return -1;
   17480              :         }
   17481              : 
   17482              :     default:
   17483              :       return -1;
   17484              :     }
   17485              : }
   17486              : 
   17487              :  int
   17488              : recog_308 (rtx x1 ATTRIBUTE_UNUSED,
   17489              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   17490              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   17491              : {
   17492              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   17493              :   rtx x2, x3, x4;
   17494              :   int res ATTRIBUTE_UNUSED;
   17495              :   x2 = XEXP (x1, 1);
   17496              :   x3 = XEXP (x2, 0);
   17497              :   switch (GET_CODE (x3))
   17498              :     {
   17499              :     case NOT:
   17500              :       x4 = XEXP (x3, 0);
   17501              :       operands[1] = x4;
   17502              :       switch (GET_CODE (operands[1]))
   17503              :         {
   17504              :         case GT:
   17505              :         case LT:
   17506              :           switch (pattern686 (x2))
   17507              :             {
   17508              :             case 0:
   17509              :               if (!(
   17510              : #line 3414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17511              : (TARGET_SSE && ix86_pre_reload_split ()
   17512              :    && rtx_equal_p (operands[2], operands[4])) && 
   17513              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17514              : (TARGET_AVX)))
   17515              :                 return -1;
   17516              :               return 3106; /* *minmaxv8sf3_3 */
   17517              : 
   17518              :             case 1:
   17519              :               if (!
   17520              : #line 3414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17521              : (TARGET_SSE && ix86_pre_reload_split ()
   17522              :    && rtx_equal_p (operands[2], operands[4])))
   17523              :                 return -1;
   17524              :               return 3107; /* *minmaxv4sf3_3 */
   17525              : 
   17526              :             case 2:
   17527              :               if (!(
   17528              : #line 3414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17529              : (TARGET_SSE && ix86_pre_reload_split ()
   17530              :    && rtx_equal_p (operands[2], operands[4])) && 
   17531              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17532              : (TARGET_AVX)))
   17533              :                 return -1;
   17534              :               return 3108; /* *minmaxv4df3_3 */
   17535              : 
   17536              :             case 3:
   17537              :               if (!(
   17538              : #line 3414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17539              : (TARGET_SSE && ix86_pre_reload_split ()
   17540              :    && rtx_equal_p (operands[2], operands[4])) && 
   17541              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17542              : (TARGET_SSE2)))
   17543              :                 return -1;
   17544              :               return 3109; /* *minmaxv2df3_3 */
   17545              : 
   17546              :             default:
   17547              :               return -1;
   17548              :             }
   17549              : 
   17550              :         case REG:
   17551              :         case SUBREG:
   17552              :         case MEM:
   17553              :         case VEC_DUPLICATE:
   17554              :           switch (pattern539 (x2))
   17555              :             {
   17556              :             case 0:
   17557              :               switch (GET_MODE (operands[0]))
   17558              :                 {
   17559              :                 case E_V16BFmode:
   17560              :                   if (pattern623 (x2, 
   17561              : E_V16BFmode) != 0
   17562              :                       || !(
   17563              : #line 5590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17564              : (TARGET_SSE && 1
   17565              :    && (!false || 16 != 16)) && 
   17566              : #line 430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17567              : (TARGET_AVX)))
   17568              :                     return -1;
   17569              :                   return 3765; /* avx512bf16_andnotv16bf3 */
   17570              : 
   17571              :                 case E_V8BFmode:
   17572              :                   if (pattern623 (x2, 
   17573              : E_V8BFmode) != 0
   17574              :                       || !(
   17575              : #line 5590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17576              : (TARGET_SSE && 1
   17577              :    && (!false || 16 != 16)) && 
   17578              : #line 430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17579              : (TARGET_SSE2)))
   17580              :                     return -1;
   17581              :                   return 3766; /* avx512bf16_andnotv8bf3 */
   17582              : 
   17583              :                 case E_V16HFmode:
   17584              :                   if (pattern623 (x2, 
   17585              : E_V16HFmode) != 0
   17586              :                       || !(
   17587              : #line 5590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17588              : (TARGET_SSE && 1
   17589              :    && (!false || 16 != 16)) && 
   17590              : #line 431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17591              : (TARGET_AVX)))
   17592              :                     return -1;
   17593              :                   return 3767; /* avx512fp16_andnotv16hf3 */
   17594              : 
   17595              :                 case E_V8HFmode:
   17596              :                   if (pattern623 (x2, 
   17597              : E_V8HFmode) != 0
   17598              :                       || !(
   17599              : #line 5590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17600              : (TARGET_SSE && 1
   17601              :    && (!false || 16 != 16)) && 
   17602              : #line 431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17603              : (TARGET_SSE2)))
   17604              :                     return -1;
   17605              :                   return 3768; /* avx512fp16_andnotv8hf3 */
   17606              : 
   17607              :                 case E_V8SFmode:
   17608              :                   if (pattern623 (x2, 
   17609              : E_V8SFmode) != 0
   17610              :                       || !(
   17611              : #line 5590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17612              : (TARGET_SSE && 1
   17613              :    && (!false || 32 != 16)) && 
   17614              : #line 432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17615              : (TARGET_AVX)))
   17616              :                     return -1;
   17617              :                   return 3769; /* avx_andnotv8sf3 */
   17618              : 
   17619              :                 case E_V4SFmode:
   17620              :                   if (pattern623 (x2, 
   17621              : E_V4SFmode) != 0
   17622              :                       || !
   17623              : #line 5590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17624              : (TARGET_SSE && 1
   17625              :    && (!false || 32 != 16)))
   17626              :                     return -1;
   17627              :                   return 3771; /* sse_andnotv4sf3 */
   17628              : 
   17629              :                 case E_V4DFmode:
   17630              :                   if (pattern623 (x2, 
   17631              : E_V4DFmode) != 0
   17632              :                       || !(
   17633              : #line 5590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17634              : (TARGET_SSE && 1
   17635              :    && (!false || 64 != 16)) && 
   17636              : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17637              : (TARGET_AVX)))
   17638              :                     return -1;
   17639              :                   return 3773; /* avx_andnotv4df3 */
   17640              : 
   17641              :                 case E_V2DFmode:
   17642              :                   if (pattern623 (x2, 
   17643              : E_V2DFmode) != 0
   17644              :                       || !(
   17645              : #line 5590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17646              : (TARGET_SSE && 1
   17647              :    && (!false || 64 != 16)) && 
   17648              : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17649              : (TARGET_SSE2)))
   17650              :                     return -1;
   17651              :                   return 3775; /* sse2_andnotv2df3 */
   17652              : 
   17653              :                 case E_V32BFmode:
   17654              :                   if (pattern745 (x2, 
   17655              : E_V32BFmode) != 0
   17656              :                       || !
   17657              : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17658              : (TARGET_AVX512F && (!false || 16 != 16)))
   17659              :                     return -1;
   17660              :                   return 3777; /* avx512bf16_andnotv32bf3 */
   17661              : 
   17662              :                 case E_V32HFmode:
   17663              :                   if (pattern745 (x2, 
   17664              : E_V32HFmode) != 0
   17665              :                       || !
   17666              : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17667              : (TARGET_AVX512F && (!false || 16 != 16)))
   17668              :                     return -1;
   17669              :                   return 3778; /* avx512fp16_andnotv32hf3 */
   17670              : 
   17671              :                 case E_V16SFmode:
   17672              :                   if (pattern745 (x2, 
   17673              : E_V16SFmode) != 0
   17674              :                       || !
   17675              : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17676              : (TARGET_AVX512F && (!false || 32 != 16)))
   17677              :                     return -1;
   17678              :                   return 3779; /* avx512f_andnotv16sf3 */
   17679              : 
   17680              :                 case E_V8DFmode:
   17681              :                   if (pattern745 (x2, 
   17682              : E_V8DFmode) != 0
   17683              :                       || !
   17684              : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17685              : (TARGET_AVX512F && (!false || 64 != 16)))
   17686              :                     return -1;
   17687              :                   return 3781; /* avx512f_andnotv8df3 */
   17688              : 
   17689              :                 case E_V1TImode:
   17690              :                   if (pattern623 (x2, 
   17691              : E_V1TImode) != 0
   17692              :                       || !
   17693              : #line 5956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17694              : (TARGET_SSE))
   17695              :                     return -1;
   17696              :                   return 3854; /* *andnotv1ti3 */
   17697              : 
   17698              :                 case E_V16SImode:
   17699              :                   if (pattern933 (x2, 
   17700              : E_V16SImode) != 0
   17701              :                       || !(
   17702              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17703              : (TARGET_SSE
   17704              :    && (register_operand (operands[1], V16SImode)
   17705              :        || register_operand (operands[2], V16SImode))) && 
   17706              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17707              : (TARGET_AVX512F)))
   17708              :                     return -1;
   17709              :                   return 8031; /* *andnotv16si3 */
   17710              : 
   17711              :                 case E_V8DImode:
   17712              :                   if (pattern933 (x2, 
   17713              : E_V8DImode) != 0
   17714              :                       || !(
   17715              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17716              : (TARGET_SSE
   17717              :    && (register_operand (operands[1], V8DImode)
   17718              :        || register_operand (operands[2], V8DImode))) && 
   17719              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17720              : (TARGET_AVX512F)))
   17721              :                     return -1;
   17722              :                   return 8032; /* *andnotv8di3 */
   17723              : 
   17724              :                 case E_V64QImode:
   17725              :                   if (pattern933 (x2, 
   17726              : E_V64QImode) != 0
   17727              :                       || !(
   17728              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17729              : (TARGET_SSE
   17730              :    && (register_operand (operands[1], V64QImode)
   17731              :        || register_operand (operands[2], V64QImode))) && 
   17732              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17733              : (TARGET_AVX512BW)))
   17734              :                     return -1;
   17735              :                   return 8033; /* *andnotv64qi3 */
   17736              : 
   17737              :                 case E_V32QImode:
   17738              :                   if (pattern933 (x2, 
   17739              : E_V32QImode) != 0
   17740              :                       || !(
   17741              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17742              : (TARGET_SSE
   17743              :    && (register_operand (operands[1], V32QImode)
   17744              :        || register_operand (operands[2], V32QImode))) && 
   17745              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17746              : (TARGET_AVX)))
   17747              :                     return -1;
   17748              :                   return 8034; /* *andnotv32qi3 */
   17749              : 
   17750              :                 case E_V16QImode:
   17751              :                   if (pattern933 (x2, 
   17752              : E_V16QImode) != 0
   17753              :                       || !
   17754              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17755              : (TARGET_SSE
   17756              :    && (register_operand (operands[1], V16QImode)
   17757              :        || register_operand (operands[2], V16QImode))))
   17758              :                     return -1;
   17759              :                   return 8035; /* *andnotv16qi3 */
   17760              : 
   17761              :                 case E_V32HImode:
   17762              :                   if (pattern933 (x2, 
   17763              : E_V32HImode) != 0
   17764              :                       || !(
   17765              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17766              : (TARGET_SSE
   17767              :    && (register_operand (operands[1], V32HImode)
   17768              :        || register_operand (operands[2], V32HImode))) && 
   17769              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17770              : (TARGET_AVX512BW)))
   17771              :                     return -1;
   17772              :                   return 8036; /* *andnotv32hi3 */
   17773              : 
   17774              :                 case E_V16HImode:
   17775              :                   if (pattern933 (x2, 
   17776              : E_V16HImode) != 0
   17777              :                       || !(
   17778              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17779              : (TARGET_SSE
   17780              :    && (register_operand (operands[1], V16HImode)
   17781              :        || register_operand (operands[2], V16HImode))) && 
   17782              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17783              : (TARGET_AVX)))
   17784              :                     return -1;
   17785              :                   return 8037; /* *andnotv16hi3 */
   17786              : 
   17787              :                 case E_V8HImode:
   17788              :                   if (pattern933 (x2, 
   17789              : E_V8HImode) != 0
   17790              :                       || !
   17791              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17792              : (TARGET_SSE
   17793              :    && (register_operand (operands[1], V8HImode)
   17794              :        || register_operand (operands[2], V8HImode))))
   17795              :                     return -1;
   17796              :                   return 8038; /* *andnotv8hi3 */
   17797              : 
   17798              :                 case E_V8SImode:
   17799              :                   if (pattern933 (x2, 
   17800              : E_V8SImode) != 0
   17801              :                       || !(
   17802              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17803              : (TARGET_SSE
   17804              :    && (register_operand (operands[1], V8SImode)
   17805              :        || register_operand (operands[2], V8SImode))) && 
   17806              : #line 559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17807              : (TARGET_AVX)))
   17808              :                     return -1;
   17809              :                   return 8039; /* *andnotv8si3 */
   17810              : 
   17811              :                 case E_V4SImode:
   17812              :                   if (pattern933 (x2, 
   17813              : E_V4SImode) != 0
   17814              :                       || !
   17815              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17816              : (TARGET_SSE
   17817              :    && (register_operand (operands[1], V4SImode)
   17818              :        || register_operand (operands[2], V4SImode))))
   17819              :                     return -1;
   17820              :                   return 8040; /* *andnotv4si3 */
   17821              : 
   17822              :                 case E_V4DImode:
   17823              :                   if (pattern933 (x2, 
   17824              : E_V4DImode) != 0
   17825              :                       || !(
   17826              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17827              : (TARGET_SSE
   17828              :    && (register_operand (operands[1], V4DImode)
   17829              :        || register_operand (operands[2], V4DImode))) && 
   17830              : #line 560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17831              : (TARGET_AVX)))
   17832              :                     return -1;
   17833              :                   return 8041; /* *andnotv4di3 */
   17834              : 
   17835              :                 case E_V2DImode:
   17836              :                   if (pattern933 (x2, 
   17837              : E_V2DImode) != 0
   17838              :                       || !
   17839              : #line 18826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17840              : (TARGET_SSE
   17841              :    && (register_operand (operands[1], V2DImode)
   17842              :        || register_operand (operands[2], V2DImode))))
   17843              :                     return -1;
   17844              :                   return 8042; /* *andnotv2di3 */
   17845              : 
   17846              :                 default:
   17847              :                   return -1;
   17848              :                 }
   17849              : 
   17850              :             case 1:
   17851              :               if (!(
   17852              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17853              : ((64 == 64 || TARGET_AVX512VL
   17854              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17855              :    && (register_operand (operands[1], V16SImode)
   17856              :        || register_operand (operands[2], V16SImode))) && 
   17857              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17858              : (TARGET_AVX512F)))
   17859              :                 return -1;
   17860              :               return 8130; /* *norv16si3 */
   17861              : 
   17862              :             case 2:
   17863              :               if (!(
   17864              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17865              : ((64 == 64 || TARGET_AVX512VL
   17866              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17867              :    && (register_operand (operands[1], V8DImode)
   17868              :        || register_operand (operands[2], V8DImode))) && 
   17869              : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17870              : (TARGET_AVX512F)))
   17871              :                 return -1;
   17872              :               return 8132; /* *norv8di3 */
   17873              : 
   17874              :             case 3:
   17875              :               if (!(
   17876              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17877              : ((64 == 64 || TARGET_AVX512VL
   17878              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17879              :    && (register_operand (operands[1], V64QImode)
   17880              :        || register_operand (operands[2], V64QImode))) && 
   17881              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17882              : (TARGET_AVX512BW)))
   17883              :                 return -1;
   17884              :               return 8134; /* *norv64qi3 */
   17885              : 
   17886              :             case 4:
   17887              :               if (!(
   17888              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17889              : ((32 == 64 || TARGET_AVX512VL
   17890              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17891              :    && (register_operand (operands[1], V32QImode)
   17892              :        || register_operand (operands[2], V32QImode))) && 
   17893              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17894              : (TARGET_AVX)))
   17895              :                 return -1;
   17896              :               return 8136; /* *norv32qi3 */
   17897              : 
   17898              :             case 5:
   17899              :               if (!
   17900              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17901              : ((16 == 64 || TARGET_AVX512VL
   17902              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17903              :    && (register_operand (operands[1], V16QImode)
   17904              :        || register_operand (operands[2], V16QImode))))
   17905              :                 return -1;
   17906              :               return 8138; /* *norv16qi3 */
   17907              : 
   17908              :             case 6:
   17909              :               if (!(
   17910              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17911              : ((64 == 64 || TARGET_AVX512VL
   17912              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17913              :    && (register_operand (operands[1], V32HImode)
   17914              :        || register_operand (operands[2], V32HImode))) && 
   17915              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17916              : (TARGET_AVX512BW)))
   17917              :                 return -1;
   17918              :               return 8140; /* *norv32hi3 */
   17919              : 
   17920              :             case 7:
   17921              :               if (!(
   17922              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17923              : ((32 == 64 || TARGET_AVX512VL
   17924              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17925              :    && (register_operand (operands[1], V16HImode)
   17926              :        || register_operand (operands[2], V16HImode))) && 
   17927              : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17928              : (TARGET_AVX)))
   17929              :                 return -1;
   17930              :               return 8142; /* *norv16hi3 */
   17931              : 
   17932              :             case 8:
   17933              :               if (!
   17934              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17935              : ((16 == 64 || TARGET_AVX512VL
   17936              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17937              :    && (register_operand (operands[1], V8HImode)
   17938              :        || register_operand (operands[2], V8HImode))))
   17939              :                 return -1;
   17940              :               return 8144; /* *norv8hi3 */
   17941              : 
   17942              :             case 9:
   17943              :               if (!(
   17944              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17945              : ((32 == 64 || TARGET_AVX512VL
   17946              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17947              :    && (register_operand (operands[1], V8SImode)
   17948              :        || register_operand (operands[2], V8SImode))) && 
   17949              : #line 559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17950              : (TARGET_AVX)))
   17951              :                 return -1;
   17952              :               return 8146; /* *norv8si3 */
   17953              : 
   17954              :             case 10:
   17955              :               if (!
   17956              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17957              : ((16 == 64 || TARGET_AVX512VL
   17958              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17959              :    && (register_operand (operands[1], V4SImode)
   17960              :        || register_operand (operands[2], V4SImode))))
   17961              :                 return -1;
   17962              :               return 8148; /* *norv4si3 */
   17963              : 
   17964              :             case 11:
   17965              :               if (!(
   17966              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17967              : ((32 == 64 || TARGET_AVX512VL
   17968              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17969              :    && (register_operand (operands[1], V4DImode)
   17970              :        || register_operand (operands[2], V4DImode))) && 
   17971              : #line 560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17972              : (TARGET_AVX)))
   17973              :                 return -1;
   17974              :               return 8150; /* *norv4di3 */
   17975              : 
   17976              :             case 12:
   17977              :               if (!
   17978              : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17979              : ((16 == 64 || TARGET_AVX512VL
   17980              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17981              :    && (register_operand (operands[1], V2DImode)
   17982              :        || register_operand (operands[2], V2DImode))))
   17983              :                 return -1;
   17984              :               return 8152; /* *norv2di3 */
   17985              : 
   17986              :             default:
   17987              :               return -1;
   17988              :             }
   17989              : 
   17990              :         default:
   17991              :           return -1;
   17992              :         }
   17993              : 
   17994              :     case GT:
   17995              :     case LT:
   17996              :       operands[1] = x3;
   17997              :       switch (pattern529 (x2))
   17998              :         {
   17999              :         case 0:
   18000              :           if ((
   18001              : #line 3436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18002              : (TARGET_SSE && ix86_pre_reload_split ()
   18003              :    && rtx_equal_p (operands[2], operands[4])) && 
   18004              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18005              : (TARGET_AVX)))
   18006              :             return 3110; /* *minmaxv8sf3_4 */
   18007              :           break;
   18008              : 
   18009              :         case 1:
   18010              :           if (
   18011              : #line 3436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18012              : (TARGET_SSE && ix86_pre_reload_split ()
   18013              :    && rtx_equal_p (operands[2], operands[4])))
   18014              :             return 3111; /* *minmaxv4sf3_4 */
   18015              :           break;
   18016              : 
   18017              :         case 2:
   18018              :           if ((
   18019              : #line 3436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18020              : (TARGET_SSE && ix86_pre_reload_split ()
   18021              :    && rtx_equal_p (operands[2], operands[4])) && 
   18022              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18023              : (TARGET_AVX)))
   18024              :             return 3112; /* *minmaxv4df3_4 */
   18025              :           break;
   18026              : 
   18027              :         case 3:
   18028              :           if ((
   18029              : #line 3436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18030              : (TARGET_SSE && ix86_pre_reload_split ()
   18031              :    && rtx_equal_p (operands[2], operands[4])) && 
   18032              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18033              : (TARGET_SSE2)))
   18034              :             return 3113; /* *minmaxv2df3_4 */
   18035              :           break;
   18036              : 
   18037              :         default:
   18038              :           break;
   18039              :         }
   18040              :       x4 = XEXP (x3, 0);
   18041              :       operands[1] = x4;
   18042              :       switch (pattern531 (x2))
   18043              :         {
   18044              :         case 0:
   18045              :           if (!(
   18046              : #line 17650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18047              : (TARGET_SSE4_2 && ix86_pre_reload_split ()) && 
   18048              : #line 697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18049              : (TARGET_AVX2)))
   18050              :             return -1;
   18051              :           return 7716; /* *avx2_lshrv4di3_1 */
   18052              : 
   18053              :         case 1:
   18054              :           if (!
   18055              : #line 17650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18056              : (TARGET_SSE4_2 && ix86_pre_reload_split ()))
   18057              :             return -1;
   18058              :           return 7717; /* *avx2_lshrv2di3_1 */
   18059              : 
   18060              :         case 2:
   18061              :           switch (GET_MODE (operands[0]))
   18062              :             {
   18063              :             case E_V4DImode:
   18064              :               if (pattern956 (x2, 
   18065              : E_V4DImode) != 0
   18066              :                   || !(
   18067              : #line 17667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18068              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   18069              : #line 697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18070              : (TARGET_AVX2)))
   18071              :                 return -1;
   18072              :               return 7718; /* *avx2_lshrv4di3_2 */
   18073              : 
   18074              :             case E_V2DImode:
   18075              :               if (pattern956 (x2, 
   18076              : E_V2DImode) != 0
   18077              :                   || !
   18078              : #line 17667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18079              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   18080              :                 return -1;
   18081              :               return 7719; /* *avx2_lshrv2di3_2 */
   18082              : 
   18083              :             default:
   18084              :               return -1;
   18085              :             }
   18086              : 
   18087              :         default:
   18088              :           return -1;
   18089              :         }
   18090              : 
   18091              :     case REG:
   18092              :     case SUBREG:
   18093              :     case MEM:
   18094              :     case VEC_DUPLICATE:
   18095              :       return recog_305 (x1, insn, pnum_clobbers);
   18096              : 
   18097              :     case AND:
   18098              :       x4 = XEXP (x3, 0);
   18099              :       switch (GET_CODE (x4))
   18100              :         {
   18101              :         case REG:
   18102              :         case SUBREG:
   18103              :         case MEM:
   18104              :         case NOT:
   18105              :           switch (pattern535 (x2))
   18106              :             {
   18107              :             case 0:
   18108              :               if (!(
   18109              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18110              : ((64 == 64 || TARGET_AVX512VL
   18111              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18112              :    && ix86_pre_reload_split ()
   18113              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18114              :                     STRIP_UNARY (operands[4]))
   18115              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18116              :                        STRIP_UNARY (operands[4]))
   18117              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18118              :                        STRIP_UNARY (operands[3]))
   18119              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18120              :                        STRIP_UNARY (operands[3])))) && 
   18121              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18122              : (TARGET_AVX512F)))
   18123              :                 return -1;
   18124              :               return 5538; /* *avx512bw_vpternlogv64qi_1 */
   18125              : 
   18126              :             case 1:
   18127              :               if (!(
   18128              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18129              : ((32 == 64 || TARGET_AVX512VL
   18130              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18131              :    && ix86_pre_reload_split ()
   18132              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18133              :                     STRIP_UNARY (operands[4]))
   18134              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18135              :                        STRIP_UNARY (operands[4]))
   18136              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18137              :                        STRIP_UNARY (operands[3]))
   18138              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18139              :                        STRIP_UNARY (operands[3])))) && 
   18140              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18141              : (TARGET_AVX)))
   18142              :                 return -1;
   18143              :               return 5565; /* *avx512vl_vpternlogv32qi_1 */
   18144              : 
   18145              :             case 2:
   18146              :               if (!
   18147              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18148              : ((16 == 64 || TARGET_AVX512VL
   18149              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18150              :    && ix86_pre_reload_split ()
   18151              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18152              :                     STRIP_UNARY (operands[4]))
   18153              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18154              :                        STRIP_UNARY (operands[4]))
   18155              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18156              :                        STRIP_UNARY (operands[3]))
   18157              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18158              :                        STRIP_UNARY (operands[3])))))
   18159              :                 return -1;
   18160              :               return 5592; /* *avx512vl_vpternlogv16qi_1 */
   18161              : 
   18162              :             case 3:
   18163              :               if (!(
   18164              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18165              : ((64 == 64 || TARGET_AVX512VL
   18166              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18167              :    && ix86_pre_reload_split ()
   18168              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18169              :                     STRIP_UNARY (operands[4]))
   18170              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18171              :                        STRIP_UNARY (operands[4]))
   18172              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18173              :                        STRIP_UNARY (operands[3]))
   18174              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18175              :                        STRIP_UNARY (operands[3])))) && 
   18176              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18177              : (TARGET_AVX512F)))
   18178              :                 return -1;
   18179              :               return 5619; /* *avx512bw_vpternlogv32hi_1 */
   18180              : 
   18181              :             case 4:
   18182              :               if (!(
   18183              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18184              : ((32 == 64 || TARGET_AVX512VL
   18185              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18186              :    && ix86_pre_reload_split ()
   18187              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18188              :                     STRIP_UNARY (operands[4]))
   18189              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18190              :                        STRIP_UNARY (operands[4]))
   18191              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18192              :                        STRIP_UNARY (operands[3]))
   18193              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18194              :                        STRIP_UNARY (operands[3])))) && 
   18195              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18196              : (TARGET_AVX)))
   18197              :                 return -1;
   18198              :               return 5646; /* *avx512vl_vpternlogv16hi_1 */
   18199              : 
   18200              :             case 5:
   18201              :               if (!
   18202              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18203              : ((16 == 64 || TARGET_AVX512VL
   18204              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18205              :    && ix86_pre_reload_split ()
   18206              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18207              :                     STRIP_UNARY (operands[4]))
   18208              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18209              :                        STRIP_UNARY (operands[4]))
   18210              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18211              :                        STRIP_UNARY (operands[3]))
   18212              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18213              :                        STRIP_UNARY (operands[3])))))
   18214              :                 return -1;
   18215              :               return 5673; /* *avx512vl_vpternlogv8hi_1 */
   18216              : 
   18217              :             case 6:
   18218              :               if (!(
   18219              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18220              : ((64 == 64 || TARGET_AVX512VL
   18221              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18222              :    && ix86_pre_reload_split ()
   18223              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18224              :                     STRIP_UNARY (operands[4]))
   18225              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18226              :                        STRIP_UNARY (operands[4]))
   18227              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18228              :                        STRIP_UNARY (operands[3]))
   18229              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18230              :                        STRIP_UNARY (operands[3])))) && 
   18231              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18232              : (TARGET_AVX512F)))
   18233              :                 return -1;
   18234              :               return 5700; /* *avx512f_vpternlogv16si_1 */
   18235              : 
   18236              :             case 7:
   18237              :               if (!(
   18238              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18239              : ((32 == 64 || TARGET_AVX512VL
   18240              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18241              :    && ix86_pre_reload_split ()
   18242              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18243              :                     STRIP_UNARY (operands[4]))
   18244              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18245              :                        STRIP_UNARY (operands[4]))
   18246              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18247              :                        STRIP_UNARY (operands[3]))
   18248              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18249              :                        STRIP_UNARY (operands[3])))) && 
   18250              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18251              : (TARGET_AVX)))
   18252              :                 return -1;
   18253              :               return 5727; /* *avx512vl_vpternlogv8si_1 */
   18254              : 
   18255              :             case 8:
   18256              :               if (!
   18257              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18258              : ((16 == 64 || TARGET_AVX512VL
   18259              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18260              :    && ix86_pre_reload_split ()
   18261              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18262              :                     STRIP_UNARY (operands[4]))
   18263              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18264              :                        STRIP_UNARY (operands[4]))
   18265              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18266              :                        STRIP_UNARY (operands[3]))
   18267              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18268              :                        STRIP_UNARY (operands[3])))))
   18269              :                 return -1;
   18270              :               return 5754; /* *avx512vl_vpternlogv4si_1 */
   18271              : 
   18272              :             case 9:
   18273              :               if (!(
   18274              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18275              : ((64 == 64 || TARGET_AVX512VL
   18276              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18277              :    && ix86_pre_reload_split ()
   18278              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18279              :                     STRIP_UNARY (operands[4]))
   18280              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18281              :                        STRIP_UNARY (operands[4]))
   18282              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18283              :                        STRIP_UNARY (operands[3]))
   18284              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18285              :                        STRIP_UNARY (operands[3])))) && 
   18286              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18287              : (TARGET_AVX512F)))
   18288              :                 return -1;
   18289              :               return 5781; /* *avx512f_vpternlogv8di_1 */
   18290              : 
   18291              :             case 10:
   18292              :               if (!(
   18293              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18294              : ((32 == 64 || TARGET_AVX512VL
   18295              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18296              :    && ix86_pre_reload_split ()
   18297              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18298              :                     STRIP_UNARY (operands[4]))
   18299              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18300              :                        STRIP_UNARY (operands[4]))
   18301              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18302              :                        STRIP_UNARY (operands[3]))
   18303              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18304              :                        STRIP_UNARY (operands[3])))) && 
   18305              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18306              : (TARGET_AVX)))
   18307              :                 return -1;
   18308              :               return 5808; /* *avx512vl_vpternlogv4di_1 */
   18309              : 
   18310              :             case 11:
   18311              :               if (!
   18312              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18313              : ((16 == 64 || TARGET_AVX512VL
   18314              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18315              :    && ix86_pre_reload_split ()
   18316              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18317              :                     STRIP_UNARY (operands[4]))
   18318              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18319              :                        STRIP_UNARY (operands[4]))
   18320              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18321              :                        STRIP_UNARY (operands[3]))
   18322              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18323              :                        STRIP_UNARY (operands[3])))))
   18324              :                 return -1;
   18325              :               return 5835; /* *avx512vl_vpternlogv2di_1 */
   18326              : 
   18327              :             case 12:
   18328              :               if (!(
   18329              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18330              : ((64 == 64 || TARGET_AVX512VL
   18331              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18332              :    && ix86_pre_reload_split ()
   18333              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18334              :                     STRIP_UNARY (operands[4]))
   18335              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18336              :                        STRIP_UNARY (operands[4]))
   18337              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18338              :                        STRIP_UNARY (operands[3]))
   18339              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18340              :                        STRIP_UNARY (operands[3])))) && 
   18341              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18342              : (TARGET_AVX512F)))
   18343              :                 return -1;
   18344              :               return 5541; /* *avx512bw_vpternlogv64qi_1 */
   18345              : 
   18346              :             case 13:
   18347              :               if (!(
   18348              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18349              : ((32 == 64 || TARGET_AVX512VL
   18350              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18351              :    && ix86_pre_reload_split ()
   18352              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18353              :                     STRIP_UNARY (operands[4]))
   18354              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18355              :                        STRIP_UNARY (operands[4]))
   18356              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18357              :                        STRIP_UNARY (operands[3]))
   18358              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18359              :                        STRIP_UNARY (operands[3])))) && 
   18360              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18361              : (TARGET_AVX)))
   18362              :                 return -1;
   18363              :               return 5568; /* *avx512vl_vpternlogv32qi_1 */
   18364              : 
   18365              :             case 14:
   18366              :               if (!
   18367              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18368              : ((16 == 64 || TARGET_AVX512VL
   18369              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18370              :    && ix86_pre_reload_split ()
   18371              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18372              :                     STRIP_UNARY (operands[4]))
   18373              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18374              :                        STRIP_UNARY (operands[4]))
   18375              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18376              :                        STRIP_UNARY (operands[3]))
   18377              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18378              :                        STRIP_UNARY (operands[3])))))
   18379              :                 return -1;
   18380              :               return 5595; /* *avx512vl_vpternlogv16qi_1 */
   18381              : 
   18382              :             case 15:
   18383              :               if (!(
   18384              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18385              : ((64 == 64 || TARGET_AVX512VL
   18386              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18387              :    && ix86_pre_reload_split ()
   18388              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18389              :                     STRIP_UNARY (operands[4]))
   18390              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18391              :                        STRIP_UNARY (operands[4]))
   18392              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18393              :                        STRIP_UNARY (operands[3]))
   18394              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18395              :                        STRIP_UNARY (operands[3])))) && 
   18396              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18397              : (TARGET_AVX512F)))
   18398              :                 return -1;
   18399              :               return 5622; /* *avx512bw_vpternlogv32hi_1 */
   18400              : 
   18401              :             case 16:
   18402              :               if (!(
   18403              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18404              : ((32 == 64 || TARGET_AVX512VL
   18405              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18406              :    && ix86_pre_reload_split ()
   18407              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18408              :                     STRIP_UNARY (operands[4]))
   18409              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18410              :                        STRIP_UNARY (operands[4]))
   18411              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18412              :                        STRIP_UNARY (operands[3]))
   18413              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18414              :                        STRIP_UNARY (operands[3])))) && 
   18415              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18416              : (TARGET_AVX)))
   18417              :                 return -1;
   18418              :               return 5649; /* *avx512vl_vpternlogv16hi_1 */
   18419              : 
   18420              :             case 17:
   18421              :               if (!
   18422              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18423              : ((16 == 64 || TARGET_AVX512VL
   18424              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18425              :    && ix86_pre_reload_split ()
   18426              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18427              :                     STRIP_UNARY (operands[4]))
   18428              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18429              :                        STRIP_UNARY (operands[4]))
   18430              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18431              :                        STRIP_UNARY (operands[3]))
   18432              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18433              :                        STRIP_UNARY (operands[3])))))
   18434              :                 return -1;
   18435              :               return 5676; /* *avx512vl_vpternlogv8hi_1 */
   18436              : 
   18437              :             case 18:
   18438              :               if (!(
   18439              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18440              : ((64 == 64 || TARGET_AVX512VL
   18441              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18442              :    && ix86_pre_reload_split ()
   18443              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18444              :                     STRIP_UNARY (operands[4]))
   18445              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18446              :                        STRIP_UNARY (operands[4]))
   18447              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18448              :                        STRIP_UNARY (operands[3]))
   18449              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18450              :                        STRIP_UNARY (operands[3])))) && 
   18451              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18452              : (TARGET_AVX512F)))
   18453              :                 return -1;
   18454              :               return 5703; /* *avx512f_vpternlogv16si_1 */
   18455              : 
   18456              :             case 19:
   18457              :               if (!(
   18458              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18459              : ((32 == 64 || TARGET_AVX512VL
   18460              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18461              :    && ix86_pre_reload_split ()
   18462              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18463              :                     STRIP_UNARY (operands[4]))
   18464              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18465              :                        STRIP_UNARY (operands[4]))
   18466              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18467              :                        STRIP_UNARY (operands[3]))
   18468              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18469              :                        STRIP_UNARY (operands[3])))) && 
   18470              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18471              : (TARGET_AVX)))
   18472              :                 return -1;
   18473              :               return 5730; /* *avx512vl_vpternlogv8si_1 */
   18474              : 
   18475              :             case 20:
   18476              :               if (!
   18477              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18478              : ((16 == 64 || TARGET_AVX512VL
   18479              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18480              :    && ix86_pre_reload_split ()
   18481              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18482              :                     STRIP_UNARY (operands[4]))
   18483              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18484              :                        STRIP_UNARY (operands[4]))
   18485              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18486              :                        STRIP_UNARY (operands[3]))
   18487              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18488              :                        STRIP_UNARY (operands[3])))))
   18489              :                 return -1;
   18490              :               return 5757; /* *avx512vl_vpternlogv4si_1 */
   18491              : 
   18492              :             case 21:
   18493              :               if (!(
   18494              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18495              : ((64 == 64 || TARGET_AVX512VL
   18496              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18497              :    && ix86_pre_reload_split ()
   18498              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18499              :                     STRIP_UNARY (operands[4]))
   18500              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18501              :                        STRIP_UNARY (operands[4]))
   18502              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18503              :                        STRIP_UNARY (operands[3]))
   18504              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18505              :                        STRIP_UNARY (operands[3])))) && 
   18506              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18507              : (TARGET_AVX512F)))
   18508              :                 return -1;
   18509              :               return 5784; /* *avx512f_vpternlogv8di_1 */
   18510              : 
   18511              :             case 22:
   18512              :               if (!(
   18513              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18514              : ((32 == 64 || TARGET_AVX512VL
   18515              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18516              :    && ix86_pre_reload_split ()
   18517              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18518              :                     STRIP_UNARY (operands[4]))
   18519              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18520              :                        STRIP_UNARY (operands[4]))
   18521              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18522              :                        STRIP_UNARY (operands[3]))
   18523              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18524              :                        STRIP_UNARY (operands[3])))) && 
   18525              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18526              : (TARGET_AVX)))
   18527              :                 return -1;
   18528              :               return 5811; /* *avx512vl_vpternlogv4di_1 */
   18529              : 
   18530              :             case 23:
   18531              :               if (!
   18532              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18533              : ((16 == 64 || TARGET_AVX512VL
   18534              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18535              :    && ix86_pre_reload_split ()
   18536              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18537              :                     STRIP_UNARY (operands[4]))
   18538              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18539              :                        STRIP_UNARY (operands[4]))
   18540              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18541              :                        STRIP_UNARY (operands[3]))
   18542              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18543              :                        STRIP_UNARY (operands[3])))))
   18544              :                 return -1;
   18545              :               return 5838; /* *avx512vl_vpternlogv2di_1 */
   18546              : 
   18547              :             case 24:
   18548              :               if (!(
   18549              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18550              : ((64 == 64 || TARGET_AVX512VL
   18551              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18552              :    && ix86_pre_reload_split ()
   18553              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18554              :                     STRIP_UNARY (operands[4]))
   18555              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18556              :                        STRIP_UNARY (operands[4]))
   18557              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18558              :                        STRIP_UNARY (operands[3]))
   18559              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18560              :                        STRIP_UNARY (operands[3])))) && 
   18561              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18562              : (TARGET_AVX512F)))
   18563              :                 return -1;
   18564              :               return 5544; /* *avx512bw_vpternlogv64qi_1 */
   18565              : 
   18566              :             case 25:
   18567              :               if (!(
   18568              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18569              : ((32 == 64 || TARGET_AVX512VL
   18570              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18571              :    && ix86_pre_reload_split ()
   18572              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18573              :                     STRIP_UNARY (operands[4]))
   18574              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18575              :                        STRIP_UNARY (operands[4]))
   18576              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18577              :                        STRIP_UNARY (operands[3]))
   18578              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18579              :                        STRIP_UNARY (operands[3])))) && 
   18580              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18581              : (TARGET_AVX)))
   18582              :                 return -1;
   18583              :               return 5571; /* *avx512vl_vpternlogv32qi_1 */
   18584              : 
   18585              :             case 26:
   18586              :               if (!
   18587              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18588              : ((16 == 64 || TARGET_AVX512VL
   18589              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18590              :    && ix86_pre_reload_split ()
   18591              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18592              :                     STRIP_UNARY (operands[4]))
   18593              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18594              :                        STRIP_UNARY (operands[4]))
   18595              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18596              :                        STRIP_UNARY (operands[3]))
   18597              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18598              :                        STRIP_UNARY (operands[3])))))
   18599              :                 return -1;
   18600              :               return 5598; /* *avx512vl_vpternlogv16qi_1 */
   18601              : 
   18602              :             case 27:
   18603              :               if (!(
   18604              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18605              : ((64 == 64 || TARGET_AVX512VL
   18606              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18607              :    && ix86_pre_reload_split ()
   18608              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18609              :                     STRIP_UNARY (operands[4]))
   18610              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18611              :                        STRIP_UNARY (operands[4]))
   18612              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18613              :                        STRIP_UNARY (operands[3]))
   18614              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18615              :                        STRIP_UNARY (operands[3])))) && 
   18616              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18617              : (TARGET_AVX512F)))
   18618              :                 return -1;
   18619              :               return 5625; /* *avx512bw_vpternlogv32hi_1 */
   18620              : 
   18621              :             case 28:
   18622              :               if (!(
   18623              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18624              : ((32 == 64 || TARGET_AVX512VL
   18625              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18626              :    && ix86_pre_reload_split ()
   18627              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18628              :                     STRIP_UNARY (operands[4]))
   18629              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18630              :                        STRIP_UNARY (operands[4]))
   18631              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18632              :                        STRIP_UNARY (operands[3]))
   18633              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18634              :                        STRIP_UNARY (operands[3])))) && 
   18635              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18636              : (TARGET_AVX)))
   18637              :                 return -1;
   18638              :               return 5652; /* *avx512vl_vpternlogv16hi_1 */
   18639              : 
   18640              :             case 29:
   18641              :               if (!
   18642              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18643              : ((16 == 64 || TARGET_AVX512VL
   18644              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18645              :    && ix86_pre_reload_split ()
   18646              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18647              :                     STRIP_UNARY (operands[4]))
   18648              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18649              :                        STRIP_UNARY (operands[4]))
   18650              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18651              :                        STRIP_UNARY (operands[3]))
   18652              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18653              :                        STRIP_UNARY (operands[3])))))
   18654              :                 return -1;
   18655              :               return 5679; /* *avx512vl_vpternlogv8hi_1 */
   18656              : 
   18657              :             case 30:
   18658              :               if (!(
   18659              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18660              : ((64 == 64 || TARGET_AVX512VL
   18661              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18662              :    && ix86_pre_reload_split ()
   18663              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18664              :                     STRIP_UNARY (operands[4]))
   18665              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18666              :                        STRIP_UNARY (operands[4]))
   18667              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18668              :                        STRIP_UNARY (operands[3]))
   18669              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18670              :                        STRIP_UNARY (operands[3])))) && 
   18671              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18672              : (TARGET_AVX512F)))
   18673              :                 return -1;
   18674              :               return 5706; /* *avx512f_vpternlogv16si_1 */
   18675              : 
   18676              :             case 31:
   18677              :               if (!(
   18678              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18679              : ((32 == 64 || TARGET_AVX512VL
   18680              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18681              :    && ix86_pre_reload_split ()
   18682              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18683              :                     STRIP_UNARY (operands[4]))
   18684              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18685              :                        STRIP_UNARY (operands[4]))
   18686              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18687              :                        STRIP_UNARY (operands[3]))
   18688              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18689              :                        STRIP_UNARY (operands[3])))) && 
   18690              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18691              : (TARGET_AVX)))
   18692              :                 return -1;
   18693              :               return 5733; /* *avx512vl_vpternlogv8si_1 */
   18694              : 
   18695              :             case 32:
   18696              :               if (!
   18697              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18698              : ((16 == 64 || TARGET_AVX512VL
   18699              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18700              :    && ix86_pre_reload_split ()
   18701              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18702              :                     STRIP_UNARY (operands[4]))
   18703              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18704              :                        STRIP_UNARY (operands[4]))
   18705              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18706              :                        STRIP_UNARY (operands[3]))
   18707              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18708              :                        STRIP_UNARY (operands[3])))))
   18709              :                 return -1;
   18710              :               return 5760; /* *avx512vl_vpternlogv4si_1 */
   18711              : 
   18712              :             case 33:
   18713              :               if (!(
   18714              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18715              : ((64 == 64 || TARGET_AVX512VL
   18716              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18717              :    && ix86_pre_reload_split ()
   18718              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18719              :                     STRIP_UNARY (operands[4]))
   18720              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18721              :                        STRIP_UNARY (operands[4]))
   18722              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18723              :                        STRIP_UNARY (operands[3]))
   18724              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18725              :                        STRIP_UNARY (operands[3])))) && 
   18726              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18727              : (TARGET_AVX512F)))
   18728              :                 return -1;
   18729              :               return 5787; /* *avx512f_vpternlogv8di_1 */
   18730              : 
   18731              :             case 34:
   18732              :               if (!(
   18733              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18734              : ((32 == 64 || TARGET_AVX512VL
   18735              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18736              :    && ix86_pre_reload_split ()
   18737              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18738              :                     STRIP_UNARY (operands[4]))
   18739              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18740              :                        STRIP_UNARY (operands[4]))
   18741              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18742              :                        STRIP_UNARY (operands[3]))
   18743              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18744              :                        STRIP_UNARY (operands[3])))) && 
   18745              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18746              : (TARGET_AVX)))
   18747              :                 return -1;
   18748              :               return 5814; /* *avx512vl_vpternlogv4di_1 */
   18749              : 
   18750              :             case 35:
   18751              :               if (!
   18752              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18753              : ((16 == 64 || TARGET_AVX512VL
   18754              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18755              :    && ix86_pre_reload_split ()
   18756              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18757              :                     STRIP_UNARY (operands[4]))
   18758              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18759              :                        STRIP_UNARY (operands[4]))
   18760              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18761              :                        STRIP_UNARY (operands[3]))
   18762              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18763              :                        STRIP_UNARY (operands[3])))))
   18764              :                 return -1;
   18765              :               return 5841; /* *avx512vl_vpternlogv2di_1 */
   18766              : 
   18767              :             case 36:
   18768              :               if (!(
   18769              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18770              : ((64 == 64 || TARGET_AVX512VL
   18771              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18772              :    && ix86_pre_reload_split ()) && 
   18773              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18774              : (TARGET_AVX512F)))
   18775              :                 return -1;
   18776              :               return 6834; /* *avx512bw_vpternlogv64qi_3 */
   18777              : 
   18778              :             case 37:
   18779              :               if (!(
   18780              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18781              : ((32 == 64 || TARGET_AVX512VL
   18782              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18783              :    && ix86_pre_reload_split ()) && 
   18784              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18785              : (TARGET_AVX)))
   18786              :                 return -1;
   18787              :               return 6843; /* *avx512vl_vpternlogv32qi_3 */
   18788              : 
   18789              :             case 38:
   18790              :               if (!
   18791              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18792              : ((16 == 64 || TARGET_AVX512VL
   18793              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18794              :    && ix86_pre_reload_split ()))
   18795              :                 return -1;
   18796              :               return 6852; /* *avx512vl_vpternlogv16qi_3 */
   18797              : 
   18798              :             case 39:
   18799              :               if (!(
   18800              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18801              : ((64 == 64 || TARGET_AVX512VL
   18802              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18803              :    && ix86_pre_reload_split ()) && 
   18804              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18805              : (TARGET_AVX512F)))
   18806              :                 return -1;
   18807              :               return 6861; /* *avx512bw_vpternlogv32hi_3 */
   18808              : 
   18809              :             case 40:
   18810              :               if (!(
   18811              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18812              : ((32 == 64 || TARGET_AVX512VL
   18813              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18814              :    && ix86_pre_reload_split ()) && 
   18815              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18816              : (TARGET_AVX)))
   18817              :                 return -1;
   18818              :               return 6870; /* *avx512vl_vpternlogv16hi_3 */
   18819              : 
   18820              :             case 41:
   18821              :               if (!
   18822              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18823              : ((16 == 64 || TARGET_AVX512VL
   18824              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18825              :    && ix86_pre_reload_split ()))
   18826              :                 return -1;
   18827              :               return 6879; /* *avx512vl_vpternlogv8hi_3 */
   18828              : 
   18829              :             case 42:
   18830              :               if (!(
   18831              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18832              : ((64 == 64 || TARGET_AVX512VL
   18833              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18834              :    && ix86_pre_reload_split ()) && 
   18835              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18836              : (TARGET_AVX512F)))
   18837              :                 return -1;
   18838              :               return 6888; /* *avx512f_vpternlogv16si_3 */
   18839              : 
   18840              :             case 43:
   18841              :               if (!(
   18842              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18843              : ((32 == 64 || TARGET_AVX512VL
   18844              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18845              :    && ix86_pre_reload_split ()) && 
   18846              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18847              : (TARGET_AVX)))
   18848              :                 return -1;
   18849              :               return 6897; /* *avx512vl_vpternlogv8si_3 */
   18850              : 
   18851              :             case 44:
   18852              :               if (!
   18853              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18854              : ((16 == 64 || TARGET_AVX512VL
   18855              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18856              :    && ix86_pre_reload_split ()))
   18857              :                 return -1;
   18858              :               return 6906; /* *avx512vl_vpternlogv4si_3 */
   18859              : 
   18860              :             case 45:
   18861              :               if (!(
   18862              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18863              : ((64 == 64 || TARGET_AVX512VL
   18864              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18865              :    && ix86_pre_reload_split ()) && 
   18866              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18867              : (TARGET_AVX512F)))
   18868              :                 return -1;
   18869              :               return 6915; /* *avx512f_vpternlogv8di_3 */
   18870              : 
   18871              :             case 46:
   18872              :               if (!(
   18873              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18874              : ((32 == 64 || TARGET_AVX512VL
   18875              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18876              :    && ix86_pre_reload_split ()) && 
   18877              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18878              : (TARGET_AVX)))
   18879              :                 return -1;
   18880              :               return 6924; /* *avx512vl_vpternlogv4di_3 */
   18881              : 
   18882              :             case 47:
   18883              :               if (!
   18884              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18885              : ((16 == 64 || TARGET_AVX512VL
   18886              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18887              :    && ix86_pre_reload_split ()))
   18888              :                 return -1;
   18889              :               return 6933; /* *avx512vl_vpternlogv2di_3 */
   18890              : 
   18891              :             default:
   18892              :               return -1;
   18893              :             }
   18894              : 
   18895              :         case AND:
   18896              :           switch (pattern537 (x2))
   18897              :             {
   18898              :             case 0:
   18899              :               if (!(
   18900              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18901              : ((64 == 64 || TARGET_AVX512VL
   18902              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18903              :    && ix86_pre_reload_split ()
   18904              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18905              :                     STRIP_UNARY (operands[4]))
   18906              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18907              :                        STRIP_UNARY (operands[4]))
   18908              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18909              :                        STRIP_UNARY (operands[3]))
   18910              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18911              :                        STRIP_UNARY (operands[3])))) && 
   18912              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18913              : (TARGET_AVX512F)))
   18914              :                 return -1;
   18915              :               return 6186; /* *avx512bw_vpternlogv64qi_2 */
   18916              : 
   18917              :             case 1:
   18918              :               if (!(
   18919              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18920              : ((32 == 64 || TARGET_AVX512VL
   18921              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18922              :    && ix86_pre_reload_split ()
   18923              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18924              :                     STRIP_UNARY (operands[4]))
   18925              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18926              :                        STRIP_UNARY (operands[4]))
   18927              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18928              :                        STRIP_UNARY (operands[3]))
   18929              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18930              :                        STRIP_UNARY (operands[3])))) && 
   18931              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18932              : (TARGET_AVX)))
   18933              :                 return -1;
   18934              :               return 6213; /* *avx512vl_vpternlogv32qi_2 */
   18935              : 
   18936              :             case 2:
   18937              :               if (!
   18938              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18939              : ((16 == 64 || TARGET_AVX512VL
   18940              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18941              :    && ix86_pre_reload_split ()
   18942              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18943              :                     STRIP_UNARY (operands[4]))
   18944              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18945              :                        STRIP_UNARY (operands[4]))
   18946              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18947              :                        STRIP_UNARY (operands[3]))
   18948              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18949              :                        STRIP_UNARY (operands[3])))))
   18950              :                 return -1;
   18951              :               return 6240; /* *avx512vl_vpternlogv16qi_2 */
   18952              : 
   18953              :             case 3:
   18954              :               if (!(
   18955              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18956              : ((64 == 64 || TARGET_AVX512VL
   18957              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18958              :    && ix86_pre_reload_split ()
   18959              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18960              :                     STRIP_UNARY (operands[4]))
   18961              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18962              :                        STRIP_UNARY (operands[4]))
   18963              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18964              :                        STRIP_UNARY (operands[3]))
   18965              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18966              :                        STRIP_UNARY (operands[3])))) && 
   18967              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18968              : (TARGET_AVX512F)))
   18969              :                 return -1;
   18970              :               return 6267; /* *avx512bw_vpternlogv32hi_2 */
   18971              : 
   18972              :             case 4:
   18973              :               if (!(
   18974              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18975              : ((32 == 64 || TARGET_AVX512VL
   18976              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18977              :    && ix86_pre_reload_split ()
   18978              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18979              :                     STRIP_UNARY (operands[4]))
   18980              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18981              :                        STRIP_UNARY (operands[4]))
   18982              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18983              :                        STRIP_UNARY (operands[3]))
   18984              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18985              :                        STRIP_UNARY (operands[3])))) && 
   18986              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18987              : (TARGET_AVX)))
   18988              :                 return -1;
   18989              :               return 6294; /* *avx512vl_vpternlogv16hi_2 */
   18990              : 
   18991              :             case 5:
   18992              :               if (!
   18993              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18994              : ((16 == 64 || TARGET_AVX512VL
   18995              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18996              :    && ix86_pre_reload_split ()
   18997              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18998              :                     STRIP_UNARY (operands[4]))
   18999              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19000              :                        STRIP_UNARY (operands[4]))
   19001              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19002              :                        STRIP_UNARY (operands[3]))
   19003              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19004              :                        STRIP_UNARY (operands[3])))))
   19005              :                 return -1;
   19006              :               return 6321; /* *avx512vl_vpternlogv8hi_2 */
   19007              : 
   19008              :             case 6:
   19009              :               if (!(
   19010              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19011              : ((64 == 64 || TARGET_AVX512VL
   19012              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19013              :    && ix86_pre_reload_split ()
   19014              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19015              :                     STRIP_UNARY (operands[4]))
   19016              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19017              :                        STRIP_UNARY (operands[4]))
   19018              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19019              :                        STRIP_UNARY (operands[3]))
   19020              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19021              :                        STRIP_UNARY (operands[3])))) && 
   19022              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19023              : (TARGET_AVX512F)))
   19024              :                 return -1;
   19025              :               return 6348; /* *avx512f_vpternlogv16si_2 */
   19026              : 
   19027              :             case 7:
   19028              :               if (!(
   19029              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19030              : ((32 == 64 || TARGET_AVX512VL
   19031              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19032              :    && ix86_pre_reload_split ()
   19033              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19034              :                     STRIP_UNARY (operands[4]))
   19035              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19036              :                        STRIP_UNARY (operands[4]))
   19037              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19038              :                        STRIP_UNARY (operands[3]))
   19039              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19040              :                        STRIP_UNARY (operands[3])))) && 
   19041              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19042              : (TARGET_AVX)))
   19043              :                 return -1;
   19044              :               return 6375; /* *avx512vl_vpternlogv8si_2 */
   19045              : 
   19046              :             case 8:
   19047              :               if (!
   19048              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19049              : ((16 == 64 || TARGET_AVX512VL
   19050              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19051              :    && ix86_pre_reload_split ()
   19052              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19053              :                     STRIP_UNARY (operands[4]))
   19054              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19055              :                        STRIP_UNARY (operands[4]))
   19056              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19057              :                        STRIP_UNARY (operands[3]))
   19058              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19059              :                        STRIP_UNARY (operands[3])))))
   19060              :                 return -1;
   19061              :               return 6402; /* *avx512vl_vpternlogv4si_2 */
   19062              : 
   19063              :             case 9:
   19064              :               if (!(
   19065              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19066              : ((64 == 64 || TARGET_AVX512VL
   19067              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19068              :    && ix86_pre_reload_split ()
   19069              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19070              :                     STRIP_UNARY (operands[4]))
   19071              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19072              :                        STRIP_UNARY (operands[4]))
   19073              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19074              :                        STRIP_UNARY (operands[3]))
   19075              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19076              :                        STRIP_UNARY (operands[3])))) && 
   19077              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19078              : (TARGET_AVX512F)))
   19079              :                 return -1;
   19080              :               return 6429; /* *avx512f_vpternlogv8di_2 */
   19081              : 
   19082              :             case 10:
   19083              :               if (!(
   19084              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19085              : ((32 == 64 || TARGET_AVX512VL
   19086              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19087              :    && ix86_pre_reload_split ()
   19088              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19089              :                     STRIP_UNARY (operands[4]))
   19090              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19091              :                        STRIP_UNARY (operands[4]))
   19092              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19093              :                        STRIP_UNARY (operands[3]))
   19094              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19095              :                        STRIP_UNARY (operands[3])))) && 
   19096              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19097              : (TARGET_AVX)))
   19098              :                 return -1;
   19099              :               return 6456; /* *avx512vl_vpternlogv4di_2 */
   19100              : 
   19101              :             case 11:
   19102              :               if (!
   19103              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19104              : ((16 == 64 || TARGET_AVX512VL
   19105              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19106              :    && ix86_pre_reload_split ()
   19107              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19108              :                     STRIP_UNARY (operands[4]))
   19109              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19110              :                        STRIP_UNARY (operands[4]))
   19111              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19112              :                        STRIP_UNARY (operands[3]))
   19113              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19114              :                        STRIP_UNARY (operands[3])))))
   19115              :                 return -1;
   19116              :               return 6483; /* *avx512vl_vpternlogv2di_2 */
   19117              : 
   19118              :             default:
   19119              :               return -1;
   19120              :             }
   19121              : 
   19122              :         case IOR:
   19123              :           switch (pattern537 (x2))
   19124              :             {
   19125              :             case 0:
   19126              :               if (!(
   19127              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19128              : ((64 == 64 || TARGET_AVX512VL
   19129              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19130              :    && ix86_pre_reload_split ()
   19131              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19132              :                     STRIP_UNARY (operands[4]))
   19133              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19134              :                        STRIP_UNARY (operands[4]))
   19135              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19136              :                        STRIP_UNARY (operands[3]))
   19137              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19138              :                        STRIP_UNARY (operands[3])))) && 
   19139              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19140              : (TARGET_AVX512F)))
   19141              :                 return -1;
   19142              :               return 6189; /* *avx512bw_vpternlogv64qi_2 */
   19143              : 
   19144              :             case 1:
   19145              :               if (!(
   19146              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19147              : ((32 == 64 || TARGET_AVX512VL
   19148              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19149              :    && ix86_pre_reload_split ()
   19150              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19151              :                     STRIP_UNARY (operands[4]))
   19152              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19153              :                        STRIP_UNARY (operands[4]))
   19154              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19155              :                        STRIP_UNARY (operands[3]))
   19156              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19157              :                        STRIP_UNARY (operands[3])))) && 
   19158              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19159              : (TARGET_AVX)))
   19160              :                 return -1;
   19161              :               return 6216; /* *avx512vl_vpternlogv32qi_2 */
   19162              : 
   19163              :             case 2:
   19164              :               if (!
   19165              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19166              : ((16 == 64 || TARGET_AVX512VL
   19167              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19168              :    && ix86_pre_reload_split ()
   19169              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19170              :                     STRIP_UNARY (operands[4]))
   19171              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19172              :                        STRIP_UNARY (operands[4]))
   19173              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19174              :                        STRIP_UNARY (operands[3]))
   19175              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19176              :                        STRIP_UNARY (operands[3])))))
   19177              :                 return -1;
   19178              :               return 6243; /* *avx512vl_vpternlogv16qi_2 */
   19179              : 
   19180              :             case 3:
   19181              :               if (!(
   19182              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19183              : ((64 == 64 || TARGET_AVX512VL
   19184              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19185              :    && ix86_pre_reload_split ()
   19186              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19187              :                     STRIP_UNARY (operands[4]))
   19188              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19189              :                        STRIP_UNARY (operands[4]))
   19190              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19191              :                        STRIP_UNARY (operands[3]))
   19192              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19193              :                        STRIP_UNARY (operands[3])))) && 
   19194              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19195              : (TARGET_AVX512F)))
   19196              :                 return -1;
   19197              :               return 6270; /* *avx512bw_vpternlogv32hi_2 */
   19198              : 
   19199              :             case 4:
   19200              :               if (!(
   19201              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19202              : ((32 == 64 || TARGET_AVX512VL
   19203              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19204              :    && ix86_pre_reload_split ()
   19205              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19206              :                     STRIP_UNARY (operands[4]))
   19207              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19208              :                        STRIP_UNARY (operands[4]))
   19209              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19210              :                        STRIP_UNARY (operands[3]))
   19211              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19212              :                        STRIP_UNARY (operands[3])))) && 
   19213              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19214              : (TARGET_AVX)))
   19215              :                 return -1;
   19216              :               return 6297; /* *avx512vl_vpternlogv16hi_2 */
   19217              : 
   19218              :             case 5:
   19219              :               if (!
   19220              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19221              : ((16 == 64 || TARGET_AVX512VL
   19222              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19223              :    && ix86_pre_reload_split ()
   19224              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19225              :                     STRIP_UNARY (operands[4]))
   19226              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19227              :                        STRIP_UNARY (operands[4]))
   19228              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19229              :                        STRIP_UNARY (operands[3]))
   19230              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19231              :                        STRIP_UNARY (operands[3])))))
   19232              :                 return -1;
   19233              :               return 6324; /* *avx512vl_vpternlogv8hi_2 */
   19234              : 
   19235              :             case 6:
   19236              :               if (!(
   19237              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19238              : ((64 == 64 || TARGET_AVX512VL
   19239              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19240              :    && ix86_pre_reload_split ()
   19241              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19242              :                     STRIP_UNARY (operands[4]))
   19243              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19244              :                        STRIP_UNARY (operands[4]))
   19245              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19246              :                        STRIP_UNARY (operands[3]))
   19247              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19248              :                        STRIP_UNARY (operands[3])))) && 
   19249              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19250              : (TARGET_AVX512F)))
   19251              :                 return -1;
   19252              :               return 6351; /* *avx512f_vpternlogv16si_2 */
   19253              : 
   19254              :             case 7:
   19255              :               if (!(
   19256              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19257              : ((32 == 64 || TARGET_AVX512VL
   19258              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19259              :    && ix86_pre_reload_split ()
   19260              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19261              :                     STRIP_UNARY (operands[4]))
   19262              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19263              :                        STRIP_UNARY (operands[4]))
   19264              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19265              :                        STRIP_UNARY (operands[3]))
   19266              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19267              :                        STRIP_UNARY (operands[3])))) && 
   19268              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19269              : (TARGET_AVX)))
   19270              :                 return -1;
   19271              :               return 6378; /* *avx512vl_vpternlogv8si_2 */
   19272              : 
   19273              :             case 8:
   19274              :               if (!
   19275              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19276              : ((16 == 64 || TARGET_AVX512VL
   19277              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19278              :    && ix86_pre_reload_split ()
   19279              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19280              :                     STRIP_UNARY (operands[4]))
   19281              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19282              :                        STRIP_UNARY (operands[4]))
   19283              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19284              :                        STRIP_UNARY (operands[3]))
   19285              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19286              :                        STRIP_UNARY (operands[3])))))
   19287              :                 return -1;
   19288              :               return 6405; /* *avx512vl_vpternlogv4si_2 */
   19289              : 
   19290              :             case 9:
   19291              :               if (!(
   19292              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19293              : ((64 == 64 || TARGET_AVX512VL
   19294              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19295              :    && ix86_pre_reload_split ()
   19296              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19297              :                     STRIP_UNARY (operands[4]))
   19298              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19299              :                        STRIP_UNARY (operands[4]))
   19300              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19301              :                        STRIP_UNARY (operands[3]))
   19302              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19303              :                        STRIP_UNARY (operands[3])))) && 
   19304              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19305              : (TARGET_AVX512F)))
   19306              :                 return -1;
   19307              :               return 6432; /* *avx512f_vpternlogv8di_2 */
   19308              : 
   19309              :             case 10:
   19310              :               if (!(
   19311              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19312              : ((32 == 64 || TARGET_AVX512VL
   19313              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19314              :    && ix86_pre_reload_split ()
   19315              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19316              :                     STRIP_UNARY (operands[4]))
   19317              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19318              :                        STRIP_UNARY (operands[4]))
   19319              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19320              :                        STRIP_UNARY (operands[3]))
   19321              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19322              :                        STRIP_UNARY (operands[3])))) && 
   19323              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19324              : (TARGET_AVX)))
   19325              :                 return -1;
   19326              :               return 6459; /* *avx512vl_vpternlogv4di_2 */
   19327              : 
   19328              :             case 11:
   19329              :               if (!
   19330              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19331              : ((16 == 64 || TARGET_AVX512VL
   19332              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19333              :    && ix86_pre_reload_split ()
   19334              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19335              :                     STRIP_UNARY (operands[4]))
   19336              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19337              :                        STRIP_UNARY (operands[4]))
   19338              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19339              :                        STRIP_UNARY (operands[3]))
   19340              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19341              :                        STRIP_UNARY (operands[3])))))
   19342              :                 return -1;
   19343              :               return 6486; /* *avx512vl_vpternlogv2di_2 */
   19344              : 
   19345              :             default:
   19346              :               return -1;
   19347              :             }
   19348              : 
   19349              :         case XOR:
   19350              :           switch (pattern537 (x2))
   19351              :             {
   19352              :             case 0:
   19353              :               if (!(
   19354              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19355              : ((64 == 64 || TARGET_AVX512VL
   19356              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19357              :    && ix86_pre_reload_split ()
   19358              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19359              :                     STRIP_UNARY (operands[4]))
   19360              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19361              :                        STRIP_UNARY (operands[4]))
   19362              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19363              :                        STRIP_UNARY (operands[3]))
   19364              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19365              :                        STRIP_UNARY (operands[3])))) && 
   19366              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19367              : (TARGET_AVX512F)))
   19368              :                 return -1;
   19369              :               return 6192; /* *avx512bw_vpternlogv64qi_2 */
   19370              : 
   19371              :             case 1:
   19372              :               if (!(
   19373              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19374              : ((32 == 64 || TARGET_AVX512VL
   19375              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19376              :    && ix86_pre_reload_split ()
   19377              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19378              :                     STRIP_UNARY (operands[4]))
   19379              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19380              :                        STRIP_UNARY (operands[4]))
   19381              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19382              :                        STRIP_UNARY (operands[3]))
   19383              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19384              :                        STRIP_UNARY (operands[3])))) && 
   19385              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19386              : (TARGET_AVX)))
   19387              :                 return -1;
   19388              :               return 6219; /* *avx512vl_vpternlogv32qi_2 */
   19389              : 
   19390              :             case 2:
   19391              :               if (!
   19392              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19393              : ((16 == 64 || TARGET_AVX512VL
   19394              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19395              :    && ix86_pre_reload_split ()
   19396              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19397              :                     STRIP_UNARY (operands[4]))
   19398              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19399              :                        STRIP_UNARY (operands[4]))
   19400              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19401              :                        STRIP_UNARY (operands[3]))
   19402              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19403              :                        STRIP_UNARY (operands[3])))))
   19404              :                 return -1;
   19405              :               return 6246; /* *avx512vl_vpternlogv16qi_2 */
   19406              : 
   19407              :             case 3:
   19408              :               if (!(
   19409              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19410              : ((64 == 64 || TARGET_AVX512VL
   19411              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19412              :    && ix86_pre_reload_split ()
   19413              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19414              :                     STRIP_UNARY (operands[4]))
   19415              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19416              :                        STRIP_UNARY (operands[4]))
   19417              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19418              :                        STRIP_UNARY (operands[3]))
   19419              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19420              :                        STRIP_UNARY (operands[3])))) && 
   19421              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19422              : (TARGET_AVX512F)))
   19423              :                 return -1;
   19424              :               return 6273; /* *avx512bw_vpternlogv32hi_2 */
   19425              : 
   19426              :             case 4:
   19427              :               if (!(
   19428              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19429              : ((32 == 64 || TARGET_AVX512VL
   19430              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19431              :    && ix86_pre_reload_split ()
   19432              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19433              :                     STRIP_UNARY (operands[4]))
   19434              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19435              :                        STRIP_UNARY (operands[4]))
   19436              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19437              :                        STRIP_UNARY (operands[3]))
   19438              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19439              :                        STRIP_UNARY (operands[3])))) && 
   19440              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19441              : (TARGET_AVX)))
   19442              :                 return -1;
   19443              :               return 6300; /* *avx512vl_vpternlogv16hi_2 */
   19444              : 
   19445              :             case 5:
   19446              :               if (!
   19447              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19448              : ((16 == 64 || TARGET_AVX512VL
   19449              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19450              :    && ix86_pre_reload_split ()
   19451              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19452              :                     STRIP_UNARY (operands[4]))
   19453              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19454              :                        STRIP_UNARY (operands[4]))
   19455              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19456              :                        STRIP_UNARY (operands[3]))
   19457              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19458              :                        STRIP_UNARY (operands[3])))))
   19459              :                 return -1;
   19460              :               return 6327; /* *avx512vl_vpternlogv8hi_2 */
   19461              : 
   19462              :             case 6:
   19463              :               if (!(
   19464              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19465              : ((64 == 64 || TARGET_AVX512VL
   19466              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19467              :    && ix86_pre_reload_split ()
   19468              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19469              :                     STRIP_UNARY (operands[4]))
   19470              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19471              :                        STRIP_UNARY (operands[4]))
   19472              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19473              :                        STRIP_UNARY (operands[3]))
   19474              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19475              :                        STRIP_UNARY (operands[3])))) && 
   19476              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19477              : (TARGET_AVX512F)))
   19478              :                 return -1;
   19479              :               return 6354; /* *avx512f_vpternlogv16si_2 */
   19480              : 
   19481              :             case 7:
   19482              :               if (!(
   19483              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19484              : ((32 == 64 || TARGET_AVX512VL
   19485              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19486              :    && ix86_pre_reload_split ()
   19487              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19488              :                     STRIP_UNARY (operands[4]))
   19489              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19490              :                        STRIP_UNARY (operands[4]))
   19491              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19492              :                        STRIP_UNARY (operands[3]))
   19493              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19494              :                        STRIP_UNARY (operands[3])))) && 
   19495              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19496              : (TARGET_AVX)))
   19497              :                 return -1;
   19498              :               return 6381; /* *avx512vl_vpternlogv8si_2 */
   19499              : 
   19500              :             case 8:
   19501              :               if (!
   19502              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19503              : ((16 == 64 || TARGET_AVX512VL
   19504              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19505              :    && ix86_pre_reload_split ()
   19506              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19507              :                     STRIP_UNARY (operands[4]))
   19508              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19509              :                        STRIP_UNARY (operands[4]))
   19510              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19511              :                        STRIP_UNARY (operands[3]))
   19512              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19513              :                        STRIP_UNARY (operands[3])))))
   19514              :                 return -1;
   19515              :               return 6408; /* *avx512vl_vpternlogv4si_2 */
   19516              : 
   19517              :             case 9:
   19518              :               if (!(
   19519              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19520              : ((64 == 64 || TARGET_AVX512VL
   19521              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19522              :    && ix86_pre_reload_split ()
   19523              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19524              :                     STRIP_UNARY (operands[4]))
   19525              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19526              :                        STRIP_UNARY (operands[4]))
   19527              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19528              :                        STRIP_UNARY (operands[3]))
   19529              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19530              :                        STRIP_UNARY (operands[3])))) && 
   19531              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19532              : (TARGET_AVX512F)))
   19533              :                 return -1;
   19534              :               return 6435; /* *avx512f_vpternlogv8di_2 */
   19535              : 
   19536              :             case 10:
   19537              :               if (!(
   19538              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19539              : ((32 == 64 || TARGET_AVX512VL
   19540              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19541              :    && ix86_pre_reload_split ()
   19542              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19543              :                     STRIP_UNARY (operands[4]))
   19544              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19545              :                        STRIP_UNARY (operands[4]))
   19546              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19547              :                        STRIP_UNARY (operands[3]))
   19548              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19549              :                        STRIP_UNARY (operands[3])))) && 
   19550              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19551              : (TARGET_AVX)))
   19552              :                 return -1;
   19553              :               return 6462; /* *avx512vl_vpternlogv4di_2 */
   19554              : 
   19555              :             case 11:
   19556              :               if (!
   19557              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19558              : ((16 == 64 || TARGET_AVX512VL
   19559              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19560              :    && ix86_pre_reload_split ()
   19561              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19562              :                     STRIP_UNARY (operands[4]))
   19563              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19564              :                        STRIP_UNARY (operands[4]))
   19565              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19566              :                        STRIP_UNARY (operands[3]))
   19567              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19568              :                        STRIP_UNARY (operands[3])))))
   19569              :                 return -1;
   19570              :               return 6489; /* *avx512vl_vpternlogv2di_2 */
   19571              : 
   19572              :             default:
   19573              :               return -1;
   19574              :             }
   19575              : 
   19576              :         default:
   19577              :           return -1;
   19578              :         }
   19579              : 
   19580              :     case IOR:
   19581              :       return recog_307 (x1, insn, pnum_clobbers);
   19582              : 
   19583              :     case XOR:
   19584              :       return recog_306 (x1, insn, pnum_clobbers);
   19585              : 
   19586              :     default:
   19587              :       return -1;
   19588              :     }
   19589              : }
   19590              : 
   19591              :  int
   19592              : recog_324 (rtx x1 ATTRIBUTE_UNUSED,
   19593              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   19594              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   19595              : {
   19596              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   19597              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   19598              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   19599              :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
   19600              :   rtx x26, x27, x28, x29, x30, x31, x32, x33;
   19601              :   rtx x34, x35, x36, x37, x38, x39, x40, x41;
   19602              :   rtx x42, x43, x44, x45, x46, x47;
   19603              :   int res ATTRIBUTE_UNUSED;
   19604              :   x2 = XEXP (x1, 0);
   19605              :   operands[0] = x2;
   19606              :   x3 = XEXP (x1, 1);
   19607              :   x4 = XEXP (x3, 0);
   19608              :   switch (GET_CODE (x4))
   19609              :     {
   19610              :     case REG:
   19611              :     case SUBREG:
   19612              :     case MEM:
   19613              :     case VEC_DUPLICATE:
   19614              :       switch (pattern190 (x3))
   19615              :         {
   19616              :         case 0:
   19617              :           if (!(
   19618              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19619              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V32HFmode, operands)
   19620              :    && 1 && 1) && 
   19621              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19622              : (TARGET_AVX512FP16)))
   19623              :             return -1;
   19624              :           return 2746; /* *addv32hf3 */
   19625              : 
   19626              :         case 1:
   19627              :           if (!(
   19628              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19629              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16HFmode, operands)
   19630              :    && 1 && 1) && 
   19631              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19632              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   19633              :             return -1;
   19634              :           return 2754; /* *addv16hf3 */
   19635              : 
   19636              :         case 2:
   19637              :           if (!(
   19638              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19639              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8HFmode, operands)
   19640              :    && 1 && 1) && 
   19641              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19642              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   19643              :             return -1;
   19644              :           return 2762; /* *addv8hf3 */
   19645              : 
   19646              :         case 3:
   19647              :           if (!(
   19648              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19649              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16SFmode, operands)
   19650              :    && 1 && 1) && 
   19651              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19652              : (TARGET_AVX512F)))
   19653              :             return -1;
   19654              :           return 2770; /* *addv16sf3 */
   19655              : 
   19656              :         case 4:
   19657              :           if (!(
   19658              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19659              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8SFmode, operands)
   19660              :    && 1 && 1) && 
   19661              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19662              : (TARGET_AVX)))
   19663              :             return -1;
   19664              :           return 2778; /* *addv8sf3 */
   19665              : 
   19666              :         case 5:
   19667              :           if (!
   19668              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19669              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4SFmode, operands)
   19670              :    && 1 && 1))
   19671              :             return -1;
   19672              :           return 2786; /* *addv4sf3 */
   19673              : 
   19674              :         case 6:
   19675              :           if (!(
   19676              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19677              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8DFmode, operands)
   19678              :    && 1 && 1) && 
   19679              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19680              : (TARGET_AVX512F)))
   19681              :             return -1;
   19682              :           return 2794; /* *addv8df3 */
   19683              : 
   19684              :         case 7:
   19685              :           if (!(
   19686              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19687              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4DFmode, operands)
   19688              :    && 1 && 1) && 
   19689              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19690              : (TARGET_AVX)))
   19691              :             return -1;
   19692              :           return 2802; /* *addv4df3 */
   19693              : 
   19694              :         case 8:
   19695              :           if (!(
   19696              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19697              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V2DFmode, operands)
   19698              :    && 1 && 1) && 
   19699              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19700              : (TARGET_SSE2)))
   19701              :             return -1;
   19702              :           return 2810; /* *addv2df3 */
   19703              : 
   19704              :         case 9:
   19705              :           if (!(
   19706              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19707              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V64QImode, operands)) && 
   19708              : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19709              : (TARGET_AVX512BW)))
   19710              :             return -1;
   19711              :           return 7499; /* *addv64qi3 */
   19712              : 
   19713              :         case 10:
   19714              :           if (!(
   19715              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19716              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V32QImode, operands)) && 
   19717              : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19718              : (TARGET_AVX2)))
   19719              :             return -1;
   19720              :           return 7501; /* *addv32qi3 */
   19721              : 
   19722              :         case 11:
   19723              :           if (!
   19724              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19725              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V16QImode, operands)))
   19726              :             return -1;
   19727              :           return 7503; /* *addv16qi3 */
   19728              : 
   19729              :         case 12:
   19730              :           if (!(
   19731              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19732              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V32HImode, operands)) && 
   19733              : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19734              : (TARGET_AVX512BW)))
   19735              :             return -1;
   19736              :           return 7505; /* *addv32hi3 */
   19737              : 
   19738              :         case 13:
   19739              :           if (!(
   19740              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19741              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V16HImode, operands)) && 
   19742              : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19743              : (TARGET_AVX2)))
   19744              :             return -1;
   19745              :           return 7507; /* *addv16hi3 */
   19746              : 
   19747              :         case 14:
   19748              :           if (!
   19749              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19750              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V8HImode, operands)))
   19751              :             return -1;
   19752              :           return 7509; /* *addv8hi3 */
   19753              : 
   19754              :         case 15:
   19755              :           if (!(
   19756              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19757              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V16SImode, operands)) && 
   19758              : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19759              : (TARGET_AVX512F)))
   19760              :             return -1;
   19761              :           return 7511; /* *addv16si3 */
   19762              : 
   19763              :         case 16:
   19764              :           if (!(
   19765              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19766              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V8SImode, operands)) && 
   19767              : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19768              : (TARGET_AVX2)))
   19769              :             return -1;
   19770              :           return 7513; /* *addv8si3 */
   19771              : 
   19772              :         case 17:
   19773              :           if (!
   19774              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19775              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V4SImode, operands)))
   19776              :             return -1;
   19777              :           return 7515; /* *addv4si3 */
   19778              : 
   19779              :         case 18:
   19780              :           if (!(
   19781              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19782              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V8DImode, operands)) && 
   19783              : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19784              : (TARGET_AVX512F)))
   19785              :             return -1;
   19786              :           return 7517; /* *addv8di3 */
   19787              : 
   19788              :         case 19:
   19789              :           if (!(
   19790              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19791              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V4DImode, operands)) && 
   19792              : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19793              : (TARGET_AVX2)))
   19794              :             return -1;
   19795              :           return 7519; /* *addv4di3 */
   19796              : 
   19797              :         case 20:
   19798              :           if (!
   19799              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19800              : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V2DImode, operands)))
   19801              :             return -1;
   19802              :           return 7521; /* *addv2di3 */
   19803              : 
   19804              :         case 21:
   19805              :           if (!
   19806              : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19807              : (TARGET_AVX10_2))
   19808              :             return -1;
   19809              :           return 10678; /* avx10_2_addbf16_v32bf */
   19810              : 
   19811              :         case 22:
   19812              :           if (!
   19813              : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19814              : (TARGET_AVX10_2))
   19815              :             return -1;
   19816              :           return 10686; /* avx10_2_addbf16_v16bf */
   19817              : 
   19818              :         case 23:
   19819              :           if (!
   19820              : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19821              : (TARGET_AVX10_2))
   19822              :             return -1;
   19823              :           return 10694; /* avx10_2_addbf16_v8bf */
   19824              : 
   19825              :         default:
   19826              :           return -1;
   19827              :         }
   19828              : 
   19829              :     case UNSPEC:
   19830              :       switch (pattern193 (x3))
   19831              :         {
   19832              :         case 0:
   19833              :           if (!
   19834              : #line 7521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19835              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19836              :   && ix86_pre_reload_split ()))
   19837              :             return -1;
   19838              :           return 4378; /* fma_v32hf_fadd_fmul */
   19839              : 
   19840              :         case 1:
   19841              :           if (!(
   19842              : #line 7521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19843              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19844              :   && ix86_pre_reload_split ()) && 
   19845              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19846              : (TARGET_AVX512VL)))
   19847              :             return -1;
   19848              :           return 4379; /* fma_v16hf_fadd_fmul */
   19849              : 
   19850              :         case 2:
   19851              :           if (!(
   19852              : #line 7521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19853              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19854              :   && ix86_pre_reload_split ()) && 
   19855              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19856              : (TARGET_AVX512VL)))
   19857              :             return -1;
   19858              :           return 4380; /* fma_v8hf_fadd_fmul */
   19859              : 
   19860              :         case 3:
   19861              :           if (!
   19862              : #line 7538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19863              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19864              :   && ix86_pre_reload_split ()))
   19865              :             return -1;
   19866              :           return 4381; /* fma_v32hf_fadd_fcmul */
   19867              : 
   19868              :         case 4:
   19869              :           if (!(
   19870              : #line 7538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19871              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19872              :   && ix86_pre_reload_split ()) && 
   19873              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19874              : (TARGET_AVX512VL)))
   19875              :             return -1;
   19876              :           return 4382; /* fma_v16hf_fadd_fcmul */
   19877              : 
   19878              :         case 5:
   19879              :           if (!(
   19880              : #line 7538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19881              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19882              :   && ix86_pre_reload_split ()) && 
   19883              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19884              : (TARGET_AVX512VL)))
   19885              :             return -1;
   19886              :           return 4383; /* fma_v8hf_fadd_fcmul */
   19887              : 
   19888              :         case 6:
   19889              :           if (!
   19890              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19891              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19892              :   && ix86_pre_reload_split ()))
   19893              :             return -1;
   19894              :           return 4384; /* fma_fmaddc_v32hf_fma_zero */
   19895              : 
   19896              :         case 7:
   19897              :           if (!(
   19898              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19899              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19900              :   && ix86_pre_reload_split ()) && 
   19901              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19902              : (TARGET_AVX512VL)))
   19903              :             return -1;
   19904              :           return 4386; /* fma_fmaddc_v16hf_fma_zero */
   19905              : 
   19906              :         case 8:
   19907              :           if (!(
   19908              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19909              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19910              :   && ix86_pre_reload_split ()) && 
   19911              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19912              : (TARGET_AVX512VL)))
   19913              :             return -1;
   19914              :           return 4388; /* fma_fmaddc_v8hf_fma_zero */
   19915              : 
   19916              :         case 9:
   19917              :           if (!
   19918              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19919              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19920              :   && ix86_pre_reload_split ()))
   19921              :             return -1;
   19922              :           return 4385; /* fma_fcmaddc_v32hf_fma_zero */
   19923              : 
   19924              :         case 10:
   19925              :           if (!(
   19926              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19927              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19928              :   && ix86_pre_reload_split ()) && 
   19929              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19930              : (TARGET_AVX512VL)))
   19931              :             return -1;
   19932              :           return 4387; /* fma_fcmaddc_v16hf_fma_zero */
   19933              : 
   19934              :         case 11:
   19935              :           if (!(
   19936              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19937              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   19938              :   && ix86_pre_reload_split ()) && 
   19939              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19940              : (TARGET_AVX512VL)))
   19941              :             return -1;
   19942              :           return 4389; /* fma_fcmaddc_v8hf_fma_zero */
   19943              : 
   19944              :         default:
   19945              :           return -1;
   19946              :         }
   19947              : 
   19948              :     case MULT:
   19949              :       x5 = XEXP (x4, 0);
   19950              :       switch (GET_CODE (x5))
   19951              :         {
   19952              :         case SIGN_EXTEND:
   19953              :           if (pattern332 (x4) != 0)
   19954              :             return -1;
   19955              :           x6 = XEXP (x5, 0);
   19956              :           x7 = XEXP (x6, 1);
   19957              :           switch (XVECLEN (x7, 0))
   19958              :             {
   19959              :             case 8:
   19960              :               if (pattern1321 (x4) != 0)
   19961              :                 return -1;
   19962              :               x8 = XEXP (x3, 1);
   19963              :               if (GET_CODE (x8) != MULT
   19964              :                   || GET_MODE (x8) != E_V8SImode)
   19965              :                 return -1;
   19966              :               x9 = XEXP (x8, 0);
   19967              :               if (GET_CODE (x9) != SIGN_EXTEND
   19968              :                   || GET_MODE (x9) != E_V8SImode)
   19969              :                 return -1;
   19970              :               x10 = XEXP (x9, 0);
   19971              :               if (GET_CODE (x10) != VEC_SELECT
   19972              :                   || GET_MODE (x10) != E_V8HImode)
   19973              :                 return -1;
   19974              :               x11 = XEXP (x10, 1);
   19975              :               if (GET_CODE (x11) != PARALLEL
   19976              :                   || pattern1894 (x11, 
   19977              : 8) != 0)
   19978              :                 return -1;
   19979              :               x12 = XEXP (x8, 1);
   19980              :               if (pattern1874 (x12, 
   19981              : E_V8HImode, 
   19982              : E_V8SImode) != 0)
   19983              :                 return -1;
   19984              :               x13 = XEXP (x12, 0);
   19985              :               x14 = XEXP (x13, 1);
   19986              :               if (pattern1911 (x14, 
   19987              : 8) != 0
   19988              :                   || !register_operand (operands[0], E_V8SImode)
   19989              :                   || GET_MODE (x3) != E_V8SImode
   19990              :                   || GET_MODE (x4) != E_V8SImode
   19991              :                   || GET_MODE (x5) != E_V8SImode
   19992              :                   || GET_MODE (x6) != E_V8HImode
   19993              :                   || !nonimmediate_operand (operands[1], E_V16HImode))
   19994              :                 return -1;
   19995              :               x15 = XEXP (x4, 1);
   19996              :               if (GET_MODE (x15) != E_V8SImode)
   19997              :                 return -1;
   19998              :               x16 = XEXP (x15, 0);
   19999              :               if (GET_MODE (x16) != E_V8HImode
   20000              :                   || !nonimmediate_operand (operands[2], E_V16HImode))
   20001              :                 return -1;
   20002              :               x17 = XEXP (x10, 0);
   20003              :               if (!rtx_equal_p (x17, operands[1]))
   20004              :                 return -1;
   20005              :               x18 = XEXP (x13, 0);
   20006              :               if (!rtx_equal_p (x18, operands[2])
   20007              :                   || !
   20008              : #line 17067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20009              : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20010              :                 return -1;
   20011              :               return 7631; /* *avx2_pmaddwd */
   20012              : 
   20013              :             case 4:
   20014              :               x19 = XVECEXP (x7, 0, 0);
   20015              :               if (GET_CODE (x19) != CONST_INT)
   20016              :                 return -1;
   20017              :               x20 = XVECEXP (x7, 0, 1);
   20018              :               if (GET_CODE (x20) != CONST_INT)
   20019              :                 return -1;
   20020              :               x21 = XVECEXP (x7, 0, 2);
   20021              :               if (GET_CODE (x21) != CONST_INT)
   20022              :                 return -1;
   20023              :               x22 = XVECEXP (x7, 0, 3);
   20024              :               if (GET_CODE (x22) != CONST_INT)
   20025              :                 return -1;
   20026              :               x15 = XEXP (x4, 1);
   20027              :               x16 = XEXP (x15, 0);
   20028              :               x23 = XEXP (x16, 1);
   20029              :               if (XVECLEN (x23, 0) != 4)
   20030              :                 return -1;
   20031              :               x24 = XVECEXP (x23, 0, 0);
   20032              :               if (GET_CODE (x24) != CONST_INT)
   20033              :                 return -1;
   20034              :               x25 = XVECEXP (x23, 0, 1);
   20035              :               if (GET_CODE (x25) != CONST_INT)
   20036              :                 return -1;
   20037              :               x26 = XVECEXP (x23, 0, 2);
   20038              :               if (GET_CODE (x26) != CONST_INT)
   20039              :                 return -1;
   20040              :               x27 = XVECEXP (x23, 0, 3);
   20041              :               if (GET_CODE (x27) != CONST_INT
   20042              :                   || pattern893 (x3, 
   20043              : E_V4HImode, 
   20044              : E_V4SImode) != 0
   20045              :                   || GET_MODE (x15) != E_V4SImode
   20046              :                   || GET_MODE (x16) != E_V4HImode)
   20047              :                 return -1;
   20048              :               switch (XWINT (x19, 0))
   20049              :                 {
   20050              :                 case 0L:
   20051              :                   if (XWINT (x20, 0) != 2L
   20052              :                       || XWINT (x21, 0) != 4L
   20053              :                       || XWINT (x22, 0) != 6L
   20054              :                       || XWINT (x24, 0) != 0L
   20055              :                       || XWINT (x25, 0) != 2L
   20056              :                       || XWINT (x26, 0) != 4L
   20057              :                       || XWINT (x27, 0) != 6L)
   20058              :                     return -1;
   20059              :                   x8 = XEXP (x3, 1);
   20060              :                   if (pattern1808 (x8, 
   20061              : E_V4HImode, 
   20062              : E_V4SImode, 
   20063              : SIGN_EXTEND) != 0
   20064              :                       || !vector_operand (operands[1], E_V8HImode)
   20065              :                       || !vector_operand (operands[2], E_V8HImode))
   20066              :                     return -1;
   20067              :                   x9 = XEXP (x8, 0);
   20068              :                   x10 = XEXP (x9, 0);
   20069              :                   x17 = XEXP (x10, 0);
   20070              :                   if (!rtx_equal_p (x17, operands[1]))
   20071              :                     return -1;
   20072              :                   x12 = XEXP (x8, 1);
   20073              :                   x13 = XEXP (x12, 0);
   20074              :                   x18 = XEXP (x13, 0);
   20075              :                   if (!rtx_equal_p (x18, operands[2])
   20076              :                       || !
   20077              : #line 17122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20078              : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   20079              :                     return -1;
   20080              :                   return 7632; /* *sse2_pmaddwd */
   20081              : 
   20082              :                 case 1L:
   20083              :                   if (XWINT (x20, 0) != 3L
   20084              :                       || XWINT (x21, 0) != 5L
   20085              :                       || XWINT (x22, 0) != 7L
   20086              :                       || XWINT (x24, 0) != 1L
   20087              :                       || XWINT (x25, 0) != 3L
   20088              :                       || XWINT (x26, 0) != 5L
   20089              :                       || XWINT (x27, 0) != 7L
   20090              :                       || !nonimmediate_operand (operands[1], E_V8HImode)
   20091              :                       || !nonimmediate_operand (operands[2], E_V8HImode))
   20092              :                     return -1;
   20093              :                   x8 = XEXP (x3, 1);
   20094              :                   operands[3] = x8;
   20095              :                   if (!register_operand (operands[3], E_V4SImode)
   20096              :                       || !
   20097              : #line 26782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20098              : (TARGET_XOP))
   20099              :                     return -1;
   20100              :                   return 9048; /* xop_pmacswd */
   20101              : 
   20102              :                 default:
   20103              :                   return -1;
   20104              :                 }
   20105              : 
   20106              :             case 2:
   20107              :               if (pattern1322 (x3) != 0)
   20108              :                 return -1;
   20109              :               x15 = XEXP (x4, 1);
   20110              :               if (GET_MODE (x15) != E_V2DImode)
   20111              :                 return -1;
   20112              :               x16 = XEXP (x15, 0);
   20113              :               if (GET_MODE (x16) != E_V2SImode
   20114              :                   || !nonimmediate_operand (operands[2], E_V4SImode))
   20115              :                 return -1;
   20116              :               x8 = XEXP (x3, 1);
   20117              :               operands[3] = x8;
   20118              :               switch (pattern1858 (x4))
   20119              :                 {
   20120              :                 case 0:
   20121              :                   if (!
   20122              : #line 26741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20123              : (TARGET_XOP))
   20124              :                     return -1;
   20125              :                   return 9044; /* xop_pmacsdql */
   20126              : 
   20127              :                 case 1:
   20128              :                   if (!
   20129              : #line 26760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20130              : (TARGET_XOP))
   20131              :                     return -1;
   20132              :                   return 9046; /* xop_pmacsdqh */
   20133              : 
   20134              :                 default:
   20135              :                   return -1;
   20136              :                 }
   20137              : 
   20138              :             default:
   20139              :               return -1;
   20140              :             }
   20141              : 
   20142              :         case REG:
   20143              :         case SUBREG:
   20144              :         case MEM:
   20145              :           switch (pattern334 (x3))
   20146              :             {
   20147              :             case 0:
   20148              :               if (!
   20149              : #line 26722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20150              : (TARGET_XOP))
   20151              :                 return -1;
   20152              :               return 9040; /* xop_pmacsww */
   20153              : 
   20154              :             case 1:
   20155              :               if (!
   20156              : #line 26722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20157              : (TARGET_XOP))
   20158              :                 return -1;
   20159              :               return 9042; /* xop_pmacsdd */
   20160              : 
   20161              :             default:
   20162              :               return -1;
   20163              :             }
   20164              : 
   20165              :         default:
   20166              :           return -1;
   20167              :         }
   20168              : 
   20169              :     case VEC_SELECT:
   20170              :       switch (pattern197 (x3))
   20171              :         {
   20172              :         case 0:
   20173              :           if (!
   20174              : #line 22922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20175              : (TARGET_AVX2))
   20176              :             return -1;
   20177              :           return 8632; /* avx2_phaddwv16hi3 */
   20178              : 
   20179              :         case 1:
   20180              :           if (!
   20181              : #line 22945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20182              : (TARGET_SSSE3))
   20183              :             return -1;
   20184              :           return 8636; /* ssse3_phaddwv8hi3 */
   20185              : 
   20186              :         case 2:
   20187              :           if (!
   20188              : #line 23012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20189              : (TARGET_AVX2))
   20190              :             return -1;
   20191              :           return 8644; /* avx2_phadddv8si3 */
   20192              : 
   20193              :         case 3:
   20194              :           if (!
   20195              : #line 23033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20196              : (TARGET_SSSE3))
   20197              :             return -1;
   20198              :           return 8646; /* ssse3_phadddv4si3 */
   20199              : 
   20200              :         default:
   20201              :           return -1;
   20202              :         }
   20203              : 
   20204              :     case PLUS:
   20205              :       x5 = XEXP (x4, 0);
   20206              :       switch (GET_CODE (x5))
   20207              :         {
   20208              :         case MULT:
   20209              :           if (pattern335 (x5) != 0)
   20210              :             return -1;
   20211              :           x28 = XEXP (x5, 1);
   20212              :           if (GET_MODE (x28) != E_V4SImode)
   20213              :             return -1;
   20214              :           x29 = XEXP (x28, 0);
   20215              :           if (GET_CODE (x29) != VEC_SELECT
   20216              :               || GET_MODE (x29) != E_V4HImode)
   20217              :             return -1;
   20218              :           x30 = XEXP (x29, 1);
   20219              :           if (GET_CODE (x30) != PARALLEL
   20220              :               || XVECLEN (x30, 0) != 4)
   20221              :             return -1;
   20222              :           x31 = XVECEXP (x30, 0, 0);
   20223              :           if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   20224              :             return -1;
   20225              :           x32 = XVECEXP (x30, 0, 1);
   20226              :           if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
   20227              :             return -1;
   20228              :           x33 = XVECEXP (x30, 0, 2);
   20229              :           if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
   20230              :             return -1;
   20231              :           x34 = XVECEXP (x30, 0, 3);
   20232              :           if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
   20233              :             return -1;
   20234              :           x15 = XEXP (x4, 1);
   20235              :           if (GET_CODE (x15) != MULT
   20236              :               || GET_MODE (x15) != E_V4SImode)
   20237              :             return -1;
   20238              :           x16 = XEXP (x15, 0);
   20239              :           if (GET_CODE (x16) != SIGN_EXTEND
   20240              :               || GET_MODE (x16) != E_V4SImode)
   20241              :             return -1;
   20242              :           x35 = XEXP (x16, 0);
   20243              :           if (GET_CODE (x35) != VEC_SELECT
   20244              :               || GET_MODE (x35) != E_V4HImode)
   20245              :             return -1;
   20246              :           x36 = XEXP (x35, 1);
   20247              :           if (GET_CODE (x36) != PARALLEL
   20248              :               || XVECLEN (x36, 0) != 4)
   20249              :             return -1;
   20250              :           x37 = XVECEXP (x36, 0, 0);
   20251              :           if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   20252              :             return -1;
   20253              :           x38 = XVECEXP (x36, 0, 1);
   20254              :           if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
   20255              :             return -1;
   20256              :           x39 = XVECEXP (x36, 0, 2);
   20257              :           if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
   20258              :             return -1;
   20259              :           x40 = XVECEXP (x36, 0, 3);
   20260              :           if (x40 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
   20261              :             return -1;
   20262              :           x41 = XEXP (x15, 1);
   20263              :           if (GET_CODE (x41) != SIGN_EXTEND
   20264              :               || GET_MODE (x41) != E_V4SImode)
   20265              :             return -1;
   20266              :           x42 = XEXP (x41, 0);
   20267              :           if (GET_CODE (x42) != VEC_SELECT
   20268              :               || GET_MODE (x42) != E_V4HImode)
   20269              :             return -1;
   20270              :           x43 = XEXP (x42, 1);
   20271              :           if (GET_CODE (x43) != PARALLEL
   20272              :               || XVECLEN (x43, 0) != 4)
   20273              :             return -1;
   20274              :           x44 = XVECEXP (x43, 0, 0);
   20275              :           if (x44 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   20276              :             return -1;
   20277              :           x45 = XVECEXP (x43, 0, 1);
   20278              :           if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
   20279              :             return -1;
   20280              :           x46 = XVECEXP (x43, 0, 2);
   20281              :           if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
   20282              :             return -1;
   20283              :           x47 = XVECEXP (x43, 0, 3);
   20284              :           if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
   20285              :               || !register_operand (operands[0], E_V4SImode)
   20286              :               || GET_MODE (x3) != E_V4SImode
   20287              :               || GET_MODE (x4) != E_V4SImode
   20288              :               || pattern1914 (x3) != 0
   20289              :               || !
   20290              : #line 26815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20291              : (TARGET_XOP))
   20292              :             return -1;
   20293              :           return 9050; /* xop_pmadcswd */
   20294              : 
   20295              :         case SIGN_EXTEND:
   20296              :           switch (pattern338 (x3, 
   20297              : SIGN_EXTEND))
   20298              :             {
   20299              :             case 0:
   20300              :               if (!
   20301              : #line 26909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20302              : (TARGET_XOP))
   20303              :                 return -1;
   20304              :               return 9070; /* xop_phaddbd */
   20305              : 
   20306              :             case 1:
   20307              :               if (!
   20308              : #line 27005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20309              : (TARGET_XOP))
   20310              :                 return -1;
   20311              :               return 9076; /* xop_phaddwq */
   20312              : 
   20313              :             default:
   20314              :               return -1;
   20315              :             }
   20316              : 
   20317              :         case ZERO_EXTEND:
   20318              :           switch (pattern338 (x3, 
   20319              : ZERO_EXTEND))
   20320              :             {
   20321              :             case 0:
   20322              :               if (!
   20323              : #line 26909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20324              : (TARGET_XOP))
   20325              :                 return -1;
   20326              :               return 9071; /* xop_phaddubd */
   20327              : 
   20328              :             case 1:
   20329              :               if (!
   20330              : #line 27005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20331              : (TARGET_XOP))
   20332              :                 return -1;
   20333              :               return 9077; /* xop_phadduwq */
   20334              : 
   20335              :             default:
   20336              :               return -1;
   20337              :             }
   20338              : 
   20339              :         case PLUS:
   20340              :           if (GET_MODE (x5) != E_V2DImode)
   20341              :             return -1;
   20342              :           x15 = XEXP (x4, 1);
   20343              :           if (GET_CODE (x15) != PLUS
   20344              :               || GET_MODE (x15) != E_V2DImode)
   20345              :             return -1;
   20346              :           x8 = XEXP (x3, 1);
   20347              :           if (GET_CODE (x8) != PLUS
   20348              :               || GET_MODE (x8) != E_V2DImode
   20349              :               || pattern1040 (x8, 
   20350              : E_V2DImode, 
   20351              : PLUS) != 0
   20352              :               || !register_operand (operands[0], E_V2DImode)
   20353              :               || GET_MODE (x3) != E_V2DImode
   20354              :               || GET_MODE (x4) != E_V2DImode
   20355              :               || pattern1564 (x3, 
   20356              : E_V2DImode) != 0)
   20357              :             return -1;
   20358              :           x6 = XEXP (x5, 0);
   20359              :           switch (GET_CODE (x6))
   20360              :             {
   20361              :             case SIGN_EXTEND:
   20362              :               if (pattern1845 (x3, 
   20363              : SIGN_EXTEND) != 0
   20364              :                   || !
   20365              : #line 26957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20366              : (TARGET_XOP))
   20367              :                 return -1;
   20368              :               return 9072; /* xop_phaddbq */
   20369              : 
   20370              :             case ZERO_EXTEND:
   20371              :               if (pattern1845 (x3, 
   20372              : ZERO_EXTEND) != 0
   20373              :                   || !
   20374              : #line 26957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20375              : (TARGET_XOP))
   20376              :                 return -1;
   20377              :               return 9073; /* xop_phaddubq */
   20378              : 
   20379              :             default:
   20380              :               return -1;
   20381              :             }
   20382              : 
   20383              :         default:
   20384              :           return -1;
   20385              :         }
   20386              : 
   20387              :     case SIGN_EXTEND:
   20388              :       switch (pattern199 (x3, 
   20389              : SIGN_EXTEND))
   20390              :         {
   20391              :         case 0:
   20392              :           if (!
   20393              : #line 26877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20394              : (TARGET_XOP))
   20395              :             return -1;
   20396              :           return 9068; /* xop_phaddbw */
   20397              : 
   20398              :         case 1:
   20399              :           if (!
   20400              : #line 26977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20401              : (TARGET_XOP))
   20402              :             return -1;
   20403              :           return 9074; /* xop_phaddwd */
   20404              : 
   20405              :         case 2:
   20406              :           if (!
   20407              : #line 27023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20408              : (TARGET_XOP))
   20409              :             return -1;
   20410              :           return 9078; /* xop_phadddq */
   20411              : 
   20412              :         default:
   20413              :           return -1;
   20414              :         }
   20415              : 
   20416              :     case ZERO_EXTEND:
   20417              :       switch (pattern199 (x3, 
   20418              : ZERO_EXTEND))
   20419              :         {
   20420              :         case 0:
   20421              :           if (!
   20422              : #line 26877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20423              : (TARGET_XOP))
   20424              :             return -1;
   20425              :           return 9069; /* xop_phaddubw */
   20426              : 
   20427              :         case 1:
   20428              :           if (!
   20429              : #line 26977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20430              : (TARGET_XOP))
   20431              :             return -1;
   20432              :           return 9075; /* xop_phadduwd */
   20433              : 
   20434              :         case 2:
   20435              :           if (!
   20436              : #line 27023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20437              : (TARGET_XOP))
   20438              :             return -1;
   20439              :           return 9079; /* xop_phaddudq */
   20440              : 
   20441              :         default:
   20442              :           return -1;
   20443              :         }
   20444              : 
   20445              :     default:
   20446              :       return -1;
   20447              :     }
   20448              : }
   20449              : 
   20450              :  int
   20451              : recog_328 (rtx x1 ATTRIBUTE_UNUSED,
   20452              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20453              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20454              : {
   20455              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20456              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   20457              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   20458              :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
   20459              :   rtx x26, x27, x28, x29, x30, x31, x32, x33;
   20460              :   rtx x34, x35, x36, x37, x38, x39, x40, x41;
   20461              :   rtx x42, x43, x44, x45, x46, x47, x48, x49;
   20462              :   rtx x50, x51, x52, x53, x54, x55, x56, x57;
   20463              :   rtx x58, x59, x60, x61, x62, x63, x64, x65;
   20464              :   rtx x66, x67, x68, x69, x70, x71, x72, x73;
   20465              :   rtx x74, x75, x76;
   20466              :   int res ATTRIBUTE_UNUSED;
   20467              :   x2 = XEXP (x1, 0);
   20468              :   operands[0] = x2;
   20469              :   x3 = XEXP (x1, 1);
   20470              :   x4 = XEXP (x3, 0);
   20471              :   switch (GET_CODE (x4))
   20472              :     {
   20473              :     case REG:
   20474              :     case SUBREG:
   20475              :     case MEM:
   20476              :       switch (pattern54 (x3))
   20477              :         {
   20478              :         case 0:
   20479              :           if (!(
   20480              : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20481              : (TARGET_SSE2 && 1 && 1
   20482              :    && ix86_binary_operator_ok (SS_PLUS, V64QImode, operands)) && 
   20483              : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20484              : (TARGET_AVX512BW)))
   20485              :             return -1;
   20486              :           return 7547; /* *avx512bw_ssaddv64qi3 */
   20487              : 
   20488              :         case 1:
   20489              :           if (!(
   20490              : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20491              : (TARGET_SSE2 && 1 && 1
   20492              :    && ix86_binary_operator_ok (SS_PLUS, V32QImode, operands)) && 
   20493              : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20494              : (TARGET_AVX2)))
   20495              :             return -1;
   20496              :           return 7555; /* *avx2_ssaddv32qi3 */
   20497              : 
   20498              :         case 2:
   20499              :           if (!
   20500              : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20501              : (TARGET_SSE2 && 1 && 1
   20502              :    && ix86_binary_operator_ok (SS_PLUS, V16QImode, operands)))
   20503              :             return -1;
   20504              :           return 7563; /* *sse2_ssaddv16qi3 */
   20505              : 
   20506              :         case 3:
   20507              :           if (!(
   20508              : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20509              : (TARGET_SSE2 && 1 && 1
   20510              :    && ix86_binary_operator_ok (SS_PLUS, V32HImode, operands)) && 
   20511              : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20512              : (TARGET_AVX512BW)))
   20513              :             return -1;
   20514              :           return 7571; /* *avx512bw_ssaddv32hi3 */
   20515              : 
   20516              :         case 4:
   20517              :           if (!(
   20518              : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20519              : (TARGET_SSE2 && 1 && 1
   20520              :    && ix86_binary_operator_ok (SS_PLUS, V16HImode, operands)) && 
   20521              : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20522              : (TARGET_AVX2)))
   20523              :             return -1;
   20524              :           return 7579; /* *avx2_ssaddv16hi3 */
   20525              : 
   20526              :         case 5:
   20527              :           if (!
   20528              : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20529              : (TARGET_SSE2 && 1 && 1
   20530              :    && ix86_binary_operator_ok (SS_PLUS, V8HImode, operands)))
   20531              :             return -1;
   20532              :           return 7587; /* *sse2_ssaddv8hi3 */
   20533              : 
   20534              :         default:
   20535              :           return -1;
   20536              :         }
   20537              : 
   20538              :     case VEC_SELECT:
   20539              :       switch (pattern205 (x3))
   20540              :         {
   20541              :         case 0:
   20542              :           if (!
   20543              : #line 22922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20544              : (TARGET_AVX2))
   20545              :             return -1;
   20546              :           return 8633; /* avx2_phaddswv16hi3 */
   20547              : 
   20548              :         case 1:
   20549              :           if (!
   20550              : #line 22945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20551              : (TARGET_SSSE3))
   20552              :             return -1;
   20553              :           return 8637; /* ssse3_phaddswv8hi3 */
   20554              : 
   20555              :         default:
   20556              :           return -1;
   20557              :         }
   20558              : 
   20559              :     case MULT:
   20560              :       x5 = XEXP (x4, 0);
   20561              :       switch (GET_CODE (x5))
   20562              :         {
   20563              :         case ZERO_EXTEND:
   20564              :           x6 = XEXP (x5, 0);
   20565              :           if (GET_CODE (x6) != VEC_SELECT)
   20566              :             return -1;
   20567              :           x7 = XEXP (x6, 1);
   20568              :           if (GET_CODE (x7) != PARALLEL)
   20569              :             return -1;
   20570              :           x8 = XEXP (x4, 1);
   20571              :           if (GET_CODE (x8) != SIGN_EXTEND)
   20572              :             return -1;
   20573              :           x9 = XEXP (x8, 0);
   20574              :           if (GET_CODE (x9) != VEC_SELECT)
   20575              :             return -1;
   20576              :           x10 = XEXP (x9, 1);
   20577              :           if (GET_CODE (x10) != PARALLEL)
   20578              :             return -1;
   20579              :           x11 = XEXP (x3, 1);
   20580              :           if (GET_CODE (x11) != MULT)
   20581              :             return -1;
   20582              :           x12 = XEXP (x11, 0);
   20583              :           if (GET_CODE (x12) != ZERO_EXTEND)
   20584              :             return -1;
   20585              :           x13 = XEXP (x12, 0);
   20586              :           if (GET_CODE (x13) != VEC_SELECT)
   20587              :             return -1;
   20588              :           x14 = XEXP (x13, 1);
   20589              :           if (GET_CODE (x14) != PARALLEL)
   20590              :             return -1;
   20591              :           x15 = XEXP (x11, 1);
   20592              :           if (GET_CODE (x15) != SIGN_EXTEND)
   20593              :             return -1;
   20594              :           x16 = XEXP (x15, 0);
   20595              :           if (GET_CODE (x16) != VEC_SELECT)
   20596              :             return -1;
   20597              :           x17 = XEXP (x16, 1);
   20598              :           if (GET_CODE (x17) != PARALLEL)
   20599              :             return -1;
   20600              :           x18 = XEXP (x6, 0);
   20601              :           operands[1] = x18;
   20602              :           x19 = XEXP (x9, 0);
   20603              :           operands[2] = x19;
   20604              :           x20 = XEXP (x13, 0);
   20605              :           if (!rtx_equal_p (x20, operands[1]))
   20606              :             return -1;
   20607              :           x21 = XEXP (x16, 0);
   20608              :           if (!rtx_equal_p (x21, operands[2]))
   20609              :             return -1;
   20610              :           switch (XVECLEN (x7, 0))
   20611              :             {
   20612              :             case 16:
   20613              :               if (pattern1092 (x7, 
   20614              : 6, 
   20615              : 4, 
   20616              : 2, 
   20617              : 0) != 0)
   20618              :                 return -1;
   20619              :               x22 = XVECEXP (x7, 0, 4);
   20620              :               if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
   20621              :                 return -1;
   20622              :               x23 = XVECEXP (x7, 0, 5);
   20623              :               if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
   20624              :                 return -1;
   20625              :               x24 = XVECEXP (x7, 0, 6);
   20626              :               if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
   20627              :                 return -1;
   20628              :               x25 = XVECEXP (x7, 0, 7);
   20629              :               if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
   20630              :                 return -1;
   20631              :               x26 = XVECEXP (x7, 0, 8);
   20632              :               if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
   20633              :                 return -1;
   20634              :               x27 = XVECEXP (x7, 0, 9);
   20635              :               if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 18])
   20636              :                 return -1;
   20637              :               x28 = XVECEXP (x7, 0, 10);
   20638              :               if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 20])
   20639              :                 return -1;
   20640              :               x29 = XVECEXP (x7, 0, 11);
   20641              :               if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 22])
   20642              :                 return -1;
   20643              :               x30 = XVECEXP (x7, 0, 12);
   20644              :               if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
   20645              :                 return -1;
   20646              :               x31 = XVECEXP (x7, 0, 13);
   20647              :               if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
   20648              :                 return -1;
   20649              :               x32 = XVECEXP (x7, 0, 14);
   20650              :               if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
   20651              :                 return -1;
   20652              :               x33 = XVECEXP (x7, 0, 15);
   20653              :               if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 30]
   20654              :                   || pattern1320 (x10, 
   20655              : 16) != 0)
   20656              :                 return -1;
   20657              :               x34 = XVECEXP (x10, 0, 8);
   20658              :               if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
   20659              :                 return -1;
   20660              :               x35 = XVECEXP (x10, 0, 9);
   20661              :               if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 18])
   20662              :                 return -1;
   20663              :               x36 = XVECEXP (x10, 0, 10);
   20664              :               if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 20])
   20665              :                 return -1;
   20666              :               x37 = XVECEXP (x10, 0, 11);
   20667              :               if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 22])
   20668              :                 return -1;
   20669              :               x38 = XVECEXP (x10, 0, 12);
   20670              :               if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
   20671              :                 return -1;
   20672              :               x39 = XVECEXP (x10, 0, 13);
   20673              :               if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
   20674              :                 return -1;
   20675              :               x40 = XVECEXP (x10, 0, 14);
   20676              :               if (x40 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
   20677              :                 return -1;
   20678              :               x41 = XVECEXP (x10, 0, 15);
   20679              :               if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 30]
   20680              :                   || pattern1894 (x14, 
   20681              : 16) != 0)
   20682              :                 return -1;
   20683              :               x42 = XVECEXP (x14, 0, 8);
   20684              :               if (x42 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
   20685              :                 return -1;
   20686              :               x43 = XVECEXP (x14, 0, 9);
   20687              :               if (x43 != const_int_rtx[MAX_SAVED_CONST_INT + 19])
   20688              :                 return -1;
   20689              :               x44 = XVECEXP (x14, 0, 10);
   20690              :               if (x44 != const_int_rtx[MAX_SAVED_CONST_INT + 21])
   20691              :                 return -1;
   20692              :               x45 = XVECEXP (x14, 0, 11);
   20693              :               if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 23])
   20694              :                 return -1;
   20695              :               x46 = XVECEXP (x14, 0, 12);
   20696              :               if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
   20697              :                 return -1;
   20698              :               x47 = XVECEXP (x14, 0, 13);
   20699              :               if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
   20700              :                 return -1;
   20701              :               x48 = XVECEXP (x14, 0, 14);
   20702              :               if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
   20703              :                 return -1;
   20704              :               x49 = XVECEXP (x14, 0, 15);
   20705              :               if (x49 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
   20706              :                   || pattern1911 (x17, 
   20707              : 16) != 0)
   20708              :                 return -1;
   20709              :               x50 = XVECEXP (x17, 0, 8);
   20710              :               if (x50 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
   20711              :                 return -1;
   20712              :               x51 = XVECEXP (x17, 0, 9);
   20713              :               if (x51 != const_int_rtx[MAX_SAVED_CONST_INT + 19])
   20714              :                 return -1;
   20715              :               x52 = XVECEXP (x17, 0, 10);
   20716              :               if (x52 != const_int_rtx[MAX_SAVED_CONST_INT + 21])
   20717              :                 return -1;
   20718              :               x53 = XVECEXP (x17, 0, 11);
   20719              :               if (x53 != const_int_rtx[MAX_SAVED_CONST_INT + 23])
   20720              :                 return -1;
   20721              :               x54 = XVECEXP (x17, 0, 12);
   20722              :               if (x54 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
   20723              :                 return -1;
   20724              :               x55 = XVECEXP (x17, 0, 13);
   20725              :               if (x55 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
   20726              :                 return -1;
   20727              :               x56 = XVECEXP (x17, 0, 14);
   20728              :               if (x56 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
   20729              :                 return -1;
   20730              :               x57 = XVECEXP (x17, 0, 15);
   20731              :               if (x57 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
   20732              :                   || pattern1917 (x3, 
   20733              : E_V32QImode, 
   20734              : E_V16QImode, 
   20735              : E_V16HImode) != 0
   20736              :                   || GET_MODE (x8) != E_V16HImode
   20737              :                   || GET_MODE (x9) != E_V16QImode
   20738              :                   || !nonimmediate_operand (operands[2], E_V32QImode)
   20739              :                   || pattern336 (x11, 
   20740              : E_V16QImode, 
   20741              : E_V16HImode) != 0
   20742              :                   || !
   20743              : #line 23132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20744              : (TARGET_AVX2))
   20745              :                 return -1;
   20746              :               return 8650; /* avx2_pmaddubsw256 */
   20747              : 
   20748              :             case 8:
   20749              :               if (pattern1321 (x4) != 0
   20750              :                   || pattern1894 (x14, 
   20751              : 8) != 0
   20752              :                   || pattern1911 (x17, 
   20753              : 8) != 0
   20754              :                   || pattern1917 (x3, 
   20755              : E_V16QImode, 
   20756              : E_V8QImode, 
   20757              : E_V8HImode) != 0
   20758              :                   || GET_MODE (x8) != E_V8HImode
   20759              :                   || GET_MODE (x9) != E_V8QImode
   20760              :                   || !vector_operand (operands[2], E_V16QImode)
   20761              :                   || pattern336 (x11, 
   20762              : E_V8QImode, 
   20763              : E_V8HImode) != 0
   20764              :                   || !
   20765              : #line 23219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20766              : (TARGET_SSSE3))
   20767              :                 return -1;
   20768              :               return 8659; /* ssse3_pmaddubsw128 */
   20769              : 
   20770              :             default:
   20771              :               return -1;
   20772              :             }
   20773              : 
   20774              :         case REG:
   20775              :         case SUBREG:
   20776              :         case MEM:
   20777              :           switch (pattern334 (x3))
   20778              :             {
   20779              :             case 0:
   20780              :               if (!
   20781              : #line 26722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20782              : (TARGET_XOP))
   20783              :                 return -1;
   20784              :               return 9041; /* xop_pmacssww */
   20785              : 
   20786              :             case 1:
   20787              :               if (!
   20788              : #line 26722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20789              : (TARGET_XOP))
   20790              :                 return -1;
   20791              :               return 9043; /* xop_pmacssdd */
   20792              : 
   20793              :             default:
   20794              :               return -1;
   20795              :             }
   20796              : 
   20797              :         case SIGN_EXTEND:
   20798              :           if (pattern332 (x4) != 0)
   20799              :             return -1;
   20800              :           x11 = XEXP (x3, 1);
   20801              :           operands[3] = x11;
   20802              :           x6 = XEXP (x5, 0);
   20803              :           x7 = XEXP (x6, 1);
   20804              :           switch (XVECLEN (x7, 0))
   20805              :             {
   20806              :             case 2:
   20807              :               if (pattern1322 (x3) != 0)
   20808              :                 return -1;
   20809              :               x8 = XEXP (x4, 1);
   20810              :               if (GET_MODE (x8) != E_V2DImode)
   20811              :                 return -1;
   20812              :               x9 = XEXP (x8, 0);
   20813              :               if (GET_MODE (x9) != E_V2SImode
   20814              :                   || !nonimmediate_operand (operands[2], E_V4SImode))
   20815              :                 return -1;
   20816              :               switch (pattern1858 (x4))
   20817              :                 {
   20818              :                 case 0:
   20819              :                   if (!
   20820              : #line 26741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20821              : (TARGET_XOP))
   20822              :                     return -1;
   20823              :                   return 9045; /* xop_pmacssdql */
   20824              : 
   20825              :                 case 1:
   20826              :                   if (!
   20827              : #line 26760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20828              : (TARGET_XOP))
   20829              :                     return -1;
   20830              :                   return 9047; /* xop_pmacssdqh */
   20831              : 
   20832              :                 default:
   20833              :                   return -1;
   20834              :                 }
   20835              : 
   20836              :             case 4:
   20837              :               if (pattern1092 (x7, 
   20838              : 7, 
   20839              : 5, 
   20840              : 3, 
   20841              : 1) != 0)
   20842              :                 return -1;
   20843              :               x8 = XEXP (x4, 1);
   20844              :               x9 = XEXP (x8, 0);
   20845              :               x10 = XEXP (x9, 1);
   20846              :               if (pattern1633 (x10, 
   20847              : 7, 
   20848              : 5, 
   20849              : 3, 
   20850              : 1) != 0
   20851              :                   || !register_operand (operands[0], E_V4SImode)
   20852              :                   || GET_MODE (x3) != E_V4SImode
   20853              :                   || GET_MODE (x4) != E_V4SImode
   20854              :                   || GET_MODE (x5) != E_V4SImode
   20855              :                   || GET_MODE (x6) != E_V4HImode
   20856              :                   || !nonimmediate_operand (operands[1], E_V8HImode)
   20857              :                   || GET_MODE (x8) != E_V4SImode
   20858              :                   || GET_MODE (x9) != E_V4HImode
   20859              :                   || !nonimmediate_operand (operands[2], E_V8HImode)
   20860              :                   || !register_operand (operands[3], E_V4SImode)
   20861              :                   || !
   20862              : #line 26782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20863              : (TARGET_XOP))
   20864              :                 return -1;
   20865              :               return 9049; /* xop_pmacsswd */
   20866              : 
   20867              :             default:
   20868              :               return -1;
   20869              :             }
   20870              : 
   20871              :         default:
   20872              :           return -1;
   20873              :         }
   20874              : 
   20875              :     case PLUS:
   20876              :       if (GET_MODE (x4) != E_V4SImode)
   20877              :         return -1;
   20878              :       x5 = XEXP (x4, 0);
   20879              :       if (GET_CODE (x5) != MULT
   20880              :           || pattern335 (x5) != 0)
   20881              :         return -1;
   20882              :       x58 = XEXP (x5, 1);
   20883              :       if (GET_MODE (x58) != E_V4SImode)
   20884              :         return -1;
   20885              :       x59 = XEXP (x58, 0);
   20886              :       if (GET_CODE (x59) != VEC_SELECT
   20887              :           || GET_MODE (x59) != E_V4HImode)
   20888              :         return -1;
   20889              :       x60 = XEXP (x59, 1);
   20890              :       if (GET_CODE (x60) != PARALLEL
   20891              :           || XVECLEN (x60, 0) != 4)
   20892              :         return -1;
   20893              :       x61 = XVECEXP (x60, 0, 0);
   20894              :       if (x61 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   20895              :         return -1;
   20896              :       x62 = XVECEXP (x60, 0, 1);
   20897              :       if (x62 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
   20898              :         return -1;
   20899              :       x63 = XVECEXP (x60, 0, 2);
   20900              :       if (x63 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
   20901              :         return -1;
   20902              :       x64 = XVECEXP (x60, 0, 3);
   20903              :       if (x64 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
   20904              :         return -1;
   20905              :       x8 = XEXP (x4, 1);
   20906              :       if (GET_CODE (x8) != MULT
   20907              :           || GET_MODE (x8) != E_V4SImode)
   20908              :         return -1;
   20909              :       x9 = XEXP (x8, 0);
   20910              :       if (GET_CODE (x9) != SIGN_EXTEND
   20911              :           || GET_MODE (x9) != E_V4SImode)
   20912              :         return -1;
   20913              :       x19 = XEXP (x9, 0);
   20914              :       if (GET_CODE (x19) != VEC_SELECT
   20915              :           || GET_MODE (x19) != E_V4HImode)
   20916              :         return -1;
   20917              :       x65 = XEXP (x19, 1);
   20918              :       if (GET_CODE (x65) != PARALLEL
   20919              :           || XVECLEN (x65, 0) != 4)
   20920              :         return -1;
   20921              :       x66 = XVECEXP (x65, 0, 0);
   20922              :       if (x66 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   20923              :         return -1;
   20924              :       x67 = XVECEXP (x65, 0, 1);
   20925              :       if (x67 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
   20926              :         return -1;
   20927              :       x68 = XVECEXP (x65, 0, 2);
   20928              :       if (x68 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
   20929              :         return -1;
   20930              :       x69 = XVECEXP (x65, 0, 3);
   20931              :       if (x69 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
   20932              :         return -1;
   20933              :       x70 = XEXP (x8, 1);
   20934              :       if (GET_CODE (x70) != SIGN_EXTEND
   20935              :           || GET_MODE (x70) != E_V4SImode)
   20936              :         return -1;
   20937              :       x71 = XEXP (x70, 0);
   20938              :       if (GET_CODE (x71) != VEC_SELECT
   20939              :           || GET_MODE (x71) != E_V4HImode)
   20940              :         return -1;
   20941              :       x72 = XEXP (x71, 1);
   20942              :       if (GET_CODE (x72) != PARALLEL
   20943              :           || XVECLEN (x72, 0) != 4)
   20944              :         return -1;
   20945              :       x73 = XVECEXP (x72, 0, 0);
   20946              :       if (x73 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   20947              :         return -1;
   20948              :       x74 = XVECEXP (x72, 0, 1);
   20949              :       if (x74 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
   20950              :         return -1;
   20951              :       x75 = XVECEXP (x72, 0, 2);
   20952              :       if (x75 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
   20953              :         return -1;
   20954              :       x76 = XVECEXP (x72, 0, 3);
   20955              :       if (x76 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
   20956              :           || !register_operand (operands[0], E_V4SImode)
   20957              :           || GET_MODE (x3) != E_V4SImode
   20958              :           || pattern1914 (x3) != 0
   20959              :           || !
   20960              : #line 26815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20961              : (TARGET_XOP))
   20962              :         return -1;
   20963              :       return 9051; /* xop_pmadcsswd */
   20964              : 
   20965              :     default:
   20966              :       return -1;
   20967              :     }
   20968              : }
   20969              : 
   20970              :  int
   20971              : recog_335 (rtx x1 ATTRIBUTE_UNUSED,
   20972              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20973              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20974              : {
   20975              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20976              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   20977              :   rtx x10, x11;
   20978              :   int res ATTRIBUTE_UNUSED;
   20979              :   x2 = XEXP (x1, 0);
   20980              :   operands[0] = x2;
   20981              :   x3 = XEXP (x1, 1);
   20982              :   x4 = XEXP (x3, 0);
   20983              :   switch (GET_CODE (x4))
   20984              :     {
   20985              :     case REG:
   20986              :     case SUBREG:
   20987              :     case MEM:
   20988              :       operands[3] = x4;
   20989              :       x5 = XEXP (x3, 1);
   20990              :       operands[1] = x5;
   20991              :       x6 = XEXP (x3, 2);
   20992              :       operands[2] = x6;
   20993              :       switch (GET_MODE (operands[0]))
   20994              :         {
   20995              :         case E_V32QImode:
   20996              :           if (pattern818 (x3, 
   20997              : E_V32QImode) != 0
   20998              :               || !
   20999              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21000              : (TARGET_XOP))
   21001              :             return -1;
   21002              :           return 9052; /* xop_pcmov_v32qi256 */
   21003              : 
   21004              :         case E_V16QImode:
   21005              :           if (pattern818 (x3, 
   21006              : E_V16QImode) != 0
   21007              :               || !
   21008              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21009              : (TARGET_XOP))
   21010              :             return -1;
   21011              :           return 9053; /* xop_pcmov_v16qi */
   21012              : 
   21013              :         case E_V16HImode:
   21014              :           if (pattern818 (x3, 
   21015              : E_V16HImode) != 0
   21016              :               || !
   21017              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21018              : (TARGET_XOP))
   21019              :             return -1;
   21020              :           return 9054; /* xop_pcmov_v16hi256 */
   21021              : 
   21022              :         case E_V8HImode:
   21023              :           if (pattern818 (x3, 
   21024              : E_V8HImode) != 0
   21025              :               || !
   21026              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21027              : (TARGET_XOP))
   21028              :             return -1;
   21029              :           return 9055; /* xop_pcmov_v8hi */
   21030              : 
   21031              :         case E_V8SImode:
   21032              :           if (pattern818 (x3, 
   21033              : E_V8SImode) != 0
   21034              :               || !
   21035              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21036              : (TARGET_XOP))
   21037              :             return -1;
   21038              :           return 9056; /* xop_pcmov_v8si256 */
   21039              : 
   21040              :         case E_V4SImode:
   21041              :           if (pattern818 (x3, 
   21042              : E_V4SImode) != 0
   21043              :               || !
   21044              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21045              : (TARGET_XOP))
   21046              :             return -1;
   21047              :           return 9057; /* xop_pcmov_v4si */
   21048              : 
   21049              :         case E_V4DImode:
   21050              :           if (pattern818 (x3, 
   21051              : E_V4DImode) != 0
   21052              :               || !
   21053              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21054              : (TARGET_XOP))
   21055              :             return -1;
   21056              :           return 9058; /* xop_pcmov_v4di256 */
   21057              : 
   21058              :         case E_V2DImode:
   21059              :           if (pattern818 (x3, 
   21060              : E_V2DImode) != 0
   21061              :               || !
   21062              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21063              : (TARGET_XOP))
   21064              :             return -1;
   21065              :           return 9059; /* xop_pcmov_v2di */
   21066              : 
   21067              :         case E_V2TImode:
   21068              :           if (pattern818 (x3, 
   21069              : E_V2TImode) != 0
   21070              :               || !
   21071              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21072              : (TARGET_XOP))
   21073              :             return -1;
   21074              :           return 9060; /* xop_pcmov_v2ti256 */
   21075              : 
   21076              :         case E_V1TImode:
   21077              :           if (pattern818 (x3, 
   21078              : E_V1TImode) != 0
   21079              :               || !
   21080              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21081              : (TARGET_XOP))
   21082              :             return -1;
   21083              :           return 9061; /* xop_pcmov_v1ti */
   21084              : 
   21085              :         case E_V16HFmode:
   21086              :           if (pattern818 (x3, 
   21087              : E_V16HFmode) != 0
   21088              :               || !
   21089              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21090              : (TARGET_XOP))
   21091              :             return -1;
   21092              :           return 9062; /* xop_pcmov_v16hf256 */
   21093              : 
   21094              :         case E_V8HFmode:
   21095              :           if (pattern818 (x3, 
   21096              : E_V8HFmode) != 0
   21097              :               || !
   21098              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21099              : (TARGET_XOP))
   21100              :             return -1;
   21101              :           return 9063; /* xop_pcmov_v8hf */
   21102              : 
   21103              :         case E_V8SFmode:
   21104              :           if (pattern818 (x3, 
   21105              : E_V8SFmode) != 0
   21106              :               || !
   21107              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21108              : (TARGET_XOP))
   21109              :             return -1;
   21110              :           return 9064; /* xop_pcmov_v8sf256 */
   21111              : 
   21112              :         case E_V4SFmode:
   21113              :           if (pattern818 (x3, 
   21114              : E_V4SFmode) != 0
   21115              :               || !
   21116              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21117              : (TARGET_XOP))
   21118              :             return -1;
   21119              :           return 9065; /* xop_pcmov_v4sf */
   21120              : 
   21121              :         case E_V4DFmode:
   21122              :           if (pattern818 (x3, 
   21123              : E_V4DFmode) != 0
   21124              :               || !
   21125              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21126              : (TARGET_XOP))
   21127              :             return -1;
   21128              :           return 9066; /* xop_pcmov_v4df256 */
   21129              : 
   21130              :         case E_V2DFmode:
   21131              :           if (pattern818 (x3, 
   21132              : E_V2DFmode) != 0
   21133              :               || !
   21134              : #line 26828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21135              : (TARGET_XOP))
   21136              :             return -1;
   21137              :           return 9067; /* xop_pcmov_v2df */
   21138              : 
   21139              :         default:
   21140              :           return -1;
   21141              :         }
   21142              : 
   21143              :     case GE:
   21144              :       x7 = XEXP (x4, 1);
   21145              :       if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   21146              :         return -1;
   21147              :       x8 = XEXP (x4, 0);
   21148              :       operands[2] = x8;
   21149              :       x5 = XEXP (x3, 1);
   21150              :       switch (GET_CODE (x5))
   21151              :         {
   21152              :         case ROTATE:
   21153              :           x6 = XEXP (x3, 2);
   21154              :           if (GET_CODE (x6) != ROTATERT)
   21155              :             return -1;
   21156              :           x9 = XEXP (x6, 1);
   21157              :           if (GET_CODE (x9) != NEG)
   21158              :             return -1;
   21159              :           x10 = XEXP (x5, 0);
   21160              :           operands[1] = x10;
   21161              :           x11 = XEXP (x5, 1);
   21162              :           if (!rtx_equal_p (x11, operands[2]))
   21163              :             return -1;
   21164              :           switch (pattern1157 (x3))
   21165              :             {
   21166              :             case 0:
   21167              :               if (!
   21168              : #line 27274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21169              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21170              :                 return -1;
   21171              :               return 9095; /* xop_vrotlv16qi3 */
   21172              : 
   21173              :             case 1:
   21174              :               if (!
   21175              : #line 27274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21176              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21177              :                 return -1;
   21178              :               return 9096; /* xop_vrotlv8hi3 */
   21179              : 
   21180              :             case 2:
   21181              :               if (!
   21182              : #line 27274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21183              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21184              :                 return -1;
   21185              :               return 9097; /* xop_vrotlv4si3 */
   21186              : 
   21187              :             case 3:
   21188              :               if (!
   21189              : #line 27274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21190              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21191              :                 return -1;
   21192              :               return 9098; /* xop_vrotlv2di3 */
   21193              : 
   21194              :             default:
   21195              :               return -1;
   21196              :             }
   21197              : 
   21198              :         case ASHIFT:
   21199              :           x10 = XEXP (x5, 0);
   21200              :           operands[1] = x10;
   21201              :           x11 = XEXP (x5, 1);
   21202              :           if (!rtx_equal_p (x11, operands[2]))
   21203              :             return -1;
   21204              :           x6 = XEXP (x3, 2);
   21205              :           switch (GET_CODE (x6))
   21206              :             {
   21207              :             case ASHIFTRT:
   21208              :               x9 = XEXP (x6, 1);
   21209              :               if (GET_CODE (x9) != NEG)
   21210              :                 return -1;
   21211              :               switch (pattern1157 (x3))
   21212              :                 {
   21213              :                 case 0:
   21214              :                   if (!
   21215              : #line 27511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21216              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21217              :                     return -1;
   21218              :                   return 9099; /* xop_shav16qi3 */
   21219              : 
   21220              :                 case 1:
   21221              :                   if (!
   21222              : #line 27511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21223              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21224              :                     return -1;
   21225              :                   return 9100; /* xop_shav8hi3 */
   21226              : 
   21227              :                 case 2:
   21228              :                   if (!
   21229              : #line 27511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21230              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21231              :                     return -1;
   21232              :                   return 9101; /* xop_shav4si3 */
   21233              : 
   21234              :                 case 3:
   21235              :                   if (!
   21236              : #line 27511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21237              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21238              :                     return -1;
   21239              :                   return 9102; /* xop_shav2di3 */
   21240              : 
   21241              :                 default:
   21242              :                   return -1;
   21243              :                 }
   21244              : 
   21245              :             case LSHIFTRT:
   21246              :               x9 = XEXP (x6, 1);
   21247              :               if (GET_CODE (x9) != NEG)
   21248              :                 return -1;
   21249              :               switch (pattern1157 (x3))
   21250              :                 {
   21251              :                 case 0:
   21252              :                   if (!
   21253              : #line 27530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21254              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21255              :                     return -1;
   21256              :                   return 9103; /* xop_shlv16qi3 */
   21257              : 
   21258              :                 case 1:
   21259              :                   if (!
   21260              : #line 27530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21261              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21262              :                     return -1;
   21263              :                   return 9104; /* xop_shlv8hi3 */
   21264              : 
   21265              :                 case 2:
   21266              :                   if (!
   21267              : #line 27530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21268              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21269              :                     return -1;
   21270              :                   return 9105; /* xop_shlv4si3 */
   21271              : 
   21272              :                 case 3:
   21273              :                   if (!
   21274              : #line 27530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21275              : (TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21276              :                     return -1;
   21277              :                   return 9106; /* xop_shlv2di3 */
   21278              : 
   21279              :                 default:
   21280              :                   return -1;
   21281              :                 }
   21282              : 
   21283              :             default:
   21284              :               return -1;
   21285              :             }
   21286              : 
   21287              :         default:
   21288              :           return -1;
   21289              :         }
   21290              : 
   21291              :     default:
   21292              :       return -1;
   21293              :     }
   21294              : }
   21295              : 
   21296              :  int
   21297              : recog_340 (rtx x1 ATTRIBUTE_UNUSED,
   21298              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21299              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21300              : {
   21301              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21302              :   rtx x2, x3, x4;
   21303              :   int res ATTRIBUTE_UNUSED;
   21304              :   x2 = XEXP (x1, 0);
   21305              :   operands[0] = x2;
   21306              :   x3 = XEXP (x1, 1);
   21307              :   x4 = XEXP (x3, 0);
   21308              :   operands[1] = x4;
   21309              :   switch (GET_MODE (operands[0]))
   21310              :     {
   21311              :     case E_V64QImode:
   21312              :       if (!register_operand (operands[0], E_V64QImode)
   21313              :           || GET_MODE (x3) != E_V64QImode
   21314              :           || !vector_operand (operands[1], E_V64QImode)
   21315              :           || !(
   21316              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21317              : (TARGET_SSSE3) && 
   21318              : #line 23696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21319              : (TARGET_AVX512BW)))
   21320              :         return -1;
   21321              :       return 8692; /* *absv64qi2 */
   21322              : 
   21323              :     case E_V32QImode:
   21324              :       if (!register_operand (operands[0], E_V32QImode)
   21325              :           || GET_MODE (x3) != E_V32QImode
   21326              :           || !vector_operand (operands[1], E_V32QImode)
   21327              :           || !(
   21328              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21329              : (TARGET_SSSE3) && 
   21330              : #line 23696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21331              : (TARGET_AVX2)))
   21332              :         return -1;
   21333              :       return 8693; /* *absv32qi2 */
   21334              : 
   21335              :     case E_V16QImode:
   21336              :       if (!register_operand (operands[0], E_V16QImode)
   21337              :           || GET_MODE (x3) != E_V16QImode
   21338              :           || !vector_operand (operands[1], E_V16QImode)
   21339              :           || !
   21340              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21341              : (TARGET_SSSE3))
   21342              :         return -1;
   21343              :       return 8694; /* *absv16qi2 */
   21344              : 
   21345              :     case E_V32HImode:
   21346              :       if (!register_operand (operands[0], E_V32HImode)
   21347              :           || GET_MODE (x3) != E_V32HImode
   21348              :           || !vector_operand (operands[1], E_V32HImode)
   21349              :           || !(
   21350              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21351              : (TARGET_SSSE3) && 
   21352              : #line 23697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21353              : (TARGET_AVX512BW)))
   21354              :         return -1;
   21355              :       return 8695; /* *absv32hi2 */
   21356              : 
   21357              :     case E_V16HImode:
   21358              :       if (!register_operand (operands[0], E_V16HImode)
   21359              :           || GET_MODE (x3) != E_V16HImode
   21360              :           || !vector_operand (operands[1], E_V16HImode)
   21361              :           || !(
   21362              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21363              : (TARGET_SSSE3) && 
   21364              : #line 23697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21365              : (TARGET_AVX2)))
   21366              :         return -1;
   21367              :       return 8696; /* *absv16hi2 */
   21368              : 
   21369              :     case E_V8HImode:
   21370              :       if (!register_operand (operands[0], E_V8HImode)
   21371              :           || GET_MODE (x3) != E_V8HImode
   21372              :           || !vector_operand (operands[1], E_V8HImode)
   21373              :           || !
   21374              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21375              : (TARGET_SSSE3))
   21376              :         return -1;
   21377              :       return 8697; /* *absv8hi2 */
   21378              : 
   21379              :     case E_V16SImode:
   21380              :       if (!register_operand (operands[0], E_V16SImode)
   21381              :           || GET_MODE (x3) != E_V16SImode
   21382              :           || !vector_operand (operands[1], E_V16SImode)
   21383              :           || !(
   21384              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21385              : (TARGET_SSSE3) && 
   21386              : #line 23698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21387              : (TARGET_AVX512F)))
   21388              :         return -1;
   21389              :       return 8698; /* *absv16si2 */
   21390              : 
   21391              :     case E_V8SImode:
   21392              :       if (!register_operand (operands[0], E_V8SImode)
   21393              :           || GET_MODE (x3) != E_V8SImode
   21394              :           || !vector_operand (operands[1], E_V8SImode)
   21395              :           || !(
   21396              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21397              : (TARGET_SSSE3) && 
   21398              : #line 23698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21399              : (TARGET_AVX2)))
   21400              :         return -1;
   21401              :       return 8699; /* *absv8si2 */
   21402              : 
   21403              :     case E_V4SImode:
   21404              :       if (!register_operand (operands[0], E_V4SImode)
   21405              :           || GET_MODE (x3) != E_V4SImode
   21406              :           || !vector_operand (operands[1], E_V4SImode)
   21407              :           || !
   21408              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21409              : (TARGET_SSSE3))
   21410              :         return -1;
   21411              :       return 8700; /* *absv4si2 */
   21412              : 
   21413              :     case E_V8DImode:
   21414              :       if (!register_operand (operands[0], E_V8DImode)
   21415              :           || GET_MODE (x3) != E_V8DImode
   21416              :           || !vector_operand (operands[1], E_V8DImode)
   21417              :           || !(
   21418              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21419              : (TARGET_SSSE3) && 
   21420              : #line 23699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21421              : (TARGET_AVX512F)))
   21422              :         return -1;
   21423              :       return 8701; /* *absv8di2 */
   21424              : 
   21425              :     case E_V4DImode:
   21426              :       if (!register_operand (operands[0], E_V4DImode)
   21427              :           || GET_MODE (x3) != E_V4DImode
   21428              :           || !vector_operand (operands[1], E_V4DImode)
   21429              :           || !(
   21430              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21431              : (TARGET_SSSE3) && 
   21432              : #line 23699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21433              : (TARGET_AVX512VL)))
   21434              :         return -1;
   21435              :       return 8702; /* *absv4di2 */
   21436              : 
   21437              :     case E_V2DImode:
   21438              :       if (!register_operand (operands[0], E_V2DImode)
   21439              :           || GET_MODE (x3) != E_V2DImode
   21440              :           || !vector_operand (operands[1], E_V2DImode)
   21441              :           || !(
   21442              : #line 23706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21443              : (TARGET_SSSE3) && 
   21444              : #line 23700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21445              : (TARGET_AVX512VL)))
   21446              :         return -1;
   21447              :       return 8703; /* *absv2di2 */
   21448              : 
   21449              :     default:
   21450              :       return -1;
   21451              :     }
   21452              : }
   21453              : 
   21454              :  int
   21455              : recog_344 (rtx x1 ATTRIBUTE_UNUSED,
   21456              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21457              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21458              : {
   21459              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21460              :   rtx x2, x3, x4, x5;
   21461              :   int res ATTRIBUTE_UNUSED;
   21462              :   x2 = XEXP (x1, 0);
   21463              :   operands[0] = x2;
   21464              :   x3 = XEXP (x1, 1);
   21465              :   switch (GET_CODE (x3))
   21466              :     {
   21467              :     case NE:
   21468              :     case EQ:
   21469              :     case GE:
   21470              :     case GT:
   21471              :     case LE:
   21472              :     case LT:
   21473              :     case LTGT:
   21474              :     case UNORDERED:
   21475              :     case ORDERED:
   21476              :     case UNEQ:
   21477              :     case UNGE:
   21478              :     case UNGT:
   21479              :     case UNLE:
   21480              :     case UNLT:
   21481              :       res = recog_276 (x1, insn, pnum_clobbers);
   21482              :       if (res >= 0)
   21483              :         return res;
   21484              :       break;
   21485              : 
   21486              :     default:
   21487              :       break;
   21488              :     }
   21489              :   switch (GET_CODE (x3))
   21490              :     {
   21491              :     case LT:
   21492              :       switch (pattern203 (x3))
   21493              :         {
   21494              :         case 0:
   21495              :           if ((
   21496              : #line 17452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21497              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   21498              : #line 736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21499              : (TARGET_AVX2)))
   21500              :             return 7659; /* *ashrv16hi3_1 */
   21501              :           break;
   21502              : 
   21503              :         case 1:
   21504              :           if (
   21505              : #line 17452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21506              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   21507              :             return 7660; /* *ashrv8hi3_1 */
   21508              :           break;
   21509              : 
   21510              :         case 2:
   21511              :           if ((
   21512              : #line 17452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21513              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   21514              : #line 737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21515              : (TARGET_AVX2)))
   21516              :             return 7661; /* *ashrv8si3_1 */
   21517              :           break;
   21518              : 
   21519              :         case 3:
   21520              :           if (
   21521              : #line 17452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21522              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   21523              :             return 7662; /* *ashrv4si3_1 */
   21524              :           break;
   21525              : 
   21526              :         default:
   21527              :           break;
   21528              :         }
   21529              :       break;
   21530              : 
   21531              :     case EQ:
   21532              :       res = recog_277 (x1, insn, pnum_clobbers);
   21533              :       if (res >= 0)
   21534              :         return res;
   21535              :       break;
   21536              : 
   21537              :     case GT:
   21538              :       x4 = XEXP (x3, 0);
   21539              :       operands[1] = x4;
   21540              :       x5 = XEXP (x3, 1);
   21541              :       operands[2] = x5;
   21542              :       switch (GET_MODE (operands[0]))
   21543              :         {
   21544              :         case E_V2DImode:
   21545              :           if (pattern680 (x3, 
   21546              : E_V2DImode) == 0
   21547              :               && 
   21548              : #line 18594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21549              : (TARGET_SSE4_2))
   21550              :             return 7993; /* sse4_2_gtv2di3 */
   21551              :           break;
   21552              : 
   21553              :         case E_V32QImode:
   21554              :           if (pattern12 (x3, 
   21555              : E_V32QImode) == 0
   21556              :               && 
   21557              : #line 18611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21558              : (TARGET_AVX2))
   21559              :             return 7994; /* avx2_gtv32qi3 */
   21560              :           break;
   21561              : 
   21562              :         case E_V16HImode:
   21563              :           if (pattern12 (x3, 
   21564              : E_V16HImode) == 0
   21565              :               && 
   21566              : #line 18611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21567              : (TARGET_AVX2))
   21568              :             return 7995; /* avx2_gtv16hi3 */
   21569              :           break;
   21570              : 
   21571              :         case E_V8SImode:
   21572              :           if (pattern12 (x3, 
   21573              : E_V8SImode) == 0
   21574              :               && 
   21575              : #line 18611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21576              : (TARGET_AVX2))
   21577              :             return 7996; /* avx2_gtv8si3 */
   21578              :           break;
   21579              : 
   21580              :         case E_V4DImode:
   21581              :           if (pattern12 (x3, 
   21582              : E_V4DImode) == 0
   21583              :               && 
   21584              : #line 18611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21585              : (TARGET_AVX2))
   21586              :             return 7997; /* avx2_gtv4di3 */
   21587              :           break;
   21588              : 
   21589              :         case E_V16QImode:
   21590              :           if (pattern680 (x3, 
   21591              : E_V16QImode) == 0
   21592              :               && 
   21593              : #line 18643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21594              : (TARGET_SSE2))
   21595              :             return 7998; /* *sse2_gtv16qi3 */
   21596              :           break;
   21597              : 
   21598              :         case E_V8HImode:
   21599              :           if (pattern680 (x3, 
   21600              : E_V8HImode) == 0
   21601              :               && 
   21602              : #line 18643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21603              : (TARGET_SSE2))
   21604              :             return 7999; /* *sse2_gtv8hi3 */
   21605              :           break;
   21606              : 
   21607              :         case E_V4SImode:
   21608              :           if (pattern680 (x3, 
   21609              : E_V4SImode) == 0
   21610              :               && 
   21611              : #line 18643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21612              : (TARGET_SSE2))
   21613              :             return 8000; /* *sse2_gtv4si3 */
   21614              :           break;
   21615              : 
   21616              :         default:
   21617              :           break;
   21618              :         }
   21619              :       break;
   21620              : 
   21621              :     default:
   21622              :       break;
   21623              :     }
   21624              :   operands[1] = x3;
   21625              :   x4 = XEXP (x3, 0);
   21626              :   operands[2] = x4;
   21627              :   x5 = XEXP (x3, 1);
   21628              :   operands[3] = x5;
   21629              :   switch (GET_CODE (operands[1]))
   21630              :     {
   21631              :     case NE:
   21632              :     case EQ:
   21633              :     case GE:
   21634              :     case GT:
   21635              :     case LE:
   21636              :     case LT:
   21637              :       switch (GET_MODE (operands[0]))
   21638              :         {
   21639              :         case E_V16QImode:
   21640              :           if (pattern804 (
   21641              : E_V16QImode) == 0
   21642              :               && 
   21643              : #line 27719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21644              : (TARGET_XOP))
   21645              :             return 9116; /* xop_maskcmpv16qi3 */
   21646              :           break;
   21647              : 
   21648              :         case E_V8HImode:
   21649              :           if (pattern804 (
   21650              : E_V8HImode) == 0
   21651              :               && 
   21652              : #line 27719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21653              : (TARGET_XOP))
   21654              :             return 9117; /* xop_maskcmpv8hi3 */
   21655              :           break;
   21656              : 
   21657              :         case E_V4SImode:
   21658              :           if (pattern804 (
   21659              : E_V4SImode) == 0
   21660              :               && 
   21661              : #line 27719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21662              : (TARGET_XOP))
   21663              :             return 9118; /* xop_maskcmpv4si3 */
   21664              :           break;
   21665              : 
   21666              :         case E_V2DImode:
   21667              :           if (pattern804 (
   21668              : E_V2DImode) == 0
   21669              :               && 
   21670              : #line 27719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21671              : (TARGET_XOP))
   21672              :             return 9119; /* xop_maskcmpv2di3 */
   21673              :           break;
   21674              : 
   21675              :         default:
   21676              :           break;
   21677              :         }
   21678              :       break;
   21679              : 
   21680              :     default:
   21681              :       break;
   21682              :     }
   21683              :   switch (GET_CODE (operands[1]))
   21684              :     {
   21685              :     case NE:
   21686              :     case EQ:
   21687              :     case GEU:
   21688              :     case GTU:
   21689              :     case LEU:
   21690              :     case LTU:
   21691              :       switch (GET_MODE (operands[0]))
   21692              :         {
   21693              :         case E_V16QImode:
   21694              :           if (pattern805 (
   21695              : E_V16QImode) != 0
   21696              :               || !
   21697              : #line 27729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21698              : (TARGET_XOP))
   21699              :             return -1;
   21700              :           return 9120; /* xop_maskcmp_unsv16qi3 */
   21701              : 
   21702              :         case E_V8HImode:
   21703              :           if (pattern805 (
   21704              : E_V8HImode) != 0
   21705              :               || !
   21706              : #line 27729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21707              : (TARGET_XOP))
   21708              :             return -1;
   21709              :           return 9121; /* xop_maskcmp_unsv8hi3 */
   21710              : 
   21711              :         case E_V4SImode:
   21712              :           if (pattern805 (
   21713              : E_V4SImode) != 0
   21714              :               || !
   21715              : #line 27729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21716              : (TARGET_XOP))
   21717              :             return -1;
   21718              :           return 9122; /* xop_maskcmp_unsv4si3 */
   21719              : 
   21720              :         case E_V2DImode:
   21721              :           if (pattern805 (
   21722              : E_V2DImode) != 0
   21723              :               || !
   21724              : #line 27729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21725              : (TARGET_XOP))
   21726              :             return -1;
   21727              :           return 9123; /* xop_maskcmp_unsv2di3 */
   21728              : 
   21729              :         default:
   21730              :           return -1;
   21731              :         }
   21732              : 
   21733              :     default:
   21734              :       return -1;
   21735              :     }
   21736              : }
   21737              : 
   21738              :  int
   21739              : recog_350 (rtx x1 ATTRIBUTE_UNUSED,
   21740              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21741              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21742              : {
   21743              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21744              :   int res ATTRIBUTE_UNUSED;
   21745              :   switch (pattern29 (x1))
   21746              :     {
   21747              :     case 0:
   21748              :       if (!(
   21749              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21750              : (TARGET_AVX512FP16) && 
   21751              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21752              : (TARGET_AVX512VL)))
   21753              :         return -1;
   21754              :       return 4652; /* avx512fp16_fix_truncv8hi2 */
   21755              : 
   21756              :     case 1:
   21757              :       if (!(
   21758              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21759              : (TARGET_AVX512FP16) && 
   21760              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21761              : (TARGET_AVX512VL)))
   21762              :         return -1;
   21763              :       return 4660; /* avx512fp16_fix_truncv16hi2 */
   21764              : 
   21765              :     case 2:
   21766              :       if (!
   21767              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21768              : (TARGET_AVX512FP16))
   21769              :         return -1;
   21770              :       return 4668; /* avx512fp16_fix_truncv32hi2 */
   21771              : 
   21772              :     case 3:
   21773              :       switch (GET_MODE (operands[1]))
   21774              :         {
   21775              :         case E_V8HFmode:
   21776              :           if (!vector_operand (operands[1], E_V8HFmode)
   21777              :               || !(
   21778              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21779              : (TARGET_AVX512FP16) && 
   21780              : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21781              : (TARGET_AVX512VL)))
   21782              :             return -1;
   21783              :           return 4676; /* avx512fp16_fix_truncv8si2 */
   21784              : 
   21785              :         case E_V8SFmode:
   21786              :           if (!nonimmediate_operand (operands[1], E_V8SFmode)
   21787              :               || !
   21788              : #line 9126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21789              : (TARGET_AVX && 1))
   21790              :             return -1;
   21791              :           return 4928; /* fix_truncv8sfv8si2 */
   21792              : 
   21793              :         case E_V8DFmode:
   21794              :           if (!vector_operand (operands[1], E_V8DFmode)
   21795              :               || !
   21796              : #line 9900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21797              : (TARGET_AVX512F))
   21798              :             return -1;
   21799              :           return 5067; /* fix_truncv8dfv8si2 */
   21800              : 
   21801              :         default:
   21802              :           return -1;
   21803              :         }
   21804              : 
   21805              :     case 4:
   21806              :       if (!
   21807              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21808              : (TARGET_AVX512FP16))
   21809              :         return -1;
   21810              :       return 4684; /* avx512fp16_fix_truncv16si2 */
   21811              : 
   21812              :     case 5:
   21813              :       if (!
   21814              : #line 9107 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21815              : (TARGET_AVX512F))
   21816              :         return -1;
   21817              :       return 4918; /* fix_truncv16sfv16si2 */
   21818              : 
   21819              :     case 6:
   21820              :       if (!
   21821              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21822              : (TARGET_AVX512FP16))
   21823              :         return -1;
   21824              :       return 4692; /* avx512fp16_fix_truncv8di2 */
   21825              : 
   21826              :     case 7:
   21827              :       if (!
   21828              : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21829              : (TARGET_AVX512DQ && 1))
   21830              :         return -1;
   21831              :       return 5104; /* fix_truncv8dfv8di2 */
   21832              : 
   21833              :     case 8:
   21834              :       if (!
   21835              : #line 10072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21836              : (TARGET_AVX512DQ && 1))
   21837              :         return -1;
   21838              :       return 5148; /* fix_truncv8sfv8di2 */
   21839              : 
   21840              :     case 9:
   21841              :       switch (GET_MODE (operands[1]))
   21842              :         {
   21843              :         case E_V4HFmode:
   21844              :           if (!memory_operand (operands[1], E_V4HFmode)
   21845              :               || !
   21846              : #line 8262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21847              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   21848              :             return -1;
   21849              :           return 4716; /* *avx512fp16_fix_truncv4si2_load */
   21850              : 
   21851              :         case E_V4SFmode:
   21852              :           if (!vector_operand (operands[1], E_V4SFmode)
   21853              :               || !
   21854              : #line 9156 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21855              : (TARGET_SSE2 && 1))
   21856              :             return -1;
   21857              :           return 4932; /* fix_truncv4sfv4si2 */
   21858              : 
   21859              :         case E_V4DFmode:
   21860              :           if (!nonimmediate_operand (operands[1], E_V4DFmode)
   21861              :               || !
   21862              : #line 9989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21863              : (TARGET_AVX || (TARGET_AVX512VL && TARGET_AVX512F)))
   21864              :             return -1;
   21865              :           return 5082; /* fix_truncv4dfv4si2 */
   21866              : 
   21867              :         default:
   21868              :           return -1;
   21869              :         }
   21870              : 
   21871              :     case 10:
   21872              :       if (!
   21873              : #line 8262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21874              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   21875              :         return -1;
   21876              :       return 4720; /* *avx512fp16_fix_truncv4di2_load */
   21877              : 
   21878              :     case 11:
   21879              :       if (!(
   21880              : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21881              : (TARGET_AVX512DQ && 1) && 
   21882              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21883              : (TARGET_AVX512VL)))
   21884              :         return -1;
   21885              :       return 5112; /* fix_truncv4dfv4di2 */
   21886              : 
   21887              :     case 12:
   21888              :       if (!(
   21889              : #line 10072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21890              : (TARGET_AVX512DQ && 1) && 
   21891              : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21892              : (TARGET_AVX512VL)))
   21893              :         return -1;
   21894              :       return 5156; /* fix_truncv4sfv4di2 */
   21895              : 
   21896              :     case 13:
   21897              :       if (!
   21898              : #line 8312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21899              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   21900              :         return -1;
   21901              :       return 4732; /* *avx512fp16_fix_truncv2di2_load */
   21902              : 
   21903              :     case 14:
   21904              :       if (!(
   21905              : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21906              : (TARGET_AVX512DQ && 1) && 
   21907              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21908              : (TARGET_AVX512VL)))
   21909              :         return -1;
   21910              :       return 5116; /* fix_truncv2dfv2di2 */
   21911              : 
   21912              :     case 15:
   21913              :       if (!
   21914              : #line 8252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21915              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   21916              :         return -1;
   21917              :       return 4708; /* avx512fp16_fix_truncv4si2 */
   21918              : 
   21919              :     case 16:
   21920              :       if (!
   21921              : #line 8252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21922              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   21923              :         return -1;
   21924              :       return 4712; /* avx512fp16_fix_truncv4di2 */
   21925              : 
   21926              :     case 17:
   21927              :       if (!
   21928              : #line 8302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21929              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   21930              :         return -1;
   21931              :       return 4728; /* avx512fp16_fix_truncv2di2 */
   21932              : 
   21933              :     case 18:
   21934              :       if (!
   21935              : #line 10095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21936              : (TARGET_AVX512DQ && TARGET_AVX512VL))
   21937              :         return -1;
   21938              :       return 5164; /* avx512dq_fix_truncv2sfv2di2 */
   21939              : 
   21940              :     default:
   21941              :       return -1;
   21942              :     }
   21943              : }
   21944              : 
   21945              :  int
   21946              : recog_355 (rtx x1 ATTRIBUTE_UNUSED,
   21947              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21948              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21949              : {
   21950              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21951              :   rtx x2, x3, x4;
   21952              :   int res ATTRIBUTE_UNUSED;
   21953              :   x2 = XEXP (x1, 0);
   21954              :   operands[0] = x2;
   21955              :   x3 = XEXP (x1, 1);
   21956              :   x4 = XEXP (x3, 0);
   21957              :   operands[1] = x4;
   21958              :   switch (GET_MODE (operands[0]))
   21959              :     {
   21960              :     case E_V16SImode:
   21961              :       if (!register_operand (operands[0], E_V16SImode)
   21962              :           || GET_MODE (x3) != E_V16SImode
   21963              :           || !nonimmediate_operand (operands[1], E_V16SImode)
   21964              :           || !
   21965              : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21966              : (TARGET_AVX512CD))
   21967              :         return -1;
   21968              :       return 10134; /* clzv16si2 */
   21969              : 
   21970              :     case E_V8SImode:
   21971              :       if (!register_operand (operands[0], E_V8SImode)
   21972              :           || GET_MODE (x3) != E_V8SImode
   21973              :           || !nonimmediate_operand (operands[1], E_V8SImode)
   21974              :           || !(
   21975              : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21976              : (TARGET_AVX512CD) && 
   21977              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21978              : (TARGET_AVX512VL)))
   21979              :         return -1;
   21980              :       return 10136; /* clzv8si2 */
   21981              : 
   21982              :     case E_V4SImode:
   21983              :       if (!register_operand (operands[0], E_V4SImode)
   21984              :           || GET_MODE (x3) != E_V4SImode
   21985              :           || !nonimmediate_operand (operands[1], E_V4SImode)
   21986              :           || !(
   21987              : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21988              : (TARGET_AVX512CD) && 
   21989              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21990              : (TARGET_AVX512VL)))
   21991              :         return -1;
   21992              :       return 10138; /* clzv4si2 */
   21993              : 
   21994              :     case E_V8DImode:
   21995              :       if (!register_operand (operands[0], E_V8DImode)
   21996              :           || GET_MODE (x3) != E_V8DImode
   21997              :           || !nonimmediate_operand (operands[1], E_V8DImode)
   21998              :           || !
   21999              : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22000              : (TARGET_AVX512CD))
   22001              :         return -1;
   22002              :       return 10140; /* clzv8di2 */
   22003              : 
   22004              :     case E_V4DImode:
   22005              :       if (!register_operand (operands[0], E_V4DImode)
   22006              :           || GET_MODE (x3) != E_V4DImode
   22007              :           || !nonimmediate_operand (operands[1], E_V4DImode)
   22008              :           || !(
   22009              : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22010              : (TARGET_AVX512CD) && 
   22011              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22012              : (TARGET_AVX512VL)))
   22013              :         return -1;
   22014              :       return 10142; /* clzv4di2 */
   22015              : 
   22016              :     case E_V2DImode:
   22017              :       if (!register_operand (operands[0], E_V2DImode)
   22018              :           || GET_MODE (x3) != E_V2DImode
   22019              :           || !nonimmediate_operand (operands[1], E_V2DImode)
   22020              :           || !(
   22021              : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22022              : (TARGET_AVX512CD) && 
   22023              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22024              : (TARGET_AVX512VL)))
   22025              :         return -1;
   22026              :       return 10144; /* clzv2di2 */
   22027              : 
   22028              :     default:
   22029              :       return -1;
   22030              :     }
   22031              : }
   22032              : 
   22033              :  int
   22034              : recog_361 (rtx x1 ATTRIBUTE_UNUSED,
   22035              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   22036              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   22037              : {
   22038              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   22039              :   rtx x2, x3;
   22040              :   int res ATTRIBUTE_UNUSED;
   22041              :   switch (pattern8 (x1, pnum_clobbers))
   22042              :     {
   22043              :     case 0:
   22044              :       if (!(
   22045              : #line 27359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22046              : (TARGET_CMOVE
   22047              :    && ix86_pre_reload_split ()) && 
   22048              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22049              : (TARGET_64BIT)))
   22050              :         return -1;
   22051              :       *pnum_clobbers = 1;
   22052              :       return 1872; /* *uminti3_doubleword */
   22053              : 
   22054              :     case 1:
   22055              :       if (!
   22056              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22057              : (TARGET_CMOVE
   22058              :    && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
   22059              :    && ix86_pre_reload_split ()))
   22060              :         return -1;
   22061              :       *pnum_clobbers = 1;
   22062              :       return 1876; /* *uminqi3_1 */
   22063              : 
   22064              :     case 2:
   22065              :       if (!
   22066              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22067              : (TARGET_CMOVE
   22068              :    && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
   22069              :    && ix86_pre_reload_split ()))
   22070              :         return -1;
   22071              :       *pnum_clobbers = 1;
   22072              :       return 1880; /* *uminhi3_1 */
   22073              : 
   22074              :     case 3:
   22075              :       if (!
   22076              : #line 3765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   22077              : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
   22078              :         return -1;
   22079              :       return 2238; /* uminv4hi3 */
   22080              : 
   22081              :     case 4:
   22082              :       if (!
   22083              : #line 3765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   22084              : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
   22085              :         return -1;
   22086              :       return 2240; /* uminv2si3 */
   22087              : 
   22088              :     case 5:
   22089              :       if (!
   22090              : #line 3790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   22091              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
   22092              :    && (TARGET_SSE || TARGET_3DNOW_A)
   22093              :    && ix86_binary_operator_ok (UMIN, V8QImode, operands)))
   22094              :         return -1;
   22095              :       return 2242; /* *mmx_uminv8qi3 */
   22096              : 
   22097              :     case 6:
   22098              :       if (!
   22099              : #line 3814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   22100              : (TARGET_SSE2))
   22101              :         return -1;
   22102              :       return 2244; /* uminv4qi3 */
   22103              : 
   22104              :     case 7:
   22105              :       if (!
   22106              : #line 3814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   22107              : (TARGET_SSE2))
   22108              :         return -1;
   22109              :       return 2246; /* uminv2qi3 */
   22110              : 
   22111              :     case 8:
   22112              :       if (!
   22113              : #line 3827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   22114              : (TARGET_SSE4_1))
   22115              :         return -1;
   22116              :       return 2248; /* uminv2hi3 */
   22117              : 
   22118              :     case 9:
   22119              :       x2 = XEXP (x1, 1);
   22120              :       x3 = XEXP (x2, 1);
   22121              :       if (rtx_equal_p (x3, operands[1])
   22122              :           && 
   22123              : #line 27598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22124              : (TARGET_CMOVE
   22125              :    && ix86_pre_reload_split ()))
   22126              :         {
   22127              :           *pnum_clobbers = 1;
   22128              :           return 1891; /* *plus_within_uminhi3_1 */
   22129              :         }
   22130              :       if (!rtx_equal_p (x3, operands[2])
   22131              :           || !
   22132              : #line 27598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22133              : (TARGET_CMOVE
   22134              :    && ix86_pre_reload_split ()))
   22135              :         return -1;
   22136              :       *pnum_clobbers = 1;
   22137              :       return 1892; /* *plus_within_uminhi3_2 */
   22138              : 
   22139              :     case 10:
   22140              :       if (!
   22141              : #line 27631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22142              : (TARGET_CMOVE
   22143              :    && ix86_pre_reload_split ()))
   22144              :         return -1;
   22145              :       *pnum_clobbers = 1;
   22146              :       return 1902; /* *minus_within_uminhi3 */
   22147              : 
   22148              :     default:
   22149              :       return -1;
   22150              :     }
   22151              : }
   22152              : 
   22153              :  int
   22154              : recog_367 (rtx x1 ATTRIBUTE_UNUSED,
   22155              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   22156              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   22157              : {
   22158              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   22159              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   22160              :   int res ATTRIBUTE_UNUSED;
   22161              :   switch (pattern343 (x1))
   22162              :     {
   22163              :     case 0:
   22164              :       x2 = XVECEXP (x1, 0, 0);
   22165              :       x3 = XEXP (x2, 0);
   22166              :       operands[0] = x3;
   22167              :       switch (pattern821 (x1))
   22168              :         {
   22169              :         case 0:
   22170              :           if ((
   22171              : #line 16918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22172              : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
   22173              :     || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
   22174              :          == (2 * 4 * BITS_PER_UNIT - 1)))
   22175              :    && ix86_pre_reload_split ()) && 
   22176              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22177              : (!TARGET_64BIT)))
   22178              :             return 1154; /* *lshrdi3_doubleword_mask */
   22179              :           break;
   22180              : 
   22181              :         case 1:
   22182              :           if ((
   22183              : #line 16918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22184              : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
   22185              :     || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
   22186              :          == (2 * 8 * BITS_PER_UNIT - 1)))
   22187              :    && ix86_pre_reload_split ()) && 
   22188              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22189              : (TARGET_64BIT)))
   22190              :             return 1156; /* *lshrti3_doubleword_mask */
   22191              :           break;
   22192              : 
   22193              :         case 2:
   22194              :           if ((
   22195              : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22196              : (TARGET_AVX512F) && 
   22197              : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22198              : (TARGET_AVX512DQ)))
   22199              :             return 2665; /* klshiftrtqi */
   22200              :           break;
   22201              : 
   22202              :         case 3:
   22203              :           if (
   22204              : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22205              : (TARGET_AVX512F))
   22206              :             return 2667; /* klshiftrthi */
   22207              :           break;
   22208              : 
   22209              :         case 4:
   22210              :           if ((
   22211              : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22212              : (TARGET_AVX512F) && 
   22213              : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22214              : (TARGET_AVX512BW)))
   22215              :             return 2669; /* klshiftrtsi */
   22216              :           break;
   22217              : 
   22218              :         case 5:
   22219              :           if ((
   22220              : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22221              : (TARGET_AVX512F) && 
   22222              : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   22223              : (TARGET_AVX512BW)))
   22224              :             return 2671; /* klshiftrtdi */
   22225              :           break;
   22226              : 
   22227              :         default:
   22228              :           break;
   22229              :         }
   22230              :       x4 = XEXP (x2, 1);
   22231              :       x5 = XEXP (x4, 1);
   22232              :       operands[2] = x5;
   22233              :       switch (pattern822 (x1))
   22234              :         {
   22235              :         case 0:
   22236              :           operands[0] = x3;
   22237              :           switch (GET_MODE (operands[0]))
   22238              :             {
   22239              :             case E_DImode:
   22240              :               if (register_operand (operands[0], E_DImode)
   22241              :                   && GET_MODE (x4) == E_DImode
   22242              :                   && register_operand (operands[1], E_DImode)
   22243              :                   && 
   22244              : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22245              : (!TARGET_64BIT))
   22246              :                 return 1162; /* lshrdi3_doubleword */
   22247              :               break;
   22248              : 
   22249              :             case E_TImode:
   22250              :               if (register_operand (operands[0], E_TImode)
   22251              :                   && GET_MODE (x4) == E_TImode
   22252              :                   && register_operand (operands[1], E_TImode)
   22253              :                   && 
   22254              : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22255              : (TARGET_64BIT))
   22256              :                 return 1164; /* lshrti3_doubleword */
   22257              :               break;
   22258              : 
   22259              :             case E_SImode:
   22260              :               if (nonimmediate_operand (operands[0], E_SImode)
   22261              :                   && GET_MODE (x4) == E_SImode
   22262              :                   && nonimmediate_operand (operands[1], E_SImode)
   22263              :                   && 
   22264              : #line 17721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22265              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)
   22266              :    && true))
   22267              :                 return 1213; /* *lshrsi3_1 */
   22268              :               break;
   22269              : 
   22270              :             case E_QImode:
   22271              :               if (nonimmediate_operand (operands[0], E_QImode)
   22272              :                   && GET_MODE (x4) == E_QImode
   22273              :                   && nonimmediate_operand (operands[1], E_QImode)
   22274              :                   && 
   22275              : #line 17897 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22276              : (ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)
   22277              :    && true))
   22278              :                 return 1245; /* *lshrqi3_1 */
   22279              :               break;
   22280              : 
   22281              :             case E_HImode:
   22282              :               if (nonimmediate_operand (operands[0], E_HImode)
   22283              :                   && GET_MODE (x4) == E_HImode
   22284              :                   && nonimmediate_operand (operands[1], E_HImode)
   22285              :                   && 
   22286              : #line 17935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22287              : (ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)
   22288              :    && true))
   22289              :                 return 1247; /* *lshrhi3_1 */
   22290              :               break;
   22291              : 
   22292              :             case E_V2QImode:
   22293              :               if (register_operand (operands[0], E_V2QImode)
   22294              :                   && GET_MODE (x4) == E_V2QImode
   22295              :                   && register_operand (operands[1], E_V2QImode)
   22296              :                   && 
   22297              : #line 4035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   22298              : (!TARGET_PARTIAL_REG_STALL || optimize_size))
   22299              :                 return 2272; /* lshrv2qi3 */
   22300              :               break;
   22301              : 
   22302              :             default:
   22303              :               break;
   22304              :             }
   22305              :           break;
   22306              : 
   22307              :         case 1:
   22308              :           x6 = XEXP (x3, 0);
   22309              :           operands[0] = x6;
   22310              :           switch (pattern377 (x4))
   22311              :             {
   22312              :             case 0:
   22313              :               if (
   22314              : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22315              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   22316              :                 return 1248; /* *lshrqi3_1_slp */
   22317              :               break;
   22318              : 
   22319              :             case 1:
   22320              :               if (
   22321              : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22322              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   22323              :                 return 1250; /* *lshrhi3_1_slp */
   22324              :               break;
   22325              : 
   22326              :             default:
   22327              :               break;
   22328              :             }
   22329              :           break;
   22330              : 
   22331              :         default:
   22332              :           break;
   22333              :         }
   22334              :       x7 = XVECEXP (x1, 0, 1);
   22335              :       if (GET_CODE (x7) != CLOBBER)
   22336              :         return -1;
   22337              :       x8 = XEXP (x7, 0);
   22338              :       if (GET_CODE (x8) != REG
   22339              :           || REGNO (x8) != 17
   22340              :           || GET_MODE (x8) != E_CCmode)
   22341              :         return -1;
   22342              :       switch (GET_CODE (x5))
   22343              :         {
   22344              :         case CONST_INT:
   22345              :           if (pattern1241 (x2) == 0
   22346              :               && GET_MODE (x4) == E_DImode
   22347              :               && nonimmediate_operand (operands[1], E_DImode)
   22348              :               && 
   22349              : #line 17697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22350              : (TARGET_64BIT))
   22351              :             return 1211; /* *highpartdisi2 */
   22352              :           break;
   22353              : 
   22354              :         case SUBREG:
   22355              :           switch (pattern1244 (x2, 
   22356              : E_SImode))
   22357              :             {
   22358              :             case 0:
   22359              :               if (
   22360              : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22361              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   22362              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
   22363              :       == 4 * BITS_PER_UNIT - 1
   22364              :    && ix86_pre_reload_split ()))
   22365              :                 return 1277; /* *lshrsi3_mask */
   22366              :               break;
   22367              : 
   22368              :             case 1:
   22369              :               if (
   22370              : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22371              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   22372              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   22373              :    && ix86_pre_reload_split ()))
   22374              :                 return 1289; /* *lshrsi3_add */
   22375              :               break;
   22376              : 
   22377              :             case 2:
   22378              :               if (
   22379              : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22380              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   22381              :    && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   22382              :        || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
   22383              :           == 4 * BITS_PER_UNIT - 1)
   22384              :    && ix86_pre_reload_split ()))
   22385              :                 return 1301; /* *lshrsi3_sub */
   22386              :               break;
   22387              : 
   22388              :             default:
   22389              :               break;
   22390              :             }
   22391              :           break;
   22392              : 
   22393              :         default:
   22394              :           break;
   22395              :         }
   22396              :       operands[0] = x3;
   22397              :       if (!nonimmediate_operand (operands[0], E_DImode)
   22398              :           || GET_MODE (x4) != E_DImode
   22399              :           || !nonimmediate_operand (operands[1], E_DImode))
   22400              :         return -1;
   22401              :       operands[2] = x5;
   22402              :       if (nonmemory_operand (operands[2], E_QImode)
   22403              :           && (
   22404              : #line 17721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22405              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands, TARGET_APX_NDD)
   22406              :    && true) && 
   22407              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22408              : (TARGET_64BIT)))
   22409              :         return 1215; /* *lshrdi3_1 */
   22410              :       if (GET_CODE (x5) != SUBREG
   22411              :           || maybe_ne (SUBREG_BYTE (x5), 0)
   22412              :           || GET_MODE (x5) != E_QImode)
   22413              :         return -1;
   22414              :       x9 = XEXP (x5, 0);
   22415              :       switch (pattern1242 (x9))
   22416              :         {
   22417              :         case 0:
   22418              :           if (!(
   22419              : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22420              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   22421              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
   22422              :       == 8 * BITS_PER_UNIT - 1
   22423              :    && ix86_pre_reload_split ()) && 
   22424              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22425              : (TARGET_64BIT)))
   22426              :             return -1;
   22427              :           return 1280; /* *lshrdi3_mask */
   22428              : 
   22429              :         case 1:
   22430              :           if (!(
   22431              : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22432              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   22433              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   22434              :    && ix86_pre_reload_split ()) && 
   22435              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22436              : (TARGET_64BIT)))
   22437              :             return -1;
   22438              :           return 1292; /* *lshrdi3_add */
   22439              : 
   22440              :         case 2:
   22441              :           if (!(
   22442              : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22443              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   22444              :    && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   22445              :        || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
   22446              :           == 8 * BITS_PER_UNIT - 1)
   22447              :    && ix86_pre_reload_split ()) && 
   22448              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22449              : (TARGET_64BIT)))
   22450              :             return -1;
   22451              :           return 1304; /* *lshrdi3_sub */
   22452              : 
   22453              :         default:
   22454              :           return -1;
   22455              :         }
   22456              : 
   22457              :     case 1:
   22458              :       if (register_operand (operands[0], E_DImode)
   22459              :           && register_operand (operands[1], E_DImode)
   22460              :           && (
   22461              : #line 16979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22462              : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
   22463              :     || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
   22464              :          == (2 * 4 * BITS_PER_UNIT - 1)))
   22465              :    && ix86_pre_reload_split ()) && 
   22466              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22467              : (!TARGET_64BIT)))
   22468              :         return 1158; /* *lshrdi3_doubleword_mask_1 */
   22469              :       if (!nonimmediate_operand (operands[0], E_DImode)
   22470              :           || !nonimmediate_operand (operands[1], E_DImode)
   22471              :           || !(
   22472              : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22473              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   22474              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
   22475              :       == 8 * BITS_PER_UNIT - 1
   22476              :    && ix86_pre_reload_split ()) && 
   22477              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22478              : (TARGET_64BIT)))
   22479              :         return -1;
   22480              :       return 1286; /* *lshrdi3_mask_1 */
   22481              : 
   22482              :     case 2:
   22483              :       if (!(
   22484              : #line 16979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22485              : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
   22486              :     || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
   22487              :          == (2 * 8 * BITS_PER_UNIT - 1)))
   22488              :    && ix86_pre_reload_split ()) && 
   22489              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22490              : (TARGET_64BIT)))
   22491              :         return -1;
   22492              :       return 1160; /* *lshrti3_doubleword_mask_1 */
   22493              : 
   22494              :     case 3:
   22495              :       if (!
   22496              : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22497              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   22498              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
   22499              :       == 4 * BITS_PER_UNIT - 1
   22500              :    && ix86_pre_reload_split ()))
   22501              :         return -1;
   22502              :       return 1283; /* *lshrsi3_mask_1 */
   22503              : 
   22504              :     case 4:
   22505              :       if (!
   22506              : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22507              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   22508              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   22509              :    && ix86_pre_reload_split ()))
   22510              :         return -1;
   22511              :       return 1295; /* *lshrsi3_add_1 */
   22512              : 
   22513              :     case 5:
   22514              :       if (!(
   22515              : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22516              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   22517              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   22518              :    && ix86_pre_reload_split ()) && 
   22519              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22520              : (TARGET_64BIT)))
   22521              :         return -1;
   22522              :       return 1298; /* *lshrdi3_add_1 */
   22523              : 
   22524              :     case 6:
   22525              :       if (!
   22526              : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22527              : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   22528              :    && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   22529              :        || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
   22530              :           == 4 * BITS_PER_UNIT - 1)
   22531              :    && ix86_pre_reload_split ()))
   22532              :         return -1;
   22533              :       return 1307; /* *lshrsi3_sub_1 */
   22534              : 
   22535              :     case 7:
   22536              :       if (!(
   22537              : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22538              : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   22539              :    && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   22540              :        || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
   22541              :           == 8 * BITS_PER_UNIT - 1)
   22542              :    && ix86_pre_reload_split ()) && 
   22543              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22544              : (TARGET_64BIT)))
   22545              :         return -1;
   22546              :       return 1310; /* *lshrdi3_sub_1 */
   22547              : 
   22548              :     default:
   22549              :       return -1;
   22550              :     }
   22551              : }
   22552              : 
   22553              :  int
   22554              : recog_381 (rtx x1 ATTRIBUTE_UNUSED,
   22555              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   22556              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   22557              : {
   22558              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   22559              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   22560              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   22561              :   int res ATTRIBUTE_UNUSED;
   22562              :   x2 = XVECEXP (x1, 0, 0);
   22563              :   x3 = XEXP (x2, 1);
   22564              :   x4 = XEXP (x3, 0);
   22565              :   switch (GET_CODE (x4))
   22566              :     {
   22567              :     case REG:
   22568              :     case SUBREG:
   22569              :     case MEM:
   22570              :       operands[1] = x4;
   22571              :       if (pattern344 (x1) != 0)
   22572              :         return -1;
   22573              :       switch (pattern1162 (x3))
   22574              :         {
   22575              :         case 0:
   22576              :           if (!
   22577              : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22578              : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
   22579              :             return -1;
   22580              :           return 182; /* zero_extendqisi2_and */
   22581              : 
   22582              :         case 1:
   22583              :           if (!
   22584              : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22585              : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
   22586              :             return -1;
   22587              :           return 183; /* zero_extendhisi2_and */
   22588              : 
   22589              :         case 2:
   22590              :           if (!
   22591              : #line 4904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22592              : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
   22593              :             return -1;
   22594              :           return 186; /* zero_extendqihi2_and */
   22595              : 
   22596              :         default:
   22597              :           return -1;
   22598              :         }
   22599              : 
   22600              :     case PLUS:
   22601              :       return recog_379 (x1, insn, pnum_clobbers);
   22602              : 
   22603              :     case MINUS:
   22604              :       return recog_380 (x1, insn, pnum_clobbers);
   22605              : 
   22606              :     case MULT:
   22607              :       if (pattern345 (x1) != 0)
   22608              :         return -1;
   22609              :       switch (GET_MODE (operands[0]))
   22610              :         {
   22611              :         case E_SImode:
   22612              :           if (!register_operand (operands[0], E_SImode)
   22613              :               || GET_MODE (x3) != E_SImode
   22614              :               || GET_MODE (x4) != E_HImode
   22615              :               || !nonimmediate_operand (operands[1], E_HImode)
   22616              :               || !immediate_operand (operands[2], E_HImode)
   22617              :               || !
   22618              : #line 10986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22619              : (TARGET_APX_ZU && true))
   22620              :             return -1;
   22621              :           return 625; /* *imulhisizu */
   22622              : 
   22623              :         case E_DImode:
   22624              :           if (!register_operand (operands[0], E_DImode)
   22625              :               || GET_MODE (x3) != E_DImode)
   22626              :             return -1;
   22627              :           switch (GET_MODE (x4))
   22628              :             {
   22629              :             case E_HImode:
   22630              :               if (!nonimmediate_operand (operands[1], E_HImode)
   22631              :                   || !immediate_operand (operands[2], E_HImode)
   22632              :                   || !
   22633              : #line 10986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22634              : (TARGET_APX_ZU && true))
   22635              :                 return -1;
   22636              :               return 627; /* *imulhidizu */
   22637              : 
   22638              :             case E_SImode:
   22639              :               if (!nonimmediate_operand (operands[1], E_SImode)
   22640              :                   || !x86_64_general_operand (operands[2], E_SImode)
   22641              :                   || !
   22642              : #line 10998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22643              : (TARGET_64BIT
   22644              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   22645              :    && true))
   22646              :                 return -1;
   22647              :               return 629; /* *mulsi3_1_zext */
   22648              : 
   22649              :             default:
   22650              :               return -1;
   22651              :             }
   22652              : 
   22653              :         default:
   22654              :           return -1;
   22655              :         }
   22656              : 
   22657              :     case DIV:
   22658              :       if (pattern346 (x1, pnum_clobbers, 
   22659              : MOD) != 0)
   22660              :         return -1;
   22661              :       x5 = XEXP (x4, 0);
   22662              :       operands[2] = x5;
   22663              :       if (!register_operand (operands[2], E_SImode))
   22664              :         return -1;
   22665              :       x6 = XEXP (x4, 1);
   22666              :       operands[3] = x6;
   22667              :       if (!nonimmediate_operand (operands[3], E_SImode))
   22668              :         return -1;
   22669              :       x7 = XVECEXP (x1, 0, 1);
   22670              :       x8 = XEXP (x7, 0);
   22671              :       operands[1] = x8;
   22672              :       if (!register_operand (operands[1], E_SImode))
   22673              :         return -1;
   22674              :       x9 = XEXP (x7, 1);
   22675              :       x10 = XEXP (x9, 0);
   22676              :       if (!rtx_equal_p (x10, operands[2]))
   22677              :         return -1;
   22678              :       x11 = XEXP (x9, 1);
   22679              :       if (!rtx_equal_p (x11, operands[3])
   22680              :           || !
   22681              : #line 12027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22682              : (TARGET_64BIT))
   22683              :         return -1;
   22684              :       *pnum_clobbers = 1;
   22685              :       return 683; /* *divmodsi4_zext_1 */
   22686              : 
   22687              :     case UDIV:
   22688              :       if (pattern346 (x1, pnum_clobbers, 
   22689              : UMOD) != 0)
   22690              :         return -1;
   22691              :       x5 = XEXP (x4, 0);
   22692              :       operands[2] = x5;
   22693              :       if (!register_operand (operands[2], E_SImode))
   22694              :         return -1;
   22695              :       x6 = XEXP (x4, 1);
   22696              :       operands[3] = x6;
   22697              :       x7 = XVECEXP (x1, 0, 1);
   22698              :       x8 = XEXP (x7, 0);
   22699              :       operands[1] = x8;
   22700              :       if (!register_operand (operands[1], E_SImode))
   22701              :         return -1;
   22702              :       x9 = XEXP (x7, 1);
   22703              :       switch (pattern1635 (x9))
   22704              :         {
   22705              :         case 0:
   22706              :           if (!
   22707              : #line 12062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22708              : (TARGET_64BIT))
   22709              :             return -1;
   22710              :           *pnum_clobbers = 1;
   22711              :           return 684; /* *udivmodsi4_zext_1 */
   22712              : 
   22713              :         case 1:
   22714              :           if (!
   22715              : #line 12084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22716              : (TARGET_64BIT
   22717              :    && IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
   22718              :             return -1;
   22719              :           *pnum_clobbers = 1;
   22720              :           return 685; /* *udivmodsi4_pow2_zext_1 */
   22721              : 
   22722              :         default:
   22723              :           return -1;
   22724              :         }
   22725              : 
   22726              :     case MOD:
   22727              :       if (pattern347 (x1, pnum_clobbers, 
   22728              : DIV) != 0)
   22729              :         return -1;
   22730              :       x5 = XEXP (x4, 0);
   22731              :       operands[2] = x5;
   22732              :       if (!register_operand (operands[2], E_SImode))
   22733              :         return -1;
   22734              :       x6 = XEXP (x4, 1);
   22735              :       operands[3] = x6;
   22736              :       if (!nonimmediate_operand (operands[3], E_SImode))
   22737              :         return -1;
   22738              :       x7 = XVECEXP (x1, 0, 1);
   22739              :       x8 = XEXP (x7, 0);
   22740              :       operands[0] = x8;
   22741              :       if (!register_operand (operands[0], E_SImode))
   22742              :         return -1;
   22743              :       x9 = XEXP (x7, 1);
   22744              :       x10 = XEXP (x9, 0);
   22745              :       if (!rtx_equal_p (x10, operands[2]))
   22746              :         return -1;
   22747              :       x11 = XEXP (x9, 1);
   22748              :       if (!rtx_equal_p (x11, operands[3])
   22749              :           || !
   22750              : #line 12110 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22751              : (TARGET_64BIT))
   22752              :         return -1;
   22753              :       *pnum_clobbers = 1;
   22754              :       return 686; /* *divmodsi4_zext_2 */
   22755              : 
   22756              :     case UMOD:
   22757              :       if (pattern347 (x1, pnum_clobbers, 
   22758              : UDIV) != 0)
   22759              :         return -1;
   22760              :       x5 = XEXP (x4, 0);
   22761              :       operands[2] = x5;
   22762              :       if (!register_operand (operands[2], E_SImode))
   22763              :         return -1;
   22764              :       x6 = XEXP (x4, 1);
   22765              :       operands[3] = x6;
   22766              :       x7 = XVECEXP (x1, 0, 1);
   22767              :       x8 = XEXP (x7, 0);
   22768              :       operands[0] = x8;
   22769              :       if (!register_operand (operands[0], E_SImode))
   22770              :         return -1;
   22771              :       x9 = XEXP (x7, 1);
   22772              :       switch (pattern1635 (x9))
   22773              :         {
   22774              :         case 0:
   22775              :           if (!
   22776              : #line 12146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22777              : (TARGET_64BIT))
   22778              :             return -1;
   22779              :           *pnum_clobbers = 1;
   22780              :           return 687; /* *udivmodsi4_zext_2 */
   22781              : 
   22782              :         case 1:
   22783              :           if (!
   22784              : #line 12168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22785              : (TARGET_64BIT
   22786              :    && IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
   22787              :             return -1;
   22788              :           *pnum_clobbers = 1;
   22789              :           return 688; /* *udivmodsi4_pow2_zext_2 */
   22790              : 
   22791              :         default:
   22792              :           return -1;
   22793              :         }
   22794              : 
   22795              :     case AND:
   22796              :       if (pattern344 (x1) != 0)
   22797              :         return -1;
   22798              :       x5 = XEXP (x4, 0);
   22799              :       switch (GET_CODE (x5))
   22800              :         {
   22801              :         case REG:
   22802              :         case SUBREG:
   22803              :         case MEM:
   22804              :           switch (pattern1049 (x3))
   22805              :             {
   22806              :             case 0:
   22807              :               if (!
   22808              : #line 12968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22809              : (TARGET_APX_NDD && true
   22810              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22811              :                 return -1;
   22812              :               return 737; /* *andqi_1_zexthi */
   22813              : 
   22814              :             case 1:
   22815              :               if (!
   22816              : #line 12968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22817              : (TARGET_APX_NDD && true
   22818              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22819              :                 return -1;
   22820              :               return 739; /* *andqi_1_zextsi */
   22821              : 
   22822              :             case 2:
   22823              :               if (!
   22824              : #line 12982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22825              : (TARGET_APX_NDD && true
   22826              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22827              :                 return -1;
   22828              :               return 743; /* *andhi_1_zextsi */
   22829              : 
   22830              :             case 3:
   22831              :               if (!
   22832              : #line 12968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22833              : (TARGET_APX_NDD && true
   22834              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22835              :                 return -1;
   22836              :               return 741; /* *andqi_1_zextdi */
   22837              : 
   22838              :             case 4:
   22839              :               if (!
   22840              : #line 12982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22841              : (TARGET_APX_NDD && true
   22842              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22843              :                 return -1;
   22844              :               return 745; /* *andhi_1_zextdi */
   22845              : 
   22846              :             case 5:
   22847              :               if (!
   22848              : #line 12998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22849              : (TARGET_64BIT
   22850              :    && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)))
   22851              :                 return -1;
   22852              :               return 746; /* *andsi_1_zext */
   22853              : 
   22854              :             default:
   22855              :               return -1;
   22856              :             }
   22857              : 
   22858              :         case PLUS:
   22859              :           if (pattern704 (x5) != 0
   22860              :               || !register_operand (operands[0], E_DImode)
   22861              :               || GET_MODE (x3) != E_DImode
   22862              :               || GET_MODE (x4) != E_SImode)
   22863              :             return -1;
   22864              :           x12 = XEXP (x5, 0);
   22865              :           x13 = XEXP (x12, 1);
   22866              :           operands[2] = x13;
   22867              :           if (!register_operand (operands[2], E_QImode))
   22868              :             return -1;
   22869              :           x6 = XEXP (x4, 1);
   22870              :           operands[1] = x6;
   22871              :           if (!nonimmediate_operand (operands[1], E_SImode)
   22872              :               || !
   22873              : #line 22472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22874              : (TARGET_64BIT && TARGET_BMI2))
   22875              :             return -1;
   22876              :           return 1632; /* *bmi2_bzhi_zero_extendsidi_4 */
   22877              : 
   22878              :         default:
   22879              :           return -1;
   22880              :         }
   22881              : 
   22882              :     case IOR:
   22883              :       if (pattern348 (x1) != 0)
   22884              :         return -1;
   22885              :       switch (pattern1049 (x3))
   22886              :         {
   22887              :         case 0:
   22888              :           if (!
   22889              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22890              : (TARGET_APX_NDD && true
   22891              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22892              :             return -1;
   22893              :           return 872; /* *iorqi_1_zexthi */
   22894              : 
   22895              :         case 1:
   22896              :           if (!
   22897              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22898              : (TARGET_APX_NDD && true
   22899              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22900              :             return -1;
   22901              :           return 876; /* *iorqi_1_zextsi */
   22902              : 
   22903              :         case 2:
   22904              :           if (!
   22905              : #line 14049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22906              : (TARGET_APX_NDD && true
   22907              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22908              :             return -1;
   22909              :           return 884; /* *iorhi_1_zextsi */
   22910              : 
   22911              :         case 3:
   22912              :           if (!
   22913              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22914              : (TARGET_APX_NDD && true
   22915              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22916              :             return -1;
   22917              :           return 880; /* *iorqi_1_zextdi */
   22918              : 
   22919              :         case 4:
   22920              :           if (!
   22921              : #line 14049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22922              : (TARGET_APX_NDD && true
   22923              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22924              :             return -1;
   22925              :           return 888; /* *iorhi_1_zextdi */
   22926              : 
   22927              :         case 5:
   22928              :           if (!
   22929              : #line 14065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22930              : (TARGET_64BIT
   22931              :    && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
   22932              :             return -1;
   22933              :           return 891; /* *iorsi_1_zext */
   22934              : 
   22935              :         default:
   22936              :           return -1;
   22937              :         }
   22938              : 
   22939              :     case XOR:
   22940              :       if (pattern344 (x1) != 0)
   22941              :         return -1;
   22942              :       x5 = XEXP (x4, 0);
   22943              :       switch (GET_CODE (x5))
   22944              :         {
   22945              :         case REG:
   22946              :         case SUBREG:
   22947              :         case MEM:
   22948              :           switch (pattern1049 (x3))
   22949              :             {
   22950              :             case 0:
   22951              :               if (!
   22952              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22953              : (TARGET_APX_NDD && true
   22954              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22955              :                 return -1;
   22956              :               return 874; /* *xorqi_1_zexthi */
   22957              : 
   22958              :             case 1:
   22959              :               if (!
   22960              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22961              : (TARGET_APX_NDD && true
   22962              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22963              :                 return -1;
   22964              :               return 878; /* *xorqi_1_zextsi */
   22965              : 
   22966              :             case 2:
   22967              :               if (!
   22968              : #line 14049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22969              : (TARGET_APX_NDD && true
   22970              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22971              :                 return -1;
   22972              :               return 886; /* *xorhi_1_zextsi */
   22973              : 
   22974              :             case 3:
   22975              :               if (!
   22976              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22977              : (TARGET_APX_NDD && true
   22978              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22979              :                 return -1;
   22980              :               return 882; /* *xorqi_1_zextdi */
   22981              : 
   22982              :             case 4:
   22983              :               if (!
   22984              : #line 14049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22985              : (TARGET_APX_NDD && true
   22986              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22987              :                 return -1;
   22988              :               return 890; /* *xorhi_1_zextdi */
   22989              : 
   22990              :             case 5:
   22991              :               if (!
   22992              : #line 14065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22993              : (TARGET_64BIT
   22994              :    && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
   22995              :                 return -1;
   22996              :               return 892; /* *xorsi_1_zext */
   22997              : 
   22998              :             default:
   22999              :               return -1;
   23000              :             }
   23001              : 
   23002              :         case MINUS:
   23003              :           if (pattern1166 (x4) != 0
   23004              :               || !register_operand (operands[0], E_DImode)
   23005              :               || GET_MODE (x3) != E_DImode
   23006              :               || GET_MODE (x4) != E_SImode)
   23007              :             return -1;
   23008              :           x14 = XEXP (x5, 1);
   23009              :           x15 = XEXP (x14, 0);
   23010              :           operands[1] = x15;
   23011              :           if (!nonimmediate_operand (operands[1], E_SImode)
   23012              :               || !
   23013              : #line 21705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23014              : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
   23015              :             return -1;
   23016              :           return 1565; /* *bsru_2 */
   23017              : 
   23018              :         default:
   23019              :           return -1;
   23020              :         }
   23021              : 
   23022              :     case NEG:
   23023              :       if (pattern349 (x1) != 0)
   23024              :         return -1;
   23025              :       switch (pattern351 (x3))
   23026              :         {
   23027              :         case 0:
   23028              :           if (!
   23029              : #line 14696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23030              : (TARGET_APX_NDD && true))
   23031              :             return -1;
   23032              :           return 995; /* *negqi_1_zexthi */
   23033              : 
   23034              :         case 1:
   23035              :           if (!
   23036              : #line 14696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23037              : (TARGET_APX_NDD && true))
   23038              :             return -1;
   23039              :           return 997; /* *negqi_1_zextsi */
   23040              : 
   23041              :         case 2:
   23042              :           if (!
   23043              : #line 14706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23044              : (TARGET_APX_NDD && true))
   23045              :             return -1;
   23046              :           return 1001; /* *neghi_1_zextsi */
   23047              : 
   23048              :         case 3:
   23049              :           if (!
   23050              : #line 14696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23051              : (TARGET_APX_NDD && true))
   23052              :             return -1;
   23053              :           return 999; /* *negqi_1_zextdi */
   23054              : 
   23055              :         case 4:
   23056              :           if (!
   23057              : #line 14706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23058              : (TARGET_APX_NDD && true))
   23059              :             return -1;
   23060              :           return 1003; /* *neghi_1_zextdi */
   23061              : 
   23062              :         case 5:
   23063              :           if (!
   23064              : #line 14717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23065              : (TARGET_64BIT
   23066              :    && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)))
   23067              :             return -1;
   23068              :           return 1004; /* *negsi_1_zext */
   23069              : 
   23070              :         default:
   23071              :           return -1;
   23072              :         }
   23073              : 
   23074              :     case ASHIFT:
   23075              :       switch (pattern353 (x1))
   23076              :         {
   23077              :         case 0:
   23078              :           if (!
   23079              : #line 16346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23080              : (TARGET_APX_NDD && true))
   23081              :             return -1;
   23082              :           return 1126; /* *ashlqi3_1_zexthi */
   23083              : 
   23084              :         case 1:
   23085              :           if (!
   23086              : #line 16346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23087              : (TARGET_APX_NDD && true))
   23088              :             return -1;
   23089              :           return 1128; /* *ashlqi3_1_zextsi */
   23090              : 
   23091              :         case 2:
   23092              :           if (!
   23093              : #line 16357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23094              : (TARGET_APX_NDD && true))
   23095              :             return -1;
   23096              :           return 1132; /* *ashlhi3_1_zextsi */
   23097              : 
   23098              :         case 3:
   23099              :           if (!
   23100              : #line 16346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23101              : (TARGET_APX_NDD && true))
   23102              :             return -1;
   23103              :           return 1130; /* *ashlqi3_1_zextdi */
   23104              : 
   23105              :         case 4:
   23106              :           if (!
   23107              : #line 16357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23108              : (TARGET_APX_NDD && true))
   23109              :             return -1;
   23110              :           return 1134; /* *ashlhi3_1_zextdi */
   23111              : 
   23112              :         case 5:
   23113              :           if (!
   23114              : #line 16369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23115              : (TARGET_64BIT
   23116              :    && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)))
   23117              :             return -1;
   23118              :           return 1135; /* *ashlsi3_1_zext */
   23119              : 
   23120              :         default:
   23121              :           return -1;
   23122              :         }
   23123              : 
   23124              :     case ASHIFTRT:
   23125              :       if (pattern345 (x1) != 0)
   23126              :         return -1;
   23127              :       switch (GET_MODE (operands[0]))
   23128              :         {
   23129              :         case E_DImode:
   23130              :           if (!register_operand (operands[0], E_DImode)
   23131              :               || GET_MODE (x3) != E_DImode)
   23132              :             return -1;
   23133              :           switch (GET_MODE (x4))
   23134              :             {
   23135              :             case E_SImode:
   23136              :               if (!nonimmediate_operand (operands[1], E_SImode))
   23137              :                 return -1;
   23138              :               if (const_int_operand (operands[2], E_QImode)
   23139              :                   && 
   23140              : #line 17602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23141              : (TARGET_64BIT && INTVAL (operands[2]) == 31
   23142              :    && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
   23143              :    && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
   23144              :                 return 1202; /* *ashrsi3_cvt_zext */
   23145              :               if (!nonmemory_operand (operands[2], E_QImode)
   23146              :                   || !
   23147              : #line 17814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23148              : (TARGET_64BIT
   23149              :    && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
   23150              :                 return -1;
   23151              :               return 1239; /* *ashrsi3_1_zext */
   23152              : 
   23153              :             case E_QImode:
   23154              :               if (!nonimmediate_operand (operands[1], E_QImode)
   23155              :                   || !nonmemory_operand (operands[2], E_QImode)
   23156              :                   || !
   23157              : #line 17791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23158              : (TARGET_APX_NDD && true))
   23159              :                 return -1;
   23160              :               return 1229; /* *ashrqi3_1_zextdi */
   23161              : 
   23162              :             case E_HImode:
   23163              :               if (!nonimmediate_operand (operands[1], E_HImode)
   23164              :                   || !nonmemory_operand (operands[2], E_QImode)
   23165              :                   || !
   23166              : #line 17802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23167              : (TARGET_APX_NDD && true))
   23168              :                 return -1;
   23169              :               return 1237; /* *ashrhi3_1_zextdi */
   23170              : 
   23171              :             default:
   23172              :               return -1;
   23173              :             }
   23174              : 
   23175              :         case E_HImode:
   23176              :           if (!register_operand (operands[0], E_HImode)
   23177              :               || GET_MODE (x3) != E_HImode
   23178              :               || GET_MODE (x4) != E_QImode
   23179              :               || !nonimmediate_operand (operands[1], E_QImode)
   23180              :               || !nonmemory_operand (operands[2], E_QImode)
   23181              :               || !
   23182              : #line 17791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23183              : (TARGET_APX_NDD && true))
   23184              :             return -1;
   23185              :           return 1221; /* *ashrqi3_1_zexthi */
   23186              : 
   23187              :         case E_SImode:
   23188              :           if (!register_operand (operands[0], E_SImode)
   23189              :               || GET_MODE (x3) != E_SImode
   23190              :               || !nonmemory_operand (operands[2], E_QImode))
   23191              :             return -1;
   23192              :           switch (GET_MODE (x4))
   23193              :             {
   23194              :             case E_QImode:
   23195              :               if (!nonimmediate_operand (operands[1], E_QImode)
   23196              :                   || !
   23197              : #line 17791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23198              : (TARGET_APX_NDD && true))
   23199              :                 return -1;
   23200              :               return 1225; /* *ashrqi3_1_zextsi */
   23201              : 
   23202              :             case E_HImode:
   23203              :               if (!nonimmediate_operand (operands[1], E_HImode)
   23204              :                   || !
   23205              : #line 17802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23206              : (TARGET_APX_NDD && true))
   23207              :                 return -1;
   23208              :               return 1233; /* *ashrhi3_1_zextsi */
   23209              : 
   23210              :             default:
   23211              :               return -1;
   23212              :             }
   23213              : 
   23214              :         default:
   23215              :           return -1;
   23216              :         }
   23217              : 
   23218              :     case LSHIFTRT:
   23219              :       x16 = XEXP (x2, 0);
   23220              :       operands[0] = x16;
   23221              :       x5 = XEXP (x4, 0);
   23222              :       operands[1] = x5;
   23223              :       x6 = XEXP (x4, 1);
   23224              :       operands[2] = x6;
   23225              :       x7 = XVECEXP (x1, 0, 1);
   23226              :       switch (GET_CODE (x7))
   23227              :         {
   23228              :         case CLOBBER:
   23229              :           x8 = XEXP (x7, 0);
   23230              :           if (GET_CODE (x8) != REG
   23231              :               || REGNO (x8) != 17
   23232              :               || GET_MODE (x8) != E_CCmode)
   23233              :             return -1;
   23234              :           switch (pattern352 (x3))
   23235              :             {
   23236              :             case 0:
   23237              :               if (!
   23238              : #line 17791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23239              : (TARGET_APX_NDD && true))
   23240              :                 return -1;
   23241              :               return 1219; /* *lshrqi3_1_zexthi */
   23242              : 
   23243              :             case 1:
   23244              :               if (!
   23245              : #line 17791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23246              : (TARGET_APX_NDD && true))
   23247              :                 return -1;
   23248              :               return 1223; /* *lshrqi3_1_zextsi */
   23249              : 
   23250              :             case 2:
   23251              :               if (!
   23252              : #line 17802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23253              : (TARGET_APX_NDD && true))
   23254              :                 return -1;
   23255              :               return 1231; /* *lshrhi3_1_zextsi */
   23256              : 
   23257              :             case 3:
   23258              :               if (!
   23259              : #line 17791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23260              : (TARGET_APX_NDD && true))
   23261              :                 return -1;
   23262              :               return 1227; /* *lshrqi3_1_zextdi */
   23263              : 
   23264              :             case 4:
   23265              :               if (!
   23266              : #line 17802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23267              : (TARGET_APX_NDD && true))
   23268              :                 return -1;
   23269              :               return 1235; /* *lshrhi3_1_zextdi */
   23270              : 
   23271              :             case 5:
   23272              :               if (!
   23273              : #line 17814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23274              : (TARGET_64BIT
   23275              :    && ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)))
   23276              :                 return -1;
   23277              :               return 1238; /* *lshrsi3_1_zext */
   23278              : 
   23279              :             default:
   23280              :               return -1;
   23281              :             }
   23282              : 
   23283              :         case UNSPEC:
   23284              :           if (XVECLEN (x7, 0) != 1
   23285              :               || XINT (x7, 1) != 175)
   23286              :             return -1;
   23287              :           x17 = XVECEXP (x7, 0, 0);
   23288              :           if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   23289              :               || pattern1239 (x3, 
   23290              : E_SImode, 
   23291              : E_DImode) != 0
   23292              :               || !const_0_to_31_operand (operands[2], E_VOIDmode)
   23293              :               || !
   23294              : #line 2330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23295              : (TARGET_AVX512BW))
   23296              :             return -1;
   23297              :           return 2672; /* *klshrsi3_1_zext */
   23298              : 
   23299              :         default:
   23300              :           return -1;
   23301              :         }
   23302              : 
   23303              :     case ROTATE:
   23304              :       switch (pattern353 (x1))
   23305              :         {
   23306              :         case 0:
   23307              :           if (!
   23308              : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23309              : (TARGET_APX_NDD && true))
   23310              :             return -1;
   23311              :           return 1384; /* *rotlqi3_1_zexthi */
   23312              : 
   23313              :         case 1:
   23314              :           if (!
   23315              : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23316              : (TARGET_APX_NDD && true))
   23317              :             return -1;
   23318              :           return 1388; /* *rotlqi3_1_zextsi */
   23319              : 
   23320              :         case 2:
   23321              :           if (!
   23322              : #line 18941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23323              : (TARGET_APX_NDD && true))
   23324              :             return -1;
   23325              :           return 1396; /* *rotlhi3_1_zextsi */
   23326              : 
   23327              :         case 3:
   23328              :           if (!
   23329              : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23330              : (TARGET_APX_NDD && true))
   23331              :             return -1;
   23332              :           return 1392; /* *rotlqi3_1_zextdi */
   23333              : 
   23334              :         case 4:
   23335              :           if (!
   23336              : #line 18941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23337              : (TARGET_APX_NDD && true))
   23338              :             return -1;
   23339              :           return 1400; /* *rotlhi3_1_zextdi */
   23340              : 
   23341              :         case 5:
   23342              :           if (!
   23343              : #line 18953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23344              : (TARGET_64BIT && ix86_binary_operator_ok (ROTATE, SImode, operands)))
   23345              :             return -1;
   23346              :           return 1403; /* *rotlsi3_1_zext */
   23347              : 
   23348              :         default:
   23349              :           return -1;
   23350              :         }
   23351              : 
   23352              :     case ROTATERT:
   23353              :       switch (pattern353 (x1))
   23354              :         {
   23355              :         case 0:
   23356              :           if (!
   23357              : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23358              : (TARGET_APX_NDD && true))
   23359              :             return -1;
   23360              :           return 1386; /* *rotrqi3_1_zexthi */
   23361              : 
   23362              :         case 1:
   23363              :           if (!
   23364              : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23365              : (TARGET_APX_NDD && true))
   23366              :             return -1;
   23367              :           return 1390; /* *rotrqi3_1_zextsi */
   23368              : 
   23369              :         case 2:
   23370              :           if (!
   23371              : #line 18941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23372              : (TARGET_APX_NDD && true))
   23373              :             return -1;
   23374              :           return 1398; /* *rotrhi3_1_zextsi */
   23375              : 
   23376              :         case 3:
   23377              :           if (!
   23378              : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23379              : (TARGET_APX_NDD && true))
   23380              :             return -1;
   23381              :           return 1394; /* *rotrqi3_1_zextdi */
   23382              : 
   23383              :         case 4:
   23384              :           if (!
   23385              : #line 18941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23386              : (TARGET_APX_NDD && true))
   23387              :             return -1;
   23388              :           return 1402; /* *rotrhi3_1_zextdi */
   23389              : 
   23390              :         case 5:
   23391              :           if (!
   23392              : #line 18953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23393              : (TARGET_64BIT && ix86_binary_operator_ok (ROTATERT, SImode, operands)))
   23394              :             return -1;
   23395              :           return 1404; /* *rotrsi3_1_zext */
   23396              : 
   23397              :         default:
   23398              :           return -1;
   23399              :         }
   23400              : 
   23401              :     case CTZ:
   23402              :       if (GET_MODE (x4) != E_SImode)
   23403              :         return -1;
   23404              :       x16 = XEXP (x2, 0);
   23405              :       operands[0] = x16;
   23406              :       if (!register_operand (operands[0], E_DImode)
   23407              :           || GET_MODE (x3) != E_DImode)
   23408              :         return -1;
   23409              :       switch (pattern939 (x1, pnum_clobbers))
   23410              :         {
   23411              :         case 0:
   23412              :           if (!
   23413              : #line 21532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23414              : (TARGET_64BIT))
   23415              :             return -1;
   23416              :           return 1553; /* *ctzsidi2_uext */
   23417              : 
   23418              :         case 1:
   23419              :           if (!
   23420              : #line 21572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23421              : (TARGET_64BIT))
   23422              :             return -1;
   23423              :           *pnum_clobbers = 1;
   23424              :           return 1555; /* *ctzsidi2_uext_falsedep */
   23425              : 
   23426              :         default:
   23427              :           return -1;
   23428              :         }
   23429              : 
   23430              :     case CLZ:
   23431              :       if (GET_MODE (x4) != E_SImode)
   23432              :         return -1;
   23433              :       x16 = XEXP (x2, 0);
   23434              :       operands[0] = x16;
   23435              :       if (!register_operand (operands[0], E_DImode)
   23436              :           || GET_MODE (x3) != E_DImode)
   23437              :         return -1;
   23438              :       switch (pattern557 (x1, pnum_clobbers))
   23439              :         {
   23440              :         case 0:
   23441              :           if (!nonimmediate_operand (operands[1], E_SImode)
   23442              :               || !
   23443              : #line 21968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23444              : (TARGET_LZCNT && TARGET_64BIT))
   23445              :             return -1;
   23446              :           return 1577; /* *clzsi2_lzcnt_zext_2 */
   23447              : 
   23448              :         case 1:
   23449              :           x7 = XVECEXP (x1, 0, 1);
   23450              :           x17 = XVECEXP (x7, 0, 0);
   23451              :           switch (pattern1433 (x17))
   23452              :             {
   23453              :             case 0:
   23454              :               if (!
   23455              : #line 21993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23456              : (TARGET_LZCNT))
   23457              :                 return -1;
   23458              :               *pnum_clobbers = 1;
   23459              :               return 1578; /* *clzsi2_lzcnt_zext_2_falsedep */
   23460              : 
   23461              :             case 1:
   23462              :               if (!(
   23463              : #line 21993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23464              : (TARGET_LZCNT) && 
   23465              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23466              : (TARGET_64BIT)))
   23467              :                 return -1;
   23468              :               *pnum_clobbers = 1;
   23469              :               return 1579; /* *clzsi2_lzcnt_zext_2_falsedep */
   23470              : 
   23471              :             default:
   23472              :               return -1;
   23473              :             }
   23474              : 
   23475              :         default:
   23476              :           return -1;
   23477              :         }
   23478              : 
   23479              :     case POPCOUNT:
   23480              :       x16 = XEXP (x2, 0);
   23481              :       operands[0] = x16;
   23482              :       switch (pattern557 (x1, pnum_clobbers))
   23483              :         {
   23484              :         case 0:
   23485              :           switch (GET_MODE (operands[0]))
   23486              :             {
   23487              :             case E_DImode:
   23488              :               if (pattern350 (x3, 
   23489              : E_SImode, 
   23490              : E_DImode) != 0
   23491              :                   || !
   23492              : #line 22805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23493              : (TARGET_POPCNT && TARGET_64BIT))
   23494              :                 return -1;
   23495              :               return 1668; /* *popcountsi2_zext_2 */
   23496              : 
   23497              :             case E_SImode:
   23498              :               if (pattern350 (x3, 
   23499              : E_HImode, 
   23500              : E_SImode) != 0
   23501              :                   || !
   23502              : #line 22871 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23503              : (TARGET_POPCNT
   23504              :    && ix86_pre_reload_split ()))
   23505              :                 return -1;
   23506              :               return 1671; /* *popcounthi2_2 */
   23507              : 
   23508              :             default:
   23509              :               return -1;
   23510              :             }
   23511              : 
   23512              :         case 1:
   23513              :           if (!register_operand (operands[0], E_DImode)
   23514              :               || GET_MODE (x3) != E_DImode
   23515              :               || GET_MODE (x4) != E_SImode
   23516              :               || !nonimmediate_operand (operands[1], E_SImode))
   23517              :             return -1;
   23518              :           x7 = XVECEXP (x1, 0, 1);
   23519              :           x17 = XVECEXP (x7, 0, 0);
   23520              :           operands[2] = x17;
   23521              :           if (!register_operand (operands[2], E_DImode)
   23522              :               || !
   23523              : #line 22836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23524              : (TARGET_POPCNT && TARGET_64BIT))
   23525              :             return -1;
   23526              :           *pnum_clobbers = 1;
   23527              :           return 1669; /* *popcountsi2_zext_2_falsedep */
   23528              : 
   23529              :         default:
   23530              :           return -1;
   23531              :         }
   23532              : 
   23533              :     case NOT:
   23534              :       if (GET_MODE (x4) != E_SImode)
   23535              :         return -1;
   23536              :       x7 = XVECEXP (x1, 0, 1);
   23537              :       if (pattern384 (x7, 
   23538              : 175, 
   23539              : 0) != 0)
   23540              :         return -1;
   23541              :       x16 = XEXP (x2, 0);
   23542              :       operands[0] = x16;
   23543              :       if (!register_operand (operands[0], E_DImode)
   23544              :           || GET_MODE (x3) != E_DImode)
   23545              :         return -1;
   23546              :       x5 = XEXP (x4, 0);
   23547              :       operands[1] = x5;
   23548              :       if (!register_operand (operands[1], E_SImode)
   23549              :           || !
   23550              : #line 2253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   23551              : (TARGET_AVX512BW))
   23552              :         return -1;
   23553              :       return 2659; /* *knotsi_1_zext */
   23554              : 
   23555              :     case UNSPEC:
   23556              :       return recog_378 (x1, insn, pnum_clobbers);
   23557              : 
   23558              :     default:
   23559              :       return -1;
   23560              :     }
   23561              : }
   23562              : 
   23563              :  int
   23564              : recog_402 (rtx x1 ATTRIBUTE_UNUSED,
   23565              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   23566              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   23567              : {
   23568              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   23569              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   23570              :   int res ATTRIBUTE_UNUSED;
   23571              :   x2 = XVECEXP (x1, 0, 0);
   23572              :   x3 = XEXP (x2, 1);
   23573              :   x4 = XEXP (x3, 1);
   23574              :   switch (GET_CODE (x4))
   23575              :     {
   23576              :     case CONST_INT:
   23577              :     case CONST_WIDE_INT:
   23578              :     case CONST_POLY_INT:
   23579              :     case CONST_FIXED:
   23580              :     case CONST_DOUBLE:
   23581              :     case CONST_VECTOR:
   23582              :     case CONST:
   23583              :     case REG:
   23584              :     case SUBREG:
   23585              :     case MEM:
   23586              :     case LABEL_REF:
   23587              :     case SYMBOL_REF:
   23588              :     case HIGH:
   23589              :       operands[2] = x4;
   23590              :       res = recog_401 (x1, insn, pnum_clobbers);
   23591              :       if (res >= 0)
   23592              :         return res;
   23593              :       if (GET_CODE (x4) != SUBREG
   23594              :           || maybe_ne (SUBREG_BYTE (x4), 0)
   23595              :           || GET_MODE (x4) != E_QImode)
   23596              :         return -1;
   23597              :       x5 = XEXP (x4, 0);
   23598              :       switch (GET_CODE (x5))
   23599              :         {
   23600              :         case ASHIFTRT:
   23601              :         case LSHIFTRT:
   23602              :         case SIGN_EXTRACT:
   23603              :         case ZERO_EXTRACT:
   23604              :           operands[3] = x5;
   23605              :           x6 = XVECEXP (x1, 0, 1);
   23606              :           if (pattern236 (x6, 
   23607              : E_CCmode, 
   23608              : 17) != 0
   23609              :               || GET_MODE (x3) != E_QImode
   23610              :               || !nonimmediate_operand (operands[1], E_QImode))
   23611              :             return -1;
   23612              :           x7 = XEXP (x5, 0);
   23613              :           operands[2] = x7;
   23614              :           if (!int248_register_operand (operands[2], E_VOIDmode))
   23615              :             return -1;
   23616              :           x8 = XEXP (x2, 0);
   23617              :           switch (GET_CODE (x8))
   23618              :             {
   23619              :             case STRICT_LOW_PART:
   23620              :               x9 = XEXP (x8, 0);
   23621              :               operands[0] = x9;
   23622              :               if (!register_operand (operands[0], E_QImode))
   23623              :                 return -1;
   23624              :               switch (pattern1784 ())
   23625              :                 {
   23626              :                 case 0:
   23627              :                   if (!
   23628              : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23629              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   23630              :                     return -1;
   23631              :                   return 409; /* *subqi_exthi_1_slp */
   23632              : 
   23633              :                 case 1:
   23634              :                   if (!
   23635              : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23636              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   23637              :                     return -1;
   23638              :                   return 410; /* *subqi_extsi_1_slp */
   23639              : 
   23640              :                 case 2:
   23641              :                   if (!(
   23642              : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23643              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   23644              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23645              : (TARGET_64BIT)))
   23646              :                     return -1;
   23647              :                   return 411; /* *subqi_extdi_1_slp */
   23648              : 
   23649              :                 default:
   23650              :                   return -1;
   23651              :                 }
   23652              : 
   23653              :             case REG:
   23654              :             case SUBREG:
   23655              :             case MEM:
   23656              :               operands[0] = x8;
   23657              :               if (!nonimmediate_operand (operands[0], E_QImode))
   23658              :                 return -1;
   23659              :               switch (pattern1784 ())
   23660              :                 {
   23661              :                 case 0:
   23662              :                   return 420; /* *subqi_exthi_0 */
   23663              : 
   23664              :                 case 1:
   23665              :                   return 421; /* *subqi_extsi_0 */
   23666              : 
   23667              :                 case 2:
   23668              :                   if (!
   23669              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23670              : (TARGET_64BIT))
   23671              :                     return -1;
   23672              :                   return 422; /* *subqi_extdi_0 */
   23673              : 
   23674              :                 default:
   23675              :                   return -1;
   23676              :                 }
   23677              : 
   23678              :             default:
   23679              :               return -1;
   23680              :             }
   23681              : 
   23682              :         default:
   23683              :           return -1;
   23684              :         }
   23685              : 
   23686              :     case ZERO_EXTEND:
   23687              :       x6 = XVECEXP (x1, 0, 1);
   23688              :       if (pattern375 (x6) != 0)
   23689              :         return -1;
   23690              :       switch (pattern1175 (x2))
   23691              :         {
   23692              :         case 0:
   23693              :           if (!(
   23694              : #line 8136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23695              : (ix86_binary_operator_ok (UNKNOWN, DImode, operands, TARGET_APX_NDD)) && 
   23696              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23697              : (!TARGET_64BIT)))
   23698              :             return -1;
   23699              :           return 386; /* *subdi3_doubleword_zext */
   23700              : 
   23701              :         case 1:
   23702              :           if (!(
   23703              : #line 8136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23704              : (ix86_binary_operator_ok (UNKNOWN, TImode, operands, TARGET_APX_NDD)) && 
   23705              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23706              : (TARGET_64BIT)))
   23707              :             return -1;
   23708              :           return 387; /* *subti3_doubleword_zext */
   23709              : 
   23710              :         default:
   23711              :           return -1;
   23712              :         }
   23713              : 
   23714              :     case LTU:
   23715              :     case UNLT:
   23716              :       switch (pattern698 (x1))
   23717              :         {
   23718              :         case 0:
   23719              :           if (pattern1575 (x3, 
   23720              : E_QImode) != 0
   23721              :               || !
   23722              : #line 9606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23723              : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
   23724              :             return -1;
   23725              :           return 511; /* *subqi3_carry_0 */
   23726              : 
   23727              :         case 1:
   23728              :           if (pattern1575 (x3, 
   23729              : E_HImode) != 0
   23730              :               || !
   23731              : #line 9606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23732              : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
   23733              :             return -1;
   23734              :           return 512; /* *subhi3_carry_0 */
   23735              : 
   23736              :         case 2:
   23737              :           if (pattern1575 (x3, 
   23738              : E_SImode) != 0
   23739              :               || !
   23740              : #line 9606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23741              : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
   23742              :             return -1;
   23743              :           return 513; /* *subsi3_carry_0 */
   23744              : 
   23745              :         case 3:
   23746              :           if (pattern1575 (x3, 
   23747              : E_DImode) != 0
   23748              :               || !(
   23749              : #line 9606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23750              : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])) && 
   23751              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23752              : (TARGET_64BIT)))
   23753              :             return -1;
   23754              :           return 514; /* *subdi3_carry_0 */
   23755              : 
   23756              :         default:
   23757              :           return -1;
   23758              :         }
   23759              : 
   23760              :     case GE:
   23761              :     case GEU:
   23762              :       switch (pattern698 (x1))
   23763              :         {
   23764              :         case 0:
   23765              :           if (pattern1576 (x3, 
   23766              : E_QImode) != 0
   23767              :               || !
   23768              : #line 9640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23769              : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
   23770              :             return -1;
   23771              :           return 519; /* *subqi3_carry_0r */
   23772              : 
   23773              :         case 1:
   23774              :           if (pattern1576 (x3, 
   23775              : E_HImode) != 0
   23776              :               || !
   23777              : #line 9640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23778              : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
   23779              :             return -1;
   23780              :           return 520; /* *subhi3_carry_0r */
   23781              : 
   23782              :         case 2:
   23783              :           if (pattern1576 (x3, 
   23784              : E_SImode) != 0
   23785              :               || !
   23786              : #line 9640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23787              : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
   23788              :             return -1;
   23789              :           return 521; /* *subsi3_carry_0r */
   23790              : 
   23791              :         case 3:
   23792              :           if (pattern1576 (x3, 
   23793              : E_DImode) != 0
   23794              :               || !(
   23795              : #line 9640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23796              : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])) && 
   23797              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23798              : (TARGET_64BIT)))
   23799              :             return -1;
   23800              :           return 522; /* *subdi3_carry_0r */
   23801              : 
   23802              :         default:
   23803              :           return -1;
   23804              :         }
   23805              : 
   23806              :     case EQ:
   23807              :       switch (pattern702 (x1))
   23808              :         {
   23809              :         case 0:
   23810              :           if (!
   23811              : #line 10650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23812              : (ix86_unary_operator_ok (MINUS, QImode, operands)
   23813              :    && ix86_pre_reload_split ()))
   23814              :             return -1;
   23815              :           return 610; /* *subqi3_eq_0 */
   23816              : 
   23817              :         case 1:
   23818              :           if (!
   23819              : #line 10650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23820              : (ix86_unary_operator_ok (MINUS, HImode, operands)
   23821              :    && ix86_pre_reload_split ()))
   23822              :             return -1;
   23823              :           return 611; /* *subhi3_eq_0 */
   23824              : 
   23825              :         case 2:
   23826              :           if (!
   23827              : #line 10650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23828              : (ix86_unary_operator_ok (MINUS, SImode, operands)
   23829              :    && ix86_pre_reload_split ()))
   23830              :             return -1;
   23831              :           return 612; /* *subsi3_eq_0 */
   23832              : 
   23833              :         case 3:
   23834              :           if (!(
   23835              : #line 10650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23836              : (ix86_unary_operator_ok (MINUS, DImode, operands)
   23837              :    && ix86_pre_reload_split ()) && 
   23838              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23839              : (TARGET_64BIT)))
   23840              :             return -1;
   23841              :           return 613; /* *subdi3_eq_0 */
   23842              : 
   23843              :         default:
   23844              :           return -1;
   23845              :         }
   23846              : 
   23847              :     case NE:
   23848              :       switch (pattern702 (x1))
   23849              :         {
   23850              :         case 0:
   23851              :           if (!
   23852              : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23853              : (ix86_unary_operator_ok (MINUS, QImode, operands)
   23854              :    && ix86_pre_reload_split ()))
   23855              :             return -1;
   23856              :           return 614; /* *subqi3_ne_0 */
   23857              : 
   23858              :         case 1:
   23859              :           if (!
   23860              : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23861              : (ix86_unary_operator_ok (MINUS, HImode, operands)
   23862              :    && ix86_pre_reload_split ()))
   23863              :             return -1;
   23864              :           return 615; /* *subhi3_ne_0 */
   23865              : 
   23866              :         case 2:
   23867              :           if (!
   23868              : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23869              : (ix86_unary_operator_ok (MINUS, SImode, operands)
   23870              :    && ix86_pre_reload_split ()))
   23871              :             return -1;
   23872              :           return 616; /* *subsi3_ne_0 */
   23873              : 
   23874              :         case 3:
   23875              :           if (!(
   23876              : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23877              : (ix86_unary_operator_ok (MINUS, DImode, operands)
   23878              :    && ix86_pre_reload_split ()) && 
   23879              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23880              : (TARGET_64BIT)))
   23881              :             return -1;
   23882              :           return 617; /* *subdi3_ne_0 */
   23883              : 
   23884              :         default:
   23885              :           return -1;
   23886              :         }
   23887              : 
   23888              :     default:
   23889              :       return -1;
   23890              :     }
   23891              : }
   23892              : 
   23893              :  int
   23894              : recog_412 (rtx x1 ATTRIBUTE_UNUSED,
   23895              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   23896              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   23897              : {
   23898              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   23899              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   23900              :   rtx x10, x11;
   23901              :   int res ATTRIBUTE_UNUSED;
   23902              :   x2 = XVECEXP (x1, 0, 0);
   23903              :   x3 = XEXP (x2, 1);
   23904              :   x4 = XEXP (x3, 0);
   23905              :   switch (GET_CODE (x4))
   23906              :     {
   23907              :     case REG:
   23908              :     case SUBREG:
   23909              :     case MEM:
   23910              :       operands[1] = x4;
   23911              :       res = recog_410 (x1, insn, pnum_clobbers);
   23912              :       if (res >= 0)
   23913              :         return res;
   23914              :       if (GET_CODE (x4) != SUBREG
   23915              :           || maybe_ne (SUBREG_BYTE (x4), 0))
   23916              :         return -1;
   23917              :       x5 = XEXP (x4, 0);
   23918              :       switch (GET_CODE (x5))
   23919              :         {
   23920              :         case ASHIFTRT:
   23921              :         case LSHIFTRT:
   23922              :         case SIGN_EXTRACT:
   23923              :         case ZERO_EXTRACT:
   23924              :           operands[3] = x5;
   23925              :           x6 = XVECEXP (x1, 0, 1);
   23926              :           if (pattern236 (x6, 
   23927              : E_CCmode, 
   23928              : 17) != 0
   23929              :               || GET_MODE (x3) != E_QImode
   23930              :               || GET_MODE (x4) != E_QImode)
   23931              :             return -1;
   23932              :           x7 = XEXP (x5, 0);
   23933              :           operands[2] = x7;
   23934              :           switch (pattern1535 (x2))
   23935              :             {
   23936              :             case 0:
   23937              :               if (
   23938              : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23939              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   23940              :                 return 759; /* *andqi_exthi_1_slp */
   23941              :               break;
   23942              : 
   23943              :             case 1:
   23944              :               if (
   23945              : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23946              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   23947              :                 return 762; /* *andqi_extsi_1_slp */
   23948              :               break;
   23949              : 
   23950              :             case 2:
   23951              :               if ((
   23952              : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23953              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   23954              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23955              : (TARGET_64BIT)))
   23956              :                 return 765; /* *andqi_extdi_1_slp */
   23957              :               break;
   23958              : 
   23959              :             case 3:
   23960              :               return 783; /* *andqi_exthi_0 */
   23961              : 
   23962              :             case 4:
   23963              :               return 786; /* *andqi_extsi_0 */
   23964              : 
   23965              :             case 5:
   23966              :               if (
   23967              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23968              : (TARGET_64BIT))
   23969              :                 return 789; /* *andqi_extdi_0 */
   23970              :               break;
   23971              : 
   23972              :             default:
   23973              :               break;
   23974              :             }
   23975              :           x8 = XEXP (x3, 1);
   23976              :           if (GET_CODE (x8) != SUBREG)
   23977              :             return -1;
   23978              :           switch (pattern1536 (x2))
   23979              :             {
   23980              :             case 0:
   23981              :               if (!
   23982              : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23983              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   23984              :                 return -1;
   23985              :               return 768; /* *andqi_exthi_2_slp */
   23986              : 
   23987              :             case 1:
   23988              :               if (!
   23989              : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23990              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   23991              :                 return -1;
   23992              :               return 771; /* *andqi_extsi_2_slp */
   23993              : 
   23994              :             case 2:
   23995              :               if (!(
   23996              : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23997              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   23998              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23999              : (TARGET_64BIT)))
   24000              :                 return -1;
   24001              :               return 774; /* *andqi_extdi_2_slp */
   24002              : 
   24003              :             case 3:
   24004              :               return 792; /* *andqi_ext2hi_0 */
   24005              : 
   24006              :             case 4:
   24007              :               return 795; /* *andqi_ext2si_0 */
   24008              : 
   24009              :             case 5:
   24010              :               if (!
   24011              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24012              : (TARGET_64BIT))
   24013              :                 return -1;
   24014              :               return 798; /* *andqi_ext2di_0 */
   24015              : 
   24016              :             default:
   24017              :               return -1;
   24018              :             }
   24019              : 
   24020              :         case ROTATE:
   24021              :           if (GET_MODE (x5) != E_SImode)
   24022              :             return -1;
   24023              :           x7 = XEXP (x5, 0);
   24024              :           if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -2])
   24025              :             return -1;
   24026              :           x6 = XVECEXP (x1, 0, 1);
   24027              :           if (pattern375 (x6) != 0)
   24028              :             return -1;
   24029              :           switch (pattern1443 (x2))
   24030              :             {
   24031              :             case 0:
   24032              :               if (!
   24033              : #line 19302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24034              : (TARGET_USE_BT && ix86_pre_reload_split ()))
   24035              :                 return -1;
   24036              :               return 1441; /* *btrqi_1 */
   24037              : 
   24038              :             case 1:
   24039              :               if (!
   24040              : #line 19302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24041              : (TARGET_USE_BT && ix86_pre_reload_split ()))
   24042              :                 return -1;
   24043              :               return 1442; /* *btrhi_1 */
   24044              : 
   24045              :             default:
   24046              :               return -1;
   24047              :             }
   24048              : 
   24049              :         case CTZ:
   24050              :           switch (pattern830 (x1, pnum_clobbers))
   24051              :             {
   24052              :             case 0:
   24053              :               if (!
   24054              : #line 21489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24055              : (TARGET_BMI && TARGET_64BIT))
   24056              :                 return -1;
   24057              :               return 1550; /* *ctzsi2_zext */
   24058              : 
   24059              :             case 1:
   24060              :               if (!
   24061              : #line 21519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24062              : (TARGET_BMI && TARGET_64BIT))
   24063              :                 return -1;
   24064              :               *pnum_clobbers = 1;
   24065              :               return 1551; /* *ctzsi2_zext_falsedep */
   24066              : 
   24067              :             default:
   24068              :               return -1;
   24069              :             }
   24070              : 
   24071              :         case CLZ:
   24072              :           if (GET_MODE (x5) != E_SImode)
   24073              :             return -1;
   24074              :           x8 = XEXP (x3, 1);
   24075              :           if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
   24076              :             return -1;
   24077              :           x9 = XEXP (x2, 0);
   24078              :           operands[0] = x9;
   24079              :           if (!register_operand (operands[0], E_DImode)
   24080              :               || GET_MODE (x3) != E_DImode
   24081              :               || GET_MODE (x4) != E_DImode)
   24082              :             return -1;
   24083              :           x7 = XEXP (x5, 0);
   24084              :           operands[1] = x7;
   24085              :           x6 = XVECEXP (x1, 0, 1);
   24086              :           switch (pattern829 (x6, pnum_clobbers))
   24087              :             {
   24088              :             case 0:
   24089              :               if (!nonimmediate_operand (operands[1], E_SImode)
   24090              :                   || !
   24091              : #line 21929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24092              : (TARGET_LZCNT && TARGET_64BIT))
   24093              :                 return -1;
   24094              :               return 1574; /* *clzsi2_lzcnt_zext */
   24095              : 
   24096              :             case 1:
   24097              :               switch (GET_MODE (operands[1]))
   24098              :                 {
   24099              :                 case E_SImode:
   24100              :                   if (!nonimmediate_operand (operands[1], E_SImode)
   24101              :                       || !
   24102              : #line 21957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24103              : (TARGET_LZCNT))
   24104              :                     return -1;
   24105              :                   *pnum_clobbers = 1;
   24106              :                   return 1575; /* *clzsi2_lzcnt_zext_falsedep */
   24107              : 
   24108              :                 case E_DImode:
   24109              :                   if (!nonimmediate_operand (operands[1], E_DImode)
   24110              :                       || !(
   24111              : #line 21957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24112              : (TARGET_LZCNT) && 
   24113              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24114              : (TARGET_64BIT)))
   24115              :                     return -1;
   24116              :                   *pnum_clobbers = 1;
   24117              :                   return 1576; /* *clzsi2_lzcnt_zext_falsedep */
   24118              : 
   24119              :                 default:
   24120              :                   return -1;
   24121              :                 }
   24122              : 
   24123              :             default:
   24124              :               return -1;
   24125              :             }
   24126              : 
   24127              :         case POPCOUNT:
   24128              :           switch (pattern830 (x1, pnum_clobbers))
   24129              :             {
   24130              :             case 0:
   24131              :               if (!
   24132              : #line 22754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24133              : (TARGET_POPCNT && TARGET_64BIT))
   24134              :                 return -1;
   24135              :               return 1666; /* *popcountsi2_zext */
   24136              : 
   24137              :             case 1:
   24138              :               if (!
   24139              : #line 22788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24140              : (TARGET_POPCNT && TARGET_64BIT))
   24141              :                 return -1;
   24142              :               *pnum_clobbers = 1;
   24143              :               return 1667; /* *popcountsi2_zext_falsedep */
   24144              : 
   24145              :             default:
   24146              :               return -1;
   24147              :             }
   24148              : 
   24149              :         default:
   24150              :           return -1;
   24151              :         }
   24152              : 
   24153              :     case NOT:
   24154              :       x9 = XEXP (x2, 0);
   24155              :       operands[0] = x9;
   24156              :       x5 = XEXP (x4, 0);
   24157              :       switch (GET_CODE (x5))
   24158              :         {
   24159              :         case REG:
   24160              :         case SUBREG:
   24161              :           operands[1] = x5;
   24162              :           res = recog_411 (x1, insn, pnum_clobbers);
   24163              :           if (res >= 0)
   24164              :             return res;
   24165              :           if (GET_CODE (x5) != SUBREG
   24166              :               || maybe_ne (SUBREG_BYTE (x5), 0)
   24167              :               || GET_MODE (x5) != E_QImode)
   24168              :             return -1;
   24169              :           x7 = XEXP (x5, 0);
   24170              :           if (GET_CODE (x7) != LSHIFTRT)
   24171              :             return -1;
   24172              :           x8 = XEXP (x3, 1);
   24173              :           if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   24174              :             return -1;
   24175              :           x6 = XVECEXP (x1, 0, 1);
   24176              :           if (pattern236 (x6, 
   24177              : E_CCmode, 
   24178              : 17) != 0)
   24179              :             return -1;
   24180              :           switch (pattern1539 (x3))
   24181              :             {
   24182              :             case 0:
   24183              :               if (!
   24184              : #line 19704 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24185              : (TARGET_USE_BT && ix86_pre_reload_split ()))
   24186              :                 return -1;
   24187              :               return 1468; /* *btsi_setncqi */
   24188              : 
   24189              :             case 1:
   24190              :               if (!(
   24191              : #line 19704 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24192              : (TARGET_USE_BT && ix86_pre_reload_split ()) && 
   24193              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24194              : (TARGET_64BIT)))
   24195              :                 return -1;
   24196              :               return 1469; /* *btdi_setncqi */
   24197              : 
   24198              :             default:
   24199              :               return -1;
   24200              :             }
   24201              : 
   24202              :         case LSHIFTRT:
   24203              :           x8 = XEXP (x3, 1);
   24204              :           if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   24205              :             return -1;
   24206              :           x6 = XVECEXP (x1, 0, 1);
   24207              :           if (pattern236 (x6, 
   24208              : E_CCmode, 
   24209              : 17) != 0)
   24210              :             return -1;
   24211              :           switch (pattern1255 (x3))
   24212              :             {
   24213              :             case 0:
   24214              :               if (!
   24215              : #line 19722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24216              : (TARGET_USE_BT && ix86_pre_reload_split ()))
   24217              :                 return -1;
   24218              :               return 1470; /* *btsi_setncsi */
   24219              : 
   24220              :             case 1:
   24221              :               if (!(
   24222              : #line 19722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24223              : (TARGET_USE_BT && ix86_pre_reload_split ()) && 
   24224              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24225              : (TARGET_64BIT)))
   24226              :                 return -1;
   24227              :               return 1471; /* *btdi_setncdi */
   24228              : 
   24229              :             default:
   24230              :               return -1;
   24231              :             }
   24232              : 
   24233              :         case ASHIFT:
   24234              :           x7 = XEXP (x5, 0);
   24235              :           if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
   24236              :             return -1;
   24237              :           x6 = XVECEXP (x1, 0, 1);
   24238              :           if (pattern236 (x6, 
   24239              : E_CCmode, 
   24240              : 17) != 0)
   24241              :             return -1;
   24242              :           switch (pattern1257 (x3))
   24243              :             {
   24244              :             case 0:
   24245              :               if (!
   24246              : #line 22456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24247              : (TARGET_BMI2))
   24248              :                 return -1;
   24249              :               return 1630; /* *bmi2_bzhi_si3_3 */
   24250              : 
   24251              :             case 1:
   24252              :               if (!(
   24253              : #line 22456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24254              : (TARGET_BMI2) && 
   24255              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24256              : (TARGET_64BIT)))
   24257              :                 return -1;
   24258              :               return 1631; /* *bmi2_bzhi_di3_3 */
   24259              : 
   24260              :             default:
   24261              :               return -1;
   24262              :             }
   24263              : 
   24264              :         default:
   24265              :           return -1;
   24266              :         }
   24267              : 
   24268              :     case ROTATE:
   24269              :       switch (pattern374 (x1, 
   24270              : -2))
   24271              :         {
   24272              :         case 0:
   24273              :           x10 = XEXP (x4, 1);
   24274              :           operands[2] = x10;
   24275              :           if (register_operand (operands[2], E_QImode))
   24276              :             {
   24277              :               switch (pattern948 (x3))
   24278              :                 {
   24279              :                 case 0:
   24280              :                   if (
   24281              : #line 19233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24282              : (TARGET_USE_BT))
   24283              :                     return 1435; /* *btrsi */
   24284              :                   break;
   24285              : 
   24286              :                 case 1:
   24287              :                   if ((
   24288              : #line 19233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24289              : (TARGET_USE_BT) && 
   24290              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24291              : (TARGET_64BIT)))
   24292              :                     return 1436; /* *btrdi */
   24293              :                   break;
   24294              : 
   24295              :                 default:
   24296              :                   break;
   24297              :                 }
   24298              :             }
   24299              :           if (GET_CODE (x10) != SUBREG)
   24300              :             return -1;
   24301              :           switch (pattern1338 (x3))
   24302              :             {
   24303              :             case 0:
   24304              :               if (!
   24305              : #line 19252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24306              : (TARGET_USE_BT
   24307              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
   24308              :       == GET_MODE_BITSIZE (SImode)-1
   24309              :    && ix86_pre_reload_split ()))
   24310              :                 return -1;
   24311              :               return 1437; /* *btrsi_mask */
   24312              : 
   24313              :             case 1:
   24314              :               if (!(
   24315              : #line 19252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24316              : (TARGET_USE_BT
   24317              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
   24318              :       == GET_MODE_BITSIZE (DImode)-1
   24319              :    && ix86_pre_reload_split ()) && 
   24320              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24321              : (TARGET_64BIT)))
   24322              :                 return -1;
   24323              :               return 1438; /* *btrdi_mask */
   24324              : 
   24325              :             default:
   24326              :               return -1;
   24327              :             }
   24328              : 
   24329              :         case 1:
   24330              :           if (!
   24331              : #line 19280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24332              : (TARGET_USE_BT
   24333              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
   24334              :       == GET_MODE_BITSIZE (SImode)-1
   24335              :    && ix86_pre_reload_split ()))
   24336              :             return -1;
   24337              :           return 1439; /* *btrsi_mask_1 */
   24338              : 
   24339              :         case 2:
   24340              :           if (!(
   24341              : #line 19280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24342              : (TARGET_USE_BT
   24343              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
   24344              :       == GET_MODE_BITSIZE (DImode)-1
   24345              :    && ix86_pre_reload_split ()) && 
   24346              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24347              : (TARGET_64BIT)))
   24348              :             return -1;
   24349              :           return 1440; /* *btrdi_mask_1 */
   24350              : 
   24351              :         default:
   24352              :           return -1;
   24353              :         }
   24354              : 
   24355              :     case NEG:
   24356              :       x6 = XVECEXP (x1, 0, 1);
   24357              :       if (pattern375 (x6) != 0)
   24358              :         return -1;
   24359              :       switch (pattern952 (x2))
   24360              :         {
   24361              :         case 0:
   24362              :           if (!
   24363              : #line 22133 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24364              : (TARGET_BMI))
   24365              :             return -1;
   24366              :           return 1604; /* *bmi_blsi_si */
   24367              : 
   24368              :         case 1:
   24369              :           if (!(
   24370              : #line 22133 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24371              : (TARGET_BMI) && 
   24372              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24373              : (TARGET_64BIT)))
   24374              :             return -1;
   24375              :           return 1605; /* *bmi_blsi_di */
   24376              : 
   24377              :         default:
   24378              :           return -1;
   24379              :         }
   24380              : 
   24381              :     case PLUS:
   24382              :       x10 = XEXP (x4, 1);
   24383              :       if (GET_CODE (x10) != CONST_INT
   24384              :           || pattern344 (x1) != 0)
   24385              :         return -1;
   24386              :       x5 = XEXP (x4, 0);
   24387              :       switch (GET_CODE (x5))
   24388              :         {
   24389              :         case REG:
   24390              :         case SUBREG:
   24391              :         case MEM:
   24392              :           operands[1] = x5;
   24393              :           switch (XWINT (x10, 0))
   24394              :             {
   24395              :             case -1L:
   24396              :               switch (pattern1337 (x3))
   24397              :                 {
   24398              :                 case 0:
   24399              :                   if (!
   24400              : #line 22278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24401              : (TARGET_BMI))
   24402              :                     return -1;
   24403              :                   return 1616; /* *bmi_blsr_si */
   24404              : 
   24405              :                 case 1:
   24406              :                   if (!(
   24407              : #line 22278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24408              : (TARGET_BMI) && 
   24409              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24410              : (TARGET_64BIT)))
   24411              :                     return -1;
   24412              :                   return 1617; /* *bmi_blsr_di */
   24413              : 
   24414              :                 case 2:
   24415              :                   if (!
   24416              : #line 22649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24417              : (TARGET_TBM))
   24418              :                     return -1;
   24419              :                   return 1656; /* *tbm_tzmsk_si */
   24420              : 
   24421              :                 case 3:
   24422              :                   if (!(
   24423              : #line 22649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24424              : (TARGET_TBM) && 
   24425              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24426              : (TARGET_64BIT)))
   24427              :                     return -1;
   24428              :                   return 1657; /* *tbm_tzmsk_di */
   24429              : 
   24430              :                 default:
   24431              :                   return -1;
   24432              :                 }
   24433              : 
   24434              :             case 1L:
   24435              :               switch (pattern1337 (x3))
   24436              :                 {
   24437              :                 case 0:
   24438              :                   if (!
   24439              : #line 22540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24440              : (TARGET_TBM))
   24441              :                     return -1;
   24442              :                   return 1640; /* *tbm_blcfill_si */
   24443              : 
   24444              :                 case 1:
   24445              :                   if (!(
   24446              : #line 22540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24447              : (TARGET_TBM) && 
   24448              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24449              : (TARGET_64BIT)))
   24450              :                     return -1;
   24451              :                   return 1641; /* *tbm_blcfill_di */
   24452              : 
   24453              :                 case 2:
   24454              :                   if (!
   24455              : #line 22568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24456              : (TARGET_TBM))
   24457              :                     return -1;
   24458              :                   return 1644; /* *tbm_blcic_si */
   24459              : 
   24460              :                 case 3:
   24461              :                   if (!(
   24462              : #line 22568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24463              : (TARGET_TBM) && 
   24464              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24465              : (TARGET_64BIT)))
   24466              :                     return -1;
   24467              :                   return 1645; /* *tbm_blcic_di */
   24468              : 
   24469              :                 default:
   24470              :                   return -1;
   24471              :                 }
   24472              : 
   24473              :             default:
   24474              :               return -1;
   24475              :             }
   24476              : 
   24477              :         case ASHIFT:
   24478              :           x7 = XEXP (x5, 0);
   24479              :           if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   24480              :               || XWINT (x10, 0) != -1L)
   24481              :             return -1;
   24482              :           switch (pattern1257 (x3))
   24483              :             {
   24484              :             case 0:
   24485              :               if (!
   24486              : #line 22442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24487              : (TARGET_BMI2))
   24488              :                 return -1;
   24489              :               return 1628; /* *bmi2_bzhi_si3_2 */
   24490              : 
   24491              :             case 1:
   24492              :               if (!(
   24493              : #line 22442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24494              : (TARGET_BMI2) && 
   24495              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24496              : (TARGET_64BIT)))
   24497              :                 return -1;
   24498              :               return 1629; /* *bmi2_bzhi_di3_2 */
   24499              : 
   24500              :             default:
   24501              :               return -1;
   24502              :             }
   24503              : 
   24504              :         default:
   24505              :           return -1;
   24506              :         }
   24507              : 
   24508              :     case ZERO_EXTEND:
   24509              :       if (GET_MODE (x4) != E_DImode)
   24510              :         return -1;
   24511              :       x5 = XEXP (x4, 0);
   24512              :       if (GET_CODE (x5) != PLUS
   24513              :           || pattern704 (x5) != 0
   24514              :           || pattern574 (x1) != 0)
   24515              :         return -1;
   24516              :       x7 = XEXP (x5, 0);
   24517              :       x11 = XEXP (x7, 1);
   24518              :       operands[2] = x11;
   24519              :       if (!register_operand (operands[2], E_QImode))
   24520              :         return -1;
   24521              :       x8 = XEXP (x3, 1);
   24522              :       operands[1] = x8;
   24523              :       if (!nonimmediate_operand (operands[1], E_DImode)
   24524              :           || !
   24525              : #line 22488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24526              : (TARGET_64BIT && TARGET_BMI2))
   24527              :         return -1;
   24528              :       return 1633; /* *bmi2_bzhi_zero_extendsidi_5 */
   24529              : 
   24530              :     default:
   24531              :       return -1;
   24532              :     }
   24533              : }
   24534              : 
   24535              :  int
   24536              : recog_429 (rtx x1 ATTRIBUTE_UNUSED,
   24537              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   24538              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   24539              : {
   24540              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   24541              :   rtx x2, x3, x4, x5;
   24542              :   int res ATTRIBUTE_UNUSED;
   24543              :   x2 = XVECEXP (x1, 0, 0);
   24544              :   x3 = XEXP (x2, 1);
   24545              :   switch (GET_CODE (x3))
   24546              :     {
   24547              :     case CONST_INT:
   24548              :     case CONST_WIDE_INT:
   24549              :     case CONST_POLY_INT:
   24550              :     case CONST_FIXED:
   24551              :     case CONST_DOUBLE:
   24552              :     case CONST_VECTOR:
   24553              :     case CONST:
   24554              :     case REG:
   24555              :     case SUBREG:
   24556              :     case MEM:
   24557              :     case LABEL_REF:
   24558              :     case SYMBOL_REF:
   24559              :     case HIGH:
   24560              :       res = recog_365 (x1, insn, pnum_clobbers);
   24561              :       if (res >= 0)
   24562              :         return res;
   24563              :       break;
   24564              : 
   24565              :     case ASHIFTRT:
   24566              :     case LSHIFTRT:
   24567              :     case SIGN_EXTRACT:
   24568              :     case ZERO_EXTRACT:
   24569              :       res = recog_371 (x1, insn, pnum_clobbers);
   24570              :       if (res >= 0)
   24571              :         return res;
   24572              :       break;
   24573              : 
   24574              :     case UNSPEC:
   24575              :       res = recog_377 (x1, insn, pnum_clobbers);
   24576              :       if (res >= 0)
   24577              :         return res;
   24578              :       break;
   24579              : 
   24580              :     case ZERO_EXTEND:
   24581              :       res = recog_381 (x1, insn, pnum_clobbers);
   24582              :       if (res >= 0)
   24583              :         return res;
   24584              :       break;
   24585              : 
   24586              :     case UNSIGNED_FIX:
   24587              :       res = recog_382 (x1, insn, pnum_clobbers);
   24588              :       if (res >= 0)
   24589              :         return res;
   24590              :       break;
   24591              : 
   24592              :     case FIX:
   24593              :       res = recog_383 (x1, insn, pnum_clobbers);
   24594              :       if (res >= 0)
   24595              :         return res;
   24596              :       break;
   24597              : 
   24598              :     case FLOAT:
   24599              :       res = recog_384 (x1, insn, pnum_clobbers);
   24600              :       if (res >= 0)
   24601              :         return res;
   24602              :       break;
   24603              : 
   24604              :     case UNSIGNED_FLOAT:
   24605              :       res = recog_385 (x1, insn, pnum_clobbers);
   24606              :       if (res >= 0)
   24607              :         return res;
   24608              :       break;
   24609              : 
   24610              :     case PLUS:
   24611              :       res = recog_387 (x1, insn, pnum_clobbers);
   24612              :       if (res >= 0)
   24613              :         return res;
   24614              :       break;
   24615              : 
   24616              :     case COMPARE:
   24617              :       res = recog_399 (x1, insn, pnum_clobbers);
   24618              :       if (res >= 0)
   24619              :         return res;
   24620              :       break;
   24621              : 
   24622              :     case NE:
   24623              :     case EQ:
   24624              :     case GE:
   24625              :     case GT:
   24626              :     case LE:
   24627              :     case LT:
   24628              :     case LTGT:
   24629              :     case GEU:
   24630              :     case GTU:
   24631              :     case LEU:
   24632              :     case LTU:
   24633              :     case UNORDERED:
   24634              :     case ORDERED:
   24635              :     case UNEQ:
   24636              :     case UNGE:
   24637              :     case UNGT:
   24638              :     case UNLE:
   24639              :     case UNLT:
   24640              :       switch (GET_CODE (x3))
   24641              :         {
   24642              :         case NE:
   24643              :         case EQ:
   24644              :           if (GET_CODE (x3) == EQ)
   24645              :             {
   24646              :               res = recog_400 (x1, insn, pnum_clobbers);
   24647              :               if (res >= 0)
   24648              :                 return res;
   24649              :             }
   24650              :           operands[1] = x3;
   24651              :           switch (pattern562 (x1))
   24652              :             {
   24653              :             case 0:
   24654              :               if ((
   24655              : #line 2407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24656              : (TARGET_AVX512BW) && 
   24657              : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24658              : (TARGET_AVX512DQ)))
   24659              :                 return 2689; /* *kortest_cmpqi_setcc */
   24660              :               break;
   24661              : 
   24662              :             case 1:
   24663              :               if (
   24664              : #line 2407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24665              : (TARGET_AVX512BW))
   24666              :                 return 2690; /* *kortest_cmphi_setcc */
   24667              :               break;
   24668              : 
   24669              :             case 2:
   24670              :               if (
   24671              : #line 2407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24672              : (TARGET_AVX512BW))
   24673              :                 return 2691; /* *kortest_cmpsi_setcc */
   24674              :               break;
   24675              : 
   24676              :             case 3:
   24677              :               if ((
   24678              : #line 2407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24679              : (TARGET_AVX512BW) && 
   24680              : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24681              : (TARGET_AVX512BW && TARGET_64BIT)))
   24682              :                 return 2692; /* *kortest_cmpdi_setcc */
   24683              :               break;
   24684              : 
   24685              :             default:
   24686              :               break;
   24687              :             }
   24688              :           break;
   24689              : 
   24690              :         case GT:
   24691              :           if (pattern370 (x1) == 0
   24692              :               && 
   24693              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   24694              : (TARGET_3DNOW))
   24695              :             return 2127; /* mmx_gtv2sf3 */
   24696              :           break;
   24697              : 
   24698              :         case GE:
   24699              :           if (pattern370 (x1) == 0
   24700              :               && 
   24701              : #line 1248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   24702              : (TARGET_3DNOW))
   24703              :             return 2128; /* mmx_gev2sf3 */
   24704              :           break;
   24705              : 
   24706              :         default:
   24707              :           break;
   24708              :         }
   24709              :       operands[1] = x3;
   24710              :       switch (pattern371 (x1))
   24711              :         {
   24712              :         case 0:
   24713              :           if (
   24714              : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24715              : (!TARGET_PARTIAL_REG_STALL
   24716              :    && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
   24717              :             return 1480; /* *setcc_hi_1_and */
   24718              :           break;
   24719              : 
   24720              :         case 1:
   24721              :           if (
   24722              : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24723              : (!TARGET_PARTIAL_REG_STALL
   24724              :    && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
   24725              :             return 1481; /* *setcc_si_1_and */
   24726              :           break;
   24727              : 
   24728              :         default:
   24729              :           break;
   24730              :         }
   24731              :       break;
   24732              : 
   24733              :     case MINUS:
   24734              :       res = recog_403 (x1, insn, pnum_clobbers);
   24735              :       if (res >= 0)
   24736              :         return res;
   24737              :       break;
   24738              : 
   24739              :     case IF_THEN_ELSE:
   24740              :       res = recog_405 (x1, insn, pnum_clobbers);
   24741              :       if (res >= 0)
   24742              :         return res;
   24743              :       break;
   24744              : 
   24745              :     case MULT:
   24746              :       res = recog_406 (x1, insn, pnum_clobbers);
   24747              :       if (res >= 0)
   24748              :         return res;
   24749              :       break;
   24750              : 
   24751              :     case DIV:
   24752              :       if (pnum_clobbers != NULL)
   24753              :         {
   24754              :           switch (pattern224 (x1))
   24755              :             {
   24756              :             case 0:
   24757              :               switch (GET_MODE (operands[0]))
   24758              :                 {
   24759              :                 case E_HImode:
   24760              :                   if (pattern391 (x1, 
   24761              : E_HImode) == 0
   24762              :                       && 
   24763              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24764              : (TARGET_HIMODE_MATH))
   24765              :                     {
   24766              :                       *pnum_clobbers = 1;
   24767              :                       return 675; /* *divmodhi4 */
   24768              :                     }
   24769              :                   break;
   24770              : 
   24771              :                 case E_SImode:
   24772              :                   if (pattern391 (x1, 
   24773              : E_SImode) == 0)
   24774              :                     {
   24775              :                       *pnum_clobbers = 1;
   24776              :                       return 676; /* *divmodsi4 */
   24777              :                     }
   24778              :                   break;
   24779              : 
   24780              :                 case E_DImode:
   24781              :                   if (pattern391 (x1, 
   24782              : E_DImode) == 0
   24783              :                       && 
   24784              : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24785              : (TARGET_64BIT))
   24786              :                     {
   24787              :                       *pnum_clobbers = 1;
   24788              :                       return 677; /* *divmoddi4 */
   24789              :                     }
   24790              :                   break;
   24791              : 
   24792              :                 default:
   24793              :                   break;
   24794              :                 }
   24795              :               break;
   24796              : 
   24797              :             case 1:
   24798              :               if (const_int_operand (operands[2], E_SImode)
   24799              :                   && pattern1504 (x1) == 0
   24800              :                   && 
   24801              : #line 12250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24802              : (!optimize_function_for_size_p (cfun)))
   24803              :                 {
   24804              :                   *pnum_clobbers = 1;
   24805              :                   return 705; /* *divmodsi4_const */
   24806              :                 }
   24807              :               break;
   24808              : 
   24809              :             default:
   24810              :               break;
   24811              :             }
   24812              :         }
   24813              :       break;
   24814              : 
   24815              :     case UDIV:
   24816              :       if (pnum_clobbers != NULL)
   24817              :         {
   24818              :           switch (pattern225 (x1))
   24819              :             {
   24820              :             case 0:
   24821              :               switch (GET_MODE (operands[0]))
   24822              :                 {
   24823              :                 case E_HImode:
   24824              :                   if (pattern391 (x1, 
   24825              : E_HImode) == 0
   24826              :                       && 
   24827              : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24828              : (TARGET_HIMODE_MATH))
   24829              :                     {
   24830              :                       *pnum_clobbers = 1;
   24831              :                       return 678; /* *udivmodhi4 */
   24832              :                     }
   24833              :                   break;
   24834              : 
   24835              :                 case E_SImode:
   24836              :                   if (pattern391 (x1, 
   24837              : E_SImode) == 0)
   24838              :                     {
   24839              :                       *pnum_clobbers = 1;
   24840              :                       return 679; /* *udivmodsi4 */
   24841              :                     }
   24842              :                   break;
   24843              : 
   24844              :                 case E_DImode:
   24845              :                   if (pattern391 (x1, 
   24846              : E_DImode) == 0
   24847              :                       && 
   24848              : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24849              : (TARGET_64BIT))
   24850              :                     {
   24851              :                       *pnum_clobbers = 1;
   24852              :                       return 680; /* *udivmoddi4 */
   24853              :                     }
   24854              :                   break;
   24855              : 
   24856              :                 default:
   24857              :                   break;
   24858              :                 }
   24859              :               break;
   24860              : 
   24861              :             case 1:
   24862              :               switch (GET_MODE (operands[0]))
   24863              :                 {
   24864              :                 case E_SImode:
   24865              :                   if (pattern1505 (x1, 
   24866              : E_SImode) == 0
   24867              :                       && 
   24868              : #line 12003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24869              : (IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
   24870              :                     {
   24871              :                       *pnum_clobbers = 1;
   24872              :                       return 681; /* *udivmodsi4_pow2 */
   24873              :                     }
   24874              :                   break;
   24875              : 
   24876              :                 case E_DImode:
   24877              :                   if (pattern1505 (x1, 
   24878              : E_DImode) == 0
   24879              :                       && (
   24880              : #line 12003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24881              : (IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)) && 
   24882              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24883              : (TARGET_64BIT)))
   24884              :                     {
   24885              :                       *pnum_clobbers = 1;
   24886              :                       return 682; /* *udivmoddi4_pow2 */
   24887              :                     }
   24888              :                   break;
   24889              : 
   24890              :                 default:
   24891              :                   break;
   24892              :                 }
   24893              :               break;
   24894              : 
   24895              :             default:
   24896              :               break;
   24897              :             }
   24898              :         }
   24899              :       break;
   24900              : 
   24901              :     case IOR:
   24902              :       res = recog_409 (x1, insn, pnum_clobbers);
   24903              :       if (res >= 0)
   24904              :         return res;
   24905              :       break;
   24906              : 
   24907              :     case AND:
   24908              :       res = recog_412 (x1, insn, pnum_clobbers);
   24909              :       if (res >= 0)
   24910              :         return res;
   24911              :       break;
   24912              : 
   24913              :     case XOR:
   24914              :       res = recog_414 (x1, insn, pnum_clobbers);
   24915              :       if (res >= 0)
   24916              :         return res;
   24917              :       break;
   24918              : 
   24919              :     case NOT:
   24920              :       res = recog_415 (x1, insn, pnum_clobbers);
   24921              :       if (res >= 0)
   24922              :         return res;
   24923              :       break;
   24924              : 
   24925              :     case NEG:
   24926              :       res = recog_416 (x1, insn, pnum_clobbers);
   24927              :       if (res >= 0)
   24928              :         return res;
   24929              :       break;
   24930              : 
   24931              :     case ABS:
   24932              :       res = recog_417 (x1, insn, pnum_clobbers);
   24933              :       if (res >= 0)
   24934              :         return res;
   24935              :       break;
   24936              : 
   24937              :     case ASHIFT:
   24938              :       res = recog_418 (x1, insn, pnum_clobbers);
   24939              :       if (res >= 0)
   24940              :         return res;
   24941              :       break;
   24942              : 
   24943              :     case ROTATE:
   24944              :       switch (pattern211 (x1))
   24945              :         {
   24946              :         case 0:
   24947              :           x4 = XEXP (x3, 1);
   24948              :           if (GET_CODE (x4) == SUBREG)
   24949              :             {
   24950              :               switch (pattern1178 (x2))
   24951              :                 {
   24952              :                 case 0:
   24953              :                   if (
   24954              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24955              : (ix86_binary_operator_ok (ROTATE, QImode, operands)
   24956              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
   24957              :       == GET_MODE_BITSIZE (QImode)-1
   24958              :    && ix86_pre_reload_split ()))
   24959              :                     return 1316; /* *rotlqi3_mask */
   24960              :                   break;
   24961              : 
   24962              :                 case 1:
   24963              :                   if (
   24964              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24965              : (ix86_binary_operator_ok (ROTATE, HImode, operands)
   24966              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
   24967              :       == GET_MODE_BITSIZE (HImode)-1
   24968              :    && ix86_pre_reload_split ()))
   24969              :                     return 1318; /* *rotlhi3_mask */
   24970              :                   break;
   24971              : 
   24972              :                 case 2:
   24973              :                   if (
   24974              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24975              : (ix86_binary_operator_ok (ROTATE, SImode, operands)
   24976              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
   24977              :       == GET_MODE_BITSIZE (SImode)-1
   24978              :    && ix86_pre_reload_split ()))
   24979              :                     return 1320; /* *rotlsi3_mask */
   24980              :                   break;
   24981              : 
   24982              :                 case 3:
   24983              :                   if ((
   24984              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24985              : (ix86_binary_operator_ok (ROTATE, DImode, operands)
   24986              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
   24987              :       == GET_MODE_BITSIZE (DImode)-1
   24988              :    && ix86_pre_reload_split ()) && 
   24989              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24990              : (TARGET_64BIT)))
   24991              :                     return 1322; /* *rotldi3_mask */
   24992              :                   break;
   24993              : 
   24994              :                 case 4:
   24995              :                   if (
   24996              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24997              : (ix86_binary_operator_ok (ROTATE, QImode, operands)
   24998              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
   24999              :    && ix86_pre_reload_split ()))
   25000              :                     return 1332; /* *rotlqi3_add */
   25001              :                   break;
   25002              : 
   25003              :                 case 5:
   25004              :                   if (
   25005              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25006              : (ix86_binary_operator_ok (ROTATE, HImode, operands)
   25007              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
   25008              :    && ix86_pre_reload_split ()))
   25009              :                     return 1334; /* *rotlhi3_add */
   25010              :                   break;
   25011              : 
   25012              :                 case 6:
   25013              :                   if (
   25014              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25015              : (ix86_binary_operator_ok (ROTATE, SImode, operands)
   25016              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   25017              :    && ix86_pre_reload_split ()))
   25018              :                     return 1336; /* *rotlsi3_add */
   25019              :                   break;
   25020              : 
   25021              :                 case 7:
   25022              :                   if ((
   25023              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25024              : (ix86_binary_operator_ok (ROTATE, DImode, operands)
   25025              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   25026              :    && ix86_pre_reload_split ()) && 
   25027              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25028              : (TARGET_64BIT)))
   25029              :                     return 1338; /* *rotldi3_add */
   25030              :                   break;
   25031              : 
   25032              :                 case 8:
   25033              :                   if (
   25034              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25035              : (ix86_binary_operator_ok (ROTATE, QImode, operands)
   25036              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
   25037              :    && ix86_pre_reload_split ()))
   25038              :                     return 1348; /* *rotlqi3_sub */
   25039              :                   break;
   25040              : 
   25041              :                 case 9:
   25042              :                   if (
   25043              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25044              : (ix86_binary_operator_ok (ROTATE, HImode, operands)
   25045              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
   25046              :    && ix86_pre_reload_split ()))
   25047              :                     return 1350; /* *rotlhi3_sub */
   25048              :                   break;
   25049              : 
   25050              :                 case 10:
   25051              :                   if (
   25052              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25053              : (ix86_binary_operator_ok (ROTATE, SImode, operands)
   25054              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   25055              :    && ix86_pre_reload_split ()))
   25056              :                     return 1352; /* *rotlsi3_sub */
   25057              :                   break;
   25058              : 
   25059              :                 case 11:
   25060              :                   if ((
   25061              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25062              : (ix86_binary_operator_ok (ROTATE, DImode, operands)
   25063              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   25064              :    && ix86_pre_reload_split ()) && 
   25065              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25066              : (TARGET_64BIT)))
   25067              :                     return 1354; /* *rotldi3_sub */
   25068              :                   break;
   25069              : 
   25070              :                 default:
   25071              :                   break;
   25072              :                 }
   25073              :             }
   25074              :           operands[2] = x4;
   25075              :           switch (pattern1179 (x2))
   25076              :             {
   25077              :             case 0:
   25078              :               if (
   25079              : #line 18838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25080              : (ix86_binary_operator_ok (ROTATE, SImode, operands, TARGET_APX_NDD)
   25081              :    && true))
   25082              :                 return 1375; /* *rotlsi3_1 */
   25083              :               break;
   25084              : 
   25085              :             case 1:
   25086              :               if ((
   25087              : #line 18838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25088              : (ix86_binary_operator_ok (ROTATE, DImode, operands, TARGET_APX_NDD)
   25089              :    && true) && 
   25090              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25091              : (TARGET_64BIT)))
   25092              :                 return 1379; /* *rotldi3_1 */
   25093              :               break;
   25094              : 
   25095              :             case 2:
   25096              :               if (
   25097              : #line 19019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25098              : (ix86_binary_operator_ok (ROTATE, QImode, operands, TARGET_APX_NDD)
   25099              :    && true))
   25100              :                 return 1406; /* *rotlqi3_1 */
   25101              :               break;
   25102              : 
   25103              :             case 3:
   25104              :               if (
   25105              : #line 19019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25106              : (ix86_binary_operator_ok (ROTATE, HImode, operands, TARGET_APX_NDD)
   25107              :    && true))
   25108              :                 return 1410; /* *rotlhi3_1 */
   25109              :               break;
   25110              : 
   25111              :             case 4:
   25112              :               if (
   25113              : #line 19050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25114              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   25115              :                 return 1413; /* *rotlqi3_1_slp */
   25116              :               break;
   25117              : 
   25118              :             case 5:
   25119              :               if (
   25120              : #line 19050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25121              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   25122              :                 return 1415; /* *rotlhi3_1_slp */
   25123              :               break;
   25124              : 
   25125              :             default:
   25126              :               break;
   25127              :             }
   25128              :           break;
   25129              : 
   25130              :         case 1:
   25131              :           if (
   25132              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25133              : (ix86_binary_operator_ok (ROTATE, QImode, operands)
   25134              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
   25135              :       == GET_MODE_BITSIZE (QImode)-1
   25136              :    && ix86_pre_reload_split ()))
   25137              :             return 1324; /* *rotlqi3_mask_1 */
   25138              :           break;
   25139              : 
   25140              :         case 2:
   25141              :           if (
   25142              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25143              : (ix86_binary_operator_ok (ROTATE, HImode, operands)
   25144              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
   25145              :       == GET_MODE_BITSIZE (HImode)-1
   25146              :    && ix86_pre_reload_split ()))
   25147              :             return 1326; /* *rotlhi3_mask_1 */
   25148              :           break;
   25149              : 
   25150              :         case 3:
   25151              :           if (
   25152              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25153              : (ix86_binary_operator_ok (ROTATE, SImode, operands)
   25154              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
   25155              :       == GET_MODE_BITSIZE (SImode)-1
   25156              :    && ix86_pre_reload_split ()))
   25157              :             return 1328; /* *rotlsi3_mask_1 */
   25158              :           break;
   25159              : 
   25160              :         case 4:
   25161              :           if ((
   25162              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25163              : (ix86_binary_operator_ok (ROTATE, DImode, operands)
   25164              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
   25165              :       == GET_MODE_BITSIZE (DImode)-1
   25166              :    && ix86_pre_reload_split ()) && 
   25167              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25168              : (TARGET_64BIT)))
   25169              :             return 1330; /* *rotldi3_mask_1 */
   25170              :           break;
   25171              : 
   25172              :         case 5:
   25173              :           if (
   25174              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25175              : (ix86_binary_operator_ok (ROTATE, QImode, operands)
   25176              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
   25177              :    && ix86_pre_reload_split ()))
   25178              :             return 1340; /* *rotlqi3_add_1 */
   25179              :           break;
   25180              : 
   25181              :         case 6:
   25182              :           if (
   25183              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25184              : (ix86_binary_operator_ok (ROTATE, HImode, operands)
   25185              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
   25186              :    && ix86_pre_reload_split ()))
   25187              :             return 1342; /* *rotlhi3_add_1 */
   25188              :           break;
   25189              : 
   25190              :         case 7:
   25191              :           if (
   25192              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25193              : (ix86_binary_operator_ok (ROTATE, SImode, operands)
   25194              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   25195              :    && ix86_pre_reload_split ()))
   25196              :             return 1344; /* *rotlsi3_add_1 */
   25197              :           break;
   25198              : 
   25199              :         case 8:
   25200              :           if ((
   25201              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25202              : (ix86_binary_operator_ok (ROTATE, DImode, operands)
   25203              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   25204              :    && ix86_pre_reload_split ()) && 
   25205              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25206              : (TARGET_64BIT)))
   25207              :             return 1346; /* *rotldi3_add_1 */
   25208              :           break;
   25209              : 
   25210              :         case 9:
   25211              :           if (
   25212              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25213              : (ix86_binary_operator_ok (ROTATE, QImode, operands)
   25214              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
   25215              :    && ix86_pre_reload_split ()))
   25216              :             return 1356; /* *rotlqi3_sub_1 */
   25217              :           break;
   25218              : 
   25219              :         case 10:
   25220              :           if (
   25221              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25222              : (ix86_binary_operator_ok (ROTATE, HImode, operands)
   25223              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
   25224              :    && ix86_pre_reload_split ()))
   25225              :             return 1358; /* *rotlhi3_sub_1 */
   25226              :           break;
   25227              : 
   25228              :         case 11:
   25229              :           if (
   25230              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25231              : (ix86_binary_operator_ok (ROTATE, SImode, operands)
   25232              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   25233              :    && ix86_pre_reload_split ()))
   25234              :             return 1360; /* *rotlsi3_sub_1 */
   25235              :           break;
   25236              : 
   25237              :         case 12:
   25238              :           if ((
   25239              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25240              : (ix86_binary_operator_ok (ROTATE, DImode, operands)
   25241              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   25242              :    && ix86_pre_reload_split ()) && 
   25243              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25244              : (TARGET_64BIT)))
   25245              :             return 1362; /* *rotldi3_sub_1 */
   25246              :           break;
   25247              : 
   25248              :         default:
   25249              :           break;
   25250              :         }
   25251              :       break;
   25252              : 
   25253              :     case ROTATERT:
   25254              :       switch (pattern211 (x1))
   25255              :         {
   25256              :         case 0:
   25257              :           x4 = XEXP (x3, 1);
   25258              :           if (GET_CODE (x4) == SUBREG)
   25259              :             {
   25260              :               switch (pattern1178 (x2))
   25261              :                 {
   25262              :                 case 0:
   25263              :                   if (
   25264              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25265              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
   25266              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
   25267              :       == GET_MODE_BITSIZE (QImode)-1
   25268              :    && ix86_pre_reload_split ()))
   25269              :                     return 1317; /* *rotrqi3_mask */
   25270              :                   break;
   25271              : 
   25272              :                 case 1:
   25273              :                   if (
   25274              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25275              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
   25276              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
   25277              :       == GET_MODE_BITSIZE (HImode)-1
   25278              :    && ix86_pre_reload_split ()))
   25279              :                     return 1319; /* *rotrhi3_mask */
   25280              :                   break;
   25281              : 
   25282              :                 case 2:
   25283              :                   if (
   25284              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25285              : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
   25286              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
   25287              :       == GET_MODE_BITSIZE (SImode)-1
   25288              :    && ix86_pre_reload_split ()))
   25289              :                     return 1321; /* *rotrsi3_mask */
   25290              :                   break;
   25291              : 
   25292              :                 case 3:
   25293              :                   if ((
   25294              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25295              : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
   25296              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
   25297              :       == GET_MODE_BITSIZE (DImode)-1
   25298              :    && ix86_pre_reload_split ()) && 
   25299              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25300              : (TARGET_64BIT)))
   25301              :                     return 1323; /* *rotrdi3_mask */
   25302              :                   break;
   25303              : 
   25304              :                 case 4:
   25305              :                   if (
   25306              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25307              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
   25308              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
   25309              :    && ix86_pre_reload_split ()))
   25310              :                     return 1333; /* *rotrqi3_add */
   25311              :                   break;
   25312              : 
   25313              :                 case 5:
   25314              :                   if (
   25315              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25316              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
   25317              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
   25318              :    && ix86_pre_reload_split ()))
   25319              :                     return 1335; /* *rotrhi3_add */
   25320              :                   break;
   25321              : 
   25322              :                 case 6:
   25323              :                   if (
   25324              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25325              : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
   25326              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   25327              :    && ix86_pre_reload_split ()))
   25328              :                     return 1337; /* *rotrsi3_add */
   25329              :                   break;
   25330              : 
   25331              :                 case 7:
   25332              :                   if ((
   25333              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25334              : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
   25335              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   25336              :    && ix86_pre_reload_split ()) && 
   25337              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25338              : (TARGET_64BIT)))
   25339              :                     return 1339; /* *rotrdi3_add */
   25340              :                   break;
   25341              : 
   25342              :                 case 8:
   25343              :                   if (
   25344              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25345              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
   25346              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
   25347              :    && ix86_pre_reload_split ()))
   25348              :                     return 1349; /* *rotrqi3_sub */
   25349              :                   break;
   25350              : 
   25351              :                 case 9:
   25352              :                   if (
   25353              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25354              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
   25355              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
   25356              :    && ix86_pre_reload_split ()))
   25357              :                     return 1351; /* *rotrhi3_sub */
   25358              :                   break;
   25359              : 
   25360              :                 case 10:
   25361              :                   if (
   25362              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25363              : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
   25364              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   25365              :    && ix86_pre_reload_split ()))
   25366              :                     return 1353; /* *rotrsi3_sub */
   25367              :                   break;
   25368              : 
   25369              :                 case 11:
   25370              :                   if ((
   25371              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25372              : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
   25373              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   25374              :    && ix86_pre_reload_split ()) && 
   25375              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25376              : (TARGET_64BIT)))
   25377              :                     return 1355; /* *rotrdi3_sub */
   25378              :                   break;
   25379              : 
   25380              :                 default:
   25381              :                   break;
   25382              :                 }
   25383              :             }
   25384              :           operands[2] = x4;
   25385              :           switch (pattern1179 (x2))
   25386              :             {
   25387              :             case 0:
   25388              :               if (
   25389              : #line 18838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25390              : (ix86_binary_operator_ok (ROTATERT, SImode, operands, TARGET_APX_NDD)
   25391              :    && true))
   25392              :                 return 1377; /* *rotrsi3_1 */
   25393              :               break;
   25394              : 
   25395              :             case 1:
   25396              :               if ((
   25397              : #line 18838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25398              : (ix86_binary_operator_ok (ROTATERT, DImode, operands, TARGET_APX_NDD)
   25399              :    && true) && 
   25400              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25401              : (TARGET_64BIT)))
   25402              :                 return 1381; /* *rotrdi3_1 */
   25403              :               break;
   25404              : 
   25405              :             case 2:
   25406              :               if (
   25407              : #line 19019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25408              : (ix86_binary_operator_ok (ROTATERT, QImode, operands, TARGET_APX_NDD)
   25409              :    && true))
   25410              :                 return 1408; /* *rotrqi3_1 */
   25411              :               break;
   25412              : 
   25413              :             case 3:
   25414              :               if (
   25415              : #line 19019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25416              : (ix86_binary_operator_ok (ROTATERT, HImode, operands, TARGET_APX_NDD)
   25417              :    && true))
   25418              :                 return 1412; /* *rotrhi3_1 */
   25419              :               break;
   25420              : 
   25421              :             case 4:
   25422              :               if (
   25423              : #line 19050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25424              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   25425              :                 return 1414; /* *rotrqi3_1_slp */
   25426              :               break;
   25427              : 
   25428              :             case 5:
   25429              :               if (
   25430              : #line 19050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25431              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
   25432              :                 return 1416; /* *rotrhi3_1_slp */
   25433              :               break;
   25434              : 
   25435              :             default:
   25436              :               break;
   25437              :             }
   25438              :           break;
   25439              : 
   25440              :         case 1:
   25441              :           if (
   25442              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25443              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
   25444              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
   25445              :       == GET_MODE_BITSIZE (QImode)-1
   25446              :    && ix86_pre_reload_split ()))
   25447              :             return 1325; /* *rotrqi3_mask_1 */
   25448              :           break;
   25449              : 
   25450              :         case 2:
   25451              :           if (
   25452              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25453              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
   25454              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
   25455              :       == GET_MODE_BITSIZE (HImode)-1
   25456              :    && ix86_pre_reload_split ()))
   25457              :             return 1327; /* *rotrhi3_mask_1 */
   25458              :           break;
   25459              : 
   25460              :         case 3:
   25461              :           if (
   25462              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25463              : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
   25464              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
   25465              :       == GET_MODE_BITSIZE (SImode)-1
   25466              :    && ix86_pre_reload_split ()))
   25467              :             return 1329; /* *rotrsi3_mask_1 */
   25468              :           break;
   25469              : 
   25470              :         case 4:
   25471              :           if ((
   25472              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25473              : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
   25474              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
   25475              :       == GET_MODE_BITSIZE (DImode)-1
   25476              :    && ix86_pre_reload_split ()) && 
   25477              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25478              : (TARGET_64BIT)))
   25479              :             return 1331; /* *rotrdi3_mask_1 */
   25480              :           break;
   25481              : 
   25482              :         case 5:
   25483              :           if (
   25484              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25485              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
   25486              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
   25487              :    && ix86_pre_reload_split ()))
   25488              :             return 1341; /* *rotrqi3_add_1 */
   25489              :           break;
   25490              : 
   25491              :         case 6:
   25492              :           if (
   25493              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25494              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
   25495              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
   25496              :    && ix86_pre_reload_split ()))
   25497              :             return 1343; /* *rotrhi3_add_1 */
   25498              :           break;
   25499              : 
   25500              :         case 7:
   25501              :           if (
   25502              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25503              : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
   25504              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   25505              :    && ix86_pre_reload_split ()))
   25506              :             return 1345; /* *rotrsi3_add_1 */
   25507              :           break;
   25508              : 
   25509              :         case 8:
   25510              :           if ((
   25511              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25512              : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
   25513              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   25514              :    && ix86_pre_reload_split ()) && 
   25515              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25516              : (TARGET_64BIT)))
   25517              :             return 1347; /* *rotrdi3_add_1 */
   25518              :           break;
   25519              : 
   25520              :         case 9:
   25521              :           if (
   25522              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25523              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
   25524              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
   25525              :    && ix86_pre_reload_split ()))
   25526              :             return 1357; /* *rotrqi3_sub_1 */
   25527              :           break;
   25528              : 
   25529              :         case 10:
   25530              :           if (
   25531              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25532              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
   25533              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
   25534              :    && ix86_pre_reload_split ()))
   25535              :             return 1359; /* *rotrhi3_sub_1 */
   25536              :           break;
   25537              : 
   25538              :         case 11:
   25539              :           if (
   25540              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25541              : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
   25542              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   25543              :    && ix86_pre_reload_split ()))
   25544              :             return 1361; /* *rotrsi3_sub_1 */
   25545              :           break;
   25546              : 
   25547              :         case 12:
   25548              :           if ((
   25549              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25550              : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
   25551              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   25552              :    && ix86_pre_reload_split ()) && 
   25553              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25554              : (TARGET_64BIT)))
   25555              :             return 1363; /* *rotrdi3_sub_1 */
   25556              :           break;
   25557              : 
   25558              :         default:
   25559              :           break;
   25560              :         }
   25561              :       break;
   25562              : 
   25563              :     case CALL:
   25564              :       res = recog_419 (x1, insn, pnum_clobbers);
   25565              :       if (res >= 0)
   25566              :         return res;
   25567              :       break;
   25568              : 
   25569              :     case CTZ:
   25570              :       res = recog_420 (x1, insn, pnum_clobbers);
   25571              :       if (res >= 0)
   25572              :         return res;
   25573              :       break;
   25574              : 
   25575              :     case SIGN_EXTEND:
   25576              :       res = recog_421 (x1, insn, pnum_clobbers);
   25577              :       if (res >= 0)
   25578              :         return res;
   25579              :       break;
   25580              : 
   25581              :     case CLZ:
   25582              :       res = recog_422 (x1, insn, pnum_clobbers);
   25583              :       if (res >= 0)
   25584              :         return res;
   25585              :       break;
   25586              : 
   25587              :     case POPCOUNT:
   25588              :       res = recog_423 (x1, insn, pnum_clobbers);
   25589              :       if (res >= 0)
   25590              :         return res;
   25591              :       break;
   25592              : 
   25593              :     case SMAX:
   25594              :       switch (pattern215 (x1))
   25595              :         {
   25596              :         case 0:
   25597              :           if ((
   25598              : #line 27359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25599              : (TARGET_CMOVE
   25600              :    && ix86_pre_reload_split ()) && 
   25601              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25602              : (!TARGET_64BIT)))
   25603              :             return 1865; /* *smaxdi3_doubleword */
   25604              :           if ((
   25605              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25606              : (TARGET_CMOVE
   25607              :    && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25608              :    && ix86_pre_reload_split ()) && 
   25609              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25610              : (TARGET_64BIT)))
   25611              :             return 1885; /* *smaxdi3_1 */
   25612              :           break;
   25613              : 
   25614              :         case 1:
   25615              :           if ((
   25616              : #line 27359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25617              : (TARGET_CMOVE
   25618              :    && ix86_pre_reload_split ()) && 
   25619              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25620              : (TARGET_64BIT)))
   25621              :             return 1869; /* *smaxti3_doubleword */
   25622              :           break;
   25623              : 
   25624              :         case 2:
   25625              :           if (
   25626              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25627              : (TARGET_CMOVE
   25628              :    && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25629              :    && ix86_pre_reload_split ()))
   25630              :             return 1873; /* *smaxqi3_1 */
   25631              :           break;
   25632              : 
   25633              :         case 3:
   25634              :           if (
   25635              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25636              : (TARGET_CMOVE
   25637              :    && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25638              :    && ix86_pre_reload_split ()))
   25639              :             return 1877; /* *smaxhi3_1 */
   25640              :           break;
   25641              : 
   25642              :         case 4:
   25643              :           if (
   25644              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25645              : (TARGET_CMOVE
   25646              :    && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25647              :    && ix86_pre_reload_split ()))
   25648              :             return 1881; /* *smaxsi3_1 */
   25649              :           break;
   25650              : 
   25651              :         case 5:
   25652              :           if (
   25653              : #line 894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   25654              : (TARGET_3DNOW && ix86_binary_operator_ok (SMAX, V2SFmode, operands)))
   25655              :             return 2112; /* *mmx_smaxv2sf3 */
   25656              :           break;
   25657              : 
   25658              :         default:
   25659              :           break;
   25660              :         }
   25661              :       break;
   25662              : 
   25663              :     case SMIN:
   25664              :       switch (pattern215 (x1))
   25665              :         {
   25666              :         case 0:
   25667              :           if ((
   25668              : #line 27359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25669              : (TARGET_CMOVE
   25670              :    && ix86_pre_reload_split ()) && 
   25671              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25672              : (!TARGET_64BIT)))
   25673              :             return 1866; /* *smindi3_doubleword */
   25674              :           if ((
   25675              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25676              : (TARGET_CMOVE
   25677              :    && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25678              :    && ix86_pre_reload_split ()) && 
   25679              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25680              : (TARGET_64BIT)))
   25681              :             return 1886; /* *smindi3_1 */
   25682              :           break;
   25683              : 
   25684              :         case 1:
   25685              :           if ((
   25686              : #line 27359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25687              : (TARGET_CMOVE
   25688              :    && ix86_pre_reload_split ()) && 
   25689              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25690              : (TARGET_64BIT)))
   25691              :             return 1870; /* *sminti3_doubleword */
   25692              :           break;
   25693              : 
   25694              :         case 2:
   25695              :           if (
   25696              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25697              : (TARGET_CMOVE
   25698              :    && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25699              :    && ix86_pre_reload_split ()))
   25700              :             return 1874; /* *sminqi3_1 */
   25701              :           break;
   25702              : 
   25703              :         case 3:
   25704              :           if (
   25705              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25706              : (TARGET_CMOVE
   25707              :    && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25708              :    && ix86_pre_reload_split ()))
   25709              :             return 1878; /* *sminhi3_1 */
   25710              :           break;
   25711              : 
   25712              :         case 4:
   25713              :           if (
   25714              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25715              : (TARGET_CMOVE
   25716              :    && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25717              :    && ix86_pre_reload_split ()))
   25718              :             return 1882; /* *sminsi3_1 */
   25719              :           break;
   25720              : 
   25721              :         case 5:
   25722              :           if (
   25723              : #line 894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   25724              : (TARGET_3DNOW && ix86_binary_operator_ok (SMIN, V2SFmode, operands)))
   25725              :             return 2113; /* *mmx_sminv2sf3 */
   25726              :           break;
   25727              : 
   25728              :         default:
   25729              :           break;
   25730              :         }
   25731              :       break;
   25732              : 
   25733              :     case UMAX:
   25734              :       switch (pattern220 (x1))
   25735              :         {
   25736              :         case 0:
   25737              :           if ((
   25738              : #line 27359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25739              : (TARGET_CMOVE
   25740              :    && ix86_pre_reload_split ()) && 
   25741              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25742              : (!TARGET_64BIT)))
   25743              :             return 1867; /* *umaxdi3_doubleword */
   25744              :           if ((
   25745              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25746              : (TARGET_CMOVE
   25747              :    && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25748              :    && ix86_pre_reload_split ()) && 
   25749              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25750              : (TARGET_64BIT)))
   25751              :             return 1887; /* *umaxdi3_1 */
   25752              :           break;
   25753              : 
   25754              :         case 1:
   25755              :           if ((
   25756              : #line 27359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25757              : (TARGET_CMOVE
   25758              :    && ix86_pre_reload_split ()) && 
   25759              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25760              : (TARGET_64BIT)))
   25761              :             return 1871; /* *umaxti3_doubleword */
   25762              :           break;
   25763              : 
   25764              :         case 2:
   25765              :           if (
   25766              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25767              : (TARGET_CMOVE
   25768              :    && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25769              :    && ix86_pre_reload_split ()))
   25770              :             return 1875; /* *umaxqi3_1 */
   25771              :           break;
   25772              : 
   25773              :         case 3:
   25774              :           if (
   25775              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25776              : (TARGET_CMOVE
   25777              :    && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25778              :    && ix86_pre_reload_split ()))
   25779              :             return 1879; /* *umaxhi3_1 */
   25780              :           break;
   25781              : 
   25782              :         case 4:
   25783              :           if (
   25784              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25785              : (TARGET_CMOVE
   25786              :    && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25787              :    && ix86_pre_reload_split ()))
   25788              :             return 1883; /* *umaxsi3_1 */
   25789              :           break;
   25790              : 
   25791              :         case 5:
   25792              :           x4 = XEXP (x3, 1);
   25793              :           if (rtx_equal_p (x4, operands[1])
   25794              :               && 
   25795              : #line 27598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25796              : (TARGET_CMOVE
   25797              :    && ix86_pre_reload_split ()))
   25798              :             return 1889; /* *plus_within_umaxhi3_1 */
   25799              :           if (rtx_equal_p (x4, operands[2])
   25800              :               && 
   25801              : #line 27598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25802              : (TARGET_CMOVE
   25803              :    && ix86_pre_reload_split ()))
   25804              :             return 1890; /* *plus_within_umaxhi3_2 */
   25805              :           break;
   25806              : 
   25807              :         case 6:
   25808              :           x4 = XEXP (x3, 1);
   25809              :           if (rtx_equal_p (x4, operands[1])
   25810              :               && 
   25811              : #line 27598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25812              : (TARGET_CMOVE
   25813              :    && ix86_pre_reload_split ()))
   25814              :             return 1893; /* *plus_within_umaxsi3_1 */
   25815              :           if (rtx_equal_p (x4, operands[2])
   25816              :               && 
   25817              : #line 27598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25818              : (TARGET_CMOVE
   25819              :    && ix86_pre_reload_split ()))
   25820              :             return 1894; /* *plus_within_umaxsi3_2 */
   25821              :           break;
   25822              : 
   25823              :         case 7:
   25824              :           x4 = XEXP (x3, 1);
   25825              :           if (rtx_equal_p (x4, operands[1])
   25826              :               && (
   25827              : #line 27598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25828              : (TARGET_CMOVE
   25829              :    && ix86_pre_reload_split ()) && 
   25830              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25831              : (TARGET_64BIT)))
   25832              :             return 1897; /* *plus_within_umaxdi3_1 */
   25833              :           if (rtx_equal_p (x4, operands[2])
   25834              :               && (
   25835              : #line 27598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25836              : (TARGET_CMOVE
   25837              :    && ix86_pre_reload_split ()) && 
   25838              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25839              : (TARGET_64BIT)))
   25840              :             return 1898; /* *plus_within_umaxdi3_2 */
   25841              :           break;
   25842              : 
   25843              :         case 8:
   25844              :           if (
   25845              : #line 27631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25846              : (TARGET_CMOVE
   25847              :    && ix86_pre_reload_split ()))
   25848              :             return 1901; /* *minus_within_umaxhi3 */
   25849              :           break;
   25850              : 
   25851              :         case 9:
   25852              :           if (
   25853              : #line 27631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25854              : (TARGET_CMOVE
   25855              :    && ix86_pre_reload_split ()))
   25856              :             return 1903; /* *minus_within_umaxsi3 */
   25857              :           break;
   25858              : 
   25859              :         case 10:
   25860              :           if ((
   25861              : #line 27631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25862              : (TARGET_CMOVE
   25863              :    && ix86_pre_reload_split ()) && 
   25864              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25865              : (TARGET_64BIT)))
   25866              :             return 1905; /* *minus_within_umaxdi3 */
   25867              :           break;
   25868              : 
   25869              :         default:
   25870              :           break;
   25871              :         }
   25872              :       break;
   25873              : 
   25874              :     case UMIN:
   25875              :       switch (pattern220 (x1))
   25876              :         {
   25877              :         case 0:
   25878              :           if ((
   25879              : #line 27359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25880              : (TARGET_CMOVE
   25881              :    && ix86_pre_reload_split ()) && 
   25882              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25883              : (!TARGET_64BIT)))
   25884              :             return 1868; /* *umindi3_doubleword */
   25885              :           if ((
   25886              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25887              : (TARGET_CMOVE
   25888              :    && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25889              :    && ix86_pre_reload_split ()) && 
   25890              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25891              : (TARGET_64BIT)))
   25892              :             return 1888; /* *umindi3_1 */
   25893              :           break;
   25894              : 
   25895              :         case 1:
   25896              :           if ((
   25897              : #line 27359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25898              : (TARGET_CMOVE
   25899              :    && ix86_pre_reload_split ()) && 
   25900              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25901              : (TARGET_64BIT)))
   25902              :             return 1872; /* *uminti3_doubleword */
   25903              :           break;
   25904              : 
   25905              :         case 2:
   25906              :           if (
   25907              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25908              : (TARGET_CMOVE
   25909              :    && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25910              :    && ix86_pre_reload_split ()))
   25911              :             return 1876; /* *uminqi3_1 */
   25912              :           break;
   25913              : 
   25914              :         case 3:
   25915              :           if (
   25916              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25917              : (TARGET_CMOVE
   25918              :    && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25919              :    && ix86_pre_reload_split ()))
   25920              :             return 1880; /* *uminhi3_1 */
   25921              :           break;
   25922              : 
   25923              :         case 4:
   25924              :           if (
   25925              : #line 27417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25926              : (TARGET_CMOVE
   25927              :    && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
   25928              :    && ix86_pre_reload_split ()))
   25929              :             return 1884; /* *uminsi3_1 */
   25930              :           break;
   25931              : 
   25932              :         case 5:
   25933              :           x4 = XEXP (x3, 1);
   25934              :           if (rtx_equal_p (x4, operands[1])
   25935              :               && 
   25936              : #line 27598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25937              : (TARGET_CMOVE
   25938              :    && ix86_pre_reload_split ()))
   25939              :             return 1891; /* *plus_within_uminhi3_1 */
   25940              :           if (rtx_equal_p (x4, operands[2])
   25941              :               && 
   25942              : #line 27598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25943              : (TARGET_CMOVE
   25944              :    && ix86_pre_reload_split ()))
   25945              :             return 1892; /* *plus_within_uminhi3_2 */
   25946              :           break;
   25947              : 
   25948              :         case 6:
   25949              :           x4 = XEXP (x3, 1);
   25950              :           if (rtx_equal_p (x4, operands[1])
   25951              :               && 
   25952              : #line 27598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25953              : (TARGET_CMOVE
   25954              :    && ix86_pre_reload_split ()))
   25955              :             return 1895; /* *plus_within_uminsi3_1 */
   25956              :           if (rtx_equal_p (x4, operands[2])
   25957              :               && 
   25958              : #line 27598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25959              : (TARGET_CMOVE
   25960              :    && ix86_pre_reload_split ()))
   25961              :             return 1896; /* *plus_within_uminsi3_2 */
   25962              :           break;
   25963              : 
   25964              :         case 7:
   25965              :           x4 = XEXP (x3, 1);
   25966              :           if (rtx_equal_p (x4, operands[1])
   25967              :               && (
   25968              : #line 27598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25969              : (TARGET_CMOVE
   25970              :    && ix86_pre_reload_split ()) && 
   25971              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25972              : (TARGET_64BIT)))
   25973              :             return 1899; /* *plus_within_umindi3_1 */
   25974              :           if (rtx_equal_p (x4, operands[2])
   25975              :               && (
   25976              : #line 27598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25977              : (TARGET_CMOVE
   25978              :    && ix86_pre_reload_split ()) && 
   25979              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25980              : (TARGET_64BIT)))
   25981              :             return 1900; /* *plus_within_umindi3_2 */
   25982              :           break;
   25983              : 
   25984              :         case 8:
   25985              :           if (
   25986              : #line 27631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25987              : (TARGET_CMOVE
   25988              :    && ix86_pre_reload_split ()))
   25989              :             return 1902; /* *minus_within_uminhi3 */
   25990              :           break;
   25991              : 
   25992              :         case 9:
   25993              :           if (
   25994              : #line 27631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25995              : (TARGET_CMOVE
   25996              :    && ix86_pre_reload_split ()))
   25997              :             return 1904; /* *minus_within_uminsi3 */
   25998              :           break;
   25999              : 
   26000              :         case 10:
   26001              :           if ((
   26002              : #line 27631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26003              : (TARGET_CMOVE
   26004              :    && ix86_pre_reload_split ()) && 
   26005              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26006              : (TARGET_64BIT)))
   26007              :             return 1906; /* *minus_within_umindi3 */
   26008              :           break;
   26009              : 
   26010              :         default:
   26011              :           break;
   26012              :         }
   26013              :       break;
   26014              : 
   26015              :     case UNSPEC_VOLATILE:
   26016              :       res = recog_424 (x1, insn, pnum_clobbers);
   26017              :       if (res >= 0)
   26018              :         return res;
   26019              :       break;
   26020              : 
   26021              :     case VEC_MERGE:
   26022              :       if (pattern221 (x1) == 0
   26023              :           && 
   26024              : #line 8696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26025              : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSE))
   26026              :         return 4825; /* sse_cvtpi2ps */
   26027              :       break;
   26028              : 
   26029              :     case VEC_CONCAT:
   26030              :       res = recog_425 (x1, insn, pnum_clobbers);
   26031              :       if (res >= 0)
   26032              :         return res;
   26033              :       break;
   26034              : 
   26035              :     case VEC_DUPLICATE:
   26036              :       res = recog_426 (x1, insn, pnum_clobbers);
   26037              :       if (res >= 0)
   26038              :         return res;
   26039              :       break;
   26040              : 
   26041              :     case VEC_SELECT:
   26042              :       res = recog_427 (x1, insn, pnum_clobbers);
   26043              :       if (res >= 0)
   26044              :         return res;
   26045              :       break;
   26046              : 
   26047              :     default:
   26048              :       break;
   26049              :     }
   26050              :   x5 = XVECEXP (x1, 0, 1);
   26051              :   if (GET_CODE (x5) != UNSPEC
   26052              :       || XVECLEN (x5, 0) != 1
   26053              :       || XINT (x5, 1) != 39)
   26054              :     return -1;
   26055              :   return recog_428 (x1, insn, pnum_clobbers);
   26056              : }
   26057              : 
   26058              :  rtx_insn *
   26059              : split_24 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   26060              : {
   26061              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   26062              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   26063              :   rtx x10, x11;
   26064              :   rtx_insn *res ATTRIBUTE_UNUSED;
   26065              :   x2 = XVECEXP (x1, 0, 1);
   26066              :   if (pattern236 (x2, 
   26067              : E_CCmode, 
   26068              : 17) != 0)
   26069              :     return NULL;
   26070              :   x3 = XVECEXP (x1, 0, 0);
   26071              :   x4 = XEXP (x3, 1);
   26072              :   x5 = XEXP (x4, 0);
   26073              :   switch (GET_CODE (x5))
   26074              :     {
   26075              :     case CONST_INT:
   26076              :     case CONST_WIDE_INT:
   26077              :     case CONST_POLY_INT:
   26078              :     case CONST_FIXED:
   26079              :     case CONST_DOUBLE:
   26080              :     case CONST_VECTOR:
   26081              :     case CONST:
   26082              :     case REG:
   26083              :     case SUBREG:
   26084              :     case MEM:
   26085              :     case LABEL_REF:
   26086              :     case SYMBOL_REF:
   26087              :     case HIGH:
   26088              :       operands[1] = x5;
   26089              :       switch (pattern1188 (x3))
   26090              :         {
   26091              :         case 0:
   26092              :           if ((
   26093              : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26094              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   26095              : #line 13087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26096              : ( reload_completed
   26097              :    && !(rtx_equal_p (operands[0], operands[1])
   26098              :         || rtx_equal_p (operands[0], operands[2])))))
   26099              :             return gen_split_295 (insn, operands);
   26100              :           break;
   26101              : 
   26102              :         case 1:
   26103              :           if ((
   26104              : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26105              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   26106              : #line 13087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26107              : ( reload_completed
   26108              :    && !(rtx_equal_p (operands[0], operands[1])
   26109              :         || rtx_equal_p (operands[0], operands[2])))))
   26110              :             return gen_split_298 (insn, operands);
   26111              :           break;
   26112              : 
   26113              :         case 2:
   26114              :           if (nonimmediate_operand (operands[0], E_DImode)
   26115              :               && nonimmediate_operand (operands[1], E_DImode))
   26116              :             {
   26117              :               if (x86_64_hilo_general_operand (operands[2], E_DImode)
   26118              :                   && ((
   26119              : #line 13847 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26120              : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)) && 
   26121              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26122              : (!TARGET_64BIT)) && 
   26123              : #line 13849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26124              : ( reload_completed)))
   26125              :                 return gen_split_394 (insn, operands);
   26126              :               if (const_int_operand (operands[2], E_DImode)
   26127              :                   && (
   26128              : #line 13975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26129              : (TARGET_64BIT && TARGET_USE_BT
   26130              :    && ix86_binary_operator_ok (XOR, DImode, operands)
   26131              :    && IN_RANGE (exact_log2 (INTVAL (operands[2])), 31, 63)) && 
   26132              : #line 13979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26133              : ( reload_completed)))
   26134              :                 return gen_split_401 (insn, operands);
   26135              :             }
   26136              :           if (const_int_operand (operands[2], E_DImode))
   26137              :             {
   26138              :               if (QIreg_operand (operands[0], E_DImode)
   26139              :                   && register_operand (operands[1], E_DImode)
   26140              :                   && (
   26141              : #line 14288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26142              : (reload_completed
   26143              :     && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   26144              :     && !(INTVAL (operands[2]) & ~(255 << 8))
   26145              :     && !(TARGET_APX_NDD && REGNO (operands[0]) != REGNO (operands[1]))) && 
   26146              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26147              : (TARGET_64BIT)))
   26148              :                 return gen_split_429 (insn, operands);
   26149              :               if (any_QIreg_operand (operands[0], E_DImode)
   26150              :                   && general_operand (operands[1], E_DImode)
   26151              :                   && (
   26152              : #line 14326 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26153              : (reload_completed
   26154              :     && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   26155              :     && !(INTVAL (operands[2]) & ~255)
   26156              :     && (INTVAL (operands[2]) & 128)
   26157              :     && !(TARGET_APX_NDD
   26158              :          && !rtx_equal_p (operands[0], operands[1]))) && 
   26159              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26160              : (TARGET_64BIT)))
   26161              :                 return gen_split_435 (insn, operands);
   26162              :             }
   26163              :           break;
   26164              : 
   26165              :         case 3:
   26166              :           if (((
   26167              : #line 13847 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26168              : (ix86_binary_operator_ok (XOR, TImode, operands, TARGET_APX_NDD)) && 
   26169              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26170              : (TARGET_64BIT)) && 
   26171              : #line 13849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26172              : ( reload_completed)))
   26173              :             return gen_split_396 (insn, operands);
   26174              :           break;
   26175              : 
   26176              :         case 4:
   26177              :           if (QIreg_operand (operands[0], E_HImode)
   26178              :               && register_operand (operands[1], E_HImode)
   26179              :               && 
   26180              : #line 14288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26181              : (reload_completed
   26182              :     && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   26183              :     && !(INTVAL (operands[2]) & ~(255 << 8))
   26184              :     && !(TARGET_APX_NDD && REGNO (operands[0]) != REGNO (operands[1]))))
   26185              :             return gen_split_425 (insn, operands);
   26186              :           if (any_QIreg_operand (operands[0], E_HImode)
   26187              :               && general_operand (operands[1], E_HImode)
   26188              :               && 
   26189              : #line 14326 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26190              : (reload_completed
   26191              :     && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   26192              :     && !(INTVAL (operands[2]) & ~255)
   26193              :     && (INTVAL (operands[2]) & 128)
   26194              :     && !(TARGET_APX_NDD
   26195              :          && !rtx_equal_p (operands[0], operands[1]))))
   26196              :             return gen_split_431 (insn, operands);
   26197              :           break;
   26198              : 
   26199              :         case 5:
   26200              :           if (QIreg_operand (operands[0], E_SImode)
   26201              :               && register_operand (operands[1], E_SImode)
   26202              :               && 
   26203              : #line 14288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26204              : (reload_completed
   26205              :     && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   26206              :     && !(INTVAL (operands[2]) & ~(255 << 8))
   26207              :     && !(TARGET_APX_NDD && REGNO (operands[0]) != REGNO (operands[1]))))
   26208              :             return gen_split_427 (insn, operands);
   26209              :           if (any_QIreg_operand (operands[0], E_SImode)
   26210              :               && general_operand (operands[1], E_SImode)
   26211              :               && 
   26212              : #line 14326 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26213              : (reload_completed
   26214              :     && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   26215              :     && !(INTVAL (operands[2]) & ~255)
   26216              :     && (INTVAL (operands[2]) & 128)
   26217              :     && !(TARGET_APX_NDD
   26218              :          && !rtx_equal_p (operands[0], operands[1]))))
   26219              :             return gen_split_433 (insn, operands);
   26220              :           break;
   26221              : 
   26222              :         default:
   26223              :           break;
   26224              :         }
   26225              :       if (GET_CODE (x5) != SUBREG
   26226              :           || pattern1187 (x4) != 0)
   26227              :         return NULL;
   26228              :       x6 = XEXP (x5, 0);
   26229              :       x7 = XEXP (x6, 0);
   26230              :       operands[2] = x7;
   26231              :       switch (pattern1644 (x3))
   26232              :         {
   26233              :         case 0:
   26234              :           if ((
   26235              : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26236              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   26237              : #line 13112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26238              : ( reload_completed
   26239              :    && !rtx_equal_p (operands[0], operands[1]))))
   26240              :             return gen_split_301 (insn, operands);
   26241              :           break;
   26242              : 
   26243              :         case 1:
   26244              :           if ((
   26245              : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26246              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   26247              : #line 13112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26248              : ( reload_completed
   26249              :    && !rtx_equal_p (operands[0], operands[1]))))
   26250              :             return gen_split_304 (insn, operands);
   26251              :           break;
   26252              : 
   26253              :         case 2:
   26254              :           if (((
   26255              : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26256              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   26257              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26258              : (TARGET_64BIT)) && 
   26259              : #line 13112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26260              : ( reload_completed
   26261              :    && !rtx_equal_p (operands[0], operands[1]))))
   26262              :             return gen_split_307 (insn, operands);
   26263              :           break;
   26264              : 
   26265              :         default:
   26266              :           break;
   26267              :         }
   26268              :       operands[1] = x7;
   26269              :       switch (pattern1645 (x3))
   26270              :         {
   26271              :         case 0:
   26272              :           if (!(
   26273              : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26274              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   26275              : #line 13139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26276              : ( reload_completed)))
   26277              :             return NULL;
   26278              :           return gen_split_310 (insn, operands);
   26279              : 
   26280              :         case 1:
   26281              :           if (!(
   26282              : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26283              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   26284              : #line 13139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26285              : ( reload_completed)))
   26286              :             return NULL;
   26287              :           return gen_split_313 (insn, operands);
   26288              : 
   26289              :         case 2:
   26290              :           if (!((
   26291              : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26292              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   26293              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26294              : (TARGET_64BIT)) && 
   26295              : #line 13139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26296              : ( reload_completed)))
   26297              :             return NULL;
   26298              :           return gen_split_316 (insn, operands);
   26299              : 
   26300              :         case 3:
   26301              :           if (!
   26302              : #line 13374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26303              : ( reload_completed))
   26304              :             return NULL;
   26305              :           return gen_split_330 (insn, operands);
   26306              : 
   26307              :         case 4:
   26308              :           if (!
   26309              : #line 13374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26310              : ( reload_completed))
   26311              :             return NULL;
   26312              :           return gen_split_333 (insn, operands);
   26313              : 
   26314              :         case 5:
   26315              :           if (!(
   26316              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26317              : (TARGET_64BIT) && 
   26318              : #line 13374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26319              : ( reload_completed)))
   26320              :             return NULL;
   26321              :           return gen_split_336 (insn, operands);
   26322              : 
   26323              :         default:
   26324              :           return NULL;
   26325              :         }
   26326              : 
   26327              :     case XOR:
   26328              :       x6 = XEXP (x5, 0);
   26329              :       if (GET_CODE (x6) != IOR)
   26330              :         return NULL;
   26331              :       x8 = XEXP (x3, 0);
   26332              :       operands[0] = x8;
   26333              :       x7 = XEXP (x6, 0);
   26334              :       operands[1] = x7;
   26335              :       x9 = XEXP (x6, 1);
   26336              :       operands[2] = x9;
   26337              :       switch (GET_MODE (operands[0]))
   26338              :         {
   26339              :         case E_SImode:
   26340              :           if (pattern1254 (x4, 
   26341              : E_SImode) != 0)
   26342              :             return NULL;
   26343              :           x10 = XEXP (x4, 1);
   26344              :           operands[3] = x10;
   26345              :           if (nonimmediate_operand (operands[3], E_SImode))
   26346              :             {
   26347              :               if (nonimmediate_operand (operands[2], E_SImode))
   26348              :                 {
   26349              :                   x11 = XEXP (x5, 1);
   26350              :                   if (rtx_equal_p (x11, operands[1])
   26351              :                       && 
   26352              : #line 13756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26353              : (TARGET_BMI))
   26354              :                     return gen_split_385 (insn, operands);
   26355              :                 }
   26356              :               if (register_operand (operands[2], E_SImode))
   26357              :                 {
   26358              :                   x11 = XEXP (x5, 1);
   26359              :                   if (rtx_equal_p (x11, operands[2])
   26360              :                       && 
   26361              : #line 13775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26362              : (TARGET_BMI))
   26363              :                     return gen_split_387 (insn, operands);
   26364              :                 }
   26365              :             }
   26366              :           x11 = XEXP (x5, 1);
   26367              :           operands[3] = x11;
   26368              :           if (!nonimmediate_operand (operands[3], E_SImode))
   26369              :             return NULL;
   26370              :           if (nonimmediate_operand (operands[2], E_SImode)
   26371              :               && rtx_equal_p (x10, operands[1])
   26372              :               && 
   26373              : #line 13794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26374              : (TARGET_BMI))
   26375              :             return gen_split_389 (insn, operands);
   26376              :           if (!register_operand (operands[2], E_SImode)
   26377              :               || !rtx_equal_p (x10, operands[2])
   26378              :               || !
   26379              : #line 13813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26380              : (TARGET_BMI))
   26381              :             return NULL;
   26382              :           return gen_split_391 (insn, operands);
   26383              : 
   26384              :         case E_DImode:
   26385              :           if (pattern1254 (x4, 
   26386              : E_DImode) != 0)
   26387              :             return NULL;
   26388              :           x10 = XEXP (x4, 1);
   26389              :           operands[3] = x10;
   26390              :           if (nonimmediate_operand (operands[3], E_DImode))
   26391              :             {
   26392              :               if (nonimmediate_operand (operands[2], E_DImode))
   26393              :                 {
   26394              :                   x11 = XEXP (x5, 1);
   26395              :                   if (rtx_equal_p (x11, operands[1])
   26396              :                       && (
   26397              : #line 13756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26398              : (TARGET_BMI) && 
   26399              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26400              : (TARGET_64BIT)))
   26401              :                     return gen_split_386 (insn, operands);
   26402              :                 }
   26403              :               if (register_operand (operands[2], E_DImode))
   26404              :                 {
   26405              :                   x11 = XEXP (x5, 1);
   26406              :                   if (rtx_equal_p (x11, operands[2])
   26407              :                       && (
   26408              : #line 13775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26409              : (TARGET_BMI) && 
   26410              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26411              : (TARGET_64BIT)))
   26412              :                     return gen_split_388 (insn, operands);
   26413              :                 }
   26414              :             }
   26415              :           x11 = XEXP (x5, 1);
   26416              :           operands[3] = x11;
   26417              :           if (!nonimmediate_operand (operands[3], E_DImode))
   26418              :             return NULL;
   26419              :           if (nonimmediate_operand (operands[2], E_DImode)
   26420              :               && rtx_equal_p (x10, operands[1])
   26421              :               && (
   26422              : #line 13794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26423              : (TARGET_BMI) && 
   26424              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26425              : (TARGET_64BIT)))
   26426              :             return gen_split_390 (insn, operands);
   26427              :           if (!register_operand (operands[2], E_DImode)
   26428              :               || !rtx_equal_p (x10, operands[2])
   26429              :               || !(
   26430              : #line 13813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26431              : (TARGET_BMI) && 
   26432              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26433              : (TARGET_64BIT)))
   26434              :             return NULL;
   26435              :           return gen_split_392 (insn, operands);
   26436              : 
   26437              :         default:
   26438              :           return NULL;
   26439              :         }
   26440              : 
   26441              :     case AND:
   26442              :       x6 = XEXP (x5, 0);
   26443              :       if (GET_CODE (x6) != XOR)
   26444              :         return NULL;
   26445              :       switch (pattern1060 (x3))
   26446              :         {
   26447              :         case 0:
   26448              :           if (!(
   26449              : #line 14004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26450              : (TARGET_BMI && ix86_pre_reload_split ()) && 
   26451              : #line 14006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26452              : ( 1)))
   26453              :             return NULL;
   26454              :           return gen_split_402 (insn, operands);
   26455              : 
   26456              :         case 1:
   26457              :           if (!(
   26458              : #line 14004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26459              : (TARGET_BMI && ix86_pre_reload_split ()) && 
   26460              : #line 14006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26461              : ( 1)))
   26462              :             return NULL;
   26463              :           return gen_split_403 (insn, operands);
   26464              : 
   26465              :         case 2:
   26466              :           if (!((
   26467              : #line 14004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26468              : (TARGET_BMI && ix86_pre_reload_split ()) && 
   26469              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26470              : (TARGET_64BIT)) && 
   26471              : #line 14006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26472              : ( 1)))
   26473              :             return NULL;
   26474              :           return gen_split_404 (insn, operands);
   26475              : 
   26476              :         default:
   26477              :           return NULL;
   26478              :         }
   26479              : 
   26480              :     case ASHIFT:
   26481              :       switch (pattern1068 (x3, 
   26482              : 1))
   26483              :         {
   26484              :         case 0:
   26485              :           if (!(
   26486              : #line 19184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26487              : (TARGET_USE_BT
   26488              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
   26489              :       == GET_MODE_BITSIZE (SImode)-1
   26490              :    && ix86_pre_reload_split ()) && 
   26491              : #line 19189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26492              : ( 1)))
   26493              :             return NULL;
   26494              :           return gen_split_803 (insn, operands);
   26495              : 
   26496              :         case 1:
   26497              :           if (!((
   26498              : #line 19184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26499              : (TARGET_USE_BT
   26500              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
   26501              :       == GET_MODE_BITSIZE (DImode)-1
   26502              :    && ix86_pre_reload_split ()) && 
   26503              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26504              : (TARGET_64BIT)) && 
   26505              : #line 19189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26506              : ( 1)))
   26507              :             return NULL;
   26508              :           return gen_split_805 (insn, operands);
   26509              : 
   26510              :         case 2:
   26511              :           if (!(
   26512              : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26513              : (TARGET_USE_BT
   26514              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
   26515              :       == GET_MODE_BITSIZE (SImode)-1
   26516              :    && ix86_pre_reload_split ()) && 
   26517              : #line 19217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26518              : ( 1)))
   26519              :             return NULL;
   26520              :           return gen_split_807 (insn, operands);
   26521              : 
   26522              :         case 3:
   26523              :           if (!((
   26524              : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26525              : (TARGET_USE_BT
   26526              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
   26527              :       == GET_MODE_BITSIZE (DImode)-1
   26528              :    && ix86_pre_reload_split ()) && 
   26529              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26530              : (TARGET_64BIT)) && 
   26531              : #line 19217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26532              : ( 1)))
   26533              :             return NULL;
   26534              :           return gen_split_809 (insn, operands);
   26535              : 
   26536              :         default:
   26537              :           return NULL;
   26538              :         }
   26539              : 
   26540              :     case SIGN_EXTEND:
   26541              :       if (pattern1069 (x3) != 0
   26542              :           || !(
   26543              : #line 21681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26544              : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()) && 
   26545              : #line 21683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26546              : ( 1)))
   26547              :         return NULL;
   26548              :       return gen_split_884 (insn, operands);
   26549              : 
   26550              :     case ZERO_EXTEND:
   26551              :       if (pattern1069 (x3) != 0
   26552              :           || !(
   26553              : #line 21681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26554              : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()) && 
   26555              : #line 21683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26556              : ( 1)))
   26557              :         return NULL;
   26558              :       return gen_split_885 (insn, operands);
   26559              : 
   26560              :     case PLUS:
   26561              :       x11 = XEXP (x5, 1);
   26562              :       if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
   26563              :         return NULL;
   26564              :       switch (pattern952 (x3))
   26565              :         {
   26566              :         case 0:
   26567              :           if (!
   26568              : #line 22237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26569              : (TARGET_AVOID_FALSE_DEP_FOR_BLS
   26570              :    && epilogue_completed
   26571              :    && optimize_function_for_speed_p (cfun)
   26572              :    && !reg_mentioned_p (operands[0], operands[1])))
   26573              :             return NULL;
   26574              :           return gen_split_912 (insn, operands);
   26575              : 
   26576              :         case 1:
   26577              :           if (!(
   26578              : #line 22237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26579              : (TARGET_AVOID_FALSE_DEP_FOR_BLS
   26580              :    && epilogue_completed
   26581              :    && optimize_function_for_speed_p (cfun)
   26582              :    && !reg_mentioned_p (operands[0], operands[1])) && 
   26583              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26584              : (TARGET_64BIT)))
   26585              :             return NULL;
   26586              :           return gen_split_913 (insn, operands);
   26587              : 
   26588              :         default:
   26589              :           return NULL;
   26590              :         }
   26591              : 
   26592              :     default:
   26593              :       return NULL;
   26594              :     }
   26595              : }
   26596              : 
   26597              :  rtx_insn *
   26598              : split_34 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   26599              : {
   26600              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   26601              :   rtx x2, x3, x4, x5, x6;
   26602              :   rtx_insn *res ATTRIBUTE_UNUSED;
   26603              :   switch (pattern407 (x1))
   26604              :     {
   26605              :     case 0:
   26606              :       if (!(
   26607              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26608              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
   26609              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
   26610              :       == GET_MODE_BITSIZE (QImode)-1
   26611              :    && ix86_pre_reload_split ()) && 
   26612              : #line 18537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26613              : ( 1)))
   26614              :         return NULL;
   26615              :       return gen_split_701 (insn, operands);
   26616              : 
   26617              :     case 1:
   26618              :       if (!(
   26619              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26620              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
   26621              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
   26622              :       == GET_MODE_BITSIZE (HImode)-1
   26623              :    && ix86_pre_reload_split ()) && 
   26624              : #line 18537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26625              : ( 1)))
   26626              :         return NULL;
   26627              :       return gen_split_703 (insn, operands);
   26628              : 
   26629              :     case 2:
   26630              :       if (!(
   26631              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26632              : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
   26633              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
   26634              :       == GET_MODE_BITSIZE (SImode)-1
   26635              :    && ix86_pre_reload_split ()) && 
   26636              : #line 18537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26637              : ( 1)))
   26638              :         return NULL;
   26639              :       return gen_split_705 (insn, operands);
   26640              : 
   26641              :     case 3:
   26642              :       if (!((
   26643              : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26644              : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
   26645              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
   26646              :       == GET_MODE_BITSIZE (DImode)-1
   26647              :    && ix86_pre_reload_split ()) && 
   26648              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26649              : (TARGET_64BIT)) && 
   26650              : #line 18537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26651              : ( 1)))
   26652              :         return NULL;
   26653              :       return gen_split_707 (insn, operands);
   26654              : 
   26655              :     case 4:
   26656              :       if (!(
   26657              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26658              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
   26659              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
   26660              :    && ix86_pre_reload_split ()) && 
   26661              : #line 18617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26662              : ( 1)))
   26663              :         return NULL;
   26664              :       return gen_split_733 (insn, operands);
   26665              : 
   26666              :     case 5:
   26667              :       if (!(
   26668              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26669              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
   26670              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
   26671              :    && ix86_pre_reload_split ()) && 
   26672              : #line 18617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26673              : ( 1)))
   26674              :         return NULL;
   26675              :       return gen_split_735 (insn, operands);
   26676              : 
   26677              :     case 6:
   26678              :       if (!(
   26679              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26680              : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
   26681              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   26682              :    && ix86_pre_reload_split ()) && 
   26683              : #line 18617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26684              : ( 1)))
   26685              :         return NULL;
   26686              :       return gen_split_737 (insn, operands);
   26687              : 
   26688              :     case 7:
   26689              :       if (!((
   26690              : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26691              : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
   26692              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   26693              :    && ix86_pre_reload_split ()) && 
   26694              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26695              : (TARGET_64BIT)) && 
   26696              : #line 18617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26697              : ( 1)))
   26698              :         return NULL;
   26699              :       return gen_split_739 (insn, operands);
   26700              : 
   26701              :     case 8:
   26702              :       if (!(
   26703              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26704              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
   26705              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
   26706              :    && ix86_pre_reload_split ()) && 
   26707              : #line 18686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26708              : ( 1)))
   26709              :         return NULL;
   26710              :       return gen_split_765 (insn, operands);
   26711              : 
   26712              :     case 9:
   26713              :       if (!(
   26714              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26715              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
   26716              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
   26717              :    && ix86_pre_reload_split ()) && 
   26718              : #line 18686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26719              : ( 1)))
   26720              :         return NULL;
   26721              :       return gen_split_767 (insn, operands);
   26722              : 
   26723              :     case 10:
   26724              :       if (!(
   26725              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26726              : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
   26727              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   26728              :    && ix86_pre_reload_split ()) && 
   26729              : #line 18686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26730              : ( 1)))
   26731              :         return NULL;
   26732              :       return gen_split_769 (insn, operands);
   26733              : 
   26734              :     case 11:
   26735              :       if (!((
   26736              : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26737              : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
   26738              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   26739              :    && ix86_pre_reload_split ()) && 
   26740              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26741              : (TARGET_64BIT)) && 
   26742              : #line 18686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26743              : ( 1)))
   26744              :         return NULL;
   26745              :       return gen_split_771 (insn, operands);
   26746              : 
   26747              :     case 12:
   26748              :       x2 = XVECEXP (x1, 0, 0);
   26749              :       x3 = XEXP (x2, 0);
   26750              :       operands[0] = x3;
   26751              :       x4 = XEXP (x2, 1);
   26752              :       switch (pattern1189 (x4))
   26753              :         {
   26754              :         case 0:
   26755              :           if ((
   26756              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26757              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
   26758              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
   26759              :       == GET_MODE_BITSIZE (QImode)-1
   26760              :    && ix86_pre_reload_split ()) && 
   26761              : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26762              : ( 1)))
   26763              :             return gen_split_685 (insn, operands);
   26764              :           break;
   26765              : 
   26766              :         case 1:
   26767              :           if ((
   26768              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26769              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
   26770              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
   26771              :       == GET_MODE_BITSIZE (HImode)-1
   26772              :    && ix86_pre_reload_split ()) && 
   26773              : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26774              : ( 1)))
   26775              :             return gen_split_687 (insn, operands);
   26776              :           break;
   26777              : 
   26778              :         case 2:
   26779              :           if ((
   26780              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26781              : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
   26782              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
   26783              :       == GET_MODE_BITSIZE (SImode)-1
   26784              :    && ix86_pre_reload_split ()) && 
   26785              : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26786              : ( 1)))
   26787              :             return gen_split_689 (insn, operands);
   26788              :           break;
   26789              : 
   26790              :         case 3:
   26791              :           if (((
   26792              : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26793              : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
   26794              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
   26795              :       == GET_MODE_BITSIZE (DImode)-1
   26796              :    && ix86_pre_reload_split ()) && 
   26797              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26798              : (TARGET_64BIT)) && 
   26799              : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26800              : ( 1)))
   26801              :             return gen_split_691 (insn, operands);
   26802              :           break;
   26803              : 
   26804              :         case 4:
   26805              :           if ((
   26806              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26807              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
   26808              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
   26809              :    && ix86_pre_reload_split ()) && 
   26810              : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26811              : ( 1)))
   26812              :             return gen_split_717 (insn, operands);
   26813              :           break;
   26814              : 
   26815              :         case 5:
   26816              :           if ((
   26817              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26818              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
   26819              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
   26820              :    && ix86_pre_reload_split ()) && 
   26821              : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26822              : ( 1)))
   26823              :             return gen_split_719 (insn, operands);
   26824              :           break;
   26825              : 
   26826              :         case 6:
   26827              :           if ((
   26828              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26829              : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
   26830              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   26831              :    && ix86_pre_reload_split ()) && 
   26832              : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26833              : ( 1)))
   26834              :             return gen_split_721 (insn, operands);
   26835              :           break;
   26836              : 
   26837              :         case 7:
   26838              :           if (((
   26839              : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26840              : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
   26841              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   26842              :    && ix86_pre_reload_split ()) && 
   26843              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26844              : (TARGET_64BIT)) && 
   26845              : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26846              : ( 1)))
   26847              :             return gen_split_723 (insn, operands);
   26848              :           break;
   26849              : 
   26850              :         case 8:
   26851              :           if ((
   26852              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26853              : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
   26854              :    && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
   26855              :    && ix86_pre_reload_split ()) && 
   26856              : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26857              : ( 1)))
   26858              :             return gen_split_749 (insn, operands);
   26859              :           break;
   26860              : 
   26861              :         case 9:
   26862              :           if ((
   26863              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26864              : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
   26865              :    && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
   26866              :    && ix86_pre_reload_split ()) && 
   26867              : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26868              : ( 1)))
   26869              :             return gen_split_751 (insn, operands);
   26870              :           break;
   26871              : 
   26872              :         case 10:
   26873              :           if ((
   26874              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26875              : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
   26876              :    && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
   26877              :    && ix86_pre_reload_split ()) && 
   26878              : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26879              : ( 1)))
   26880              :             return gen_split_753 (insn, operands);
   26881              :           break;
   26882              : 
   26883              :         case 11:
   26884              :           if (((
   26885              : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26886              : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
   26887              :    && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
   26888              :    && ix86_pre_reload_split ()) && 
   26889              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26890              : (TARGET_64BIT)) && 
   26891              : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26892              : ( 1)))
   26893              :             return gen_split_755 (insn, operands);
   26894              :           break;
   26895              : 
   26896              :         case 12:
   26897              :           x5 = XEXP (x4, 1);
   26898              :           operands[2] = x5;
   26899              :           switch (pattern1347 (x4))
   26900              :             {
   26901              :             case 0:
   26902              :               if (
   26903              : #line 18911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26904              : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)))
   26905              :                 return gen_split_792 (insn, operands);
   26906              :               break;
   26907              : 
   26908              :             case 1:
   26909              :               if ((
   26910              : #line 18911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26911              : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)) && 
   26912              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26913              : (TARGET_64BIT)))
   26914              :                 return gen_split_793 (insn, operands);
   26915              :               break;
   26916              : 
   26917              :             default:
   26918              :               break;
   26919              :             }
   26920              :           if (XWINT (x5, 0) == 8L
   26921              :               && QIreg_operand (operands[0], E_HImode)
   26922              :               && GET_MODE (x4) == E_HImode)
   26923              :             {
   26924              :               x6 = XEXP (x4, 0);
   26925              :               if (rtx_equal_p (x6, operands[0])
   26926              :                   && 
   26927              : #line 19083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26928              : (reload_completed
   26929              :   && (TARGET_USE_XCHGB || optimize_function_for_size_p (cfun))))
   26930              :                 return gen_split_801 (insn, operands);
   26931              :             }
   26932              :           break;
   26933              : 
   26934              :         default:
   26935              :           break;
   26936              :         }
   26937              :       x5 = XEXP (x4, 1);
   26938              :       operands[2] = x5;
   26939              :       switch (pattern1190 (x2))
   26940              :         {
   26941              :         case 0:
   26942              :           if (!(
   26943              : #line 19050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26944              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   26945              : #line 19061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26946              : ( reload_completed
   26947              :    && !(rtx_equal_p (operands[0], operands[1])))))
   26948              :             return NULL;
   26949              :           return gen_split_797 (insn, operands);
   26950              : 
   26951              :         case 1:
   26952              :           if (!(
   26953              : #line 19050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26954              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   26955              : #line 19061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26956              : ( reload_completed
   26957              :    && !(rtx_equal_p (operands[0], operands[1])))))
   26958              :             return NULL;
   26959              :           return gen_split_799 (insn, operands);
   26960              : 
   26961              :         default:
   26962              :           return NULL;
   26963              :         }
   26964              : 
   26965              :     default:
   26966              :       return NULL;
   26967              :     }
   26968              : }
   26969              : 
   26970              :  rtx_insn *
   26971              : split_46 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   26972              : {
   26973              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   26974              :   rtx x2, x3, x4, x5, x6, x7;
   26975              :   rtx_insn *res ATTRIBUTE_UNUSED;
   26976              :   x2 = XEXP (x1, 0);
   26977              :   operands[0] = x2;
   26978              :   x3 = XEXP (x1, 1);
   26979              :   x4 = XEXP (x3, 0);
   26980              :   switch (GET_CODE (x4))
   26981              :     {
   26982              :     case REG:
   26983              :       operands[1] = x4;
   26984              :       if (general_reg_operand (operands[1], E_VOIDmode)
   26985              :           && general_reg_operand (operands[0], E_VOIDmode)
   26986              :           && 
   26987              : #line 28310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26988              : (! TARGET_PARTIAL_REG_STALL && reload_completed
   26989              :    && (GET_MODE (operands[0]) == HImode
   26990              :        || (GET_MODE (operands[0]) == QImode && TARGET_PROMOTE_QImode))))
   26991              :         return gen_split_1015 (insn, operands);
   26992              :       if (general_reg_operand (operands[1], E_V4QImode)
   26993              :           && general_reg_operand (operands[0], E_V4QImode)
   26994              :           && GET_MODE (x3) == E_V4QImode
   26995              :           && 
   26996              : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26997              : (reload_completed))
   26998              :         return gen_split_1113 (insn, operands);
   26999              :       if (general_reg_operand (operands[1], E_V2QImode)
   27000              :           && general_reg_operand (operands[0], E_V2QImode)
   27001              :           && GET_MODE (x3) == E_V2QImode
   27002              :           && 
   27003              : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   27004              : (reload_completed))
   27005              :         return gen_split_1114 (insn, operands);
   27006              :       if (general_reg_operand (operands[1], E_V2HImode)
   27007              :           && general_reg_operand (operands[0], E_V2HImode)
   27008              :           && GET_MODE (x3) == E_V2HImode
   27009              :           && 
   27010              : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   27011              : (reload_completed))
   27012              :         return gen_split_1115 (insn, operands);
   27013              :       if (sse_reg_operand (operands[1], E_V4QImode)
   27014              :           && sse_reg_operand (operands[0], E_V4QImode)
   27015              :           && GET_MODE (x3) == E_V4QImode
   27016              :           && 
   27017              : #line 4597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   27018              : (TARGET_SSE2 && reload_completed))
   27019              :         return gen_split_1116 (insn, operands);
   27020              :       if (sse_reg_operand (operands[1], E_V2QImode)
   27021              :           && sse_reg_operand (operands[0], E_V2QImode)
   27022              :           && GET_MODE (x3) == E_V2QImode
   27023              :           && 
   27024              : #line 4597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   27025              : (TARGET_SSE2 && reload_completed))
   27026              :         return gen_split_1117 (insn, operands);
   27027              :       if (sse_reg_operand (operands[1], E_V2HImode)
   27028              :           && sse_reg_operand (operands[0], E_V2HImode)
   27029              :           && GET_MODE (x3) == E_V2HImode
   27030              :           && 
   27031              : #line 4597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   27032              : (TARGET_SSE2 && reload_completed))
   27033              :         return gen_split_1118 (insn, operands);
   27034              :       if (mask_reg_operand (operands[1], E_QImode)
   27035              :           && mask_reg_operand (operands[0], E_QImode)
   27036              :           && GET_MODE (x3) == E_QImode
   27037              :           && 
   27038              : #line 2242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27039              : (TARGET_AVX512F && reload_completed))
   27040              :         return gen_split_1261 (insn, operands);
   27041              :       if (mask_reg_operand (operands[1], E_HImode)
   27042              :           && mask_reg_operand (operands[0], E_HImode)
   27043              :           && GET_MODE (x3) == E_HImode
   27044              :           && 
   27045              : #line 2242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27046              : (TARGET_AVX512F && reload_completed))
   27047              :         return gen_split_1262 (insn, operands);
   27048              :       if (mask_reg_operand (operands[1], E_SImode)
   27049              :           && mask_reg_operand (operands[0], E_SImode)
   27050              :           && GET_MODE (x3) == E_SImode
   27051              :           && (
   27052              : #line 2242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27053              : (TARGET_AVX512F && reload_completed) && 
   27054              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27055              : (TARGET_AVX512BW)))
   27056              :         return gen_split_1263 (insn, operands);
   27057              :       if (!mask_reg_operand (operands[1], E_DImode)
   27058              :           || !mask_reg_operand (operands[0], E_DImode)
   27059              :           || GET_MODE (x3) != E_DImode
   27060              :           || !(
   27061              : #line 2242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27062              : (TARGET_AVX512F && reload_completed) && 
   27063              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27064              : (TARGET_AVX512BW)))
   27065              :         return NULL;
   27066              :       return gen_split_1264 (insn, operands);
   27067              : 
   27068              :     case UNSPEC:
   27069              :       if (XVECLEN (x4, 0) != 3)
   27070              :         return NULL;
   27071              :       x5 = XVECEXP (x4, 0, 0);
   27072              :       operands[1] = x5;
   27073              :       x6 = XVECEXP (x4, 0, 1);
   27074              :       operands[2] = x6;
   27075              :       x7 = XVECEXP (x4, 0, 2);
   27076              :       operands[3] = x7;
   27077              :       switch (XINT (x4, 1))
   27078              :         {
   27079              :         case 60:
   27080              :           switch (GET_MODE (operands[0]))
   27081              :             {
   27082              :             case E_HImode:
   27083              :               switch (pattern974 (x3))
   27084              :                 {
   27085              :                 case 0:
   27086              :                   if (!(
   27087              : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27088              : (TARGET_AVX512F && GET_MODE_NUNITS (V16SImode) >= 8
   27089              :    && ix86_pre_reload_split ()) && 
   27090              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27091              : ( 1)))
   27092              :                     return NULL;
   27093              :                   return gen_split_1447 (insn, operands);
   27094              : 
   27095              :                 case 1:
   27096              :                   if (!((
   27097              : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27098              : (TARGET_AVX512F && GET_MODE_NUNITS (V16HFmode) >= 8
   27099              :    && ix86_pre_reload_split ()) && 
   27100              : #line 321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27101              : (TARGET_AVX512FP16 && TARGET_AVX512VL)) && 
   27102              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27103              : ( 1)))
   27104              :                     return NULL;
   27105              :                   return gen_split_1454 (insn, operands);
   27106              : 
   27107              :                 case 2:
   27108              :                   if (!(
   27109              : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27110              : (TARGET_AVX512F && GET_MODE_NUNITS (V16SFmode) >= 8
   27111              :    && ix86_pre_reload_split ()) && 
   27112              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27113              : ( 1)))
   27114              :                     return NULL;
   27115              :                   return gen_split_1456 (insn, operands);
   27116              : 
   27117              :                 case 3:
   27118              :                   if (!((
   27119              : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27120              : (TARGET_AVX512BW && ix86_pre_reload_split ()) && 
   27121              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27122              : (TARGET_AVX512VL)) && 
   27123              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27124              : ( 1)))
   27125              :                     return NULL;
   27126              :                   return gen_split_1482 (insn, operands);
   27127              : 
   27128              :                 case 4:
   27129              :                   if (!((
   27130              : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27131              : (TARGET_AVX512BW && ix86_pre_reload_split ()) && 
   27132              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27133              : (TARGET_AVX512VL)) && 
   27134              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27135              : ( 1)))
   27136              :                     return NULL;
   27137              :                   return gen_split_1488 (insn, operands);
   27138              : 
   27139              :                 default:
   27140              :                   return NULL;
   27141              :                 }
   27142              : 
   27143              :             case E_QImode:
   27144              :               switch (pattern975 (x3))
   27145              :                 {
   27146              :                 case 0:
   27147              :                   if (!((
   27148              : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27149              : (TARGET_AVX512F && GET_MODE_NUNITS (V8SImode) >= 8
   27150              :    && ix86_pre_reload_split ()) && 
   27151              : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27152              : (TARGET_AVX512VL)) && 
   27153              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27154              : ( 1)))
   27155              :                     return NULL;
   27156              :                   return gen_split_1448 (insn, operands);
   27157              : 
   27158              :                 case 1:
   27159              :                   if (!((
   27160              : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27161              : (TARGET_AVX512F && GET_MODE_NUNITS (V4SImode) >= 8
   27162              :    && ix86_pre_reload_split ()) && 
   27163              : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27164              : (TARGET_AVX512VL)) && 
   27165              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27166              : ( 1)))
   27167              :                     return NULL;
   27168              :                   return gen_split_1449 (insn, operands);
   27169              : 
   27170              :                 case 2:
   27171              :                   if (!(
   27172              : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27173              : (TARGET_AVX512F && GET_MODE_NUNITS (V8DImode) >= 8
   27174              :    && ix86_pre_reload_split ()) && 
   27175              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27176              : ( 1)))
   27177              :                     return NULL;
   27178              :                   return gen_split_1450 (insn, operands);
   27179              : 
   27180              :                 case 3:
   27181              :                   if (!((
   27182              : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27183              : (TARGET_AVX512F && GET_MODE_NUNITS (V4DImode) >= 8
   27184              :    && ix86_pre_reload_split ()) && 
   27185              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27186              : (TARGET_AVX512VL)) && 
   27187              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27188              : ( 1)))
   27189              :                     return NULL;
   27190              :                   return gen_split_1451 (insn, operands);
   27191              : 
   27192              :                 case 4:
   27193              :                   if (!((
   27194              : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27195              : (TARGET_AVX512F && GET_MODE_NUNITS (V2DImode) >= 8
   27196              :    && ix86_pre_reload_split ()) && 
   27197              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27198              : (TARGET_AVX512VL)) && 
   27199              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27200              : ( 1)))
   27201              :                     return NULL;
   27202              :                   return gen_split_1452 (insn, operands);
   27203              : 
   27204              :                 case 5:
   27205              :                   if (!((
   27206              : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27207              : (TARGET_AVX512F && GET_MODE_NUNITS (V8HFmode) >= 8
   27208              :    && ix86_pre_reload_split ()) && 
   27209              : #line 322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27210              : (TARGET_AVX512FP16 && TARGET_AVX512VL)) && 
   27211              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27212              : ( 1)))
   27213              :                     return NULL;
   27214              :                   return gen_split_1455 (insn, operands);
   27215              : 
   27216              :                 case 6:
   27217              :                   if (!((
   27218              : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27219              : (TARGET_AVX512F && GET_MODE_NUNITS (V8SFmode) >= 8
   27220              :    && ix86_pre_reload_split ()) && 
   27221              : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27222              : (TARGET_AVX512VL)) && 
   27223              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27224              : ( 1)))
   27225              :                     return NULL;
   27226              :                   return gen_split_1457 (insn, operands);
   27227              : 
   27228              :                 case 7:
   27229              :                   if (!((
   27230              : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27231              : (TARGET_AVX512F && GET_MODE_NUNITS (V4SFmode) >= 8
   27232              :    && ix86_pre_reload_split ()) && 
   27233              : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27234              : (TARGET_AVX512VL)) && 
   27235              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27236              : ( 1)))
   27237              :                     return NULL;
   27238              :                   return gen_split_1458 (insn, operands);
   27239              : 
   27240              :                 case 8:
   27241              :                   if (!(
   27242              : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27243              : (TARGET_AVX512F && GET_MODE_NUNITS (V8DFmode) >= 8
   27244              :    && ix86_pre_reload_split ()) && 
   27245              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27246              : ( 1)))
   27247              :                     return NULL;
   27248              :                   return gen_split_1459 (insn, operands);
   27249              : 
   27250              :                 case 9:
   27251              :                   if (!((
   27252              : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27253              : (TARGET_AVX512F && GET_MODE_NUNITS (V4DFmode) >= 8
   27254              :    && ix86_pre_reload_split ()) && 
   27255              : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27256              : (TARGET_AVX512VL)) && 
   27257              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27258              : ( 1)))
   27259              :                     return NULL;
   27260              :                   return gen_split_1460 (insn, operands);
   27261              : 
   27262              :                 case 10:
   27263              :                   if (!((
   27264              : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27265              : (TARGET_AVX512F && GET_MODE_NUNITS (V2DFmode) >= 8
   27266              :    && ix86_pre_reload_split ()) && 
   27267              : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27268              : (TARGET_AVX512VL)) && 
   27269              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27270              : ( 1)))
   27271              :                     return NULL;
   27272              :                   return gen_split_1461 (insn, operands);
   27273              : 
   27274              :                 case 11:
   27275              :                   if (!((
   27276              : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27277              : (TARGET_AVX512BW && ix86_pre_reload_split ()) && 
   27278              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27279              : (TARGET_AVX512VL)) && 
   27280              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27281              : ( 1)))
   27282              :                     return NULL;
   27283              :                   return gen_split_1490 (insn, operands);
   27284              : 
   27285              :                 default:
   27286              :                   return NULL;
   27287              :                 }
   27288              : 
   27289              :             case E_SImode:
   27290              :               switch (pattern992 (x3))
   27291              :                 {
   27292              :                 case 0:
   27293              :                   if (!((
   27294              : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27295              : (TARGET_AVX512F && GET_MODE_NUNITS (V32HFmode) >= 8
   27296              :    && ix86_pre_reload_split ()) && 
   27297              : #line 320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27298              : (TARGET_AVX512FP16)) && 
   27299              : #line 4698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27300              : ( 1)))
   27301              :                     return NULL;
   27302              :                   return gen_split_1453 (insn, operands);
   27303              : 
   27304              :                 case 1:
   27305              :                   if (!((
   27306              : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27307              : (TARGET_AVX512BW && ix86_pre_reload_split ()) && 
   27308              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27309              : (TARGET_AVX512VL)) && 
   27310              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27311              : ( 1)))
   27312              :                     return NULL;
   27313              :                   return gen_split_1484 (insn, operands);
   27314              : 
   27315              :                 case 2:
   27316              :                   if (!(
   27317              : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27318              : (TARGET_AVX512BW && ix86_pre_reload_split ()) && 
   27319              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27320              : ( 1)))
   27321              :                     return NULL;
   27322              :                   return gen_split_1486 (insn, operands);
   27323              : 
   27324              :                 default:
   27325              :                   return NULL;
   27326              :                 }
   27327              : 
   27328              :             case E_DImode:
   27329              :               if (pattern993 (x3) != 0
   27330              :                   || !(
   27331              : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27332              : (TARGET_AVX512BW && ix86_pre_reload_split ()) && 
   27333              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27334              : ( 1)))
   27335              :                 return NULL;
   27336              :               return gen_split_1480 (insn, operands);
   27337              : 
   27338              :             default:
   27339              :               return NULL;
   27340              :             }
   27341              : 
   27342              :         case 158:
   27343              :           if (!const_0_to_7_operand (operands[3], E_SImode))
   27344              :             return NULL;
   27345              :           switch (GET_MODE (operands[0]))
   27346              :             {
   27347              :             case E_DImode:
   27348              :               if (pattern1103 (x3, 
   27349              : E_V64QImode, 
   27350              : E_DImode) != 0
   27351              :                   || !(
   27352              : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27353              : (TARGET_AVX512BW && ix86_pre_reload_split ()) && 
   27354              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27355              : ( 1)))
   27356              :                 return NULL;
   27357              :               return gen_split_1481 (insn, operands);
   27358              : 
   27359              :             case E_HImode:
   27360              :               switch (pattern1088 (x3))
   27361              :                 {
   27362              :                 case 0:
   27363              :                   if (!((
   27364              : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27365              : (TARGET_AVX512BW && ix86_pre_reload_split ()) && 
   27366              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27367              : (TARGET_AVX512VL)) && 
   27368              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27369              : ( 1)))
   27370              :                     return NULL;
   27371              :                   return gen_split_1483 (insn, operands);
   27372              : 
   27373              :                 case 1:
   27374              :                   if (!((
   27375              : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27376              : (TARGET_AVX512BW && ix86_pre_reload_split ()) && 
   27377              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27378              : (TARGET_AVX512VL)) && 
   27379              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27380              : ( 1)))
   27381              :                     return NULL;
   27382              :                   return gen_split_1489 (insn, operands);
   27383              : 
   27384              :                 case 2:
   27385              :                   if (!(
   27386              : #line 5115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27387              : (TARGET_AVX512F && ix86_pre_reload_split ()
   27388              :    && GET_MODE_NUNITS (V16SImode) >= 8) && 
   27389              : #line 5118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27390              : ( 1)))
   27391              :                     return NULL;
   27392              :                   return gen_split_1552 (insn, operands);
   27393              : 
   27394              :                 default:
   27395              :                   return NULL;
   27396              :                 }
   27397              : 
   27398              :             case E_SImode:
   27399              :               switch (pattern1104 (x3))
   27400              :                 {
   27401              :                 case 0:
   27402              :                   if (!((
   27403              : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27404              : (TARGET_AVX512BW && ix86_pre_reload_split ()) && 
   27405              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27406              : (TARGET_AVX512VL)) && 
   27407              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27408              : ( 1)))
   27409              :                     return NULL;
   27410              :                   return gen_split_1485 (insn, operands);
   27411              : 
   27412              :                 case 1:
   27413              :                   if (!(
   27414              : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27415              : (TARGET_AVX512BW && ix86_pre_reload_split ()) && 
   27416              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27417              : ( 1)))
   27418              :                     return NULL;
   27419              :                   return gen_split_1487 (insn, operands);
   27420              : 
   27421              :                 default:
   27422              :                   return NULL;
   27423              :                 }
   27424              : 
   27425              :             case E_QImode:
   27426              :               switch (pattern1089 (x3))
   27427              :                 {
   27428              :                 case 0:
   27429              :                   if (!((
   27430              : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27431              : (TARGET_AVX512BW && ix86_pre_reload_split ()) && 
   27432              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27433              : (TARGET_AVX512VL)) && 
   27434              : #line 4891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27435              : ( 1)))
   27436              :                     return NULL;
   27437              :                   return gen_split_1491 (insn, operands);
   27438              : 
   27439              :                 case 1:
   27440              :                   if (!((
   27441              : #line 5115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27442              : (TARGET_AVX512F && ix86_pre_reload_split ()
   27443              :    && GET_MODE_NUNITS (V8SImode) >= 8) && 
   27444              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27445              : (TARGET_AVX512VL)) && 
   27446              : #line 5118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27447              : ( 1)))
   27448              :                     return NULL;
   27449              :                   return gen_split_1553 (insn, operands);
   27450              : 
   27451              :                 case 2:
   27452              :                   if (!((
   27453              : #line 5115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27454              : (TARGET_AVX512F && ix86_pre_reload_split ()
   27455              :    && GET_MODE_NUNITS (V4SImode) >= 8) && 
   27456              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27457              : (TARGET_AVX512VL)) && 
   27458              : #line 5118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27459              : ( 1)))
   27460              :                     return NULL;
   27461              :                   return gen_split_1554 (insn, operands);
   27462              : 
   27463              :                 case 3:
   27464              :                   if (!(
   27465              : #line 5115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27466              : (TARGET_AVX512F && ix86_pre_reload_split ()
   27467              :    && GET_MODE_NUNITS (V8DImode) >= 8) && 
   27468              : #line 5118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27469              : ( 1)))
   27470              :                     return NULL;
   27471              :                   return gen_split_1555 (insn, operands);
   27472              : 
   27473              :                 case 4:
   27474              :                   if (!((
   27475              : #line 5115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27476              : (TARGET_AVX512F && ix86_pre_reload_split ()
   27477              :    && GET_MODE_NUNITS (V4DImode) >= 8) && 
   27478              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27479              : (TARGET_AVX512VL)) && 
   27480              : #line 5118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27481              : ( 1)))
   27482              :                     return NULL;
   27483              :                   return gen_split_1556 (insn, operands);
   27484              : 
   27485              :                 case 5:
   27486              :                   if (!((
   27487              : #line 5115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27488              : (TARGET_AVX512F && ix86_pre_reload_split ()
   27489              :    && GET_MODE_NUNITS (V2DImode) >= 8) && 
   27490              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27491              : (TARGET_AVX512VL)) && 
   27492              : #line 5118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27493              : ( 1)))
   27494              :                     return NULL;
   27495              :                   return gen_split_1557 (insn, operands);
   27496              : 
   27497              :                 default:
   27498              :                   return NULL;
   27499              :                 }
   27500              : 
   27501              :             default:
   27502              :               return NULL;
   27503              :             }
   27504              : 
   27505              :         default:
   27506              :           return NULL;
   27507              :         }
   27508              : 
   27509              :     default:
   27510              :       return NULL;
   27511              :     }
   27512              : }
   27513              : 
   27514              :  rtx_insn *
   27515              : split_61 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   27516              : {
   27517              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   27518              :   rtx x2, x3;
   27519              :   rtx_insn *res ATTRIBUTE_UNUSED;
   27520              :   x2 = XEXP (x1, 1);
   27521              :   x3 = XEXP (x2, 0);
   27522              :   switch (GET_CODE (x3))
   27523              :     {
   27524              :     case REG:
   27525              :     case SUBREG:
   27526              :     case MEM:
   27527              :       res = split_59 (x1, insn);
   27528              :       if (res != NULL_RTX)
   27529              :         return res;
   27530              :       break;
   27531              : 
   27532              :     case CONST_INT:
   27533              :     case CONST_DOUBLE:
   27534              :     case CONST_VECTOR:
   27535              :       switch (pattern320 (x2))
   27536              :         {
   27537              :         case 0:
   27538              :           res = split_60 (x1, insn);
   27539              :           if (res != NULL_RTX)
   27540              :             return res;
   27541              :           break;
   27542              : 
   27543              :         case 1:
   27544              :           if (vector_all_ones_operand (operands[1], E_V16QImode)
   27545              :               && const0_operand (operands[2], E_V16QImode)
   27546              :               && (
   27547              : #line 18463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27548              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27549              :    && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)) && 
   27550              : #line 18466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27551              : ( 1)))
   27552              :             return gen_split_3387 (insn, operands);
   27553              :           if (const0_operand (operands[1], E_V16QImode)
   27554              :               && vector_all_ones_operand (operands[2], E_V16QImode)
   27555              :               && (
   27556              : #line 18521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27557              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27558              :      /* NE is commutative.  */
   27559              :    && INTVAL (operands[5]) == 4) && 
   27560              : #line 18526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27561              : ( 1)))
   27562              :             return gen_split_3410 (insn, operands);
   27563              :           break;
   27564              : 
   27565              :         case 2:
   27566              :           if (vector_all_ones_operand (operands[1], E_V8HImode)
   27567              :               && const0_operand (operands[2], E_V8HImode)
   27568              :               && (
   27569              : #line 18463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27570              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27571              :    && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)) && 
   27572              : #line 18466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27573              : ( 1)))
   27574              :             return gen_split_3389 (insn, operands);
   27575              :           if (const0_operand (operands[1], E_V8HImode)
   27576              :               && vector_all_ones_operand (operands[2], E_V8HImode)
   27577              :               && (
   27578              : #line 18521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27579              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27580              :      /* NE is commutative.  */
   27581              :    && INTVAL (operands[5]) == 4) && 
   27582              : #line 18526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27583              : ( 1)))
   27584              :             return gen_split_3411 (insn, operands);
   27585              :           break;
   27586              : 
   27587              :         case 3:
   27588              :           if (vector_all_ones_operand (operands[1], E_V4SImode)
   27589              :               && const0_operand (operands[2], E_V4SImode)
   27590              :               && (
   27591              : #line 18463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27592              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27593              :    && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)) && 
   27594              : #line 18466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27595              : ( 1)))
   27596              :             return gen_split_3391 (insn, operands);
   27597              :           if (const0_operand (operands[1], E_V4SImode)
   27598              :               && vector_all_ones_operand (operands[2], E_V4SImode)
   27599              :               && (
   27600              : #line 18521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27601              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27602              :      /* NE is commutative.  */
   27603              :    && INTVAL (operands[5]) == 4) && 
   27604              : #line 18526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27605              : ( 1)))
   27606              :             return gen_split_3412 (insn, operands);
   27607              :           break;
   27608              : 
   27609              :         case 4:
   27610              :           if (vector_all_ones_operand (operands[1], E_V2DImode)
   27611              :               && const0_operand (operands[2], E_V2DImode)
   27612              :               && (
   27613              : #line 18463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27614              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27615              :    && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)) && 
   27616              : #line 18466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27617              : ( 1)))
   27618              :             return gen_split_3393 (insn, operands);
   27619              :           if (const0_operand (operands[1], E_V2DImode)
   27620              :               && vector_all_ones_operand (operands[2], E_V2DImode)
   27621              :               && (
   27622              : #line 18521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27623              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27624              :      /* NE is commutative.  */
   27625              :    && INTVAL (operands[5]) == 4) && 
   27626              : #line 18526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27627              : ( 1)))
   27628              :             return gen_split_3413 (insn, operands);
   27629              :           break;
   27630              : 
   27631              :         case 5:
   27632              :           if (vector_all_ones_operand (operands[1], E_V32QImode)
   27633              :               && const0_operand (operands[2], E_V32QImode)
   27634              :               && (
   27635              : #line 18463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27636              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27637              :    && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)) && 
   27638              : #line 18466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27639              : ( 1)))
   27640              :             return gen_split_3395 (insn, operands);
   27641              :           if (const0_operand (operands[1], E_V32QImode)
   27642              :               && vector_all_ones_operand (operands[2], E_V32QImode)
   27643              :               && (
   27644              : #line 18521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27645              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27646              :      /* NE is commutative.  */
   27647              :    && INTVAL (operands[5]) == 4) && 
   27648              : #line 18526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27649              : ( 1)))
   27650              :             return gen_split_3414 (insn, operands);
   27651              :           break;
   27652              : 
   27653              :         case 6:
   27654              :           if (vector_all_ones_operand (operands[1], E_V16HImode)
   27655              :               && const0_operand (operands[2], E_V16HImode)
   27656              :               && (
   27657              : #line 18463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27658              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27659              :    && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)) && 
   27660              : #line 18466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27661              : ( 1)))
   27662              :             return gen_split_3397 (insn, operands);
   27663              :           if (const0_operand (operands[1], E_V16HImode)
   27664              :               && vector_all_ones_operand (operands[2], E_V16HImode)
   27665              :               && (
   27666              : #line 18521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27667              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27668              :      /* NE is commutative.  */
   27669              :    && INTVAL (operands[5]) == 4) && 
   27670              : #line 18526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27671              : ( 1)))
   27672              :             return gen_split_3415 (insn, operands);
   27673              :           break;
   27674              : 
   27675              :         case 7:
   27676              :           if (vector_all_ones_operand (operands[1], E_V8SImode)
   27677              :               && const0_operand (operands[2], E_V8SImode)
   27678              :               && (
   27679              : #line 18463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27680              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27681              :    && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)) && 
   27682              : #line 18466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27683              : ( 1)))
   27684              :             return gen_split_3399 (insn, operands);
   27685              :           if (const0_operand (operands[1], E_V8SImode)
   27686              :               && vector_all_ones_operand (operands[2], E_V8SImode)
   27687              :               && (
   27688              : #line 18521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27689              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27690              :      /* NE is commutative.  */
   27691              :    && INTVAL (operands[5]) == 4) && 
   27692              : #line 18526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27693              : ( 1)))
   27694              :             return gen_split_3416 (insn, operands);
   27695              :           break;
   27696              : 
   27697              :         case 8:
   27698              :           if (vector_all_ones_operand (operands[1], E_V4DImode)
   27699              :               && const0_operand (operands[2], E_V4DImode)
   27700              :               && (
   27701              : #line 18463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27702              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27703              :    && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)) && 
   27704              : #line 18466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27705              : ( 1)))
   27706              :             return gen_split_3401 (insn, operands);
   27707              :           if (const0_operand (operands[1], E_V4DImode)
   27708              :               && vector_all_ones_operand (operands[2], E_V4DImode)
   27709              :               && (
   27710              : #line 18521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27711              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27712              :      /* NE is commutative.  */
   27713              :    && INTVAL (operands[5]) == 4) && 
   27714              : #line 18526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27715              : ( 1)))
   27716              :             return gen_split_3417 (insn, operands);
   27717              :           break;
   27718              : 
   27719              :         case 9:
   27720              :           if (((
   27721              : #line 4371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27722              : (TARGET_AVX512VL && ix86_pre_reload_split ()) && 
   27723              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27724              : (TARGET_AVX)) && 
   27725              : #line 4373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27726              : ( 1)))
   27727              :             return gen_split_1378 (insn, operands);
   27728              :           break;
   27729              : 
   27730              :         case 10:
   27731              :           if ((
   27732              : #line 18338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27733              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27734              :    /* NE is commutative.  */
   27735              :    && ((INTVAL (operands[5]) == 4
   27736              :         && !(MEM_P (operands[3]) && MEM_P (operands[4])))
   27737              :           /* LE, 3 must be register.  */
   27738              :        || (INTVAL (operands[5]) == 2
   27739              :            && !MEM_P (operands[3]))
   27740              :           /* NLT aka GE, 4 must be register and we swap operands.  */
   27741              :        || (INTVAL (operands[5]) == 5
   27742              :            && !MEM_P (operands[4])))) && 
   27743              : #line 18349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27744              : ( 1)))
   27745              :             return gen_split_3378 (insn, operands);
   27746              :           break;
   27747              : 
   27748              :         case 11:
   27749              :           if ((
   27750              : #line 4371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27751              : (TARGET_AVX512VL && ix86_pre_reload_split ()) && 
   27752              : #line 4373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27753              : ( 1)))
   27754              :             return gen_split_1379 (insn, operands);
   27755              :           break;
   27756              : 
   27757              :         case 12:
   27758              :           if ((
   27759              : #line 18338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27760              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27761              :    /* NE is commutative.  */
   27762              :    && ((INTVAL (operands[5]) == 4
   27763              :         && !(MEM_P (operands[3]) && MEM_P (operands[4])))
   27764              :           /* LE, 3 must be register.  */
   27765              :        || (INTVAL (operands[5]) == 2
   27766              :            && !MEM_P (operands[3]))
   27767              :           /* NLT aka GE, 4 must be register and we swap operands.  */
   27768              :        || (INTVAL (operands[5]) == 5
   27769              :            && !MEM_P (operands[4])))) && 
   27770              : #line 18349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27771              : ( 1)))
   27772              :             return gen_split_3374 (insn, operands);
   27773              :           break;
   27774              : 
   27775              :         case 13:
   27776              :           if (((
   27777              : #line 4371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27778              : (TARGET_AVX512VL && ix86_pre_reload_split ()) && 
   27779              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27780              : (TARGET_AVX)) && 
   27781              : #line 4373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27782              : ( 1)))
   27783              :             return gen_split_1380 (insn, operands);
   27784              :           break;
   27785              : 
   27786              :         case 14:
   27787              :           if ((
   27788              : #line 18338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27789              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27790              :    /* NE is commutative.  */
   27791              :    && ((INTVAL (operands[5]) == 4
   27792              :         && !(MEM_P (operands[3]) && MEM_P (operands[4])))
   27793              :           /* LE, 3 must be register.  */
   27794              :        || (INTVAL (operands[5]) == 2
   27795              :            && !MEM_P (operands[3]))
   27796              :           /* NLT aka GE, 4 must be register and we swap operands.  */
   27797              :        || (INTVAL (operands[5]) == 5
   27798              :            && !MEM_P (operands[4])))) && 
   27799              : #line 18349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27800              : ( 1)))
   27801              :             return gen_split_3379 (insn, operands);
   27802              :           break;
   27803              : 
   27804              :         case 15:
   27805              :           if (((
   27806              : #line 4371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27807              : (TARGET_AVX512VL && ix86_pre_reload_split ()) && 
   27808              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27809              : (TARGET_SSE2)) && 
   27810              : #line 4373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27811              : ( 1)))
   27812              :             return gen_split_1381 (insn, operands);
   27813              :           break;
   27814              : 
   27815              :         case 16:
   27816              :           if ((
   27817              : #line 18338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27818              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27819              :    /* NE is commutative.  */
   27820              :    && ((INTVAL (operands[5]) == 4
   27821              :         && !(MEM_P (operands[3]) && MEM_P (operands[4])))
   27822              :           /* LE, 3 must be register.  */
   27823              :        || (INTVAL (operands[5]) == 2
   27824              :            && !MEM_P (operands[3]))
   27825              :           /* NLT aka GE, 4 must be register and we swap operands.  */
   27826              :        || (INTVAL (operands[5]) == 5
   27827              :            && !MEM_P (operands[4])))) && 
   27828              : #line 18349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27829              : ( 1)))
   27830              :             return gen_split_3375 (insn, operands);
   27831              :           break;
   27832              : 
   27833              :         case 17:
   27834              :           if ((
   27835              : #line 18338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27836              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27837              :    /* NE is commutative.  */
   27838              :    && ((INTVAL (operands[5]) == 4
   27839              :         && !(MEM_P (operands[3]) && MEM_P (operands[4])))
   27840              :           /* LE, 3 must be register.  */
   27841              :        || (INTVAL (operands[5]) == 2
   27842              :            && !MEM_P (operands[3]))
   27843              :           /* NLT aka GE, 4 must be register and we swap operands.  */
   27844              :        || (INTVAL (operands[5]) == 5
   27845              :            && !MEM_P (operands[4])))) && 
   27846              : #line 18349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27847              : ( 1)))
   27848              :             return gen_split_3372 (insn, operands);
   27849              :           break;
   27850              : 
   27851              :         case 18:
   27852              :           if ((
   27853              : #line 18338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27854              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27855              :    /* NE is commutative.  */
   27856              :    && ((INTVAL (operands[5]) == 4
   27857              :         && !(MEM_P (operands[3]) && MEM_P (operands[4])))
   27858              :           /* LE, 3 must be register.  */
   27859              :        || (INTVAL (operands[5]) == 2
   27860              :            && !MEM_P (operands[3]))
   27861              :           /* NLT aka GE, 4 must be register and we swap operands.  */
   27862              :        || (INTVAL (operands[5]) == 5
   27863              :            && !MEM_P (operands[4])))) && 
   27864              : #line 18349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27865              : ( 1)))
   27866              :             return gen_split_3373 (insn, operands);
   27867              :           break;
   27868              : 
   27869              :         case 19:
   27870              :           if ((
   27871              : #line 18338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27872              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27873              :    /* NE is commutative.  */
   27874              :    && ((INTVAL (operands[5]) == 4
   27875              :         && !(MEM_P (operands[3]) && MEM_P (operands[4])))
   27876              :           /* LE, 3 must be register.  */
   27877              :        || (INTVAL (operands[5]) == 2
   27878              :            && !MEM_P (operands[3]))
   27879              :           /* NLT aka GE, 4 must be register and we swap operands.  */
   27880              :        || (INTVAL (operands[5]) == 5
   27881              :            && !MEM_P (operands[4])))) && 
   27882              : #line 18349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27883              : ( 1)))
   27884              :             return gen_split_3376 (insn, operands);
   27885              :           break;
   27886              : 
   27887              :         case 20:
   27888              :           if ((
   27889              : #line 18338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27890              : (TARGET_AVX512VL && ix86_pre_reload_split ()
   27891              :    /* NE is commutative.  */
   27892              :    && ((INTVAL (operands[5]) == 4
   27893              :         && !(MEM_P (operands[3]) && MEM_P (operands[4])))
   27894              :           /* LE, 3 must be register.  */
   27895              :        || (INTVAL (operands[5]) == 2
   27896              :            && !MEM_P (operands[3]))
   27897              :           /* NLT aka GE, 4 must be register and we swap operands.  */
   27898              :        || (INTVAL (operands[5]) == 5
   27899              :            && !MEM_P (operands[4])))) && 
   27900              : #line 18349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27901              : ( 1)))
   27902              :             return gen_split_3377 (insn, operands);
   27903              :           break;
   27904              : 
   27905              :         case 21:
   27906              :           switch (GET_MODE (operands[0]))
   27907              :             {
   27908              :             case E_V16SImode:
   27909              :               if (register_operand (operands[0], E_V16SImode)
   27910              :                   && GET_MODE (x2) == E_V16SImode
   27911              :                   && register_operand (operands[1], E_HImode))
   27912              :                 {
   27913              :                   if (vector_all_ones_operand (operands[2], E_V16SImode)
   27914              :                       && const0_operand (operands[3], E_V16SImode)
   27915              :                       && (
   27916              : #line 10645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27917              : (TARGET_AVX512F) && 
   27918              : #line 10649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27919              : ( !TARGET_AVX512DQ && reload_completed
   27920              :    && optimize_function_for_speed_p (cfun))))
   27921              :                     return gen_split_1604 (insn, operands);
   27922              :                   if (const0_operand (operands[2], E_V16SImode)
   27923              :                       && vector_all_ones_operand (operands[3], E_V16SImode)
   27924              :                       && (
   27925              : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27926              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   27927              : #line 10673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27928              : ( 1)))
   27929              :                     return gen_split_1616 (insn, operands);
   27930              :                 }
   27931              :               break;
   27932              : 
   27933              :             case E_V8SImode:
   27934              :               if (register_operand (operands[0], E_V8SImode)
   27935              :                   && GET_MODE (x2) == E_V8SImode
   27936              :                   && register_operand (operands[1], E_QImode))
   27937              :                 {
   27938              :                   if (vector_all_ones_operand (operands[2], E_V8SImode)
   27939              :                       && const0_operand (operands[3], E_V8SImode)
   27940              :                       && ((
   27941              : #line 10645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27942              : (TARGET_AVX512F) && 
   27943              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27944              : (TARGET_AVX512VL)) && 
   27945              : #line 10649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27946              : ( !TARGET_AVX512DQ && reload_completed
   27947              :    && optimize_function_for_speed_p (cfun))))
   27948              :                     return gen_split_1605 (insn, operands);
   27949              :                   if (const0_operand (operands[2], E_V8SImode)
   27950              :                       && vector_all_ones_operand (operands[3], E_V8SImode)
   27951              :                       && ((
   27952              : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27953              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   27954              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27955              : (TARGET_AVX512VL)) && 
   27956              : #line 10673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27957              : ( 1)))
   27958              :                     return gen_split_1617 (insn, operands);
   27959              :                 }
   27960              :               break;
   27961              : 
   27962              :             case E_V4SImode:
   27963              :               if (register_operand (operands[0], E_V4SImode)
   27964              :                   && GET_MODE (x2) == E_V4SImode
   27965              :                   && register_operand (operands[1], E_QImode))
   27966              :                 {
   27967              :                   if (vector_all_ones_operand (operands[2], E_V4SImode)
   27968              :                       && const0_operand (operands[3], E_V4SImode)
   27969              :                       && ((
   27970              : #line 10645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27971              : (TARGET_AVX512F) && 
   27972              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27973              : (TARGET_AVX512VL)) && 
   27974              : #line 10649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27975              : ( !TARGET_AVX512DQ && reload_completed
   27976              :    && optimize_function_for_speed_p (cfun))))
   27977              :                     return gen_split_1606 (insn, operands);
   27978              :                   if (const0_operand (operands[2], E_V4SImode)
   27979              :                       && vector_all_ones_operand (operands[3], E_V4SImode)
   27980              :                       && ((
   27981              : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27982              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   27983              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27984              : (TARGET_AVX512VL)) && 
   27985              : #line 10673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27986              : ( 1)))
   27987              :                     return gen_split_1618 (insn, operands);
   27988              :                 }
   27989              :               break;
   27990              : 
   27991              :             case E_V8DImode:
   27992              :               if (register_operand (operands[0], E_V8DImode)
   27993              :                   && GET_MODE (x2) == E_V8DImode
   27994              :                   && register_operand (operands[1], E_QImode))
   27995              :                 {
   27996              :                   if (vector_all_ones_operand (operands[2], E_V8DImode)
   27997              :                       && const0_operand (operands[3], E_V8DImode)
   27998              :                       && (
   27999              : #line 10645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28000              : (TARGET_AVX512F) && 
   28001              : #line 10649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28002              : ( !TARGET_AVX512DQ && reload_completed
   28003              :    && optimize_function_for_speed_p (cfun))))
   28004              :                     return gen_split_1607 (insn, operands);
   28005              :                   if (const0_operand (operands[2], E_V8DImode)
   28006              :                       && vector_all_ones_operand (operands[3], E_V8DImode)
   28007              :                       && (
   28008              : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28009              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   28010              : #line 10673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28011              : ( 1)))
   28012              :                     return gen_split_1619 (insn, operands);
   28013              :                 }
   28014              :               break;
   28015              : 
   28016              :             case E_V4DImode:
   28017              :               if (register_operand (operands[0], E_V4DImode)
   28018              :                   && GET_MODE (x2) == E_V4DImode
   28019              :                   && register_operand (operands[1], E_QImode))
   28020              :                 {
   28021              :                   if (vector_all_ones_operand (operands[2], E_V4DImode)
   28022              :                       && const0_operand (operands[3], E_V4DImode)
   28023              :                       && ((
   28024              : #line 10645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28025              : (TARGET_AVX512F) && 
   28026              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28027              : (TARGET_AVX512VL)) && 
   28028              : #line 10649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28029              : ( !TARGET_AVX512DQ && reload_completed
   28030              :    && optimize_function_for_speed_p (cfun))))
   28031              :                     return gen_split_1608 (insn, operands);
   28032              :                   if (const0_operand (operands[2], E_V4DImode)
   28033              :                       && vector_all_ones_operand (operands[3], E_V4DImode)
   28034              :                       && ((
   28035              : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28036              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   28037              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28038              : (TARGET_AVX512VL)) && 
   28039              : #line 10673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28040              : ( 1)))
   28041              :                     return gen_split_1620 (insn, operands);
   28042              :                 }
   28043              :               break;
   28044              : 
   28045              :             case E_V2DImode:
   28046              :               if (register_operand (operands[0], E_V2DImode)
   28047              :                   && GET_MODE (x2) == E_V2DImode
   28048              :                   && register_operand (operands[1], E_QImode))
   28049              :                 {
   28050              :                   if (vector_all_ones_operand (operands[2], E_V2DImode)
   28051              :                       && const0_operand (operands[3], E_V2DImode)
   28052              :                       && ((
   28053              : #line 10645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28054              : (TARGET_AVX512F) && 
   28055              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28056              : (TARGET_AVX512VL)) && 
   28057              : #line 10649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28058              : ( !TARGET_AVX512DQ && reload_completed
   28059              :    && optimize_function_for_speed_p (cfun))))
   28060              :                     return gen_split_1609 (insn, operands);
   28061              :                   if (const0_operand (operands[2], E_V2DImode)
   28062              :                       && vector_all_ones_operand (operands[3], E_V2DImode)
   28063              :                       && ((
   28064              : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28065              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   28066              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28067              : (TARGET_AVX512VL)) && 
   28068              : #line 10673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28069              : ( 1)))
   28070              :                     return gen_split_1621 (insn, operands);
   28071              :                 }
   28072              :               break;
   28073              : 
   28074              :             case E_V64QImode:
   28075              :               if (pattern1195 (x2, 
   28076              : E_DImode, 
   28077              : E_V64QImode) == 0
   28078              :                   && ((
   28079              : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28080              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   28081              : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28082              : (TARGET_AVX512BW)) && 
   28083              : #line 10673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28084              : ( 1)))
   28085              :                 return gen_split_1610 (insn, operands);
   28086              :               break;
   28087              : 
   28088              :             case E_V32QImode:
   28089              :               if (pattern1195 (x2, 
   28090              : E_SImode, 
   28091              : E_V32QImode) == 0
   28092              :                   && ((
   28093              : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28094              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   28095              : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28096              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
   28097              : #line 10673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28098              : ( 1)))
   28099              :                 return gen_split_1611 (insn, operands);
   28100              :               break;
   28101              : 
   28102              :             case E_V16QImode:
   28103              :               if (pattern1195 (x2, 
   28104              : E_HImode, 
   28105              : E_V16QImode) == 0
   28106              :                   && ((
   28107              : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28108              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   28109              : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28110              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
   28111              : #line 10673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28112              : ( 1)))
   28113              :                 return gen_split_1612 (insn, operands);
   28114              :               break;
   28115              : 
   28116              :             case E_V32HImode:
   28117              :               if (pattern1195 (x2, 
   28118              : E_SImode, 
   28119              : E_V32HImode) == 0
   28120              :                   && ((
   28121              : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28122              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   28123              : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28124              : (TARGET_AVX512BW)) && 
   28125              : #line 10673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28126              : ( 1)))
   28127              :                 return gen_split_1613 (insn, operands);
   28128              :               break;
   28129              : 
   28130              :             case E_V16HImode:
   28131              :               if (pattern1195 (x2, 
   28132              : E_HImode, 
   28133              : E_V16HImode) == 0
   28134              :                   && ((
   28135              : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28136              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   28137              : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28138              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
   28139              : #line 10673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28140              : ( 1)))
   28141              :                 return gen_split_1614 (insn, operands);
   28142              :               break;
   28143              : 
   28144              :             case E_V8HImode:
   28145              :               if (pattern1195 (x2, 
   28146              : E_QImode, 
   28147              : E_V8HImode) == 0
   28148              :                   && ((
   28149              : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28150              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   28151              : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28152              : (TARGET_AVX512VL && TARGET_AVX512BW)) && 
   28153              : #line 10673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28154              : ( 1)))
   28155              :                 return gen_split_1615 (insn, operands);
   28156              :               break;
   28157              : 
   28158              :             default:
   28159              :               break;
   28160              :             }
   28161              :           break;
   28162              : 
   28163              :         default:
   28164              :           break;
   28165              :         }
   28166              :       break;
   28167              : 
   28168              :     default:
   28169              :       break;
   28170              :     }
   28171              :   operands[1] = x3;
   28172              :   switch (pattern323 (x2))
   28173              :     {
   28174              :     case 0:
   28175              :       if (!((
   28176              : #line 4398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28177              : (TARGET_AVX512VL && ix86_pre_reload_split ()) && 
   28178              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28179              : (TARGET_AVX)) && 
   28180              : #line 4400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28181              : ( 1)))
   28182              :         return NULL;
   28183              :       return gen_split_1382 (insn, operands);
   28184              : 
   28185              :     case 1:
   28186              :       if (!(
   28187              : #line 4398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28188              : (TARGET_AVX512VL && ix86_pre_reload_split ()) && 
   28189              : #line 4400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28190              : ( 1)))
   28191              :         return NULL;
   28192              :       return gen_split_1383 (insn, operands);
   28193              : 
   28194              :     case 2:
   28195              :       if (!((
   28196              : #line 4398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28197              : (TARGET_AVX512VL && ix86_pre_reload_split ()) && 
   28198              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28199              : (TARGET_AVX)) && 
   28200              : #line 4400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28201              : ( 1)))
   28202              :         return NULL;
   28203              :       return gen_split_1384 (insn, operands);
   28204              : 
   28205              :     case 3:
   28206              :       if (!((
   28207              : #line 4398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28208              : (TARGET_AVX512VL && ix86_pre_reload_split ()) && 
   28209              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28210              : (TARGET_SSE2)) && 
   28211              : #line 4400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28212              : ( 1)))
   28213              :         return NULL;
   28214              :       return gen_split_1385 (insn, operands);
   28215              : 
   28216              :     case 4:
   28217              :       if (!((
   28218              : #line 4419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28219              : (TARGET_AVX512VL && ix86_pre_reload_split ()) && 
   28220              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28221              : (TARGET_AVX)) && 
   28222              : #line 4421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28223              : ( 1)))
   28224              :         return NULL;
   28225              :       return gen_split_1386 (insn, operands);
   28226              : 
   28227              :     case 5:
   28228              :       if (!(
   28229              : #line 4419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28230              : (TARGET_AVX512VL && ix86_pre_reload_split ()) && 
   28231              : #line 4421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28232              : ( 1)))
   28233              :         return NULL;
   28234              :       return gen_split_1387 (insn, operands);
   28235              : 
   28236              :     case 6:
   28237              :       if (!((
   28238              : #line 4419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28239              : (TARGET_AVX512VL && ix86_pre_reload_split ()) && 
   28240              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28241              : (TARGET_AVX)) && 
   28242              : #line 4421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28243              : ( 1)))
   28244              :         return NULL;
   28245              :       return gen_split_1388 (insn, operands);
   28246              : 
   28247              :     case 7:
   28248              :       if (!((
   28249              : #line 4419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28250              : (TARGET_AVX512VL && ix86_pre_reload_split ()) && 
   28251              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28252              : (TARGET_SSE2)) && 
   28253              : #line 4421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28254              : ( 1)))
   28255              :         return NULL;
   28256              :       return gen_split_1389 (insn, operands);
   28257              : 
   28258              :     default:
   28259              :       return NULL;
   28260              :     }
   28261              : }
   28262              : 
   28263              :  rtx_insn *
   28264              : split_70 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   28265              : {
   28266              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   28267              :   rtx x2, x3, x4, x5, x6, x7, x8;
   28268              :   rtx_insn *res ATTRIBUTE_UNUSED;
   28269              :   x2 = XEXP (x1, 1);
   28270              :   x3 = XEXP (x2, 0);
   28271              :   x4 = XEXP (x3, 0);
   28272              :   switch (GET_CODE (x4))
   28273              :     {
   28274              :     case REG:
   28275              :     case SUBREG:
   28276              :     case MEM:
   28277              :     case NOT:
   28278              :       switch (pattern541 (x2))
   28279              :         {
   28280              :         case 0:
   28281              :           if (!((
   28282              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28283              : ((64 == 64 || TARGET_AVX512VL
   28284              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28285              :    && ix86_pre_reload_split ()
   28286              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28287              :                     STRIP_UNARY (operands[4]))
   28288              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28289              :                        STRIP_UNARY (operands[4]))
   28290              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28291              :                        STRIP_UNARY (operands[3]))
   28292              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28293              :                        STRIP_UNARY (operands[3])))) && 
   28294              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28295              : (TARGET_AVX512F)) && 
   28296              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28297              : ( 1)))
   28298              :             return NULL;
   28299              :           return gen_split_2067 (insn, operands);
   28300              : 
   28301              :         case 1:
   28302              :           if (!((
   28303              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28304              : ((32 == 64 || TARGET_AVX512VL
   28305              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28306              :    && ix86_pre_reload_split ()
   28307              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28308              :                     STRIP_UNARY (operands[4]))
   28309              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28310              :                        STRIP_UNARY (operands[4]))
   28311              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28312              :                        STRIP_UNARY (operands[3]))
   28313              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28314              :                        STRIP_UNARY (operands[3])))) && 
   28315              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28316              : (TARGET_AVX)) && 
   28317              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28318              : ( 1)))
   28319              :             return NULL;
   28320              :           return gen_split_2094 (insn, operands);
   28321              : 
   28322              :         case 2:
   28323              :           if (!(
   28324              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28325              : ((16 == 64 || TARGET_AVX512VL
   28326              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28327              :    && ix86_pre_reload_split ()
   28328              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28329              :                     STRIP_UNARY (operands[4]))
   28330              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28331              :                        STRIP_UNARY (operands[4]))
   28332              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28333              :                        STRIP_UNARY (operands[3]))
   28334              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28335              :                        STRIP_UNARY (operands[3])))) && 
   28336              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28337              : ( 1)))
   28338              :             return NULL;
   28339              :           return gen_split_2121 (insn, operands);
   28340              : 
   28341              :         case 3:
   28342              :           if (!((
   28343              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28344              : ((64 == 64 || TARGET_AVX512VL
   28345              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28346              :    && ix86_pre_reload_split ()
   28347              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28348              :                     STRIP_UNARY (operands[4]))
   28349              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28350              :                        STRIP_UNARY (operands[4]))
   28351              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28352              :                        STRIP_UNARY (operands[3]))
   28353              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28354              :                        STRIP_UNARY (operands[3])))) && 
   28355              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28356              : (TARGET_AVX512F)) && 
   28357              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28358              : ( 1)))
   28359              :             return NULL;
   28360              :           return gen_split_2148 (insn, operands);
   28361              : 
   28362              :         case 4:
   28363              :           if (!((
   28364              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28365              : ((32 == 64 || TARGET_AVX512VL
   28366              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28367              :    && ix86_pre_reload_split ()
   28368              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28369              :                     STRIP_UNARY (operands[4]))
   28370              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28371              :                        STRIP_UNARY (operands[4]))
   28372              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28373              :                        STRIP_UNARY (operands[3]))
   28374              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28375              :                        STRIP_UNARY (operands[3])))) && 
   28376              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28377              : (TARGET_AVX)) && 
   28378              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28379              : ( 1)))
   28380              :             return NULL;
   28381              :           return gen_split_2175 (insn, operands);
   28382              : 
   28383              :         case 5:
   28384              :           if (!(
   28385              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28386              : ((16 == 64 || TARGET_AVX512VL
   28387              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28388              :    && ix86_pre_reload_split ()
   28389              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28390              :                     STRIP_UNARY (operands[4]))
   28391              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28392              :                        STRIP_UNARY (operands[4]))
   28393              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28394              :                        STRIP_UNARY (operands[3]))
   28395              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28396              :                        STRIP_UNARY (operands[3])))) && 
   28397              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28398              : ( 1)))
   28399              :             return NULL;
   28400              :           return gen_split_2202 (insn, operands);
   28401              : 
   28402              :         case 6:
   28403              :           if (!((
   28404              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28405              : ((64 == 64 || TARGET_AVX512VL
   28406              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28407              :    && ix86_pre_reload_split ()
   28408              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28409              :                     STRIP_UNARY (operands[4]))
   28410              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28411              :                        STRIP_UNARY (operands[4]))
   28412              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28413              :                        STRIP_UNARY (operands[3]))
   28414              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28415              :                        STRIP_UNARY (operands[3])))) && 
   28416              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28417              : (TARGET_AVX512F)) && 
   28418              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28419              : ( 1)))
   28420              :             return NULL;
   28421              :           return gen_split_2229 (insn, operands);
   28422              : 
   28423              :         case 7:
   28424              :           if (!((
   28425              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28426              : ((32 == 64 || TARGET_AVX512VL
   28427              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28428              :    && ix86_pre_reload_split ()
   28429              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28430              :                     STRIP_UNARY (operands[4]))
   28431              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28432              :                        STRIP_UNARY (operands[4]))
   28433              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28434              :                        STRIP_UNARY (operands[3]))
   28435              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28436              :                        STRIP_UNARY (operands[3])))) && 
   28437              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28438              : (TARGET_AVX)) && 
   28439              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28440              : ( 1)))
   28441              :             return NULL;
   28442              :           return gen_split_2256 (insn, operands);
   28443              : 
   28444              :         case 8:
   28445              :           if (!(
   28446              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28447              : ((16 == 64 || TARGET_AVX512VL
   28448              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28449              :    && ix86_pre_reload_split ()
   28450              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28451              :                     STRIP_UNARY (operands[4]))
   28452              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28453              :                        STRIP_UNARY (operands[4]))
   28454              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28455              :                        STRIP_UNARY (operands[3]))
   28456              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28457              :                        STRIP_UNARY (operands[3])))) && 
   28458              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28459              : ( 1)))
   28460              :             return NULL;
   28461              :           return gen_split_2283 (insn, operands);
   28462              : 
   28463              :         case 9:
   28464              :           if (!((
   28465              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28466              : ((64 == 64 || TARGET_AVX512VL
   28467              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28468              :    && ix86_pre_reload_split ()
   28469              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28470              :                     STRIP_UNARY (operands[4]))
   28471              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28472              :                        STRIP_UNARY (operands[4]))
   28473              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28474              :                        STRIP_UNARY (operands[3]))
   28475              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28476              :                        STRIP_UNARY (operands[3])))) && 
   28477              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28478              : (TARGET_AVX512F)) && 
   28479              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28480              : ( 1)))
   28481              :             return NULL;
   28482              :           return gen_split_2310 (insn, operands);
   28483              : 
   28484              :         case 10:
   28485              :           if (!((
   28486              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28487              : ((32 == 64 || TARGET_AVX512VL
   28488              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28489              :    && ix86_pre_reload_split ()
   28490              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28491              :                     STRIP_UNARY (operands[4]))
   28492              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28493              :                        STRIP_UNARY (operands[4]))
   28494              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28495              :                        STRIP_UNARY (operands[3]))
   28496              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28497              :                        STRIP_UNARY (operands[3])))) && 
   28498              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28499              : (TARGET_AVX)) && 
   28500              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28501              : ( 1)))
   28502              :             return NULL;
   28503              :           return gen_split_2337 (insn, operands);
   28504              : 
   28505              :         case 11:
   28506              :           if (!((
   28507              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28508              : ((16 == 64 || TARGET_AVX512VL
   28509              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28510              :    && ix86_pre_reload_split ()
   28511              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28512              :                     STRIP_UNARY (operands[4]))
   28513              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28514              :                        STRIP_UNARY (operands[4]))
   28515              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28516              :                        STRIP_UNARY (operands[3]))
   28517              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28518              :                        STRIP_UNARY (operands[3])))) && 
   28519              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28520              : (TARGET_SSE2)) && 
   28521              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28522              : ( 1)))
   28523              :             return NULL;
   28524              :           return gen_split_2364 (insn, operands);
   28525              : 
   28526              :         case 12:
   28527              :           if (!((
   28528              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28529              : ((64 == 64 || TARGET_AVX512VL
   28530              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28531              :    && ix86_pre_reload_split ()
   28532              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28533              :                     STRIP_UNARY (operands[4]))
   28534              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28535              :                        STRIP_UNARY (operands[4]))
   28536              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28537              :                        STRIP_UNARY (operands[3]))
   28538              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28539              :                        STRIP_UNARY (operands[3])))) && 
   28540              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28541              : (TARGET_AVX512F)) && 
   28542              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28543              : ( 1)))
   28544              :             return NULL;
   28545              :           return gen_split_2070 (insn, operands);
   28546              : 
   28547              :         case 13:
   28548              :           if (!((
   28549              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28550              : ((32 == 64 || TARGET_AVX512VL
   28551              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28552              :    && ix86_pre_reload_split ()
   28553              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28554              :                     STRIP_UNARY (operands[4]))
   28555              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28556              :                        STRIP_UNARY (operands[4]))
   28557              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28558              :                        STRIP_UNARY (operands[3]))
   28559              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28560              :                        STRIP_UNARY (operands[3])))) && 
   28561              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28562              : (TARGET_AVX)) && 
   28563              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28564              : ( 1)))
   28565              :             return NULL;
   28566              :           return gen_split_2097 (insn, operands);
   28567              : 
   28568              :         case 14:
   28569              :           if (!(
   28570              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28571              : ((16 == 64 || TARGET_AVX512VL
   28572              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28573              :    && ix86_pre_reload_split ()
   28574              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28575              :                     STRIP_UNARY (operands[4]))
   28576              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28577              :                        STRIP_UNARY (operands[4]))
   28578              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28579              :                        STRIP_UNARY (operands[3]))
   28580              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28581              :                        STRIP_UNARY (operands[3])))) && 
   28582              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28583              : ( 1)))
   28584              :             return NULL;
   28585              :           return gen_split_2124 (insn, operands);
   28586              : 
   28587              :         case 15:
   28588              :           if (!((
   28589              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28590              : ((64 == 64 || TARGET_AVX512VL
   28591              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28592              :    && ix86_pre_reload_split ()
   28593              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28594              :                     STRIP_UNARY (operands[4]))
   28595              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28596              :                        STRIP_UNARY (operands[4]))
   28597              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28598              :                        STRIP_UNARY (operands[3]))
   28599              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28600              :                        STRIP_UNARY (operands[3])))) && 
   28601              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28602              : (TARGET_AVX512F)) && 
   28603              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28604              : ( 1)))
   28605              :             return NULL;
   28606              :           return gen_split_2151 (insn, operands);
   28607              : 
   28608              :         case 16:
   28609              :           if (!((
   28610              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28611              : ((32 == 64 || TARGET_AVX512VL
   28612              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28613              :    && ix86_pre_reload_split ()
   28614              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28615              :                     STRIP_UNARY (operands[4]))
   28616              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28617              :                        STRIP_UNARY (operands[4]))
   28618              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28619              :                        STRIP_UNARY (operands[3]))
   28620              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28621              :                        STRIP_UNARY (operands[3])))) && 
   28622              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28623              : (TARGET_AVX)) && 
   28624              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28625              : ( 1)))
   28626              :             return NULL;
   28627              :           return gen_split_2178 (insn, operands);
   28628              : 
   28629              :         case 17:
   28630              :           if (!(
   28631              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28632              : ((16 == 64 || TARGET_AVX512VL
   28633              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28634              :    && ix86_pre_reload_split ()
   28635              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28636              :                     STRIP_UNARY (operands[4]))
   28637              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28638              :                        STRIP_UNARY (operands[4]))
   28639              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28640              :                        STRIP_UNARY (operands[3]))
   28641              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28642              :                        STRIP_UNARY (operands[3])))) && 
   28643              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28644              : ( 1)))
   28645              :             return NULL;
   28646              :           return gen_split_2205 (insn, operands);
   28647              : 
   28648              :         case 18:
   28649              :           if (!((
   28650              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28651              : ((64 == 64 || TARGET_AVX512VL
   28652              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28653              :    && ix86_pre_reload_split ()
   28654              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28655              :                     STRIP_UNARY (operands[4]))
   28656              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28657              :                        STRIP_UNARY (operands[4]))
   28658              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28659              :                        STRIP_UNARY (operands[3]))
   28660              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28661              :                        STRIP_UNARY (operands[3])))) && 
   28662              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28663              : (TARGET_AVX512F)) && 
   28664              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28665              : ( 1)))
   28666              :             return NULL;
   28667              :           return gen_split_2232 (insn, operands);
   28668              : 
   28669              :         case 19:
   28670              :           if (!((
   28671              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28672              : ((32 == 64 || TARGET_AVX512VL
   28673              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28674              :    && ix86_pre_reload_split ()
   28675              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28676              :                     STRIP_UNARY (operands[4]))
   28677              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28678              :                        STRIP_UNARY (operands[4]))
   28679              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28680              :                        STRIP_UNARY (operands[3]))
   28681              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28682              :                        STRIP_UNARY (operands[3])))) && 
   28683              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28684              : (TARGET_AVX)) && 
   28685              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28686              : ( 1)))
   28687              :             return NULL;
   28688              :           return gen_split_2259 (insn, operands);
   28689              : 
   28690              :         case 20:
   28691              :           if (!(
   28692              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28693              : ((16 == 64 || TARGET_AVX512VL
   28694              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28695              :    && ix86_pre_reload_split ()
   28696              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28697              :                     STRIP_UNARY (operands[4]))
   28698              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28699              :                        STRIP_UNARY (operands[4]))
   28700              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28701              :                        STRIP_UNARY (operands[3]))
   28702              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28703              :                        STRIP_UNARY (operands[3])))) && 
   28704              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28705              : ( 1)))
   28706              :             return NULL;
   28707              :           return gen_split_2286 (insn, operands);
   28708              : 
   28709              :         case 21:
   28710              :           if (!((
   28711              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28712              : ((64 == 64 || TARGET_AVX512VL
   28713              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28714              :    && ix86_pre_reload_split ()
   28715              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28716              :                     STRIP_UNARY (operands[4]))
   28717              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28718              :                        STRIP_UNARY (operands[4]))
   28719              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28720              :                        STRIP_UNARY (operands[3]))
   28721              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28722              :                        STRIP_UNARY (operands[3])))) && 
   28723              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28724              : (TARGET_AVX512F)) && 
   28725              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28726              : ( 1)))
   28727              :             return NULL;
   28728              :           return gen_split_2313 (insn, operands);
   28729              : 
   28730              :         case 22:
   28731              :           if (!((
   28732              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28733              : ((32 == 64 || TARGET_AVX512VL
   28734              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28735              :    && ix86_pre_reload_split ()
   28736              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28737              :                     STRIP_UNARY (operands[4]))
   28738              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28739              :                        STRIP_UNARY (operands[4]))
   28740              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28741              :                        STRIP_UNARY (operands[3]))
   28742              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28743              :                        STRIP_UNARY (operands[3])))) && 
   28744              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28745              : (TARGET_AVX)) && 
   28746              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28747              : ( 1)))
   28748              :             return NULL;
   28749              :           return gen_split_2340 (insn, operands);
   28750              : 
   28751              :         case 23:
   28752              :           if (!((
   28753              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28754              : ((16 == 64 || TARGET_AVX512VL
   28755              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28756              :    && ix86_pre_reload_split ()
   28757              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28758              :                     STRIP_UNARY (operands[4]))
   28759              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28760              :                        STRIP_UNARY (operands[4]))
   28761              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28762              :                        STRIP_UNARY (operands[3]))
   28763              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28764              :                        STRIP_UNARY (operands[3])))) && 
   28765              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28766              : (TARGET_SSE2)) && 
   28767              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28768              : ( 1)))
   28769              :             return NULL;
   28770              :           return gen_split_2367 (insn, operands);
   28771              : 
   28772              :         case 24:
   28773              :           if (!((
   28774              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28775              : ((64 == 64 || TARGET_AVX512VL
   28776              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28777              :    && ix86_pre_reload_split ()
   28778              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28779              :                     STRIP_UNARY (operands[4]))
   28780              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28781              :                        STRIP_UNARY (operands[4]))
   28782              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28783              :                        STRIP_UNARY (operands[3]))
   28784              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28785              :                        STRIP_UNARY (operands[3])))) && 
   28786              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28787              : (TARGET_AVX512F)) && 
   28788              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28789              : ( 1)))
   28790              :             return NULL;
   28791              :           return gen_split_2073 (insn, operands);
   28792              : 
   28793              :         case 25:
   28794              :           if (!((
   28795              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28796              : ((32 == 64 || TARGET_AVX512VL
   28797              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28798              :    && ix86_pre_reload_split ()
   28799              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28800              :                     STRIP_UNARY (operands[4]))
   28801              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28802              :                        STRIP_UNARY (operands[4]))
   28803              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28804              :                        STRIP_UNARY (operands[3]))
   28805              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28806              :                        STRIP_UNARY (operands[3])))) && 
   28807              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28808              : (TARGET_AVX)) && 
   28809              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28810              : ( 1)))
   28811              :             return NULL;
   28812              :           return gen_split_2100 (insn, operands);
   28813              : 
   28814              :         case 26:
   28815              :           if (!(
   28816              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28817              : ((16 == 64 || TARGET_AVX512VL
   28818              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28819              :    && ix86_pre_reload_split ()
   28820              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28821              :                     STRIP_UNARY (operands[4]))
   28822              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28823              :                        STRIP_UNARY (operands[4]))
   28824              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28825              :                        STRIP_UNARY (operands[3]))
   28826              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28827              :                        STRIP_UNARY (operands[3])))) && 
   28828              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28829              : ( 1)))
   28830              :             return NULL;
   28831              :           return gen_split_2127 (insn, operands);
   28832              : 
   28833              :         case 27:
   28834              :           if (!((
   28835              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28836              : ((64 == 64 || TARGET_AVX512VL
   28837              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28838              :    && ix86_pre_reload_split ()
   28839              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28840              :                     STRIP_UNARY (operands[4]))
   28841              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28842              :                        STRIP_UNARY (operands[4]))
   28843              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28844              :                        STRIP_UNARY (operands[3]))
   28845              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28846              :                        STRIP_UNARY (operands[3])))) && 
   28847              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28848              : (TARGET_AVX512F)) && 
   28849              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28850              : ( 1)))
   28851              :             return NULL;
   28852              :           return gen_split_2154 (insn, operands);
   28853              : 
   28854              :         case 28:
   28855              :           if (!((
   28856              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28857              : ((32 == 64 || TARGET_AVX512VL
   28858              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28859              :    && ix86_pre_reload_split ()
   28860              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28861              :                     STRIP_UNARY (operands[4]))
   28862              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28863              :                        STRIP_UNARY (operands[4]))
   28864              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28865              :                        STRIP_UNARY (operands[3]))
   28866              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28867              :                        STRIP_UNARY (operands[3])))) && 
   28868              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28869              : (TARGET_AVX)) && 
   28870              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28871              : ( 1)))
   28872              :             return NULL;
   28873              :           return gen_split_2181 (insn, operands);
   28874              : 
   28875              :         case 29:
   28876              :           if (!(
   28877              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28878              : ((16 == 64 || TARGET_AVX512VL
   28879              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28880              :    && ix86_pre_reload_split ()
   28881              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28882              :                     STRIP_UNARY (operands[4]))
   28883              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28884              :                        STRIP_UNARY (operands[4]))
   28885              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28886              :                        STRIP_UNARY (operands[3]))
   28887              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28888              :                        STRIP_UNARY (operands[3])))) && 
   28889              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28890              : ( 1)))
   28891              :             return NULL;
   28892              :           return gen_split_2208 (insn, operands);
   28893              : 
   28894              :         case 30:
   28895              :           if (!((
   28896              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28897              : ((64 == 64 || TARGET_AVX512VL
   28898              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28899              :    && ix86_pre_reload_split ()
   28900              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28901              :                     STRIP_UNARY (operands[4]))
   28902              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28903              :                        STRIP_UNARY (operands[4]))
   28904              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28905              :                        STRIP_UNARY (operands[3]))
   28906              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28907              :                        STRIP_UNARY (operands[3])))) && 
   28908              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28909              : (TARGET_AVX512F)) && 
   28910              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28911              : ( 1)))
   28912              :             return NULL;
   28913              :           return gen_split_2235 (insn, operands);
   28914              : 
   28915              :         case 31:
   28916              :           if (!((
   28917              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28918              : ((32 == 64 || TARGET_AVX512VL
   28919              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28920              :    && ix86_pre_reload_split ()
   28921              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28922              :                     STRIP_UNARY (operands[4]))
   28923              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28924              :                        STRIP_UNARY (operands[4]))
   28925              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28926              :                        STRIP_UNARY (operands[3]))
   28927              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28928              :                        STRIP_UNARY (operands[3])))) && 
   28929              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28930              : (TARGET_AVX)) && 
   28931              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28932              : ( 1)))
   28933              :             return NULL;
   28934              :           return gen_split_2262 (insn, operands);
   28935              : 
   28936              :         case 32:
   28937              :           if (!(
   28938              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28939              : ((16 == 64 || TARGET_AVX512VL
   28940              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28941              :    && ix86_pre_reload_split ()
   28942              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28943              :                     STRIP_UNARY (operands[4]))
   28944              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28945              :                        STRIP_UNARY (operands[4]))
   28946              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28947              :                        STRIP_UNARY (operands[3]))
   28948              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28949              :                        STRIP_UNARY (operands[3])))) && 
   28950              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28951              : ( 1)))
   28952              :             return NULL;
   28953              :           return gen_split_2289 (insn, operands);
   28954              : 
   28955              :         case 33:
   28956              :           if (!((
   28957              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28958              : ((64 == 64 || TARGET_AVX512VL
   28959              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28960              :    && ix86_pre_reload_split ()
   28961              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28962              :                     STRIP_UNARY (operands[4]))
   28963              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28964              :                        STRIP_UNARY (operands[4]))
   28965              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28966              :                        STRIP_UNARY (operands[3]))
   28967              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28968              :                        STRIP_UNARY (operands[3])))) && 
   28969              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28970              : (TARGET_AVX512F)) && 
   28971              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28972              : ( 1)))
   28973              :             return NULL;
   28974              :           return gen_split_2316 (insn, operands);
   28975              : 
   28976              :         case 34:
   28977              :           if (!((
   28978              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28979              : ((32 == 64 || TARGET_AVX512VL
   28980              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28981              :    && ix86_pre_reload_split ()
   28982              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28983              :                     STRIP_UNARY (operands[4]))
   28984              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28985              :                        STRIP_UNARY (operands[4]))
   28986              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28987              :                        STRIP_UNARY (operands[3]))
   28988              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28989              :                        STRIP_UNARY (operands[3])))) && 
   28990              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28991              : (TARGET_AVX)) && 
   28992              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28993              : ( 1)))
   28994              :             return NULL;
   28995              :           return gen_split_2343 (insn, operands);
   28996              : 
   28997              :         case 35:
   28998              :           if (!((
   28999              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29000              : ((16 == 64 || TARGET_AVX512VL
   29001              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29002              :    && ix86_pre_reload_split ()
   29003              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29004              :                     STRIP_UNARY (operands[4]))
   29005              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29006              :                        STRIP_UNARY (operands[4]))
   29007              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29008              :                        STRIP_UNARY (operands[3]))
   29009              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29010              :                        STRIP_UNARY (operands[3])))) && 
   29011              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29012              : (TARGET_SSE2)) && 
   29013              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29014              : ( 1)))
   29015              :             return NULL;
   29016              :           return gen_split_2370 (insn, operands);
   29017              : 
   29018              :         case 36:
   29019              :           if (!((
   29020              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29021              : ((64 == 64 || TARGET_AVX512VL
   29022              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29023              :    && ix86_pre_reload_split ()) && 
   29024              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29025              : (TARGET_AVX512F)) && 
   29026              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29027              : ( 1)))
   29028              :             return NULL;
   29029              :           return gen_split_3147 (insn, operands);
   29030              : 
   29031              :         case 37:
   29032              :           if (!((
   29033              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29034              : ((32 == 64 || TARGET_AVX512VL
   29035              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29036              :    && ix86_pre_reload_split ()) && 
   29037              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29038              : (TARGET_AVX)) && 
   29039              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29040              : ( 1)))
   29041              :             return NULL;
   29042              :           return gen_split_3156 (insn, operands);
   29043              : 
   29044              :         case 38:
   29045              :           if (!(
   29046              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29047              : ((16 == 64 || TARGET_AVX512VL
   29048              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29049              :    && ix86_pre_reload_split ()) && 
   29050              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29051              : ( 1)))
   29052              :             return NULL;
   29053              :           return gen_split_3165 (insn, operands);
   29054              : 
   29055              :         case 39:
   29056              :           if (!((
   29057              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29058              : ((64 == 64 || TARGET_AVX512VL
   29059              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29060              :    && ix86_pre_reload_split ()) && 
   29061              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29062              : (TARGET_AVX512F)) && 
   29063              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29064              : ( 1)))
   29065              :             return NULL;
   29066              :           return gen_split_3174 (insn, operands);
   29067              : 
   29068              :         case 40:
   29069              :           if (!((
   29070              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29071              : ((32 == 64 || TARGET_AVX512VL
   29072              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29073              :    && ix86_pre_reload_split ()) && 
   29074              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29075              : (TARGET_AVX)) && 
   29076              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29077              : ( 1)))
   29078              :             return NULL;
   29079              :           return gen_split_3183 (insn, operands);
   29080              : 
   29081              :         case 41:
   29082              :           if (!(
   29083              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29084              : ((16 == 64 || TARGET_AVX512VL
   29085              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29086              :    && ix86_pre_reload_split ()) && 
   29087              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29088              : ( 1)))
   29089              :             return NULL;
   29090              :           return gen_split_3192 (insn, operands);
   29091              : 
   29092              :         case 42:
   29093              :           if (!((
   29094              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29095              : ((64 == 64 || TARGET_AVX512VL
   29096              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29097              :    && ix86_pre_reload_split ()) && 
   29098              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29099              : (TARGET_AVX512F)) && 
   29100              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29101              : ( 1)))
   29102              :             return NULL;
   29103              :           return gen_split_3201 (insn, operands);
   29104              : 
   29105              :         case 43:
   29106              :           if (!((
   29107              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29108              : ((32 == 64 || TARGET_AVX512VL
   29109              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29110              :    && ix86_pre_reload_split ()) && 
   29111              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29112              : (TARGET_AVX)) && 
   29113              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29114              : ( 1)))
   29115              :             return NULL;
   29116              :           return gen_split_3210 (insn, operands);
   29117              : 
   29118              :         case 44:
   29119              :           if (!(
   29120              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29121              : ((16 == 64 || TARGET_AVX512VL
   29122              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29123              :    && ix86_pre_reload_split ()) && 
   29124              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29125              : ( 1)))
   29126              :             return NULL;
   29127              :           return gen_split_3219 (insn, operands);
   29128              : 
   29129              :         case 45:
   29130              :           if (!((
   29131              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29132              : ((64 == 64 || TARGET_AVX512VL
   29133              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29134              :    && ix86_pre_reload_split ()) && 
   29135              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29136              : (TARGET_AVX512F)) && 
   29137              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29138              : ( 1)))
   29139              :             return NULL;
   29140              :           return gen_split_3228 (insn, operands);
   29141              : 
   29142              :         case 46:
   29143              :           if (!((
   29144              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29145              : ((32 == 64 || TARGET_AVX512VL
   29146              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29147              :    && ix86_pre_reload_split ()) && 
   29148              : #line 352 "/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_3237 (insn, operands);
   29154              : 
   29155              :         case 47:
   29156              :           if (!((
   29157              : #line 14271 "/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              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29162              : (TARGET_SSE2)) && 
   29163              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29164              : ( 1)))
   29165              :             return NULL;
   29166              :           return gen_split_3246 (insn, operands);
   29167              : 
   29168              :         default:
   29169              :           return NULL;
   29170              :         }
   29171              : 
   29172              :     case AND:
   29173              :       switch (pattern542 (x2))
   29174              :         {
   29175              :         case 0:
   29176              :           if (!((
   29177              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29178              : ((64 == 64 || TARGET_AVX512VL
   29179              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29180              :    && ix86_pre_reload_split ()
   29181              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29182              :                     STRIP_UNARY (operands[4]))
   29183              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29184              :                        STRIP_UNARY (operands[4]))
   29185              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29186              :                        STRIP_UNARY (operands[3]))
   29187              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29188              :                        STRIP_UNARY (operands[3])))) && 
   29189              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29190              : (TARGET_AVX512F)) && 
   29191              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29192              : ( 1)))
   29193              :             return NULL;
   29194              :           return gen_split_2715 (insn, operands);
   29195              : 
   29196              :         case 1:
   29197              :           if (!((
   29198              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29199              : ((32 == 64 || TARGET_AVX512VL
   29200              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29201              :    && ix86_pre_reload_split ()
   29202              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29203              :                     STRIP_UNARY (operands[4]))
   29204              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29205              :                        STRIP_UNARY (operands[4]))
   29206              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29207              :                        STRIP_UNARY (operands[3]))
   29208              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29209              :                        STRIP_UNARY (operands[3])))) && 
   29210              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29211              : (TARGET_AVX)) && 
   29212              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29213              : ( 1)))
   29214              :             return NULL;
   29215              :           return gen_split_2742 (insn, operands);
   29216              : 
   29217              :         case 2:
   29218              :           if (!(
   29219              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29220              : ((16 == 64 || TARGET_AVX512VL
   29221              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29222              :    && ix86_pre_reload_split ()
   29223              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29224              :                     STRIP_UNARY (operands[4]))
   29225              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29226              :                        STRIP_UNARY (operands[4]))
   29227              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29228              :                        STRIP_UNARY (operands[3]))
   29229              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29230              :                        STRIP_UNARY (operands[3])))) && 
   29231              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29232              : ( 1)))
   29233              :             return NULL;
   29234              :           return gen_split_2769 (insn, operands);
   29235              : 
   29236              :         case 3:
   29237              :           if (!((
   29238              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29239              : ((64 == 64 || TARGET_AVX512VL
   29240              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29241              :    && ix86_pre_reload_split ()
   29242              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29243              :                     STRIP_UNARY (operands[4]))
   29244              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29245              :                        STRIP_UNARY (operands[4]))
   29246              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29247              :                        STRIP_UNARY (operands[3]))
   29248              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29249              :                        STRIP_UNARY (operands[3])))) && 
   29250              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29251              : (TARGET_AVX512F)) && 
   29252              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29253              : ( 1)))
   29254              :             return NULL;
   29255              :           return gen_split_2796 (insn, operands);
   29256              : 
   29257              :         case 4:
   29258              :           if (!((
   29259              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29260              : ((32 == 64 || TARGET_AVX512VL
   29261              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29262              :    && ix86_pre_reload_split ()
   29263              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29264              :                     STRIP_UNARY (operands[4]))
   29265              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29266              :                        STRIP_UNARY (operands[4]))
   29267              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29268              :                        STRIP_UNARY (operands[3]))
   29269              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29270              :                        STRIP_UNARY (operands[3])))) && 
   29271              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29272              : (TARGET_AVX)) && 
   29273              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29274              : ( 1)))
   29275              :             return NULL;
   29276              :           return gen_split_2823 (insn, operands);
   29277              : 
   29278              :         case 5:
   29279              :           if (!(
   29280              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29281              : ((16 == 64 || TARGET_AVX512VL
   29282              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29283              :    && ix86_pre_reload_split ()
   29284              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29285              :                     STRIP_UNARY (operands[4]))
   29286              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29287              :                        STRIP_UNARY (operands[4]))
   29288              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29289              :                        STRIP_UNARY (operands[3]))
   29290              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29291              :                        STRIP_UNARY (operands[3])))) && 
   29292              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29293              : ( 1)))
   29294              :             return NULL;
   29295              :           return gen_split_2850 (insn, operands);
   29296              : 
   29297              :         case 6:
   29298              :           if (!((
   29299              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29300              : ((64 == 64 || TARGET_AVX512VL
   29301              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29302              :    && ix86_pre_reload_split ()
   29303              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29304              :                     STRIP_UNARY (operands[4]))
   29305              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29306              :                        STRIP_UNARY (operands[4]))
   29307              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29308              :                        STRIP_UNARY (operands[3]))
   29309              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29310              :                        STRIP_UNARY (operands[3])))) && 
   29311              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29312              : (TARGET_AVX512F)) && 
   29313              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29314              : ( 1)))
   29315              :             return NULL;
   29316              :           return gen_split_2877 (insn, operands);
   29317              : 
   29318              :         case 7:
   29319              :           if (!((
   29320              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29321              : ((32 == 64 || TARGET_AVX512VL
   29322              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29323              :    && ix86_pre_reload_split ()
   29324              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29325              :                     STRIP_UNARY (operands[4]))
   29326              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29327              :                        STRIP_UNARY (operands[4]))
   29328              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29329              :                        STRIP_UNARY (operands[3]))
   29330              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29331              :                        STRIP_UNARY (operands[3])))) && 
   29332              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29333              : (TARGET_AVX)) && 
   29334              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29335              : ( 1)))
   29336              :             return NULL;
   29337              :           return gen_split_2904 (insn, operands);
   29338              : 
   29339              :         case 8:
   29340              :           if (!(
   29341              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29342              : ((16 == 64 || TARGET_AVX512VL
   29343              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29344              :    && ix86_pre_reload_split ()
   29345              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29346              :                     STRIP_UNARY (operands[4]))
   29347              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29348              :                        STRIP_UNARY (operands[4]))
   29349              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29350              :                        STRIP_UNARY (operands[3]))
   29351              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29352              :                        STRIP_UNARY (operands[3])))) && 
   29353              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29354              : ( 1)))
   29355              :             return NULL;
   29356              :           return gen_split_2931 (insn, operands);
   29357              : 
   29358              :         case 9:
   29359              :           if (!((
   29360              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29361              : ((64 == 64 || TARGET_AVX512VL
   29362              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29363              :    && ix86_pre_reload_split ()
   29364              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29365              :                     STRIP_UNARY (operands[4]))
   29366              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29367              :                        STRIP_UNARY (operands[4]))
   29368              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29369              :                        STRIP_UNARY (operands[3]))
   29370              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29371              :                        STRIP_UNARY (operands[3])))) && 
   29372              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29373              : (TARGET_AVX512F)) && 
   29374              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29375              : ( 1)))
   29376              :             return NULL;
   29377              :           return gen_split_2958 (insn, operands);
   29378              : 
   29379              :         case 10:
   29380              :           if (!((
   29381              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29382              : ((32 == 64 || TARGET_AVX512VL
   29383              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29384              :    && ix86_pre_reload_split ()
   29385              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29386              :                     STRIP_UNARY (operands[4]))
   29387              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29388              :                        STRIP_UNARY (operands[4]))
   29389              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29390              :                        STRIP_UNARY (operands[3]))
   29391              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29392              :                        STRIP_UNARY (operands[3])))) && 
   29393              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29394              : (TARGET_AVX)) && 
   29395              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29396              : ( 1)))
   29397              :             return NULL;
   29398              :           return gen_split_2985 (insn, operands);
   29399              : 
   29400              :         case 11:
   29401              :           if (!((
   29402              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29403              : ((16 == 64 || TARGET_AVX512VL
   29404              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29405              :    && ix86_pre_reload_split ()
   29406              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29407              :                     STRIP_UNARY (operands[4]))
   29408              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29409              :                        STRIP_UNARY (operands[4]))
   29410              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29411              :                        STRIP_UNARY (operands[3]))
   29412              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29413              :                        STRIP_UNARY (operands[3])))) && 
   29414              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29415              : (TARGET_SSE2)) && 
   29416              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29417              : ( 1)))
   29418              :             return NULL;
   29419              :           return gen_split_3012 (insn, operands);
   29420              : 
   29421              :         default:
   29422              :           return NULL;
   29423              :         }
   29424              : 
   29425              :     case IOR:
   29426              :       switch (pattern542 (x2))
   29427              :         {
   29428              :         case 0:
   29429              :           if (!((
   29430              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29431              : ((64 == 64 || TARGET_AVX512VL
   29432              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29433              :    && ix86_pre_reload_split ()
   29434              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29435              :                     STRIP_UNARY (operands[4]))
   29436              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29437              :                        STRIP_UNARY (operands[4]))
   29438              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29439              :                        STRIP_UNARY (operands[3]))
   29440              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29441              :                        STRIP_UNARY (operands[3])))) && 
   29442              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29443              : (TARGET_AVX512F)) && 
   29444              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29445              : ( 1)))
   29446              :             return NULL;
   29447              :           return gen_split_2718 (insn, operands);
   29448              : 
   29449              :         case 1:
   29450              :           if (!((
   29451              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29452              : ((32 == 64 || TARGET_AVX512VL
   29453              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29454              :    && ix86_pre_reload_split ()
   29455              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29456              :                     STRIP_UNARY (operands[4]))
   29457              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29458              :                        STRIP_UNARY (operands[4]))
   29459              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29460              :                        STRIP_UNARY (operands[3]))
   29461              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29462              :                        STRIP_UNARY (operands[3])))) && 
   29463              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29464              : (TARGET_AVX)) && 
   29465              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29466              : ( 1)))
   29467              :             return NULL;
   29468              :           return gen_split_2745 (insn, operands);
   29469              : 
   29470              :         case 2:
   29471              :           if (!(
   29472              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29473              : ((16 == 64 || TARGET_AVX512VL
   29474              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29475              :    && ix86_pre_reload_split ()
   29476              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29477              :                     STRIP_UNARY (operands[4]))
   29478              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29479              :                        STRIP_UNARY (operands[4]))
   29480              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29481              :                        STRIP_UNARY (operands[3]))
   29482              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29483              :                        STRIP_UNARY (operands[3])))) && 
   29484              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29485              : ( 1)))
   29486              :             return NULL;
   29487              :           return gen_split_2772 (insn, operands);
   29488              : 
   29489              :         case 3:
   29490              :           if (!((
   29491              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29492              : ((64 == 64 || TARGET_AVX512VL
   29493              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29494              :    && ix86_pre_reload_split ()
   29495              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29496              :                     STRIP_UNARY (operands[4]))
   29497              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29498              :                        STRIP_UNARY (operands[4]))
   29499              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29500              :                        STRIP_UNARY (operands[3]))
   29501              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29502              :                        STRIP_UNARY (operands[3])))) && 
   29503              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29504              : (TARGET_AVX512F)) && 
   29505              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29506              : ( 1)))
   29507              :             return NULL;
   29508              :           return gen_split_2799 (insn, operands);
   29509              : 
   29510              :         case 4:
   29511              :           if (!((
   29512              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29513              : ((32 == 64 || TARGET_AVX512VL
   29514              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29515              :    && ix86_pre_reload_split ()
   29516              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29517              :                     STRIP_UNARY (operands[4]))
   29518              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29519              :                        STRIP_UNARY (operands[4]))
   29520              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29521              :                        STRIP_UNARY (operands[3]))
   29522              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29523              :                        STRIP_UNARY (operands[3])))) && 
   29524              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29525              : (TARGET_AVX)) && 
   29526              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29527              : ( 1)))
   29528              :             return NULL;
   29529              :           return gen_split_2826 (insn, operands);
   29530              : 
   29531              :         case 5:
   29532              :           if (!(
   29533              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29534              : ((16 == 64 || TARGET_AVX512VL
   29535              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29536              :    && ix86_pre_reload_split ()
   29537              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29538              :                     STRIP_UNARY (operands[4]))
   29539              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29540              :                        STRIP_UNARY (operands[4]))
   29541              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29542              :                        STRIP_UNARY (operands[3]))
   29543              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29544              :                        STRIP_UNARY (operands[3])))) && 
   29545              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29546              : ( 1)))
   29547              :             return NULL;
   29548              :           return gen_split_2853 (insn, operands);
   29549              : 
   29550              :         case 6:
   29551              :           if (!((
   29552              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29553              : ((64 == 64 || TARGET_AVX512VL
   29554              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29555              :    && ix86_pre_reload_split ()
   29556              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29557              :                     STRIP_UNARY (operands[4]))
   29558              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29559              :                        STRIP_UNARY (operands[4]))
   29560              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29561              :                        STRIP_UNARY (operands[3]))
   29562              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29563              :                        STRIP_UNARY (operands[3])))) && 
   29564              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29565              : (TARGET_AVX512F)) && 
   29566              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29567              : ( 1)))
   29568              :             return NULL;
   29569              :           return gen_split_2880 (insn, operands);
   29570              : 
   29571              :         case 7:
   29572              :           if (!((
   29573              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29574              : ((32 == 64 || TARGET_AVX512VL
   29575              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29576              :    && ix86_pre_reload_split ()
   29577              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29578              :                     STRIP_UNARY (operands[4]))
   29579              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29580              :                        STRIP_UNARY (operands[4]))
   29581              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29582              :                        STRIP_UNARY (operands[3]))
   29583              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29584              :                        STRIP_UNARY (operands[3])))) && 
   29585              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29586              : (TARGET_AVX)) && 
   29587              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29588              : ( 1)))
   29589              :             return NULL;
   29590              :           return gen_split_2907 (insn, operands);
   29591              : 
   29592              :         case 8:
   29593              :           if (!(
   29594              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29595              : ((16 == 64 || TARGET_AVX512VL
   29596              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29597              :    && ix86_pre_reload_split ()
   29598              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29599              :                     STRIP_UNARY (operands[4]))
   29600              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29601              :                        STRIP_UNARY (operands[4]))
   29602              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29603              :                        STRIP_UNARY (operands[3]))
   29604              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29605              :                        STRIP_UNARY (operands[3])))) && 
   29606              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29607              : ( 1)))
   29608              :             return NULL;
   29609              :           return gen_split_2934 (insn, operands);
   29610              : 
   29611              :         case 9:
   29612              :           if (!((
   29613              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29614              : ((64 == 64 || TARGET_AVX512VL
   29615              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29616              :    && ix86_pre_reload_split ()
   29617              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29618              :                     STRIP_UNARY (operands[4]))
   29619              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29620              :                        STRIP_UNARY (operands[4]))
   29621              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29622              :                        STRIP_UNARY (operands[3]))
   29623              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29624              :                        STRIP_UNARY (operands[3])))) && 
   29625              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29626              : (TARGET_AVX512F)) && 
   29627              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29628              : ( 1)))
   29629              :             return NULL;
   29630              :           return gen_split_2961 (insn, operands);
   29631              : 
   29632              :         case 10:
   29633              :           if (!((
   29634              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29635              : ((32 == 64 || TARGET_AVX512VL
   29636              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29637              :    && ix86_pre_reload_split ()
   29638              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29639              :                     STRIP_UNARY (operands[4]))
   29640              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29641              :                        STRIP_UNARY (operands[4]))
   29642              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29643              :                        STRIP_UNARY (operands[3]))
   29644              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29645              :                        STRIP_UNARY (operands[3])))) && 
   29646              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29647              : (TARGET_AVX)) && 
   29648              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29649              : ( 1)))
   29650              :             return NULL;
   29651              :           return gen_split_2988 (insn, operands);
   29652              : 
   29653              :         case 11:
   29654              :           if (!((
   29655              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29656              : ((16 == 64 || TARGET_AVX512VL
   29657              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29658              :    && ix86_pre_reload_split ()
   29659              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29660              :                     STRIP_UNARY (operands[4]))
   29661              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29662              :                        STRIP_UNARY (operands[4]))
   29663              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29664              :                        STRIP_UNARY (operands[3]))
   29665              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29666              :                        STRIP_UNARY (operands[3])))) && 
   29667              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29668              : (TARGET_SSE2)) && 
   29669              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29670              : ( 1)))
   29671              :             return NULL;
   29672              :           return gen_split_3015 (insn, operands);
   29673              : 
   29674              :         default:
   29675              :           return NULL;
   29676              :         }
   29677              : 
   29678              :     case XOR:
   29679              :       x5 = XEXP (x4, 0);
   29680              :       operands[1] = x5;
   29681              :       x6 = XEXP (x4, 1);
   29682              :       operands[2] = x6;
   29683              :       x7 = XEXP (x3, 1);
   29684              :       operands[3] = x7;
   29685              :       switch (GET_MODE (operands[0]))
   29686              :         {
   29687              :         case E_V32HFmode:
   29688              :           if (pattern1197 (x2, 
   29689              : E_V32HFmode) != 0
   29690              :               || !((
   29691              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29692              : ((64 == 64 || TARGET_AVX512VL
   29693              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29694              :    && ix86_pre_reload_split ()
   29695              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29696              :                     STRIP_UNARY (operands[4]))
   29697              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29698              :                        STRIP_UNARY (operands[4]))
   29699              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29700              :                        STRIP_UNARY (operands[3]))
   29701              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29702              :                        STRIP_UNARY (operands[3])))) && 
   29703              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29704              : (TARGET_AVX512F)) && 
   29705              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29706              : ( 1)))
   29707              :             return NULL;
   29708              :           return gen_split_2721 (insn, operands);
   29709              : 
   29710              :         case E_V16HFmode:
   29711              :           if (pattern1007 (x2, 
   29712              : E_V16HFmode) != 0)
   29713              :             return NULL;
   29714              :           if (regmem_or_bitnot_regmem_operand (operands[1], E_V16HFmode)
   29715              :               && regmem_or_bitnot_regmem_operand (operands[2], E_V16HFmode)
   29716              :               && regmem_or_bitnot_regmem_operand (operands[3], E_V16HFmode))
   29717              :             {
   29718              :               x8 = XEXP (x2, 1);
   29719              :               operands[4] = x8;
   29720              :               if (regmem_or_bitnot_regmem_operand (operands[4], E_V16HFmode)
   29721              :                   && ((
   29722              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29723              : ((32 == 64 || TARGET_AVX512VL
   29724              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29725              :    && ix86_pre_reload_split ()
   29726              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29727              :                     STRIP_UNARY (operands[4]))
   29728              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29729              :                        STRIP_UNARY (operands[4]))
   29730              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29731              :                        STRIP_UNARY (operands[3]))
   29732              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29733              :                        STRIP_UNARY (operands[3])))) && 
   29734              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29735              : (TARGET_AVX)) && 
   29736              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29737              : ( 1)))
   29738              :                 return gen_split_2748 (insn, operands);
   29739              :             }
   29740              :           if (!register_operand (operands[1], E_V16HFmode)
   29741              :               || !register_operand (operands[2], E_V16HFmode)
   29742              :               || !nonimmediate_operand (operands[3], E_V16HFmode))
   29743              :             return NULL;
   29744              :           x8 = XEXP (x2, 1);
   29745              :           if (rtx_equal_p (x8, operands[1])
   29746              :               && 
   29747              : #line 26842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29748              : (TARGET_XOP))
   29749              :             return gen_split_3803 (insn, operands);
   29750              :           if (!rtx_equal_p (x8, operands[2])
   29751              :               || !
   29752              : #line 26854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29753              : (TARGET_XOP))
   29754              :             return NULL;
   29755              :           return gen_split_3819 (insn, operands);
   29756              : 
   29757              :         case E_V8HFmode:
   29758              :           if (pattern1007 (x2, 
   29759              : E_V8HFmode) != 0)
   29760              :             return NULL;
   29761              :           if (regmem_or_bitnot_regmem_operand (operands[1], E_V8HFmode)
   29762              :               && regmem_or_bitnot_regmem_operand (operands[2], E_V8HFmode)
   29763              :               && regmem_or_bitnot_regmem_operand (operands[3], E_V8HFmode))
   29764              :             {
   29765              :               x8 = XEXP (x2, 1);
   29766              :               operands[4] = x8;
   29767              :               if (regmem_or_bitnot_regmem_operand (operands[4], E_V8HFmode)
   29768              :                   && (
   29769              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29770              : ((16 == 64 || TARGET_AVX512VL
   29771              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29772              :    && ix86_pre_reload_split ()
   29773              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29774              :                     STRIP_UNARY (operands[4]))
   29775              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29776              :                        STRIP_UNARY (operands[4]))
   29777              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29778              :                        STRIP_UNARY (operands[3]))
   29779              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29780              :                        STRIP_UNARY (operands[3])))) && 
   29781              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29782              : ( 1)))
   29783              :                 return gen_split_2775 (insn, operands);
   29784              :             }
   29785              :           if (!register_operand (operands[1], E_V8HFmode)
   29786              :               || !register_operand (operands[2], E_V8HFmode)
   29787              :               || !nonimmediate_operand (operands[3], E_V8HFmode))
   29788              :             return NULL;
   29789              :           x8 = XEXP (x2, 1);
   29790              :           if (rtx_equal_p (x8, operands[1])
   29791              :               && 
   29792              : #line 26842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29793              : (TARGET_XOP))
   29794              :             return gen_split_3804 (insn, operands);
   29795              :           if (!rtx_equal_p (x8, operands[2])
   29796              :               || !
   29797              : #line 26854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29798              : (TARGET_XOP))
   29799              :             return NULL;
   29800              :           return gen_split_3820 (insn, operands);
   29801              : 
   29802              :         case E_V32BFmode:
   29803              :           if (pattern1197 (x2, 
   29804              : E_V32BFmode) != 0
   29805              :               || !((
   29806              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29807              : ((64 == 64 || TARGET_AVX512VL
   29808              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29809              :    && ix86_pre_reload_split ()
   29810              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29811              :                     STRIP_UNARY (operands[4]))
   29812              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29813              :                        STRIP_UNARY (operands[4]))
   29814              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29815              :                        STRIP_UNARY (operands[3]))
   29816              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29817              :                        STRIP_UNARY (operands[3])))) && 
   29818              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29819              : (TARGET_AVX512F)) && 
   29820              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29821              : ( 1)))
   29822              :             return NULL;
   29823              :           return gen_split_2802 (insn, operands);
   29824              : 
   29825              :         case E_V16BFmode:
   29826              :           if (pattern1197 (x2, 
   29827              : E_V16BFmode) != 0
   29828              :               || !((
   29829              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29830              : ((32 == 64 || TARGET_AVX512VL
   29831              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29832              :    && ix86_pre_reload_split ()
   29833              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29834              :                     STRIP_UNARY (operands[4]))
   29835              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29836              :                        STRIP_UNARY (operands[4]))
   29837              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29838              :                        STRIP_UNARY (operands[3]))
   29839              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29840              :                        STRIP_UNARY (operands[3])))) && 
   29841              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29842              : (TARGET_AVX)) && 
   29843              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29844              : ( 1)))
   29845              :             return NULL;
   29846              :           return gen_split_2829 (insn, operands);
   29847              : 
   29848              :         case E_V8BFmode:
   29849              :           if (pattern1197 (x2, 
   29850              : E_V8BFmode) != 0
   29851              :               || !(
   29852              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29853              : ((16 == 64 || TARGET_AVX512VL
   29854              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29855              :    && ix86_pre_reload_split ()
   29856              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29857              :                     STRIP_UNARY (operands[4]))
   29858              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29859              :                        STRIP_UNARY (operands[4]))
   29860              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29861              :                        STRIP_UNARY (operands[3]))
   29862              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29863              :                        STRIP_UNARY (operands[3])))) && 
   29864              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29865              : ( 1)))
   29866              :             return NULL;
   29867              :           return gen_split_2856 (insn, operands);
   29868              : 
   29869              :         case E_V16SFmode:
   29870              :           if (pattern1197 (x2, 
   29871              : E_V16SFmode) != 0
   29872              :               || !((
   29873              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29874              : ((64 == 64 || TARGET_AVX512VL
   29875              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29876              :    && ix86_pre_reload_split ()
   29877              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29878              :                     STRIP_UNARY (operands[4]))
   29879              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29880              :                        STRIP_UNARY (operands[4]))
   29881              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29882              :                        STRIP_UNARY (operands[3]))
   29883              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29884              :                        STRIP_UNARY (operands[3])))) && 
   29885              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29886              : (TARGET_AVX512F)) && 
   29887              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29888              : ( 1)))
   29889              :             return NULL;
   29890              :           return gen_split_2883 (insn, operands);
   29891              : 
   29892              :         case E_V8SFmode:
   29893              :           if (pattern1007 (x2, 
   29894              : E_V8SFmode) != 0)
   29895              :             return NULL;
   29896              :           if (regmem_or_bitnot_regmem_operand (operands[1], E_V8SFmode)
   29897              :               && regmem_or_bitnot_regmem_operand (operands[2], E_V8SFmode)
   29898              :               && regmem_or_bitnot_regmem_operand (operands[3], E_V8SFmode))
   29899              :             {
   29900              :               x8 = XEXP (x2, 1);
   29901              :               operands[4] = x8;
   29902              :               if (regmem_or_bitnot_regmem_operand (operands[4], E_V8SFmode)
   29903              :                   && ((
   29904              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29905              : ((32 == 64 || TARGET_AVX512VL
   29906              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29907              :    && ix86_pre_reload_split ()
   29908              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29909              :                     STRIP_UNARY (operands[4]))
   29910              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29911              :                        STRIP_UNARY (operands[4]))
   29912              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29913              :                        STRIP_UNARY (operands[3]))
   29914              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29915              :                        STRIP_UNARY (operands[3])))) && 
   29916              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29917              : (TARGET_AVX)) && 
   29918              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29919              : ( 1)))
   29920              :                 return gen_split_2910 (insn, operands);
   29921              :             }
   29922              :           if (!register_operand (operands[1], E_V8SFmode)
   29923              :               || !register_operand (operands[2], E_V8SFmode)
   29924              :               || !nonimmediate_operand (operands[3], E_V8SFmode))
   29925              :             return NULL;
   29926              :           x8 = XEXP (x2, 1);
   29927              :           if (rtx_equal_p (x8, operands[1])
   29928              :               && 
   29929              : #line 26842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29930              : (TARGET_XOP))
   29931              :             return gen_split_3805 (insn, operands);
   29932              :           if (!rtx_equal_p (x8, operands[2])
   29933              :               || !
   29934              : #line 26854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29935              : (TARGET_XOP))
   29936              :             return NULL;
   29937              :           return gen_split_3821 (insn, operands);
   29938              : 
   29939              :         case E_V4SFmode:
   29940              :           if (pattern1007 (x2, 
   29941              : E_V4SFmode) != 0)
   29942              :             return NULL;
   29943              :           if (regmem_or_bitnot_regmem_operand (operands[1], E_V4SFmode)
   29944              :               && regmem_or_bitnot_regmem_operand (operands[2], E_V4SFmode)
   29945              :               && regmem_or_bitnot_regmem_operand (operands[3], E_V4SFmode))
   29946              :             {
   29947              :               x8 = XEXP (x2, 1);
   29948              :               operands[4] = x8;
   29949              :               if (regmem_or_bitnot_regmem_operand (operands[4], E_V4SFmode)
   29950              :                   && (
   29951              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29952              : ((16 == 64 || TARGET_AVX512VL
   29953              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29954              :    && ix86_pre_reload_split ()
   29955              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29956              :                     STRIP_UNARY (operands[4]))
   29957              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29958              :                        STRIP_UNARY (operands[4]))
   29959              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29960              :                        STRIP_UNARY (operands[3]))
   29961              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29962              :                        STRIP_UNARY (operands[3])))) && 
   29963              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29964              : ( 1)))
   29965              :                 return gen_split_2937 (insn, operands);
   29966              :             }
   29967              :           if (!register_operand (operands[1], E_V4SFmode)
   29968              :               || !register_operand (operands[2], E_V4SFmode)
   29969              :               || !nonimmediate_operand (operands[3], E_V4SFmode))
   29970              :             return NULL;
   29971              :           x8 = XEXP (x2, 1);
   29972              :           if (rtx_equal_p (x8, operands[1])
   29973              :               && 
   29974              : #line 26842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29975              : (TARGET_XOP))
   29976              :             return gen_split_3806 (insn, operands);
   29977              :           if (!rtx_equal_p (x8, operands[2])
   29978              :               || !
   29979              : #line 26854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29980              : (TARGET_XOP))
   29981              :             return NULL;
   29982              :           return gen_split_3822 (insn, operands);
   29983              : 
   29984              :         case E_V8DFmode:
   29985              :           if (pattern1197 (x2, 
   29986              : E_V8DFmode) != 0
   29987              :               || !((
   29988              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29989              : ((64 == 64 || TARGET_AVX512VL
   29990              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29991              :    && ix86_pre_reload_split ()
   29992              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29993              :                     STRIP_UNARY (operands[4]))
   29994              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29995              :                        STRIP_UNARY (operands[4]))
   29996              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29997              :                        STRIP_UNARY (operands[3]))
   29998              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29999              :                        STRIP_UNARY (operands[3])))) && 
   30000              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30001              : (TARGET_AVX512F)) && 
   30002              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30003              : ( 1)))
   30004              :             return NULL;
   30005              :           return gen_split_2964 (insn, operands);
   30006              : 
   30007              :         case E_V4DFmode:
   30008              :           if (pattern1007 (x2, 
   30009              : E_V4DFmode) != 0)
   30010              :             return NULL;
   30011              :           if (regmem_or_bitnot_regmem_operand (operands[1], E_V4DFmode)
   30012              :               && regmem_or_bitnot_regmem_operand (operands[2], E_V4DFmode)
   30013              :               && regmem_or_bitnot_regmem_operand (operands[3], E_V4DFmode))
   30014              :             {
   30015              :               x8 = XEXP (x2, 1);
   30016              :               operands[4] = x8;
   30017              :               if (regmem_or_bitnot_regmem_operand (operands[4], E_V4DFmode)
   30018              :                   && ((
   30019              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30020              : ((32 == 64 || TARGET_AVX512VL
   30021              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30022              :    && ix86_pre_reload_split ()
   30023              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30024              :                     STRIP_UNARY (operands[4]))
   30025              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30026              :                        STRIP_UNARY (operands[4]))
   30027              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30028              :                        STRIP_UNARY (operands[3]))
   30029              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30030              :                        STRIP_UNARY (operands[3])))) && 
   30031              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30032              : (TARGET_AVX)) && 
   30033              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30034              : ( 1)))
   30035              :                 return gen_split_2991 (insn, operands);
   30036              :             }
   30037              :           if (!register_operand (operands[1], E_V4DFmode)
   30038              :               || !register_operand (operands[2], E_V4DFmode)
   30039              :               || !nonimmediate_operand (operands[3], E_V4DFmode))
   30040              :             return NULL;
   30041              :           x8 = XEXP (x2, 1);
   30042              :           if (rtx_equal_p (x8, operands[1])
   30043              :               && 
   30044              : #line 26842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30045              : (TARGET_XOP))
   30046              :             return gen_split_3807 (insn, operands);
   30047              :           if (!rtx_equal_p (x8, operands[2])
   30048              :               || !
   30049              : #line 26854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30050              : (TARGET_XOP))
   30051              :             return NULL;
   30052              :           return gen_split_3823 (insn, operands);
   30053              : 
   30054              :         case E_V2DFmode:
   30055              :           if (pattern1007 (x2, 
   30056              : E_V2DFmode) != 0)
   30057              :             return NULL;
   30058              :           if (regmem_or_bitnot_regmem_operand (operands[1], E_V2DFmode)
   30059              :               && regmem_or_bitnot_regmem_operand (operands[2], E_V2DFmode)
   30060              :               && regmem_or_bitnot_regmem_operand (operands[3], E_V2DFmode))
   30061              :             {
   30062              :               x8 = XEXP (x2, 1);
   30063              :               operands[4] = x8;
   30064              :               if (regmem_or_bitnot_regmem_operand (operands[4], E_V2DFmode)
   30065              :                   && ((
   30066              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30067              : ((16 == 64 || TARGET_AVX512VL
   30068              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   30069              :    && ix86_pre_reload_split ()
   30070              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   30071              :                     STRIP_UNARY (operands[4]))
   30072              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30073              :                        STRIP_UNARY (operands[4]))
   30074              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   30075              :                        STRIP_UNARY (operands[3]))
   30076              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   30077              :                        STRIP_UNARY (operands[3])))) && 
   30078              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30079              : (TARGET_SSE2)) && 
   30080              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30081              : ( 1)))
   30082              :                 return gen_split_3018 (insn, operands);
   30083              :             }
   30084              :           if (!register_operand (operands[1], E_V2DFmode)
   30085              :               || !register_operand (operands[2], E_V2DFmode)
   30086              :               || !nonimmediate_operand (operands[3], E_V2DFmode))
   30087              :             return NULL;
   30088              :           x8 = XEXP (x2, 1);
   30089              :           if (rtx_equal_p (x8, operands[1])
   30090              :               && 
   30091              : #line 26842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30092              : (TARGET_XOP))
   30093              :             return gen_split_3808 (insn, operands);
   30094              :           if (!rtx_equal_p (x8, operands[2])
   30095              :               || !
   30096              : #line 26854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30097              : (TARGET_XOP))
   30098              :             return NULL;
   30099              :           return gen_split_3824 (insn, operands);
   30100              : 
   30101              :         default:
   30102              :           return NULL;
   30103              :         }
   30104              : 
   30105              :     default:
   30106              :       return NULL;
   30107              :     }
   30108              : }
   30109              : 
   30110              :  rtx_insn *
   30111              : split_86 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   30112              : {
   30113              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   30114              :   rtx x2, x3, x4;
   30115              :   rtx_insn *res ATTRIBUTE_UNUSED;
   30116              :   x2 = XEXP (x1, 1);
   30117              :   x3 = XEXP (x2, 0);
   30118              :   switch (GET_CODE (x3))
   30119              :     {
   30120              :     case NOT:
   30121              :       x4 = XEXP (x3, 0);
   30122              :       operands[1] = x4;
   30123              :       switch (GET_MODE (operands[0]))
   30124              :         {
   30125              :         case E_V16SImode:
   30126              :           if (pattern628 (x2, 
   30127              : E_V16SImode, 
   30128              : E_SImode) != 0
   30129              :               || !(
   30130              : #line 18788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30131              : (64 == 64 || TARGET_AVX512VL
   30132              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30133              : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30134              : (TARGET_AVX512F)))
   30135              :             return NULL;
   30136              :           return gen_split_3430 (insn, operands);
   30137              : 
   30138              :         case E_V8SImode:
   30139              :           if (pattern628 (x2, 
   30140              : E_V8SImode, 
   30141              : E_SImode) != 0
   30142              :               || !
   30143              : #line 18788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30144              : (32 == 64 || TARGET_AVX512VL
   30145              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
   30146              :             return NULL;
   30147              :           return gen_split_3431 (insn, operands);
   30148              : 
   30149              :         case E_V4SImode:
   30150              :           if (pattern628 (x2, 
   30151              : E_V4SImode, 
   30152              : E_SImode) != 0
   30153              :               || !
   30154              : #line 18788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30155              : (16 == 64 || TARGET_AVX512VL
   30156              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
   30157              :             return NULL;
   30158              :           return gen_split_3432 (insn, operands);
   30159              : 
   30160              :         case E_V8DImode:
   30161              :           if (pattern628 (x2, 
   30162              : E_V8DImode, 
   30163              : E_DImode) != 0
   30164              :               || !(
   30165              : #line 18788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30166              : (64 == 64 || TARGET_AVX512VL
   30167              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) && 
   30168              : #line 796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30169              : (TARGET_AVX512F)))
   30170              :             return NULL;
   30171              :           return gen_split_3433 (insn, operands);
   30172              : 
   30173              :         case E_V4DImode:
   30174              :           if (pattern628 (x2, 
   30175              : E_V4DImode, 
   30176              : E_DImode) != 0
   30177              :               || !
   30178              : #line 18788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30179              : (32 == 64 || TARGET_AVX512VL
   30180              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
   30181              :             return NULL;
   30182              :           return gen_split_3434 (insn, operands);
   30183              : 
   30184              :         case E_V2DImode:
   30185              :           if (pattern628 (x2, 
   30186              : E_V2DImode, 
   30187              : E_DImode) != 0
   30188              :               || !
   30189              : #line 18788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30190              : (16 == 64 || TARGET_AVX512VL
   30191              :    || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
   30192              :             return NULL;
   30193              :           return gen_split_3435 (insn, operands);
   30194              : 
   30195              :         default:
   30196              :           return NULL;
   30197              :         }
   30198              : 
   30199              :     case REG:
   30200              :     case SUBREG:
   30201              :       operands[1] = x3;
   30202              :       switch (GET_MODE (operands[0]))
   30203              :         {
   30204              :         case E_V32QImode:
   30205              :           if (!register_operand (operands[0], E_V32QImode)
   30206              :               || GET_MODE (x2) != E_V32QImode
   30207              :               || !register_operand (operands[1], E_QImode)
   30208              :               || !
   30209              : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30210              : (TARGET_AVX2
   30211              :    /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
   30212              :       available, because then we can broadcast from GPRs directly.
   30213              :       For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
   30214              :       for V*SI mode it requires just -mavx512vl.  */
   30215              :    && !(TARGET_AVX512VL
   30216              :         && (TARGET_AVX512BW || QImode == SImode))
   30217              :    && reload_completed && GENERAL_REG_P (operands[1])))
   30218              :             return NULL;
   30219              :           return gen_split_3829 (insn, operands);
   30220              : 
   30221              :         case E_V16QImode:
   30222              :           if (!register_operand (operands[0], E_V16QImode)
   30223              :               || GET_MODE (x2) != E_V16QImode
   30224              :               || !register_operand (operands[1], E_QImode)
   30225              :               || !
   30226              : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30227              : (TARGET_AVX2
   30228              :    /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
   30229              :       available, because then we can broadcast from GPRs directly.
   30230              :       For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
   30231              :       for V*SI mode it requires just -mavx512vl.  */
   30232              :    && !(TARGET_AVX512VL
   30233              :         && (TARGET_AVX512BW || QImode == SImode))
   30234              :    && reload_completed && GENERAL_REG_P (operands[1])))
   30235              :             return NULL;
   30236              :           return gen_split_3830 (insn, operands);
   30237              : 
   30238              :         case E_V16HImode:
   30239              :           if (!register_operand (operands[0], E_V16HImode)
   30240              :               || GET_MODE (x2) != E_V16HImode
   30241              :               || !register_operand (operands[1], E_HImode)
   30242              :               || !
   30243              : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30244              : (TARGET_AVX2
   30245              :    /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
   30246              :       available, because then we can broadcast from GPRs directly.
   30247              :       For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
   30248              :       for V*SI mode it requires just -mavx512vl.  */
   30249              :    && !(TARGET_AVX512VL
   30250              :         && (TARGET_AVX512BW || HImode == SImode))
   30251              :    && reload_completed && GENERAL_REG_P (operands[1])))
   30252              :             return NULL;
   30253              :           return gen_split_3831 (insn, operands);
   30254              : 
   30255              :         case E_V8HImode:
   30256              :           if (!register_operand (operands[0], E_V8HImode)
   30257              :               || GET_MODE (x2) != E_V8HImode
   30258              :               || !register_operand (operands[1], E_HImode)
   30259              :               || !
   30260              : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30261              : (TARGET_AVX2
   30262              :    /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
   30263              :       available, because then we can broadcast from GPRs directly.
   30264              :       For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
   30265              :       for V*SI mode it requires just -mavx512vl.  */
   30266              :    && !(TARGET_AVX512VL
   30267              :         && (TARGET_AVX512BW || HImode == SImode))
   30268              :    && reload_completed && GENERAL_REG_P (operands[1])))
   30269              :             return NULL;
   30270              :           return gen_split_3832 (insn, operands);
   30271              : 
   30272              :         case E_V8SImode:
   30273              :           if (!register_operand (operands[0], E_V8SImode)
   30274              :               || GET_MODE (x2) != E_V8SImode
   30275              :               || !register_operand (operands[1], E_SImode))
   30276              :             return NULL;
   30277              :           if (
   30278              : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30279              : (TARGET_AVX2
   30280              :    /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
   30281              :       available, because then we can broadcast from GPRs directly.
   30282              :       For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
   30283              :       for V*SI mode it requires just -mavx512vl.  */
   30284              :    && !(TARGET_AVX512VL
   30285              :         && (TARGET_AVX512BW || SImode == SImode))
   30286              :    && reload_completed && GENERAL_REG_P (operands[1])))
   30287              :             return gen_split_3833 (insn, operands);
   30288              :           if (!
   30289              : #line 28678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30290              : (TARGET_AVX && !TARGET_AVX2 && reload_completed))
   30291              :             return NULL;
   30292              :           return gen_split_3839 (insn, operands);
   30293              : 
   30294              :         case E_V4SImode:
   30295              :           if (!register_operand (operands[0], E_V4SImode)
   30296              :               || GET_MODE (x2) != E_V4SImode
   30297              :               || !register_operand (operands[1], E_SImode)
   30298              :               || !
   30299              : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30300              : (TARGET_AVX2
   30301              :    /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
   30302              :       available, because then we can broadcast from GPRs directly.
   30303              :       For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
   30304              :       for V*SI mode it requires just -mavx512vl.  */
   30305              :    && !(TARGET_AVX512VL
   30306              :         && (TARGET_AVX512BW || SImode == SImode))
   30307              :    && reload_completed && GENERAL_REG_P (operands[1])))
   30308              :             return NULL;
   30309              :           return gen_split_3834 (insn, operands);
   30310              : 
   30311              :         case E_V16HFmode:
   30312              :           if (!register_operand (operands[0], E_V16HFmode)
   30313              :               || GET_MODE (x2) != E_V16HFmode
   30314              :               || !register_operand (operands[1], E_HFmode)
   30315              :               || !
   30316              : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30317              : (TARGET_AVX2
   30318              :    /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
   30319              :       available, because then we can broadcast from GPRs directly.
   30320              :       For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
   30321              :       for V*SI mode it requires just -mavx512vl.  */
   30322              :    && !(TARGET_AVX512VL
   30323              :         && (TARGET_AVX512BW || HFmode == SImode))
   30324              :    && reload_completed && GENERAL_REG_P (operands[1])))
   30325              :             return NULL;
   30326              :           return gen_split_3835 (insn, operands);
   30327              : 
   30328              :         case E_V8HFmode:
   30329              :           if (!register_operand (operands[0], E_V8HFmode)
   30330              :               || GET_MODE (x2) != E_V8HFmode
   30331              :               || !register_operand (operands[1], E_HFmode)
   30332              :               || !
   30333              : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30334              : (TARGET_AVX2
   30335              :    /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
   30336              :       available, because then we can broadcast from GPRs directly.
   30337              :       For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
   30338              :       for V*SI mode it requires just -mavx512vl.  */
   30339              :    && !(TARGET_AVX512VL
   30340              :         && (TARGET_AVX512BW || HFmode == SImode))
   30341              :    && reload_completed && GENERAL_REG_P (operands[1])))
   30342              :             return NULL;
   30343              :           return gen_split_3836 (insn, operands);
   30344              : 
   30345              :         case E_V16BFmode:
   30346              :           if (!register_operand (operands[0], E_V16BFmode)
   30347              :               || GET_MODE (x2) != E_V16BFmode
   30348              :               || !register_operand (operands[1], E_BFmode)
   30349              :               || !
   30350              : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30351              : (TARGET_AVX2
   30352              :    /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
   30353              :       available, because then we can broadcast from GPRs directly.
   30354              :       For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
   30355              :       for V*SI mode it requires just -mavx512vl.  */
   30356              :    && !(TARGET_AVX512VL
   30357              :         && (TARGET_AVX512BW || BFmode == SImode))
   30358              :    && reload_completed && GENERAL_REG_P (operands[1])))
   30359              :             return NULL;
   30360              :           return gen_split_3837 (insn, operands);
   30361              : 
   30362              :         case E_V8BFmode:
   30363              :           if (!register_operand (operands[0], E_V8BFmode)
   30364              :               || GET_MODE (x2) != E_V8BFmode
   30365              :               || !register_operand (operands[1], E_BFmode)
   30366              :               || !
   30367              : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30368              : (TARGET_AVX2
   30369              :    /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
   30370              :       available, because then we can broadcast from GPRs directly.
   30371              :       For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
   30372              :       for V*SI mode it requires just -mavx512vl.  */
   30373              :    && !(TARGET_AVX512VL
   30374              :         && (TARGET_AVX512BW || BFmode == SImode))
   30375              :    && reload_completed && GENERAL_REG_P (operands[1])))
   30376              :             return NULL;
   30377              :           return gen_split_3838 (insn, operands);
   30378              : 
   30379              :         case E_V8SFmode:
   30380              :           if (!register_operand (operands[0], E_V8SFmode)
   30381              :               || GET_MODE (x2) != E_V8SFmode
   30382              :               || !register_operand (operands[1], E_SFmode)
   30383              :               || !
   30384              : #line 28678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30385              : (TARGET_AVX && !TARGET_AVX2 && reload_completed))
   30386              :             return NULL;
   30387              :           return gen_split_3840 (insn, operands);
   30388              : 
   30389              :         case E_V4DImode:
   30390              :           if (!register_operand (operands[0], E_V4DImode)
   30391              :               || GET_MODE (x2) != E_V4DImode
   30392              :               || !register_operand (operands[1], E_DImode)
   30393              :               || !
   30394              : #line 28678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30395              : (TARGET_AVX && !TARGET_AVX2 && reload_completed))
   30396              :             return NULL;
   30397              :           return gen_split_3841 (insn, operands);
   30398              : 
   30399              :         case E_V4DFmode:
   30400              :           if (!register_operand (operands[0], E_V4DFmode)
   30401              :               || GET_MODE (x2) != E_V4DFmode
   30402              :               || !register_operand (operands[1], E_DFmode)
   30403              :               || !
   30404              : #line 28678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30405              : (TARGET_AVX && !TARGET_AVX2 && reload_completed))
   30406              :             return NULL;
   30407              :           return gen_split_3842 (insn, operands);
   30408              : 
   30409              :         default:
   30410              :           return NULL;
   30411              :         }
   30412              : 
   30413              :     default:
   30414              :       return NULL;
   30415              :     }
   30416              : }
   30417              : 
   30418              :  rtx_insn *
   30419              : split_87 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   30420              : {
   30421              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   30422              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   30423              :   rtx x10, x11, x12, x13, x14;
   30424              :   rtx_insn *res ATTRIBUTE_UNUSED;
   30425              :   x2 = XEXP (x1, 1);
   30426              :   operands[1] = x2;
   30427              :   res = split_84 (x1, insn);
   30428              :   if (res != NULL_RTX)
   30429              :     return res;
   30430              :   switch (GET_CODE (x2))
   30431              :     {
   30432              :     case UNSPEC:
   30433              :       return split_81 (x1, insn);
   30434              : 
   30435              :     case VEC_MERGE:
   30436              :       return split_85 (x1, insn);
   30437              : 
   30438              :     case AND:
   30439              :     case IOR:
   30440              :     case XOR:
   30441              :     case NOT:
   30442              :       return split_82 (x1, insn);
   30443              : 
   30444              :     case VEC_SELECT:
   30445              :       return split_83 (x1, insn);
   30446              : 
   30447              :     case PLUS:
   30448              :       x3 = XEXP (x2, 0);
   30449              :       if (GET_CODE (x3) != UNSPEC)
   30450              :         return NULL;
   30451              :       switch (pattern193 (x2))
   30452              :         {
   30453              :         case 0:
   30454              :           if (!(
   30455              : #line 7521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30456              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   30457              :   && ix86_pre_reload_split ()) && 
   30458              : #line 7524 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30459              : ( 1)))
   30460              :             return NULL;
   30461              :           return gen_split_1582 (insn, operands);
   30462              : 
   30463              :         case 1:
   30464              :           if (!((
   30465              : #line 7521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30466              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   30467              :   && ix86_pre_reload_split ()) && 
   30468              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30469              : (TARGET_AVX512VL)) && 
   30470              : #line 7524 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30471              : ( 1)))
   30472              :             return NULL;
   30473              :           return gen_split_1583 (insn, operands);
   30474              : 
   30475              :         case 2:
   30476              :           if (!((
   30477              : #line 7521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30478              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   30479              :   && ix86_pre_reload_split ()) && 
   30480              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30481              : (TARGET_AVX512VL)) && 
   30482              : #line 7524 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30483              : ( 1)))
   30484              :             return NULL;
   30485              :           return gen_split_1584 (insn, operands);
   30486              : 
   30487              :         case 3:
   30488              :           if (!(
   30489              : #line 7538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30490              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   30491              :   && ix86_pre_reload_split ()) && 
   30492              : #line 7541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30493              : ( 1)))
   30494              :             return NULL;
   30495              :           return gen_split_1585 (insn, operands);
   30496              : 
   30497              :         case 4:
   30498              :           if (!((
   30499              : #line 7538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30500              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   30501              :   && ix86_pre_reload_split ()) && 
   30502              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30503              : (TARGET_AVX512VL)) && 
   30504              : #line 7541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30505              : ( 1)))
   30506              :             return NULL;
   30507              :           return gen_split_1586 (insn, operands);
   30508              : 
   30509              :         case 5:
   30510              :           if (!((
   30511              : #line 7538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30512              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   30513              :   && ix86_pre_reload_split ()) && 
   30514              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30515              : (TARGET_AVX512VL)) && 
   30516              : #line 7541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30517              : ( 1)))
   30518              :             return NULL;
   30519              :           return gen_split_1587 (insn, operands);
   30520              : 
   30521              :         case 6:
   30522              :           if (!(
   30523              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30524              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   30525              :   && ix86_pre_reload_split ()) && 
   30526              : #line 7559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30527              : ( 1)))
   30528              :             return NULL;
   30529              :           return gen_split_1588 (insn, operands);
   30530              : 
   30531              :         case 7:
   30532              :           if (!((
   30533              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30534              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   30535              :   && ix86_pre_reload_split ()) && 
   30536              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30537              : (TARGET_AVX512VL)) && 
   30538              : #line 7559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30539              : ( 1)))
   30540              :             return NULL;
   30541              :           return gen_split_1590 (insn, operands);
   30542              : 
   30543              :         case 8:
   30544              :           if (!((
   30545              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30546              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   30547              :   && ix86_pre_reload_split ()) && 
   30548              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30549              : (TARGET_AVX512VL)) && 
   30550              : #line 7559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30551              : ( 1)))
   30552              :             return NULL;
   30553              :           return gen_split_1592 (insn, operands);
   30554              : 
   30555              :         case 9:
   30556              :           if (!(
   30557              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30558              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   30559              :   && ix86_pre_reload_split ()) && 
   30560              : #line 7559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30561              : ( 1)))
   30562              :             return NULL;
   30563              :           return gen_split_1589 (insn, operands);
   30564              : 
   30565              :         case 10:
   30566              :           if (!((
   30567              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30568              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   30569              :   && ix86_pre_reload_split ()) && 
   30570              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30571              : (TARGET_AVX512VL)) && 
   30572              : #line 7559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30573              : ( 1)))
   30574              :             return NULL;
   30575              :           return gen_split_1591 (insn, operands);
   30576              : 
   30577              :         case 11:
   30578              :           if (!((
   30579              : #line 7556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30580              : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
   30581              :   && ix86_pre_reload_split ()) && 
   30582              : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30583              : (TARGET_AVX512VL)) && 
   30584              : #line 7559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30585              : ( 1)))
   30586              :             return NULL;
   30587              :           return gen_split_1593 (insn, operands);
   30588              : 
   30589              :         default:
   30590              :           return NULL;
   30591              :         }
   30592              : 
   30593              :     case VEC_CONCAT:
   30594              :       x3 = XEXP (x2, 0);
   30595              :       switch (GET_CODE (x3))
   30596              :         {
   30597              :         case ZERO_EXTEND:
   30598              :           switch (pattern188 (x2))
   30599              :             {
   30600              :             case 0:
   30601              :               if (!(
   30602              : #line 12426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30603              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) && 
   30604              : #line 12428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30605              : ( 1)))
   30606              :                 return NULL;
   30607              :               return gen_split_1631 (insn, operands);
   30608              : 
   30609              :             case 1:
   30610              :               if (!(
   30611              : #line 12540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30612              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   30613              : #line 12542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30614              : ( 1)))
   30615              :                 return NULL;
   30616              :               return gen_split_1635 (insn, operands);
   30617              : 
   30618              :             default:
   30619              :               return NULL;
   30620              :             }
   30621              : 
   30622              :         case VEC_SELECT:
   30623              :           if (GET_MODE (x3) != E_DFmode)
   30624              :             return NULL;
   30625              :           x4 = XEXP (x3, 1);
   30626              :           if (GET_CODE (x4) != PARALLEL
   30627              :               || XVECLEN (x4, 0) != 1)
   30628              :             return NULL;
   30629              :           x5 = XVECEXP (x4, 0, 0);
   30630              :           if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   30631              :               || !memory_operand (operands[0], E_V2DFmode)
   30632              :               || GET_MODE (x2) != E_V2DFmode)
   30633              :             return NULL;
   30634              :           x6 = XEXP (x2, 1);
   30635              :           operands[1] = x6;
   30636              :           if (!register_operand (operands[1], E_DFmode))
   30637              :             return NULL;
   30638              :           x7 = XEXP (x3, 0);
   30639              :           if (!rtx_equal_p (x7, operands[0])
   30640              :               || !
   30641              : #line 15076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30642              : (TARGET_SSE2 && reload_completed))
   30643              :             return NULL;
   30644              :           return gen_split_3257 (insn, operands);
   30645              : 
   30646              :         case REG:
   30647              :         case SUBREG:
   30648              :         case MEM:
   30649              :           operands[1] = x3;
   30650              :           res = split_80 (x1, insn);
   30651              :           if (res != NULL_RTX)
   30652              :             return res;
   30653              :           if (GET_CODE (x3) != SUBREG
   30654              :               || maybe_ne (SUBREG_BYTE (x3), 0))
   30655              :             return NULL;
   30656              :           x6 = XEXP (x2, 1);
   30657              :           if (GET_CODE (x6) != SUBREG)
   30658              :             return NULL;
   30659              :           x7 = XEXP (x3, 0);
   30660              :           switch (GET_CODE (x7))
   30661              :             {
   30662              :             case REG:
   30663              :             case SUBREG:
   30664              :               operands[1] = x7;
   30665              :               if (!register_operand (operands[1], E_TImode)
   30666              :                   || maybe_ne (SUBREG_BYTE (x6), 8)
   30667              :                   || GET_MODE (x6) != E_DImode
   30668              :                   || !register_operand (operands[0], E_V2DImode)
   30669              :                   || GET_MODE (x2) != E_V2DImode
   30670              :                   || GET_MODE (x3) != E_DImode)
   30671              :                 return NULL;
   30672              :               x8 = XEXP (x6, 0);
   30673              :               if (!rtx_equal_p (x8, operands[1])
   30674              :                   || !
   30675              : #line 22065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30676              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   30677              :                 return NULL;
   30678              :               return gen_split_3494 (insn, operands);
   30679              : 
   30680              :             case UNSPEC:
   30681              :               if (XVECLEN (x7, 0) != 1
   30682              :                   || XINT (x7, 1) != 120
   30683              :                   || GET_MODE (x7) != E_V16QImode
   30684              :                   || pattern1263 (x6) != 0
   30685              :                   || !register_operand (operands[0], E_V4DImode)
   30686              :                   || GET_MODE (x2) != E_V4DImode
   30687              :                   || GET_MODE (x3) != E_V2DImode)
   30688              :                 return NULL;
   30689              :               x9 = XVECEXP (x7, 0, 0);
   30690              :               operands[1] = x9;
   30691              :               if (!memory_operand (operands[1], E_V16QImode))
   30692              :                 return NULL;
   30693              :               x8 = XEXP (x6, 0);
   30694              :               x10 = XVECEXP (x8, 0, 0);
   30695              :               if (!rtx_equal_p (x10, operands[1])
   30696              :                   || !(
   30697              : #line 28598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30698              : (TARGET_AVX2 && ix86_pre_reload_split ()) && 
   30699              : #line 28600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30700              : ( 1)))
   30701              :                 return NULL;
   30702              :               return gen_split_3828 (insn, operands);
   30703              : 
   30704              :             default:
   30705              :               return NULL;
   30706              :             }
   30707              : 
   30708              :         case VEC_CONCAT:
   30709              :           if (pattern416 (x2) != 0)
   30710              :             return NULL;
   30711              :           x7 = XEXP (x3, 0);
   30712              :           operands[1] = x7;
   30713              :           switch (GET_MODE (operands[0]))
   30714              :             {
   30715              :             case E_V16SImode:
   30716              :               if (pattern1491 (x2, 
   30717              : E_V8SImode, 
   30718              : E_V4SImode, 
   30719              : E_V16SImode) != 0
   30720              :                   || !(
   30721              : #line 30839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30722              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
   30723              : #line 30841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30724              : ( reload_completed)))
   30725              :                 return NULL;
   30726              :               return gen_split_3920 (insn, operands);
   30727              : 
   30728              :             case E_V16SFmode:
   30729              :               if (pattern1491 (x2, 
   30730              : E_V8SFmode, 
   30731              : E_V4SFmode, 
   30732              : E_V16SFmode) != 0
   30733              :                   || !(
   30734              : #line 30839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30735              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
   30736              : #line 30841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30737              : ( reload_completed)))
   30738              :                 return NULL;
   30739              :               return gen_split_3921 (insn, operands);
   30740              : 
   30741              :             case E_V8DFmode:
   30742              :               if (pattern1491 (x2, 
   30743              : E_V4DFmode, 
   30744              : E_V2DFmode, 
   30745              : E_V8DFmode) != 0
   30746              :                   || !(
   30747              : #line 30839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30748              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
   30749              : #line 30841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30750              : ( reload_completed)))
   30751              :                 return NULL;
   30752              :               return gen_split_3922 (insn, operands);
   30753              : 
   30754              :             default:
   30755              :               return NULL;
   30756              :             }
   30757              : 
   30758              :         default:
   30759              :           return NULL;
   30760              :         }
   30761              : 
   30762              :     case EQ:
   30763              :       x3 = XEXP (x2, 0);
   30764              :       switch (GET_CODE (x3))
   30765              :         {
   30766              :         case US_MINUS:
   30767              :           x7 = XEXP (x3, 0);
   30768              :           operands[1] = x7;
   30769              :           x4 = XEXP (x3, 1);
   30770              :           operands[2] = x4;
   30771              :           x6 = XEXP (x2, 1);
   30772              :           operands[3] = x6;
   30773              :           switch (GET_MODE (operands[0]))
   30774              :             {
   30775              :             case E_V32QImode:
   30776              :               if (pattern958 (x2, 
   30777              : E_V32QImode) != 0
   30778              :                   || !(
   30779              : #line 16662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30780              : (TARGET_SSE2
   30781              :    && (V32QImode != V8HImode || TARGET_SSE4_1)
   30782              :    && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)) && 
   30783              : #line 728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30784              : (TARGET_AVX2)))
   30785              :                 return NULL;
   30786              :               return gen_split_3300 (insn, operands);
   30787              : 
   30788              :             case E_V16QImode:
   30789              :               if (pattern958 (x2, 
   30790              : E_V16QImode) != 0
   30791              :                   || !
   30792              : #line 16662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30793              : (TARGET_SSE2
   30794              :    && (V16QImode != V8HImode || TARGET_SSE4_1)
   30795              :    && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)))
   30796              :                 return NULL;
   30797              :               return gen_split_3301 (insn, operands);
   30798              : 
   30799              :             case E_V16HImode:
   30800              :               if (pattern958 (x2, 
   30801              : E_V16HImode) != 0
   30802              :                   || !(
   30803              : #line 16662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30804              : (TARGET_SSE2
   30805              :    && (V16HImode != V8HImode || TARGET_SSE4_1)
   30806              :    && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)) && 
   30807              : #line 729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30808              : (TARGET_AVX2)))
   30809              :                 return NULL;
   30810              :               return gen_split_3302 (insn, operands);
   30811              : 
   30812              :             case E_V8HImode:
   30813              :               if (pattern958 (x2, 
   30814              : E_V8HImode) != 0
   30815              :                   || !
   30816              : #line 16662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30817              : (TARGET_SSE2
   30818              :    && (V8HImode != V8HImode || TARGET_SSE4_1)
   30819              :    && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)))
   30820              :                 return NULL;
   30821              :               return gen_split_3303 (insn, operands);
   30822              : 
   30823              :             default:
   30824              :               return NULL;
   30825              :             }
   30826              : 
   30827              :         case EQ:
   30828              :           x4 = XEXP (x3, 1);
   30829              :           operands[3] = x4;
   30830              :           x6 = XEXP (x2, 1);
   30831              :           operands[4] = x6;
   30832              :           x7 = XEXP (x3, 0);
   30833              :           switch (GET_CODE (x7))
   30834              :             {
   30835              :             case LSHIFTRT:
   30836              :               x11 = XEXP (x7, 0);
   30837              :               operands[1] = x11;
   30838              :               x12 = XEXP (x7, 1);
   30839              :               operands[2] = x12;
   30840              :               if (!const_int_operand (operands[2], E_SImode))
   30841              :                 return NULL;
   30842              :               switch (GET_MODE (operands[0]))
   30843              :                 {
   30844              :                 case E_V16HImode:
   30845              :                   if (pattern1264 (x2, 
   30846              : E_V16HImode) != 0
   30847              :                       || !(
   30848              : #line 17856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30849              : (INTVAL (operands[2]) == GET_MODE_PRECISION (HImode) - 1) && 
   30850              : #line 767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30851              : (TARGET_AVX2)))
   30852              :                     return NULL;
   30853              :                   return gen_split_3348 (insn, operands);
   30854              : 
   30855              :                 case E_V8HImode:
   30856              :                   if (pattern1264 (x2, 
   30857              : E_V8HImode) != 0
   30858              :                       || !
   30859              : #line 17856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30860              : (INTVAL (operands[2]) == GET_MODE_PRECISION (HImode) - 1))
   30861              :                     return NULL;
   30862              :                   return gen_split_3349 (insn, operands);
   30863              : 
   30864              :                 case E_V8SImode:
   30865              :                   if (pattern1264 (x2, 
   30866              : E_V8SImode) != 0
   30867              :                       || !(
   30868              : #line 17856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30869              : (INTVAL (operands[2]) == GET_MODE_PRECISION (SImode) - 1) && 
   30870              : #line 768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30871              : (TARGET_AVX2)))
   30872              :                     return NULL;
   30873              :                   return gen_split_3350 (insn, operands);
   30874              : 
   30875              :                 case E_V4SImode:
   30876              :                   if (pattern1264 (x2, 
   30877              : E_V4SImode) != 0
   30878              :                       || !
   30879              : #line 17856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30880              : (INTVAL (operands[2]) == GET_MODE_PRECISION (SImode) - 1))
   30881              :                     return NULL;
   30882              :                   return gen_split_3351 (insn, operands);
   30883              : 
   30884              :                 case E_V4DImode:
   30885              :                   if (pattern1264 (x2, 
   30886              : E_V4DImode) != 0
   30887              :                       || !(
   30888              : #line 17856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30889              : (INTVAL (operands[2]) == GET_MODE_PRECISION (DImode) - 1) && 
   30890              : #line 769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30891              : (TARGET_AVX2)))
   30892              :                     return NULL;
   30893              :                   return gen_split_3352 (insn, operands);
   30894              : 
   30895              :                 case E_V2DImode:
   30896              :                   if (pattern1264 (x2, 
   30897              : E_V2DImode) != 0
   30898              :                       || !
   30899              : #line 17856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30900              : (INTVAL (operands[2]) == GET_MODE_PRECISION (DImode) - 1))
   30901              :                     return NULL;
   30902              :                   return gen_split_3353 (insn, operands);
   30903              : 
   30904              :                 default:
   30905              :                   return NULL;
   30906              :                 }
   30907              : 
   30908              :             case EQ:
   30909              :               x11 = XEXP (x7, 0);
   30910              :               operands[1] = x11;
   30911              :               x12 = XEXP (x7, 1);
   30912              :               operands[2] = x12;
   30913              :               switch (GET_MODE (operands[0]))
   30914              :                 {
   30915              :                 case E_V32QImode:
   30916              :                   if (pattern1153 (x2, 
   30917              : E_V32QImode) != 0
   30918              :                       || !((
   30919              : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30920              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   30921              : #line 584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30922              : (TARGET_AVX2)) && 
   30923              : #line 18282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30924              : ( 1)))
   30925              :                     return NULL;
   30926              :                   return gen_split_3356 (insn, operands);
   30927              : 
   30928              :                 case E_V16QImode:
   30929              :                   if (pattern1153 (x2, 
   30930              : E_V16QImode) != 0
   30931              :                       || !(
   30932              : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30933              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   30934              : #line 18282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30935              : ( 1)))
   30936              :                     return NULL;
   30937              :                   return gen_split_3357 (insn, operands);
   30938              : 
   30939              :                 case E_V16HImode:
   30940              :                   if (pattern1153 (x2, 
   30941              : E_V16HImode) != 0
   30942              :                       || !((
   30943              : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30944              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   30945              : #line 585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30946              : (TARGET_AVX2)) && 
   30947              : #line 18282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30948              : ( 1)))
   30949              :                     return NULL;
   30950              :                   return gen_split_3358 (insn, operands);
   30951              : 
   30952              :                 case E_V8HImode:
   30953              :                   if (pattern1153 (x2, 
   30954              : E_V8HImode) != 0
   30955              :                       || !(
   30956              : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30957              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   30958              : #line 18282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30959              : ( 1)))
   30960              :                     return NULL;
   30961              :                   return gen_split_3359 (insn, operands);
   30962              : 
   30963              :                 case E_V8SImode:
   30964              :                   if (pattern1153 (x2, 
   30965              : E_V8SImode) != 0
   30966              :                       || !((
   30967              : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30968              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   30969              : #line 586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30970              : (TARGET_AVX2)) && 
   30971              : #line 18282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30972              : ( 1)))
   30973              :                     return NULL;
   30974              :                   return gen_split_3360 (insn, operands);
   30975              : 
   30976              :                 case E_V4SImode:
   30977              :                   if (pattern1153 (x2, 
   30978              : E_V4SImode) != 0
   30979              :                       || !(
   30980              : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30981              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   30982              : #line 18282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30983              : ( 1)))
   30984              :                     return NULL;
   30985              :                   return gen_split_3361 (insn, operands);
   30986              : 
   30987              :                 case E_V4DImode:
   30988              :                   if (pattern1153 (x2, 
   30989              : E_V4DImode) != 0
   30990              :                       || !((
   30991              : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30992              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   30993              : #line 587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30994              : (TARGET_AVX2)) && 
   30995              : #line 18282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30996              : ( 1)))
   30997              :                     return NULL;
   30998              :                   return gen_split_3362 (insn, operands);
   30999              : 
   31000              :                 case E_V2DImode:
   31001              :                   if (pattern1153 (x2, 
   31002              : E_V2DImode) != 0
   31003              :                       || !(
   31004              : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31005              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   31006              : #line 18282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31007              : ( 1)))
   31008              :                     return NULL;
   31009              :                   return gen_split_3363 (insn, operands);
   31010              : 
   31011              :                 default:
   31012              :                   return NULL;
   31013              :                 }
   31014              : 
   31015              :             default:
   31016              :               return NULL;
   31017              :             }
   31018              : 
   31019              :         default:
   31020              :           return NULL;
   31021              :         }
   31022              : 
   31023              :     case LT:
   31024              :       switch (pattern203 (x2))
   31025              :         {
   31026              :         case 0:
   31027              :           if (!((
   31028              : #line 17452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31029              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   31030              : #line 736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31031              : (TARGET_AVX2)) && 
   31032              : #line 17454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31033              : ( 1)))
   31034              :             return NULL;
   31035              :           return gen_split_3304 (insn, operands);
   31036              : 
   31037              :         case 1:
   31038              :           if (!(
   31039              : #line 17452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31040              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   31041              : #line 17454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31042              : ( 1)))
   31043              :             return NULL;
   31044              :           return gen_split_3305 (insn, operands);
   31045              : 
   31046              :         case 2:
   31047              :           if (!((
   31048              : #line 17452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31049              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   31050              : #line 737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31051              : (TARGET_AVX2)) && 
   31052              : #line 17454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31053              : ( 1)))
   31054              :             return NULL;
   31055              :           return gen_split_3306 (insn, operands);
   31056              : 
   31057              :         case 3:
   31058              :           if (!(
   31059              : #line 17452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31060              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   31061              : #line 17454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31062              : ( 1)))
   31063              :             return NULL;
   31064              :           return gen_split_3307 (insn, operands);
   31065              : 
   31066              :         default:
   31067              :           return NULL;
   31068              :         }
   31069              : 
   31070              :     case ASHIFT:
   31071              :       switch (pattern244 (x2))
   31072              :         {
   31073              :         case 0:
   31074              :           if (!(
   31075              : #line 17719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31076              : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V32HImode)
   31077              :    > INTVAL (XVECEXP (operands[2], 0, 0))) && 
   31078              : #line 777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31079              : (TARGET_AVX512BW)))
   31080              :             return NULL;
   31081              :           return gen_split_3336 (insn, operands);
   31082              : 
   31083              :         case 1:
   31084              :           if (!
   31085              : #line 17719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31086              : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V16SImode)
   31087              :    > INTVAL (XVECEXP (operands[2], 0, 0))))
   31088              :             return NULL;
   31089              :           return gen_split_3339 (insn, operands);
   31090              : 
   31091              :         case 2:
   31092              :           if (!
   31093              : #line 17719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31094              : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V8DImode)
   31095              :    > INTVAL (XVECEXP (operands[2], 0, 0))))
   31096              :             return NULL;
   31097              :           return gen_split_3342 (insn, operands);
   31098              : 
   31099              :         case 3:
   31100              :           if (!(
   31101              : #line 17778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31102              : (TARGET_SSE2 && TARGET_64BIT
   31103              :    && ix86_pre_reload_split ()) && 
   31104              : #line 17781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31105              : ( 1)))
   31106              :             return NULL;
   31107              :           return gen_split_3345 (insn, operands);
   31108              : 
   31109              :         default:
   31110              :           return NULL;
   31111              :         }
   31112              : 
   31113              :     case LSHIFTRT:
   31114              :       switch (pattern244 (x2))
   31115              :         {
   31116              :         case 0:
   31117              :           if (!(
   31118              : #line 17719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31119              : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V32HImode)
   31120              :    > INTVAL (XVECEXP (operands[2], 0, 0))) && 
   31121              : #line 777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31122              : (TARGET_AVX512BW)))
   31123              :             return NULL;
   31124              :           return gen_split_3337 (insn, operands);
   31125              : 
   31126              :         case 1:
   31127              :           if (!
   31128              : #line 17719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31129              : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V16SImode)
   31130              :    > INTVAL (XVECEXP (operands[2], 0, 0))))
   31131              :             return NULL;
   31132              :           return gen_split_3340 (insn, operands);
   31133              : 
   31134              :         case 2:
   31135              :           if (!
   31136              : #line 17719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31137              : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V8DImode)
   31138              :    > INTVAL (XVECEXP (operands[2], 0, 0))))
   31139              :             return NULL;
   31140              :           return gen_split_3343 (insn, operands);
   31141              : 
   31142              :         case 3:
   31143              :           if (!(
   31144              : #line 17807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31145              : (TARGET_SSE2 && TARGET_64BIT
   31146              :    && ix86_pre_reload_split ()) && 
   31147              : #line 17810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31148              : ( 1)))
   31149              :             return NULL;
   31150              :           return gen_split_3346 (insn, operands);
   31151              : 
   31152              :         default:
   31153              :           return NULL;
   31154              :         }
   31155              : 
   31156              :     case ASHIFTRT:
   31157              :       x3 = XEXP (x2, 0);
   31158              :       operands[1] = x3;
   31159              :       x6 = XEXP (x2, 1);
   31160              :       operands[2] = x6;
   31161              :       switch (GET_CODE (operands[2]))
   31162              :         {
   31163              :         case CONST_VECTOR:
   31164              :           switch (GET_MODE (operands[0]))
   31165              :             {
   31166              :             case E_V32HImode:
   31167              :               if (pattern243 (x2, 
   31168              : E_V32HImode) == 0
   31169              :                   && (
   31170              : #line 17719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31171              : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V32HImode)
   31172              :    > INTVAL (XVECEXP (operands[2], 0, 0))) && 
   31173              : #line 777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31174              : (TARGET_AVX512BW)))
   31175              :                 return gen_split_3338 (insn, operands);
   31176              :               break;
   31177              : 
   31178              :             case E_V16SImode:
   31179              :               if (pattern243 (x2, 
   31180              : E_V16SImode) == 0
   31181              :                   && 
   31182              : #line 17719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31183              : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V16SImode)
   31184              :    > INTVAL (XVECEXP (operands[2], 0, 0))))
   31185              :                 return gen_split_3341 (insn, operands);
   31186              :               break;
   31187              : 
   31188              :             case E_V8DImode:
   31189              :               if (pattern243 (x2, 
   31190              : E_V8DImode) == 0
   31191              :                   && 
   31192              : #line 17719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31193              : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V8DImode)
   31194              :    > INTVAL (XVECEXP (operands[2], 0, 0))))
   31195              :                 return gen_split_3344 (insn, operands);
   31196              :               break;
   31197              : 
   31198              :             default:
   31199              :               break;
   31200              :             }
   31201              :           break;
   31202              : 
   31203              :         case CONST_INT:
   31204              :           if (const_0_to_255_operand (operands[2], E_SImode)
   31205              :               && register_operand (operands[0], E_V1TImode)
   31206              :               && GET_MODE (x2) == E_V1TImode
   31207              :               && register_operand (operands[1], E_V1TImode)
   31208              :               && (
   31209              : #line 17837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31210              : (TARGET_SSE2 && TARGET_64BIT
   31211              :    && ix86_pre_reload_split ()) && 
   31212              : #line 17840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31213              : ( 1)))
   31214              :             return gen_split_3347 (insn, operands);
   31215              :           break;
   31216              : 
   31217              :         default:
   31218              :           break;
   31219              :         }
   31220              :       if (!nonmemory_operand (operands[2], E_DImode)
   31221              :           || !register_operand (operands[0], E_V2DImode)
   31222              :           || GET_MODE (x2) != E_V2DImode
   31223              :           || !register_operand (operands[1], E_V2DImode)
   31224              :           || !(
   31225              : #line 27669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31226              : (TARGET_SSE2 && !TARGET_AVX512VL && ix86_pre_reload_split ()) && 
   31227              : #line 27671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31228              : ( 1)))
   31229              :         return NULL;
   31230              :       return gen_split_3825 (insn, operands);
   31231              : 
   31232              :     case ROTATE:
   31233              :       if (pattern245 (x2) != 0
   31234              :           || !(
   31235              : #line 17878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31236              : (TARGET_SSE2 && TARGET_64BIT
   31237              :    && ix86_pre_reload_split ()) && 
   31238              : #line 17881 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31239              : ( 1)))
   31240              :         return NULL;
   31241              :       return gen_split_3354 (insn, operands);
   31242              : 
   31243              :     case ROTATERT:
   31244              :       if (pattern245 (x2) != 0
   31245              :           || !(
   31246              : #line 17907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31247              : (TARGET_SSE2 && TARGET_64BIT
   31248              :    && ix86_pre_reload_split ()) && 
   31249              : #line 17910 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31250              : ( 1)))
   31251              :         return NULL;
   31252              :       return gen_split_3355 (insn, operands);
   31253              : 
   31254              :     case VEC_DUPLICATE:
   31255              :       return split_86 (x1, insn);
   31256              : 
   31257              :     case SIGN_EXTEND:
   31258              :       x3 = XEXP (x2, 0);
   31259              :       if (pattern246 (x3) != 0)
   31260              :         return NULL;
   31261              :       switch (pattern691 (x2))
   31262              :         {
   31263              :         case 0:
   31264              :           if (!(
   31265              : #line 24614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31266              : (TARGET_SSE4_1
   31267              :    && ix86_pre_reload_split ()) && 
   31268              : #line 24617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31269              : ( 1)))
   31270              :             return NULL;
   31271              :           return gen_split_3608 (insn, operands);
   31272              : 
   31273              :         case 1:
   31274              :           if (!(
   31275              : #line 24792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31276              : (TARGET_AVX2
   31277              :    && ix86_pre_reload_split ()) && 
   31278              : #line 24795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31279              : ( 1)))
   31280              :             return NULL;
   31281              :           return gen_split_3616 (insn, operands);
   31282              : 
   31283              :         case 2:
   31284              :           if (!(
   31285              : #line 25237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31286              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   31287              : #line 25239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31288              : ( 1)))
   31289              :             return NULL;
   31290              :           return gen_split_3642 (insn, operands);
   31291              : 
   31292              :         case 3:
   31293              :           if (!(
   31294              : #line 25082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31295              : (TARGET_SSE4_1
   31296              :    && ix86_pre_reload_split ()) && 
   31297              : #line 25085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31298              : ( 1)))
   31299              :             return NULL;
   31300              :           return gen_split_3634 (insn, operands);
   31301              : 
   31302              :         case 4:
   31303              :           if (!(
   31304              : #line 25492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31305              : (TARGET_AVX2
   31306              :    && ix86_pre_reload_split ()) && 
   31307              : #line 25495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31308              : ( 1)))
   31309              :             return NULL;
   31310              :           return gen_split_3653 (insn, operands);
   31311              : 
   31312              :         case 5:
   31313              :           if (!(
   31314              : #line 25770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31315              : (TARGET_SSE4_1
   31316              :    && ix86_pre_reload_split ()) && 
   31317              : #line 25773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31318              : ( 1)))
   31319              :             return NULL;
   31320              :           return gen_split_3665 (insn, operands);
   31321              : 
   31322              :         case 6:
   31323              :           if ((
   31324              : #line 24884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31325              : (TARGET_SSE4_1 && 1
   31326              :    && ix86_pre_reload_split ()) && 
   31327              : #line 24887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31328              : ( 1)))
   31329              :             return gen_split_3620 (insn, operands);
   31330              :           if (!(
   31331              : #line 24884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31332              : (TARGET_SSE4_1 && TARGET_AVX512VL
   31333              :    && ix86_pre_reload_split ()) && 
   31334              : #line 24887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31335              : ( 1)))
   31336              :             return NULL;
   31337              :           return gen_split_3621 (insn, operands);
   31338              : 
   31339              :         case 7:
   31340              :           if (!(
   31341              : #line 25324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31342              : (TARGET_AVX2
   31343              :    && ix86_pre_reload_split ()) && 
   31344              : #line 25327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31345              : ( 1)))
   31346              :             return NULL;
   31347              :           return gen_split_3646 (insn, operands);
   31348              : 
   31349              :         case 8:
   31350              :           if (!(
   31351              : #line 25580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31352              : (TARGET_SSE4_1
   31353              :    && ix86_pre_reload_split ()) && 
   31354              : #line 25583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31355              : ( 1)))
   31356              :             return NULL;
   31357              :           return gen_split_3657 (insn, operands);
   31358              : 
   31359              :         default:
   31360              :           return NULL;
   31361              :         }
   31362              : 
   31363              :     case ZERO_EXTEND:
   31364              :       x3 = XEXP (x2, 0);
   31365              :       if (pattern246 (x3) != 0)
   31366              :         return NULL;
   31367              :       x7 = XEXP (x3, 0);
   31368              :       x11 = XEXP (x7, 0);
   31369              :       switch (GET_CODE (x11))
   31370              :         {
   31371              :         case VEC_CONCAT:
   31372              :           switch (pattern689 (x2))
   31373              :             {
   31374              :             case 0:
   31375              :               if (!(
   31376              : #line 24614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31377              : (TARGET_SSE4_1
   31378              :    && ix86_pre_reload_split ()) && 
   31379              : #line 24617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31380              : ( 1)))
   31381              :                 return NULL;
   31382              :               return gen_split_3609 (insn, operands);
   31383              : 
   31384              :             case 1:
   31385              :               if (!(
   31386              : #line 24792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31387              : (TARGET_AVX2
   31388              :    && ix86_pre_reload_split ()) && 
   31389              : #line 24795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31390              : ( 1)))
   31391              :                 return NULL;
   31392              :               return gen_split_3617 (insn, operands);
   31393              : 
   31394              :             case 2:
   31395              :               if (!(
   31396              : #line 25237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31397              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   31398              : #line 25239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31399              : ( 1)))
   31400              :                 return NULL;
   31401              :               return gen_split_3643 (insn, operands);
   31402              : 
   31403              :             case 3:
   31404              :               if (!(
   31405              : #line 25082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31406              : (TARGET_SSE4_1
   31407              :    && ix86_pre_reload_split ()) && 
   31408              : #line 25085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31409              : ( 1)))
   31410              :                 return NULL;
   31411              :               return gen_split_3635 (insn, operands);
   31412              : 
   31413              :             case 4:
   31414              :               if (!(
   31415              : #line 25492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31416              : (TARGET_AVX2
   31417              :    && ix86_pre_reload_split ()) && 
   31418              : #line 25495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31419              : ( 1)))
   31420              :                 return NULL;
   31421              :               return gen_split_3654 (insn, operands);
   31422              : 
   31423              :             case 5:
   31424              :               if (!(
   31425              : #line 25770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31426              : (TARGET_SSE4_1
   31427              :    && ix86_pre_reload_split ()) && 
   31428              : #line 25773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31429              : ( 1)))
   31430              :                 return NULL;
   31431              :               return gen_split_3666 (insn, operands);
   31432              : 
   31433              :             default:
   31434              :               return NULL;
   31435              :             }
   31436              : 
   31437              :         case VEC_MERGE:
   31438              :           x13 = XEXP (x11, 0);
   31439              :           if (GET_CODE (x13) != VEC_DUPLICATE)
   31440              :             return NULL;
   31441              :           if (GET_MODE (x13) == E_V4SImode)
   31442              :             {
   31443              :               switch (pattern1042 (x2))
   31444              :                 {
   31445              :                 case 0:
   31446              :                   if ((
   31447              : #line 24884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31448              : (TARGET_SSE4_1 && 1
   31449              :    && ix86_pre_reload_split ()) && 
   31450              : #line 24887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31451              : ( 1)))
   31452              :                     return gen_split_3622 (insn, operands);
   31453              :                   if ((
   31454              : #line 24884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31455              : (TARGET_SSE4_1 && TARGET_AVX512VL
   31456              :    && ix86_pre_reload_split ()) && 
   31457              : #line 24887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31458              : ( 1)))
   31459              :                     return gen_split_3623 (insn, operands);
   31460              :                   break;
   31461              : 
   31462              :                 case 1:
   31463              :                   if ((
   31464              : #line 25324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31465              : (TARGET_AVX2
   31466              :    && ix86_pre_reload_split ()) && 
   31467              : #line 25327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31468              : ( 1)))
   31469              :                     return gen_split_3647 (insn, operands);
   31470              :                   break;
   31471              : 
   31472              :                 case 2:
   31473              :                   if ((
   31474              : #line 25580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31475              : (TARGET_SSE4_1
   31476              :    && ix86_pre_reload_split ()) && 
   31477              : #line 25583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31478              : ( 1)))
   31479              :                     return gen_split_3658 (insn, operands);
   31480              :                   break;
   31481              : 
   31482              :                 default:
   31483              :                   break;
   31484              :                 }
   31485              :             }
   31486              :           x14 = XEXP (x11, 2);
   31487              :           if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   31488              :             return NULL;
   31489              :           switch (pattern1043 (x2))
   31490              :             {
   31491              :             case 0:
   31492              :               if (!(
   31493              : #line 25429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31494              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   31495              : #line 25431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31496              : ( 1)))
   31497              :                 return NULL;
   31498              :               return gen_split_3650 (insn, operands);
   31499              : 
   31500              :             case 1:
   31501              :               if (!(
   31502              : #line 25429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31503              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   31504              : #line 25431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31505              : ( 1)))
   31506              :                 return NULL;
   31507              :               return gen_split_3651 (insn, operands);
   31508              : 
   31509              :             case 2:
   31510              :               if (!(
   31511              : #line 25429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31512              : (TARGET_SSE4_1 && ix86_pre_reload_split ()) && 
   31513              : #line 25431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31514              : ( 1)))
   31515              :                 return NULL;
   31516              :               return gen_split_3652 (insn, operands);
   31517              : 
   31518              :             default:
   31519              :               return NULL;
   31520              :             }
   31521              : 
   31522              :         default:
   31523              :           return NULL;
   31524              :         }
   31525              : 
   31526              :     default:
   31527              :       return NULL;
   31528              :     }
   31529              : }
   31530              : 
   31531              :  rtx_insn *
   31532              : peephole2_9 (rtx x1 ATTRIBUTE_UNUSED,
   31533              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31534              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31535              : {
   31536              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31537              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   31538              :   rtx x10, x11, x12;
   31539              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31540              :   if (peep2_current_count < 2)
   31541              :     return NULL;
   31542              :   x2 = XEXP (x1, 1);
   31543              :   if (GET_MODE (x2) != E_DFmode)
   31544              :     return NULL;
   31545              :   x3 = XEXP (x2, 1);
   31546              :   if (GET_CODE (x3) != PARALLEL
   31547              :       || XVECLEN (x3, 0) != 1)
   31548              :     return NULL;
   31549              :   x4 = XVECEXP (x3, 0, 0);
   31550              :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   31551              :     return NULL;
   31552              :   x5 = XEXP (x1, 0);
   31553              :   operands[0] = x5;
   31554              :   if (!memory_operand (operands[0], E_DFmode))
   31555              :     return NULL;
   31556              :   x6 = XEXP (x2, 0);
   31557              :   operands[1] = x6;
   31558              :   if (!sse_reg_operand (operands[1], E_V2DFmode))
   31559              :     return NULL;
   31560              :   x7 = PATTERN (peep2_next_insn (1));
   31561              :   if (GET_CODE (x7) != SET)
   31562              :     return NULL;
   31563              :   x8 = XEXP (x7, 1);
   31564              :   if (GET_CODE (x8) != VEC_SELECT
   31565              :       || GET_MODE (x8) != E_DFmode)
   31566              :     return NULL;
   31567              :   x9 = XEXP (x8, 1);
   31568              :   if (GET_CODE (x9) != PARALLEL
   31569              :       || XVECLEN (x9, 0) != 1)
   31570              :     return NULL;
   31571              :   x10 = XVECEXP (x9, 0, 0);
   31572              :   if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   31573              :     return NULL;
   31574              :   x11 = XEXP (x7, 0);
   31575              :   operands[2] = x11;
   31576              :   if (!memory_operand (operands[2], E_DFmode))
   31577              :     return NULL;
   31578              :   x12 = XEXP (x8, 0);
   31579              :   operands[3] = x12;
   31580              :   if (!sse_reg_operand (operands[3], E_V2DFmode)
   31581              :       || !
   31582              : #line 2002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   31583              : (TARGET_SSE2 && TARGET_SSE_UNALIGNED_STORE_OPTIMAL
   31584              :    && ix86_operands_ok_for_move_multiple (operands, false, DFmode)))
   31585              :     return NULL;
   31586              :   *pmatch_len_ = 1;
   31587              :   return gen_peephole2_434 (insn, operands);
   31588              : }
   31589              : 
   31590              :  rtx_insn *
   31591              : peephole2_10 (rtx x1 ATTRIBUTE_UNUSED,
   31592              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31593              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31594              : {
   31595              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31596              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   31597              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   31598              :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
   31599              :   rtx x26, x27, x28, x29;
   31600              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31601              :   if (address_no_seg_operand (operands[1], E_SImode)
   31602              :       && 
   31603              : #line 6401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31604              : (ix86_hardreg_mov_ok (operands[0], operands[1])
   31605              :    && peep2_regno_dead_p (0, FLAGS_REG)
   31606              :    && ix86_avoid_lea_for_addr (peep2_next_insn (0), operands)))
   31607              :     {
   31608              :       *pmatch_len_ = 0;
   31609              :       res = gen_peephole2_60 (insn, operands);
   31610              :       if (res != NULL_RTX)
   31611              :         return res;
   31612              :     }
   31613              :   if (peep2_current_count < 2
   31614              :       || !memory_operand (operands[1], E_SImode))
   31615              :     return NULL;
   31616              :   x2 = PATTERN (peep2_next_insn (1));
   31617              :   switch (GET_CODE (x2))
   31618              :     {
   31619              :     case CALL:
   31620              :       x3 = XEXP (x2, 0);
   31621              :       if (GET_CODE (x3) != MEM
   31622              :           || GET_MODE (x3) != E_QImode)
   31623              :         return NULL;
   31624              :       x4 = XEXP (x2, 1);
   31625              :       operands[3] = x4;
   31626              :       x5 = XEXP (x3, 0);
   31627              :       if (!rtx_equal_p (x5, operands[0])
   31628              :           || !(
   31629              : #line 20552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31630              : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER
   31631              :    && SIBLING_CALL_P (peep2_next_insn (1))
   31632              :    && !reg_mentioned_p (operands[0],
   31633              :                         CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))) && 
   31634              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31635              : (word_mode == SImode)))
   31636              :         return NULL;
   31637              :       *pmatch_len_ = 1;
   31638              :       return gen_peephole2_196 (insn, operands);
   31639              : 
   31640              :     case UNSPEC_VOLATILE:
   31641              :       if (pattern850 (x2) != 0)
   31642              :         return NULL;
   31643              :       x6 = PATTERN (peep2_next_insn (2));
   31644              :       switch (GET_CODE (x6))
   31645              :         {
   31646              :         case CALL:
   31647              :           x7 = XEXP (x6, 0);
   31648              :           if (GET_CODE (x7) != MEM
   31649              :               || GET_MODE (x7) != E_QImode)
   31650              :             return NULL;
   31651              :           x8 = XEXP (x6, 1);
   31652              :           operands[3] = x8;
   31653              :           x9 = XEXP (x7, 0);
   31654              :           if (!rtx_equal_p (x9, operands[0])
   31655              :               || !(
   31656              : #line 20566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31657              : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER
   31658              :    && SIBLING_CALL_P (peep2_next_insn (2))
   31659              :    && !reg_mentioned_p (operands[0],
   31660              :                         CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))) && 
   31661              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31662              : (word_mode == SImode)))
   31663              :             return NULL;
   31664              :           *pmatch_len_ = 2;
   31665              :           return gen_peephole2_198 (insn, operands);
   31666              : 
   31667              :         case PARALLEL:
   31668              :           if (XVECLEN (x6, 0) != 2)
   31669              :             return NULL;
   31670              :           x10 = XVECEXP (x6, 0, 1);
   31671              :           if (GET_CODE (x10) != SET)
   31672              :             return NULL;
   31673              :           x11 = XEXP (x10, 1);
   31674              :           if (GET_CODE (x11) != PLUS
   31675              :               || GET_MODE (x11) != E_SImode)
   31676              :             return NULL;
   31677              :           x12 = XEXP (x11, 0);
   31678              :           if (GET_CODE (x12) != REG
   31679              :               || REGNO (x12) != 7
   31680              :               || GET_MODE (x12) != E_SImode)
   31681              :             return NULL;
   31682              :           x13 = XEXP (x10, 0);
   31683              :           if (GET_CODE (x13) != REG
   31684              :               || REGNO (x13) != 7
   31685              :               || GET_MODE (x13) != E_SImode)
   31686              :             return NULL;
   31687              :           x14 = XEXP (x11, 1);
   31688              :           operands[4] = x14;
   31689              :           if (!immediate_operand (operands[4], E_SImode))
   31690              :             return NULL;
   31691              :           x15 = XVECEXP (x6, 0, 0);
   31692              :           switch (GET_CODE (x15))
   31693              :             {
   31694              :             case CALL:
   31695              :               x16 = XEXP (x15, 0);
   31696              :               if (GET_CODE (x16) != MEM
   31697              :                   || GET_MODE (x16) != E_QImode)
   31698              :                 return NULL;
   31699              :               x17 = XEXP (x15, 1);
   31700              :               operands[3] = x17;
   31701              :               x18 = XEXP (x16, 0);
   31702              :               if (!rtx_equal_p (x18, operands[0])
   31703              :                   || !
   31704              : #line 20646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31705              : (!TARGET_64BIT && SIBLING_CALL_P (peep2_next_insn (2))
   31706              :    && !reg_mentioned_p (operands[0],
   31707              :                         CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))))
   31708              :                 return NULL;
   31709              :               *pmatch_len_ = 2;
   31710              :               return gen_peephole2_201 (insn, operands);
   31711              : 
   31712              :             case SET:
   31713              :               x17 = XEXP (x15, 1);
   31714              :               if (GET_CODE (x17) != CALL)
   31715              :                 return NULL;
   31716              :               x19 = XEXP (x17, 0);
   31717              :               if (GET_CODE (x19) != MEM
   31718              :                   || GET_MODE (x19) != E_QImode)
   31719              :                 return NULL;
   31720              :               x16 = XEXP (x15, 0);
   31721              :               operands[2] = x16;
   31722              :               x20 = XEXP (x17, 1);
   31723              :               operands[3] = x20;
   31724              :               x21 = XEXP (x19, 0);
   31725              :               if (!rtx_equal_p (x21, operands[0])
   31726              :                   || !
   31727              : #line 20861 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31728              : (!TARGET_64BIT && SIBLING_CALL_P (peep2_next_insn (2))
   31729              :    && !reg_mentioned_p (operands[0],
   31730              :                         CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))))
   31731              :                 return NULL;
   31732              :               *pmatch_len_ = 2;
   31733              :               return gen_peephole2_209 (insn, operands);
   31734              : 
   31735              :             default:
   31736              :               return NULL;
   31737              :             }
   31738              : 
   31739              :         case SET:
   31740              :           if (pattern1352 (x6) != 0
   31741              :               || !(
   31742              : #line 20773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31743              : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER
   31744              :    && SIBLING_CALL_P (peep2_next_insn (2))
   31745              :    && !reg_mentioned_p (operands[0],
   31746              :                         CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))) && 
   31747              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31748              : (word_mode == SImode)))
   31749              :             return NULL;
   31750              :           *pmatch_len_ = 2;
   31751              :           return gen_peephole2_206 (insn, operands);
   31752              : 
   31753              :         default:
   31754              :           return NULL;
   31755              :         }
   31756              : 
   31757              :     case PARALLEL:
   31758              :       if (XVECLEN (x2, 0) != 2)
   31759              :         return NULL;
   31760              :       x22 = XVECEXP (x2, 0, 0);
   31761              :       if (GET_CODE (x22) != CALL)
   31762              :         return NULL;
   31763              :       x23 = XEXP (x22, 0);
   31764              :       if (GET_CODE (x23) != MEM
   31765              :           || GET_MODE (x23) != E_QImode)
   31766              :         return NULL;
   31767              :       x24 = XVECEXP (x2, 0, 1);
   31768              :       if (pattern1266 (x24) != 0)
   31769              :         return NULL;
   31770              :       x25 = XEXP (x24, 0);
   31771              :       if (GET_CODE (x25) != REG
   31772              :           || REGNO (x25) != 7
   31773              :           || GET_MODE (x25) != E_SImode)
   31774              :         return NULL;
   31775              :       x26 = XEXP (x22, 1);
   31776              :       operands[3] = x26;
   31777              :       x27 = XEXP (x24, 1);
   31778              :       x28 = XEXP (x27, 1);
   31779              :       operands[4] = x28;
   31780              :       if (!immediate_operand (operands[4], E_SImode))
   31781              :         return NULL;
   31782              :       x29 = XEXP (x23, 0);
   31783              :       if (!rtx_equal_p (x29, operands[0])
   31784              :           || !
   31785              : #line 20627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31786              : (!TARGET_64BIT && SIBLING_CALL_P (peep2_next_insn (1))
   31787              :    && !reg_mentioned_p (operands[0],
   31788              :                         CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))))
   31789              :         return NULL;
   31790              :       *pmatch_len_ = 1;
   31791              :       return gen_peephole2_200 (insn, operands);
   31792              : 
   31793              :     case SET:
   31794              :       switch (pattern851 (x2))
   31795              :         {
   31796              :         case 0:
   31797              :           if (!(
   31798              : #line 20663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31799              : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER
   31800              :    && peep2_reg_dead_p (2, operands[0])) && 
   31801              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31802              : (word_mode == SImode)))
   31803              :             return NULL;
   31804              :           *pmatch_len_ = 1;
   31805              :           return gen_peephole2_202 (insn, operands);
   31806              : 
   31807              :         case 1:
   31808              :           if (!(
   31809              : #line 20757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31810              : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER
   31811              :    && SIBLING_CALL_P (peep2_next_insn (1))
   31812              :    && !reg_mentioned_p (operands[0],
   31813              :                         CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))) && 
   31814              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31815              : (word_mode == SImode)))
   31816              :             return NULL;
   31817              :           *pmatch_len_ = 1;
   31818              :           return gen_peephole2_204 (insn, operands);
   31819              : 
   31820              :         default:
   31821              :           return NULL;
   31822              :         }
   31823              : 
   31824              :     default:
   31825              :       return NULL;
   31826              :     }
   31827              : }
   31828              : 
   31829              :  rtx_insn *
   31830              : peephole2_13 (rtx x1 ATTRIBUTE_UNUSED,
   31831              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31832              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31833              : {
   31834              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31835              :   rtx x2, x3;
   31836              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31837              :   x2 = PATTERN (peep2_next_insn (1));
   31838              :   if (GET_CODE (x2) != SET)
   31839              :     return NULL;
   31840              :   x3 = XEXP (x2, 0);
   31841              :   if (!general_reg_operand (x3, E_SImode))
   31842              :     return NULL;
   31843              :   operands[8] = x3;
   31844              :   switch (pattern962 (x1, 
   31845              : E_SImode, 
   31846              : E_DImode))
   31847              :     {
   31848              :     case 0:
   31849              :       if (
   31850              : #line 10003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31851              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31852              :    && peep2_reg_dead_p (4, operands[0])
   31853              :    && peep2_reg_dead_p (3, operands[2])
   31854              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31855              :    && !reg_overlap_mentioned_p (operands[2], operands[1])
   31856              :    && !reg_overlap_mentioned_p (operands[6], operands[9])
   31857              :    && (rtx_equal_p (operands[6], operands[0])
   31858              :        ? (rtx_equal_p (operands[7], operands[1])
   31859              :           && rtx_equal_p (operands[8], operands[2]))
   31860              :        : (rtx_equal_p (operands[8], operands[0])
   31861              :           && rtx_equal_p (operands[9], operands[1])
   31862              :           && rtx_equal_p (operands[6], operands[2])))))
   31863              :         {
   31864              :           *pmatch_len_ = 3;
   31865              :           res = gen_peephole2_116 (insn, operands);
   31866              :           if (res != NULL_RTX)
   31867              :             return res;
   31868              :         }
   31869              :       break;
   31870              : 
   31871              :     case 1:
   31872              :       if (
   31873              : #line 10058 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31874              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31875              :    && peep2_reg_dead_p (6, operands[0])
   31876              :    && peep2_reg_dead_p (3, operands[2])
   31877              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31878              :    && !reg_overlap_mentioned_p (operands[2], operands[1])
   31879              :    && !reg_overlap_mentioned_p (operands[6], operands[9])
   31880              :    && !reg_overlap_mentioned_p (operands[0], operands[10])
   31881              :    && !reg_overlap_mentioned_p (operands[10], operands[1])
   31882              :    && !reg_overlap_mentioned_p (operands[0], operands[11])
   31883              :    && !reg_overlap_mentioned_p (operands[11], operands[1])
   31884              :    && (rtx_equal_p (operands[6], operands[0])
   31885              :        ? (rtx_equal_p (operands[7], operands[1])
   31886              :           && rtx_equal_p (operands[8], operands[2]))
   31887              :        : (rtx_equal_p (operands[8], operands[0])
   31888              :           && rtx_equal_p (operands[9], operands[1])
   31889              :           && rtx_equal_p (operands[6], operands[2])))))
   31890              :         {
   31891              :           *pmatch_len_ = 5;
   31892              :           res = gen_peephole2_118 (insn, operands);
   31893              :           if (res != NULL_RTX)
   31894              :             return res;
   31895              :         }
   31896              :       break;
   31897              : 
   31898              :     default:
   31899              :       break;
   31900              :     }
   31901              :   operands[0] = x3;
   31902              :   if (pattern965 (x1, 
   31903              : E_SImode) != 0
   31904              :       || !
   31905              : #line 26984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31906              : (TARGET_CMOVE
   31907              :   && REGNO (operands[2]) != REGNO (operands[0])
   31908              :   && REGNO (operands[2]) != REGNO (operands[1])
   31909              :   && peep2_reg_dead_p (2, operands[1])
   31910              :   && peep2_reg_dead_p (4, operands[2])
   31911              :   && !reg_overlap_mentioned_p (operands[0], operands[3])
   31912              :   && !reg_mentioned_p (operands[2], operands[6])))
   31913              :     return NULL;
   31914              :   *pmatch_len_ = 3;
   31915              :   return gen_peephole2_227 (insn, operands);
   31916              : }
   31917              : 
   31918              :  rtx_insn *
   31919              : peephole2_15 (rtx x1 ATTRIBUTE_UNUSED,
   31920              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31921              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31922              : {
   31923              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31924              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   31925              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31926              :   if (address_no_seg_operand (operands[1], E_DImode)
   31927              :       && (
   31928              : #line 6401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31929              : (ix86_hardreg_mov_ok (operands[0], operands[1])
   31930              :    && peep2_regno_dead_p (0, FLAGS_REG)
   31931              :    && ix86_avoid_lea_for_addr (peep2_next_insn (0), operands)) && 
   31932              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31933              : (TARGET_64BIT)))
   31934              :     {
   31935              :       *pmatch_len_ = 0;
   31936              :       res = gen_peephole2_61 (insn, operands);
   31937              :       if (res != NULL_RTX)
   31938              :         return res;
   31939              :     }
   31940              :   if (peep2_current_count < 2
   31941              :       || !memory_operand (operands[1], E_DImode))
   31942              :     return NULL;
   31943              :   x2 = PATTERN (peep2_next_insn (1));
   31944              :   switch (GET_CODE (x2))
   31945              :     {
   31946              :     case CALL:
   31947              :       x3 = XEXP (x2, 0);
   31948              :       if (GET_CODE (x3) != MEM
   31949              :           || GET_MODE (x3) != E_QImode)
   31950              :         return NULL;
   31951              :       x4 = XEXP (x2, 1);
   31952              :       operands[3] = x4;
   31953              :       x5 = XEXP (x3, 0);
   31954              :       if (!rtx_equal_p (x5, operands[0])
   31955              :           || !(
   31956              : #line 20552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31957              : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER
   31958              :    && SIBLING_CALL_P (peep2_next_insn (1))
   31959              :    && !reg_mentioned_p (operands[0],
   31960              :                         CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))) && 
   31961              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31962              : (word_mode == DImode)))
   31963              :         return NULL;
   31964              :       *pmatch_len_ = 1;
   31965              :       return gen_peephole2_197 (insn, operands);
   31966              : 
   31967              :     case UNSPEC_VOLATILE:
   31968              :       if (pattern850 (x2) != 0)
   31969              :         return NULL;
   31970              :       x6 = PATTERN (peep2_next_insn (2));
   31971              :       switch (GET_CODE (x6))
   31972              :         {
   31973              :         case CALL:
   31974              :           x7 = XEXP (x6, 0);
   31975              :           if (GET_CODE (x7) != MEM
   31976              :               || GET_MODE (x7) != E_QImode)
   31977              :             return NULL;
   31978              :           x8 = XEXP (x6, 1);
   31979              :           operands[3] = x8;
   31980              :           x9 = XEXP (x7, 0);
   31981              :           if (!rtx_equal_p (x9, operands[0])
   31982              :               || !(
   31983              : #line 20566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31984              : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER
   31985              :    && SIBLING_CALL_P (peep2_next_insn (2))
   31986              :    && !reg_mentioned_p (operands[0],
   31987              :                         CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))) && 
   31988              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31989              : (word_mode == DImode)))
   31990              :             return NULL;
   31991              :           *pmatch_len_ = 2;
   31992              :           return gen_peephole2_199 (insn, operands);
   31993              : 
   31994              :         case SET:
   31995              :           if (pattern1352 (x6) != 0
   31996              :               || !(
   31997              : #line 20773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31998              : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER
   31999              :    && SIBLING_CALL_P (peep2_next_insn (2))
   32000              :    && !reg_mentioned_p (operands[0],
   32001              :                         CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))) && 
   32002              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32003              : (word_mode == DImode)))
   32004              :             return NULL;
   32005              :           *pmatch_len_ = 2;
   32006              :           return gen_peephole2_207 (insn, operands);
   32007              : 
   32008              :         default:
   32009              :           return NULL;
   32010              :         }
   32011              : 
   32012              :     case SET:
   32013              :       switch (pattern851 (x2))
   32014              :         {
   32015              :         case 0:
   32016              :           if (!(
   32017              : #line 20663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32018              : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER
   32019              :    && peep2_reg_dead_p (2, operands[0])) && 
   32020              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32021              : (word_mode == DImode)))
   32022              :             return NULL;
   32023              :           *pmatch_len_ = 1;
   32024              :           return gen_peephole2_203 (insn, operands);
   32025              : 
   32026              :         case 1:
   32027              :           if (!(
   32028              : #line 20757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32029              : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER
   32030              :    && SIBLING_CALL_P (peep2_next_insn (1))
   32031              :    && !reg_mentioned_p (operands[0],
   32032              :                         CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))) && 
   32033              : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32034              : (word_mode == DImode)))
   32035              :             return NULL;
   32036              :           *pmatch_len_ = 1;
   32037              :           return gen_peephole2_205 (insn, operands);
   32038              : 
   32039              :         default:
   32040              :           return NULL;
   32041              :         }
   32042              : 
   32043              :     default:
   32044              :       return NULL;
   32045              :     }
   32046              : }
   32047              : 
   32048              :  rtx_insn *
   32049              : peephole2_20 (rtx x1 ATTRIBUTE_UNUSED,
   32050              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   32051              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   32052              : {
   32053              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   32054              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   32055              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   32056              :   rtx x18, x19, x20, x21, x22, x23;
   32057              :   rtx_insn *res ATTRIBUTE_UNUSED;
   32058              :   x2 = XEXP (x1, 0);
   32059              :   if (!flags_reg_operand (x2, E_VOIDmode))
   32060              :     return NULL;
   32061              :   x3 = XEXP (x1, 1);
   32062              :   operands[0] = x3;
   32063              :   operands[4] = x2;
   32064              :   res = peephole2_19 (x1, insn, pmatch_len_);
   32065              :   if (res != NULL_RTX)
   32066              :     return res;
   32067              :   if (peep2_current_count < 4)
   32068              :     return NULL;
   32069              :   operands[6] = x2;
   32070              :   x4 = PATTERN (peep2_next_insn (1));
   32071              :   if (GET_CODE (x4) != PARALLEL
   32072              :       || XVECLEN (x4, 0) != 2)
   32073              :     return NULL;
   32074              :   x5 = XVECEXP (x4, 0, 0);
   32075              :   if (GET_CODE (x5) != SET)
   32076              :     return NULL;
   32077              :   x6 = XEXP (x5, 0);
   32078              :   operands[7] = x6;
   32079              :   if (!flags_reg_operand (operands[7], E_VOIDmode))
   32080              :     return NULL;
   32081              :   x7 = XEXP (x5, 1);
   32082              :   operands[1] = x7;
   32083              :   x8 = XVECEXP (x4, 0, 1);
   32084              :   operands[5] = x8;
   32085              :   x9 = PATTERN (peep2_next_insn (2));
   32086              :   if (GET_CODE (x9) != SET)
   32087              :     return NULL;
   32088              :   x10 = XEXP (x9, 1);
   32089              :   if (!ix86_comparison_operator (x10, E_QImode))
   32090              :     return NULL;
   32091              :   operands[3] = x10;
   32092              :   x11 = XEXP (x10, 0);
   32093              :   if (GET_CODE (x11) != REG
   32094              :       || REGNO (x11) != 17)
   32095              :     return NULL;
   32096              :   x12 = XEXP (x10, 1);
   32097              :   if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   32098              :     return NULL;
   32099              :   x13 = XEXP (x9, 0);
   32100              :   operands[2] = x13;
   32101              :   if (!register_operand (operands[2], E_QImode))
   32102              :     return NULL;
   32103              :   x14 = PATTERN (peep2_next_insn (3));
   32104              :   switch (GET_CODE (x14))
   32105              :     {
   32106              :     case SET:
   32107              :       x15 = XEXP (x14, 1);
   32108              :       if (GET_CODE (x15) != ZERO_EXTEND)
   32109              :         return NULL;
   32110              :       x16 = XEXP (x14, 0);
   32111              :       operands[4] = x16;
   32112              :       if (!any_QIreg_operand (operands[4], E_VOIDmode))
   32113              :         return NULL;
   32114              :       x17 = XEXP (x15, 0);
   32115              :       if (!rtx_equal_p (x17, operands[2])
   32116              :           || !
   32117              : #line 20341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32118              : ((peep2_reg_dead_p (4, operands[2])
   32119              :     || operands_match_p (operands[2], operands[4]))
   32120              :    && ! reg_overlap_mentioned_p (operands[4], operands[0])
   32121              :    && ! reg_overlap_mentioned_p (operands[4], operands[1])
   32122              :    && ! reg_overlap_mentioned_p (operands[4], operands[5])
   32123              :    && ! reg_set_p (operands[4], operands[5])
   32124              :    && refers_to_regno_p (FLAGS_REG, operands[1], (rtx *)NULL)
   32125              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   32126              :         return NULL;
   32127              :       *pmatch_len_ = 3;
   32128              :       return gen_peephole2_191 (insn, operands);
   32129              : 
   32130              :     case PARALLEL:
   32131              :       if (XVECLEN (x14, 0) != 2)
   32132              :         return NULL;
   32133              :       x18 = XVECEXP (x14, 0, 0);
   32134              :       if (GET_CODE (x18) != SET)
   32135              :         return NULL;
   32136              :       x19 = XEXP (x18, 1);
   32137              :       if (GET_CODE (x19) != ZERO_EXTEND)
   32138              :         return NULL;
   32139              :       x20 = XVECEXP (x14, 0, 1);
   32140              :       if (GET_CODE (x20) != CLOBBER)
   32141              :         return NULL;
   32142              :       x21 = XEXP (x20, 0);
   32143              :       if (GET_CODE (x21) != REG
   32144              :           || REGNO (x21) != 17
   32145              :           || GET_MODE (x21) != E_CCmode)
   32146              :         return NULL;
   32147              :       x22 = XEXP (x18, 0);
   32148              :       operands[4] = x22;
   32149              :       if (!any_QIreg_operand (operands[4], E_VOIDmode))
   32150              :         return NULL;
   32151              :       x23 = XEXP (x19, 0);
   32152              :       if (!rtx_equal_p (x23, operands[2])
   32153              :           || !
   32154              : #line 20414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32155              : ((peep2_reg_dead_p (4, operands[2])
   32156              :     || operands_match_p (operands[2], operands[4]))
   32157              :    && ! reg_overlap_mentioned_p (operands[4], operands[0])
   32158              :    && ! reg_overlap_mentioned_p (operands[4], operands[1])
   32159              :    && ! reg_overlap_mentioned_p (operands[4], operands[5])
   32160              :    && ! reg_set_p (operands[4], operands[5])
   32161              :    && refers_to_regno_p (FLAGS_REG, operands[1], (rtx *)NULL)
   32162              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   32163              :         return NULL;
   32164              :       *pmatch_len_ = 3;
   32165              :       return gen_peephole2_194 (insn, operands);
   32166              : 
   32167              :     default:
   32168              :       return NULL;
   32169              :     }
   32170              : }
   32171              : 
   32172              :  rtx_insn *
   32173              : peephole2_24 (rtx x1 ATTRIBUTE_UNUSED,
   32174              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   32175              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   32176              : {
   32177              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   32178              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   32179              :   rtx x10;
   32180              :   rtx_insn *res ATTRIBUTE_UNUSED;
   32181              :   x2 = XEXP (x1, 1);
   32182              :   operands[1] = x2;
   32183              :   if (memory_operand (operands[1], E_SImode)
   32184              :       && register_operand (operands[0], E_SImode))
   32185              :     {
   32186              :       res = peephole2_23 (x1, insn, pmatch_len_);
   32187              :       if (res != NULL_RTX)
   32188              :         return res;
   32189              :     }
   32190              :   if (peep2_current_count < 3
   32191              :       || peep2_current_count < 4
   32192              :       || !general_reg_operand (operands[1], E_SImode)
   32193              :       || !general_reg_operand (operands[0], E_SImode))
   32194              :     return NULL;
   32195              :   x3 = PATTERN (peep2_next_insn (1));
   32196              :   if (GET_CODE (x3) != PARALLEL
   32197              :       || XVECLEN (x3, 0) != 2)
   32198              :     return NULL;
   32199              :   x4 = XVECEXP (x3, 0, 0);
   32200              :   if (GET_CODE (x4) != SET)
   32201              :     return NULL;
   32202              :   x5 = XEXP (x4, 0);
   32203              :   if (GET_CODE (x5) != REG
   32204              :       || REGNO (x5) != 17)
   32205              :     return NULL;
   32206              :   x6 = XVECEXP (x3, 0, 1);
   32207              :   if (GET_CODE (x6) != SET)
   32208              :     return NULL;
   32209              :   x7 = XEXP (x4, 1);
   32210              :   operands[5] = x7;
   32211              :   x8 = XEXP (x6, 1);
   32212              :   operands[6] = x8;
   32213              :   x9 = XEXP (x6, 0);
   32214              :   if (!rtx_equal_p (x9, operands[0]))
   32215              :     return NULL;
   32216              :   x10 = PATTERN (peep2_next_insn (2));
   32217              :   if (GET_CODE (x10) != SET
   32218              :       || pattern1356 (x10, 
   32219              : E_SImode) != 0
   32220              :       || !
   32221              : #line 26950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32222              : (TARGET_CMOVE
   32223              :   && REGNO (operands[2]) != REGNO (operands[0])
   32224              :   && REGNO (operands[2]) != REGNO (operands[1])
   32225              :   && peep2_reg_dead_p (1, operands[1])
   32226              :   && peep2_reg_dead_p (4, operands[2])
   32227              :   && !reg_overlap_mentioned_p (operands[0], operands[3])))
   32228              :     return NULL;
   32229              :   *pmatch_len_ = 3;
   32230              :   return gen_peephole2_224 (insn, operands);
   32231              : }
   32232              : 
   32233              :  rtx_insn *
   32234              : peephole2_27 (rtx x1 ATTRIBUTE_UNUSED,
   32235              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   32236              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   32237              : {
   32238              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   32239              :   rtx x2, x3, x4, x5;
   32240              :   rtx_insn *res ATTRIBUTE_UNUSED;
   32241              :   if (peep2_current_count >= 2)
   32242              :     {
   32243              :       res = peephole2_24 (x1, insn, pmatch_len_);
   32244              :       if (res != NULL_RTX)
   32245              :         return res;
   32246              :     }
   32247              :   x2 = XEXP (x1, 1);
   32248              :   operands[1] = x2;
   32249              :   if (memory_operand (operands[1], E_SImode)
   32250              :       && push_operand (operands[0], E_SImode)
   32251              :       && 
   32252              : #line 28345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32253              : (!(TARGET_PUSH_MEMORY || optimize_insn_for_size_p ())
   32254              :    && !RTX_FRAME_RELATED_P (peep2_next_insn (0))))
   32255              :     {
   32256              :       *pmatch_len_ = 0;
   32257              :       res = gen_peephole2_275 (insn, operands);
   32258              :       if (res != NULL_RTX)
   32259              :         return res;
   32260              :     }
   32261              :   if (peep2_current_count < 2)
   32262              :     return NULL;
   32263              :   if (general_reg_operand (operands[1], E_SImode))
   32264              :     {
   32265              :       x3 = PATTERN (peep2_next_insn (1));
   32266              :       if (pattern420 (x3, 
   32267              : E_SImode) == 0
   32268              :           && 
   32269              : #line 28543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32270              : (REGNO (operands[0]) != REGNO (operands[1])
   32271              :    && (SImode != QImode
   32272              :        || any_QIreg_operand (operands[1], QImode))))
   32273              :         {
   32274              :           *pmatch_len_ = 1;
   32275              :           res = gen_peephole2_303 (insn, operands);
   32276              :           if (res != NULL_RTX)
   32277              :             return res;
   32278              :         }
   32279              :     }
   32280              :   if (peep2_current_count >= 3)
   32281              :     {
   32282              :       res = peephole2_26 (x1, insn, pmatch_len_);
   32283              :       if (res != NULL_RTX)
   32284              :         return res;
   32285              :     }
   32286              :   if (mmx_reg_operand (operands[1], E_VOIDmode)
   32287              :       && mmx_reg_operand (operands[0], E_VOIDmode))
   32288              :     {
   32289              :       x3 = PATTERN (peep2_next_insn (1));
   32290              :       if (pattern607 (x3) == 0
   32291              :           && 
   32292              : #line 28562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32293              : (REGNO (operands[0]) != REGNO (operands[1])))
   32294              :         {
   32295              :           *pmatch_len_ = 1;
   32296              :           res = gen_peephole2_305 (insn, operands);
   32297              :           if (res != NULL_RTX)
   32298              :             return res;
   32299              :         }
   32300              :     }
   32301              :   if (sse_reg_operand (operands[1], E_VOIDmode)
   32302              :       && sse_reg_operand (operands[0], E_VOIDmode))
   32303              :     {
   32304              :       x3 = PATTERN (peep2_next_insn (1));
   32305              :       if (pattern607 (x3) == 0
   32306              :           && 
   32307              : #line 28574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32308              : (REGNO (operands[0]) != REGNO (operands[1])
   32309              :    /* Punt if operands[1] is %[xy]mm16+ and AVX512BW is not enabled,
   32310              :       as EVEX encoded vpadd[bw], vpmullw, vpmin[su][bw] and vpmax[su][bw]
   32311              :       instructions require AVX512BW and AVX512VL, but with the original
   32312              :       instructions it might require just AVX512VL.
   32313              :       AVX512VL is implied from TARGET_HARD_REGNO_MODE_OK.  */
   32314              :    && (!EXT_REX_SSE_REGNO_P (REGNO (operands[1]))
   32315              :        || TARGET_AVX512BW
   32316              :        || GET_MODE_SIZE (GET_MODE_INNER (GET_MODE (operands[0]))) > 2
   32317              :        || logic_operator (operands[3], VOIDmode))))
   32318              :         {
   32319              :           *pmatch_len_ = 1;
   32320              :           res = gen_peephole2_306 (insn, operands);
   32321              :           if (res != NULL_RTX)
   32322              :             return res;
   32323              :         }
   32324              :     }
   32325              :   if (peep2_current_count >= 3
   32326              :       && peep2_current_count >= 4)
   32327              :     {
   32328              :       if (memory_operand (operands[1], E_QImode))
   32329              :         {
   32330              :           x3 = PATTERN (peep2_next_insn (1));
   32331              :           if (pattern736 (x3, 
   32332              : E_QImode) == 0
   32333              :               && 
   32334              : #line 28734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32335              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32336              :    && REGNO (operands[4]) == REGNO (operands[0])
   32337              :    && REGNO (operands[5]) == REGNO (operands[3])
   32338              :    && peep2_reg_dead_p (4, operands[3])
   32339              :    && ((REGNO (operands[0]) == REGNO (operands[3]))
   32340              :        || peep2_reg_dead_p (2, operands[0]))
   32341              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32342              :    && !reg_overlap_mentioned_p (operands[3], operands[1])
   32343              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   32344              :    && (QImode != QImode
   32345              :        || immediate_operand (operands[2], QImode)
   32346              :        || any_QIreg_operand (operands[2], QImode))
   32347              :    && ix86_match_ccmode (peep2_next_insn (3), CCGOCmode)))
   32348              :             {
   32349              :               *pmatch_len_ = 3;
   32350              :               res = gen_peephole2_327 (insn, operands);
   32351              :               if (res != NULL_RTX)
   32352              :                 return res;
   32353              :             }
   32354              :         }
   32355              :       if (memory_operand (operands[1], E_HImode))
   32356              :         {
   32357              :           x3 = PATTERN (peep2_next_insn (1));
   32358              :           if (pattern736 (x3, 
   32359              : E_HImode) == 0
   32360              :               && 
   32361              : #line 28734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32362              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32363              :    && REGNO (operands[4]) == REGNO (operands[0])
   32364              :    && REGNO (operands[5]) == REGNO (operands[3])
   32365              :    && peep2_reg_dead_p (4, operands[3])
   32366              :    && ((REGNO (operands[0]) == REGNO (operands[3]))
   32367              :        || peep2_reg_dead_p (2, operands[0]))
   32368              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32369              :    && !reg_overlap_mentioned_p (operands[3], operands[1])
   32370              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   32371              :    && (HImode != QImode
   32372              :        || immediate_operand (operands[2], QImode)
   32373              :        || any_QIreg_operand (operands[2], QImode))
   32374              :    && ix86_match_ccmode (peep2_next_insn (3), CCGOCmode)))
   32375              :             {
   32376              :               *pmatch_len_ = 3;
   32377              :               res = gen_peephole2_328 (insn, operands);
   32378              :               if (res != NULL_RTX)
   32379              :                 return res;
   32380              :             }
   32381              :         }
   32382              :       if (memory_operand (operands[1], E_SImode))
   32383              :         {
   32384              :           x3 = PATTERN (peep2_next_insn (1));
   32385              :           if (pattern737 (x3, 
   32386              : E_SImode) == 0
   32387              :               && 
   32388              : #line 28734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32389              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32390              :    && REGNO (operands[4]) == REGNO (operands[0])
   32391              :    && REGNO (operands[5]) == REGNO (operands[3])
   32392              :    && peep2_reg_dead_p (4, operands[3])
   32393              :    && ((REGNO (operands[0]) == REGNO (operands[3]))
   32394              :        || peep2_reg_dead_p (2, operands[0]))
   32395              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32396              :    && !reg_overlap_mentioned_p (operands[3], operands[1])
   32397              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   32398              :    && (SImode != QImode
   32399              :        || immediate_operand (operands[2], QImode)
   32400              :        || any_QIreg_operand (operands[2], QImode))
   32401              :    && ix86_match_ccmode (peep2_next_insn (3), CCGOCmode)))
   32402              :             {
   32403              :               *pmatch_len_ = 3;
   32404              :               res = gen_peephole2_329 (insn, operands);
   32405              :               if (res != NULL_RTX)
   32406              :                 return res;
   32407              :             }
   32408              :         }
   32409              :       if (memory_operand (operands[1], E_DImode))
   32410              :         {
   32411              :           x3 = PATTERN (peep2_next_insn (1));
   32412              :           if (pattern737 (x3, 
   32413              : E_DImode) == 0
   32414              :               && (
   32415              : #line 28734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32416              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32417              :    && REGNO (operands[4]) == REGNO (operands[0])
   32418              :    && REGNO (operands[5]) == REGNO (operands[3])
   32419              :    && peep2_reg_dead_p (4, operands[3])
   32420              :    && ((REGNO (operands[0]) == REGNO (operands[3]))
   32421              :        || peep2_reg_dead_p (2, operands[0]))
   32422              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32423              :    && !reg_overlap_mentioned_p (operands[3], operands[1])
   32424              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   32425              :    && (DImode != QImode
   32426              :        || immediate_operand (operands[2], QImode)
   32427              :        || any_QIreg_operand (operands[2], QImode))
   32428              :    && ix86_match_ccmode (peep2_next_insn (3), CCGOCmode)) && 
   32429              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32430              : (TARGET_64BIT)))
   32431              :             {
   32432              :               *pmatch_len_ = 3;
   32433              :               res = gen_peephole2_330 (insn, operands);
   32434              :               if (res != NULL_RTX)
   32435              :                 return res;
   32436              :             }
   32437              :         }
   32438              :     }
   32439              :   if (!memory_operand (operands[1], E_VOIDmode)
   32440              :       || !register_operand (operands[0], E_VOIDmode))
   32441              :     return NULL;
   32442              :   x3 = PATTERN (peep2_next_insn (1));
   32443              :   if (GET_CODE (x3) != SET)
   32444              :     return NULL;
   32445              :   x4 = XEXP (x3, 0);
   32446              :   operands[2] = x4;
   32447              :   if (!memory_operand (operands[2], E_VOIDmode))
   32448              :     return NULL;
   32449              :   x5 = XEXP (x3, 1);
   32450              :   if (!rtx_equal_p (x5, operands[0])
   32451              :       || !
   32452              : #line 29167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32453              : (!MEM_VOLATILE_P (operands[1])
   32454              :    && !MEM_VOLATILE_P (operands[2])
   32455              :    && rtx_equal_p (operands[1], operands[2])
   32456              :    && !reg_overlap_mentioned_p (operands[0], operands[2])))
   32457              :     return NULL;
   32458              :   *pmatch_len_ = 1;
   32459              :   return gen_peephole2_363 (insn, operands);
   32460              : }
   32461              : 
   32462              :  rtx_insn *
   32463              : peephole2_38 (rtx x1 ATTRIBUTE_UNUSED,
   32464              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   32465              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   32466              : {
   32467              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   32468              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   32469              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   32470              :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
   32471              :   rtx x26, x27, x28, x29, x30, x31;
   32472              :   rtx_insn *res ATTRIBUTE_UNUSED;
   32473              :   x2 = XEXP (x1, 1);
   32474              :   switch (GET_CODE (x2))
   32475              :     {
   32476              :     case COMPARE:
   32477              :       operands[1] = x2;
   32478              :       if (!compare_operator (operands[1], E_VOIDmode))
   32479              :         return NULL;
   32480              :       x3 = XEXP (x2, 1);
   32481              :       if (GET_CODE (x3) != CONST_INT
   32482              :           || !flags_reg_operand (operands[0], E_VOIDmode))
   32483              :         return NULL;
   32484              :       x4 = XEXP (x2, 0);
   32485              :       switch (GET_CODE (x4))
   32486              :         {
   32487              :         case REG:
   32488              :         case SUBREG:
   32489              :         case MEM:
   32490              :           operands[2] = x4;
   32491              :           if (memory_operand (operands[2], E_SImode)
   32492              :               && XWINT (x3, 0) == 0L
   32493              :               && 
   32494              : #line 28398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32495              : (optimize_insn_for_speed_p () && ix86_match_ccmode (insn, CCNOmode)))
   32496              :             {
   32497              :               *pmatch_len_ = 0;
   32498              :               res = gen_peephole2_284 (insn, operands);
   32499              :               if (res != NULL_RTX)
   32500              :                 return res;
   32501              :             }
   32502              :           if (!register_operand (operands[2], E_VOIDmode))
   32503              :             return NULL;
   32504              :           operands[3] = x3;
   32505              :           if (!const_int_operand (operands[3], E_VOIDmode)
   32506              :               || !
   32507              : #line 29434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32508              : ((((!TARGET_FUSE_CMP_AND_BRANCH || optimize_insn_for_size_p ())
   32509              :      && incdec_operand (operands[3], GET_MODE (operands[3])))
   32510              :     || (!TARGET_FUSE_CMP_AND_BRANCH
   32511              :         && INTVAL (operands[3]) == 128))
   32512              :    && ix86_match_ccmode (insn, CCGCmode)
   32513              :    && peep2_reg_dead_p (1, operands[2])))
   32514              :             return NULL;
   32515              :           *pmatch_len_ = 0;
   32516              :           return gen_peephole2_419 (insn, operands);
   32517              : 
   32518              :         case AND:
   32519              :           if (XWINT (x3, 0) != 0L)
   32520              :             return NULL;
   32521              :           x5 = XEXP (x4, 0);
   32522              :           operands[2] = x5;
   32523              :           x6 = XEXP (x4, 1);
   32524              :           operands[3] = x6;
   32525              :           switch (GET_MODE (x4))
   32526              :             {
   32527              :             case E_SImode:
   32528              :               if (register_operand (operands[2], E_SImode)
   32529              :                   && immediate_operand (operands[3], E_SImode)
   32530              :                   && 
   32531              : #line 28440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32532              : (ix86_match_ccmode (insn, CCNOmode)
   32533              :    && (REGNO (operands[2]) != AX_REG
   32534              :        || satisfies_constraint_K (operands[3]))
   32535              :    && peep2_reg_dead_p (1, operands[2])))
   32536              :                 {
   32537              :                   *pmatch_len_ = 0;
   32538              :                   res = gen_peephole2_288 (insn, operands);
   32539              :                   if (res != NULL_RTX)
   32540              :                     return res;
   32541              :                 }
   32542              :               break;
   32543              : 
   32544              :             case E_QImode:
   32545              :               if (register_operand (operands[2], E_QImode)
   32546              :                   && immediate_operand (operands[3], E_QImode)
   32547              :                   && 
   32548              : #line 28460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32549              : (! TARGET_PARTIAL_REG_STALL
   32550              :    && ix86_match_ccmode (insn, CCNOmode)
   32551              :    && REGNO (operands[2]) != AX_REG
   32552              :    && peep2_reg_dead_p (1, operands[2])))
   32553              :                 {
   32554              :                   *pmatch_len_ = 0;
   32555              :                   res = gen_peephole2_289 (insn, operands);
   32556              :                   if (res != NULL_RTX)
   32557              :                     return res;
   32558              :                 }
   32559              :               break;
   32560              : 
   32561              :             default:
   32562              :               break;
   32563              :             }
   32564              :           if (GET_CODE (x5) != SUBREG
   32565              :               || maybe_ne (SUBREG_BYTE (x5), 0)
   32566              :               || GET_MODE (x5) != E_QImode)
   32567              :             return NULL;
   32568              :           x7 = XEXP (x5, 0);
   32569              :           switch (GET_CODE (x7))
   32570              :             {
   32571              :             case ASHIFTRT:
   32572              :             case LSHIFTRT:
   32573              :             case SIGN_EXTRACT:
   32574              :             case ZERO_EXTRACT:
   32575              :               operands[4] = x7;
   32576              :               if (GET_MODE (x4) != E_QImode)
   32577              :                 return NULL;
   32578              :               x8 = XEXP (x7, 0);
   32579              :               operands[2] = x8;
   32580              :               if (!int248_register_operand (operands[2], E_VOIDmode))
   32581              :                 return NULL;
   32582              :               operands[3] = x6;
   32583              :               if (!const_int_operand (operands[3], E_VOIDmode))
   32584              :                 return NULL;
   32585              :               switch (GET_MODE (operands[4]))
   32586              :                 {
   32587              :                 case E_HImode:
   32588              :                   if (!extract_high_operator (operands[4], E_HImode)
   32589              :                       || !
   32590              : #line 28480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32591              : (! TARGET_PARTIAL_REG_STALL
   32592              :    && ix86_match_ccmode (insn, CCNOmode)
   32593              :    && REGNO (operands[2]) != AX_REG
   32594              :    && peep2_reg_dead_p (1, operands[2])))
   32595              :                     return NULL;
   32596              :                   *pmatch_len_ = 0;
   32597              :                   return gen_peephole2_290 (insn, operands);
   32598              : 
   32599              :                 case E_SImode:
   32600              :                   if (!extract_high_operator (operands[4], E_SImode)
   32601              :                       || !
   32602              : #line 28480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32603              : (! TARGET_PARTIAL_REG_STALL
   32604              :    && ix86_match_ccmode (insn, CCNOmode)
   32605              :    && REGNO (operands[2]) != AX_REG
   32606              :    && peep2_reg_dead_p (1, operands[2])))
   32607              :                     return NULL;
   32608              :                   *pmatch_len_ = 0;
   32609              :                   return gen_peephole2_291 (insn, operands);
   32610              : 
   32611              :                 case E_DImode:
   32612              :                   if (!extract_high_operator (operands[4], E_DImode)
   32613              :                       || !(
   32614              : #line 28480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32615              : (! TARGET_PARTIAL_REG_STALL
   32616              :    && ix86_match_ccmode (insn, CCNOmode)
   32617              :    && REGNO (operands[2]) != AX_REG
   32618              :    && peep2_reg_dead_p (1, operands[2])) && 
   32619              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32620              : (TARGET_64BIT)))
   32621              :                     return NULL;
   32622              :                   *pmatch_len_ = 0;
   32623              :                   return gen_peephole2_292 (insn, operands);
   32624              : 
   32625              :                 default:
   32626              :                   return NULL;
   32627              :                 }
   32628              : 
   32629              :             default:
   32630              :               return NULL;
   32631              :             }
   32632              : 
   32633              :         default:
   32634              :           return NULL;
   32635              :         }
   32636              : 
   32637              :     case NOT:
   32638              :       x4 = XEXP (x2, 0);
   32639              :       operands[1] = x4;
   32640              :       switch (GET_MODE (operands[0]))
   32641              :         {
   32642              :         case E_QImode:
   32643              :           if (!nonimmediate_gr_operand (operands[0], E_QImode)
   32644              :               || GET_MODE (x2) != E_QImode
   32645              :               || !nonimmediate_gr_operand (operands[1], E_QImode)
   32646              :               || !
   32647              : #line 28416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32648              : (optimize_insn_for_speed_p ()
   32649              :    && ((TARGET_NOT_UNPAIRABLE
   32650              :         && (!MEM_P (operands[0])
   32651              :             || !memory_displacement_operand (operands[0], QImode)))
   32652              :        || (TARGET_NOT_VECTORMODE
   32653              :            && long_memory_operand (operands[0], QImode)))
   32654              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   32655              :             return NULL;
   32656              :           *pmatch_len_ = 0;
   32657              :           return gen_peephole2_285 (insn, operands);
   32658              : 
   32659              :         case E_HImode:
   32660              :           if (!nonimmediate_gr_operand (operands[0], E_HImode)
   32661              :               || GET_MODE (x2) != E_HImode
   32662              :               || !nonimmediate_gr_operand (operands[1], E_HImode)
   32663              :               || !
   32664              : #line 28416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32665              : (optimize_insn_for_speed_p ()
   32666              :    && ((TARGET_NOT_UNPAIRABLE
   32667              :         && (!MEM_P (operands[0])
   32668              :             || !memory_displacement_operand (operands[0], HImode)))
   32669              :        || (TARGET_NOT_VECTORMODE
   32670              :            && long_memory_operand (operands[0], HImode)))
   32671              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   32672              :             return NULL;
   32673              :           *pmatch_len_ = 0;
   32674              :           return gen_peephole2_286 (insn, operands);
   32675              : 
   32676              :         case E_SImode:
   32677              :           if (!nonimmediate_gr_operand (operands[0], E_SImode)
   32678              :               || GET_MODE (x2) != E_SImode
   32679              :               || !nonimmediate_gr_operand (operands[1], E_SImode)
   32680              :               || !
   32681              : #line 28416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32682              : (optimize_insn_for_speed_p ()
   32683              :    && ((TARGET_NOT_UNPAIRABLE
   32684              :         && (!MEM_P (operands[0])
   32685              :             || !memory_displacement_operand (operands[0], SImode)))
   32686              :        || (TARGET_NOT_VECTORMODE
   32687              :            && long_memory_operand (operands[0], SImode)))
   32688              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   32689              :             return NULL;
   32690              :           *pmatch_len_ = 0;
   32691              :           return gen_peephole2_287 (insn, operands);
   32692              : 
   32693              :         default:
   32694              :           return NULL;
   32695              :         }
   32696              : 
   32697              :     case CONST_INT:
   32698              :     case CONST_WIDE_INT:
   32699              :     case CONST_POLY_INT:
   32700              :     case CONST_FIXED:
   32701              :     case CONST_DOUBLE:
   32702              :     case CONST_VECTOR:
   32703              :     case CONST:
   32704              :     case REG:
   32705              :     case SUBREG:
   32706              :     case MEM:
   32707              :     case LABEL_REF:
   32708              :     case SYMBOL_REF:
   32709              :     case HIGH:
   32710              :       if (GET_CODE (x2) == CONST_INT)
   32711              :         {
   32712              :           res = peephole2_37 (x1, insn, pmatch_len_);
   32713              :           if (res != NULL_RTX)
   32714              :             return res;
   32715              :         }
   32716              :       if (peep2_current_count < 2
   32717              :           || peep2_current_count < 3)
   32718              :         return NULL;
   32719              :       operands[1] = x2;
   32720              :       x9 = PATTERN (peep2_next_insn (1));
   32721              :       if (pattern608 (x9, 
   32722              : 4) != 0)
   32723              :         return NULL;
   32724              :       x10 = XVECEXP (x9, 0, 1);
   32725              :       if (GET_CODE (x10) != SET)
   32726              :         return NULL;
   32727              :       x11 = XEXP (x10, 1);
   32728              :       if (GET_CODE (x11) != UNSPEC_VOLATILE
   32729              :           || XVECLEN (x11, 0) != 1)
   32730              :         return NULL;
   32731              :       x12 = XVECEXP (x11, 0, 0);
   32732              :       if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   32733              :         return NULL;
   32734              :       x13 = XVECEXP (x9, 0, 2);
   32735              :       if (GET_CODE (x13) != SET)
   32736              :         return NULL;
   32737              :       x14 = XEXP (x13, 0);
   32738              :       if (GET_CODE (x14) != REG
   32739              :           || REGNO (x14) != 17)
   32740              :         return NULL;
   32741              :       x15 = XVECEXP (x9, 0, 0);
   32742              :       x16 = XEXP (x15, 1);
   32743              :       x17 = XVECEXP (x16, 0, 0);
   32744              :       operands[2] = x17;
   32745              :       x18 = XVECEXP (x16, 0, 2);
   32746              :       operands[3] = x18;
   32747              :       if (pattern1713 (x9) != 0)
   32748              :         return NULL;
   32749              :       x19 = PATTERN (peep2_next_insn (2));
   32750              :       if (GET_CODE (x19) != SET)
   32751              :         return NULL;
   32752              :       x20 = XEXP (x19, 1);
   32753              :       if (GET_CODE (x20) != COMPARE)
   32754              :         return NULL;
   32755              :       x21 = XEXP (x19, 0);
   32756              :       if (GET_CODE (x21) != REG
   32757              :           || REGNO (x21) != 17)
   32758              :         return NULL;
   32759              :       x22 = XEXP (x20, 0);
   32760              :       operands[5] = x22;
   32761              :       x23 = XEXP (x20, 1);
   32762              :       operands[6] = x23;
   32763              :       switch (GET_MODE (operands[0]))
   32764              :         {
   32765              :         case E_HImode:
   32766              :           if (!register_operand (operands[0], E_HImode)
   32767              :               || !general_operand (operands[1], E_HImode)
   32768              :               || XINT (x16, 1) != 109
   32769              :               || GET_MODE (x16) != E_HImode
   32770              :               || pattern1892 (x9, 
   32771              : E_HImode) != 0
   32772              :               || !
   32773              : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32774              : ((rtx_equal_p (operands[0], operands[5])
   32775              :     && rtx_equal_p (operands[1], operands[6]))
   32776              :    || (rtx_equal_p (operands[0], operands[6])
   32777              :        && rtx_equal_p (operands[1], operands[5]))))
   32778              :             return NULL;
   32779              :           *pmatch_len_ = 2;
   32780              :           return gen_peephole2_436 (insn, operands);
   32781              : 
   32782              :         case E_SImode:
   32783              :           if (!register_operand (operands[0], E_SImode)
   32784              :               || GET_MODE (x16) != E_SImode)
   32785              :             return NULL;
   32786              :           if (XINT (x16, 1) == 109
   32787              :               && general_operand (operands[1], E_SImode)
   32788              :               && pattern1892 (x9, 
   32789              : E_SImode) == 0
   32790              :               && 
   32791              : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32792              : ((rtx_equal_p (operands[0], operands[5])
   32793              :     && rtx_equal_p (operands[1], operands[6]))
   32794              :    || (rtx_equal_p (operands[0], operands[6])
   32795              :        && rtx_equal_p (operands[1], operands[5]))))
   32796              :             {
   32797              :               *pmatch_len_ = 2;
   32798              :               res = gen_peephole2_437 (insn, operands);
   32799              :               if (res != NULL_RTX)
   32800              :                 return res;
   32801              :             }
   32802              :           if (XINT (x16, 1) != 112
   32803              :               || pattern1890 (x9, 
   32804              : E_SImode) != 0)
   32805              :             return NULL;
   32806              :           if (
   32807              : #line 1149 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32808              : (TARGET_CMPCCXADD && TARGET_64BIT
   32809              :    && rtx_equal_p (operands[0], operands[5])
   32810              :    && rtx_equal_p (operands[1], operands[6])))
   32811              :             {
   32812              :               *pmatch_len_ = 2;
   32813              :               res = gen_peephole2_455 (insn, operands);
   32814              :               if (res != NULL_RTX)
   32815              :                 return res;
   32816              :             }
   32817              :           if (peep2_current_count < 4)
   32818              :             return NULL;
   32819              :           x24 = PATTERN (peep2_next_insn (3));
   32820              :           switch (pattern1912 (x24))
   32821              :             {
   32822              :             case 0:
   32823              :               if (!
   32824              : #line 1191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32825              : (TARGET_CMPCCXADD && TARGET_64BIT
   32826              :    && rtx_equal_p (operands[0], operands[6])
   32827              :    && rtx_equal_p (operands[1], operands[5])
   32828              :    && peep2_regno_dead_p (4, FLAGS_REG)))
   32829              :                 return NULL;
   32830              :               *pmatch_len_ = 3;
   32831              :               return gen_peephole2_457 (insn, operands);
   32832              : 
   32833              :             case 1:
   32834              :               if (!
   32835              : #line 1249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32836              : (TARGET_CMPCCXADD && TARGET_64BIT
   32837              :    && rtx_equal_p (operands[0], operands[6])
   32838              :    && rtx_equal_p (operands[1], operands[5])
   32839              :    && peep2_regno_dead_p (4, FLAGS_REG)))
   32840              :                 return NULL;
   32841              :               *pmatch_len_ = 3;
   32842              :               return gen_peephole2_459 (insn, operands);
   32843              : 
   32844              :             default:
   32845              :               return NULL;
   32846              :             }
   32847              : 
   32848              :         case E_DImode:
   32849              :           if (!register_operand (operands[0], E_DImode)
   32850              :               || GET_MODE (x16) != E_DImode)
   32851              :             return NULL;
   32852              :           if (XINT (x16, 1) == 109
   32853              :               && general_operand (operands[1], E_DImode)
   32854              :               && pattern1892 (x9, 
   32855              : E_DImode) == 0
   32856              :               && (
   32857              : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32858              : ((rtx_equal_p (operands[0], operands[5])
   32859              :     && rtx_equal_p (operands[1], operands[6]))
   32860              :    || (rtx_equal_p (operands[0], operands[6])
   32861              :        && rtx_equal_p (operands[1], operands[5]))) && 
   32862              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32863              : (TARGET_64BIT)))
   32864              :             {
   32865              :               *pmatch_len_ = 2;
   32866              :               res = gen_peephole2_438 (insn, operands);
   32867              :               if (res != NULL_RTX)
   32868              :                 return res;
   32869              :             }
   32870              :           if (XINT (x16, 1) != 112
   32871              :               || pattern1890 (x9, 
   32872              : E_DImode) != 0)
   32873              :             return NULL;
   32874              :           if (
   32875              : #line 1149 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32876              : (TARGET_CMPCCXADD && TARGET_64BIT
   32877              :    && rtx_equal_p (operands[0], operands[5])
   32878              :    && rtx_equal_p (operands[1], operands[6])))
   32879              :             {
   32880              :               *pmatch_len_ = 2;
   32881              :               res = gen_peephole2_456 (insn, operands);
   32882              :               if (res != NULL_RTX)
   32883              :                 return res;
   32884              :             }
   32885              :           if (peep2_current_count < 4)
   32886              :             return NULL;
   32887              :           x24 = PATTERN (peep2_next_insn (3));
   32888              :           switch (pattern1912 (x24))
   32889              :             {
   32890              :             case 0:
   32891              :               if (!
   32892              : #line 1191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32893              : (TARGET_CMPCCXADD && TARGET_64BIT
   32894              :    && rtx_equal_p (operands[0], operands[6])
   32895              :    && rtx_equal_p (operands[1], operands[5])
   32896              :    && peep2_regno_dead_p (4, FLAGS_REG)))
   32897              :                 return NULL;
   32898              :               *pmatch_len_ = 3;
   32899              :               return gen_peephole2_458 (insn, operands);
   32900              : 
   32901              :             case 1:
   32902              :               if (!
   32903              : #line 1249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32904              : (TARGET_CMPCCXADD && TARGET_64BIT
   32905              :    && rtx_equal_p (operands[0], operands[6])
   32906              :    && rtx_equal_p (operands[1], operands[5])
   32907              :    && peep2_regno_dead_p (4, FLAGS_REG)))
   32908              :                 return NULL;
   32909              :               *pmatch_len_ = 3;
   32910              :               return gen_peephole2_460 (insn, operands);
   32911              : 
   32912              :             default:
   32913              :               return NULL;
   32914              :             }
   32915              : 
   32916              :         default:
   32917              :           return NULL;
   32918              :         }
   32919              : 
   32920              :     case PLUS:
   32921              :       switch (pattern24 (x2))
   32922              :         {
   32923              :         case 0:
   32924              :           x3 = XEXP (x2, 1);
   32925              :           operands[1] = x3;
   32926              :           if (x86_64_nonmemory_operand (operands[1], E_SImode))
   32927              :             {
   32928              :               x4 = XEXP (x2, 0);
   32929              :               if (rtx_equal_p (x4, operands[0])
   32930              :                   && 
   32931              : #line 29214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32932              : (!TARGET_OPT_AGU
   32933              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   32934              :                 {
   32935              :                   *pmatch_len_ = 0;
   32936              :                   res = gen_peephole2_370 (insn, operands);
   32937              :                   if (res != NULL_RTX)
   32938              :                     return res;
   32939              :                 }
   32940              :             }
   32941              :           x4 = XEXP (x2, 0);
   32942              :           operands[1] = x4;
   32943              :           if (!x86_64_nonmemory_operand (operands[1], E_SImode)
   32944              :               || !rtx_equal_p (x3, operands[0])
   32945              :               || !
   32946              : #line 29223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32947              : (!TARGET_OPT_AGU
   32948              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   32949              :             return NULL;
   32950              :           *pmatch_len_ = 0;
   32951              :           return gen_peephole2_372 (insn, operands);
   32952              : 
   32953              :         case 1:
   32954              :           x3 = XEXP (x2, 1);
   32955              :           operands[1] = x3;
   32956              :           if (x86_64_nonmemory_operand (operands[1], E_DImode))
   32957              :             {
   32958              :               x4 = XEXP (x2, 0);
   32959              :               if (rtx_equal_p (x4, operands[0])
   32960              :                   && (
   32961              : #line 29214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32962              : (!TARGET_OPT_AGU
   32963              :    && peep2_regno_dead_p (0, FLAGS_REG)) && 
   32964              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32965              : (TARGET_64BIT)))
   32966              :                 {
   32967              :                   *pmatch_len_ = 0;
   32968              :                   res = gen_peephole2_371 (insn, operands);
   32969              :                   if (res != NULL_RTX)
   32970              :                     return res;
   32971              :                 }
   32972              :             }
   32973              :           x4 = XEXP (x2, 0);
   32974              :           operands[1] = x4;
   32975              :           if (!x86_64_nonmemory_operand (operands[1], E_DImode)
   32976              :               || !rtx_equal_p (x3, operands[0])
   32977              :               || !(
   32978              : #line 29223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32979              : (!TARGET_OPT_AGU
   32980              :    && peep2_regno_dead_p (0, FLAGS_REG)) && 
   32981              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32982              : (TARGET_64BIT)))
   32983              :             return NULL;
   32984              :           *pmatch_len_ = 0;
   32985              :           return gen_peephole2_373 (insn, operands);
   32986              : 
   32987              :         default:
   32988              :           return NULL;
   32989              :         }
   32990              : 
   32991              :     case ZERO_EXTEND:
   32992              :       if (GET_MODE (x2) != E_DImode
   32993              :           || !register_operand (operands[0], E_DImode))
   32994              :         return NULL;
   32995              :       x4 = XEXP (x2, 0);
   32996              :       if (GET_MODE (x4) != E_SImode)
   32997              :         return NULL;
   32998              :       switch (GET_CODE (x4))
   32999              :         {
   33000              :         case PLUS:
   33001              :           x5 = XEXP (x4, 0);
   33002              :           operands[1] = x5;
   33003              :           x6 = XEXP (x4, 1);
   33004              :           operands[2] = x6;
   33005              :           if (nonmemory_operand (operands[2], E_SImode)
   33006              :               && register_operand (operands[1], E_SImode)
   33007              :               && 
   33008              : #line 29233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   33009              : (TARGET_64BIT && !TARGET_OPT_AGU
   33010              :    && REGNO (operands[0]) == REGNO (operands[1])
   33011              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   33012              :             {
   33013              :               *pmatch_len_ = 0;
   33014              :               res = gen_peephole2_374 (insn, operands);
   33015              :               if (res != NULL_RTX)
   33016              :                 return res;
   33017              :             }
   33018              :           if (!register_operand (operands[2], E_SImode)
   33019              :               || !nonmemory_operand (operands[1], E_SImode)
   33020              :               || !
   33021              : #line 29245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   33022              : (TARGET_64BIT && !TARGET_OPT_AGU
   33023              :    && REGNO (operands[0]) == REGNO (operands[2])
   33024              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   33025              :             return NULL;
   33026              :           *pmatch_len_ = 0;
   33027              :           return gen_peephole2_375 (insn, operands);
   33028              : 
   33029              :         case MULT:
   33030              :           x5 = XEXP (x4, 0);
   33031              :           operands[1] = x5;
   33032              :           if (!register_operand (operands[1], E_SImode))
   33033              :             return NULL;
   33034              :           x6 = XEXP (x4, 1);
   33035              :           operands[2] = x6;
   33036              :           if (!const_int_operand (operands[2], E_SImode)
   33037              :               || !
   33038              : #line 29267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   33039              : (TARGET_64BIT
   33040              :    && pow2p_hwi (INTVAL (operands[2]))
   33041              :    && REGNO (operands[0]) == REGNO (operands[1])
   33042              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   33043              :             return NULL;
   33044              :           *pmatch_len_ = 0;
   33045              :           return gen_peephole2_378 (insn, operands);
   33046              : 
   33047              :         default:
   33048              :           return NULL;
   33049              :         }
   33050              : 
   33051              :     case MULT:
   33052              :       x3 = XEXP (x2, 1);
   33053              :       operands[1] = x3;
   33054              :       x4 = XEXP (x2, 0);
   33055              :       if (!rtx_equal_p (x4, operands[0]))
   33056              :         return NULL;
   33057              :       switch (GET_MODE (operands[0]))
   33058              :         {
   33059              :         case E_SImode:
   33060              :           if (!register_operand (operands[0], E_SImode)
   33061              :               || GET_MODE (x2) != E_SImode
   33062              :               || !const_int_operand (operands[1], E_SImode)
   33063              :               || !
   33064              : #line 29256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   33065              : (pow2p_hwi (INTVAL (operands[1]))
   33066              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   33067              :             return NULL;
   33068              :           *pmatch_len_ = 0;
   33069              :           return gen_peephole2_376 (insn, operands);
   33070              : 
   33071              :         case E_DImode:
   33072              :           if (!register_operand (operands[0], E_DImode)
   33073              :               || GET_MODE (x2) != E_DImode
   33074              :               || !const_int_operand (operands[1], E_DImode)
   33075              :               || !(
   33076              : #line 29256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   33077              : (pow2p_hwi (INTVAL (operands[1]))
   33078              :    && peep2_regno_dead_p (0, FLAGS_REG)) && 
   33079              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   33080              : (TARGET_64BIT)))
   33081              :             return NULL;
   33082              :           *pmatch_len_ = 0;
   33083              :           return gen_peephole2_377 (insn, operands);
   33084              : 
   33085              :         default:
   33086              :           return NULL;
   33087              :         }
   33088              : 
   33089              :     case VEC_CONCAT:
   33090              :       if (peep2_current_count < 2
   33091              :           || GET_MODE (x2) != E_V2DFmode
   33092              :           || !sse_reg_operand (operands[0], E_V2DFmode))
   33093              :         return NULL;
   33094              :       x4 = XEXP (x2, 0);
   33095              :       operands[1] = x4;
   33096              :       if (!memory_operand (operands[1], E_DFmode))
   33097              :         return NULL;
   33098              :       x3 = XEXP (x2, 1);
   33099              :       operands[4] = x3;
   33100              :       if (!const0_operand (operands[4], E_DFmode))
   33101              :         return NULL;
   33102              :       x9 = PATTERN (peep2_next_insn (1));
   33103              :       if (GET_CODE (x9) != SET)
   33104              :         return NULL;
   33105              :       x25 = XEXP (x9, 1);
   33106              :       if (GET_CODE (x25) != VEC_CONCAT
   33107              :           || GET_MODE (x25) != E_V2DFmode)
   33108              :         return NULL;
   33109              :       x26 = XEXP (x25, 0);
   33110              :       if (GET_CODE (x26) != VEC_SELECT
   33111              :           || GET_MODE (x26) != E_DFmode)
   33112              :         return NULL;
   33113              :       x27 = XEXP (x26, 1);
   33114              :       if (GET_CODE (x27) != PARALLEL
   33115              :           || XVECLEN (x27, 0) != 1)
   33116              :         return NULL;
   33117              :       x28 = XVECEXP (x27, 0, 0);
   33118              :       if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   33119              :         return NULL;
   33120              :       x29 = XEXP (x9, 0);
   33121              :       operands[2] = x29;
   33122              :       if (!sse_reg_operand (operands[2], E_V2DFmode))
   33123              :         return NULL;
   33124              :       x30 = XEXP (x25, 1);
   33125              :       operands[3] = x30;
   33126              :       if (!memory_operand (operands[3], E_DFmode))
   33127              :         return NULL;
   33128              :       x31 = XEXP (x26, 0);
   33129              :       if (!rtx_equal_p (x31, operands[2])
   33130              :           || !
   33131              : #line 1977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   33132              : (TARGET_SSE2 && TARGET_SSE_UNALIGNED_LOAD_OPTIMAL
   33133              :    && ix86_operands_ok_for_move_multiple (operands, true, DFmode)))
   33134              :         return NULL;
   33135              :       *pmatch_len_ = 1;
   33136              :       return gen_peephole2_432 (insn, operands);
   33137              : 
   33138              :     default:
   33139              :       return NULL;
   33140              :     }
   33141              : }
        

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.