LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - insn-recog-10.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 86.5 % 3772 3263
Test Date: 2026-04-20 14:57:17 Functions: 95.4 % 174 166
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           59 : pattern9 (rtx x1, machine_mode i1)
      57              : {
      58           59 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
      59           59 :   int res ATTRIBUTE_UNUSED;
      60           59 :   if (!memory_operand (operands[0], i1)
      61           59 :       || GET_MODE (x1) != i1)
      62              :     return -1;
      63            5 :   switch (GET_MODE (operands[1]))
      64              :     {
      65            0 :     case E_V4SImode:
      66            0 :       if (!register_operand (operands[1], E_V4SImode))
      67              :         return -1;
      68              :       return 0;
      69              : 
      70            5 :     case E_V4DImode:
      71            5 :       if (!register_operand (operands[1], E_V4DImode))
      72              :         return -1;
      73              :       return 1;
      74              : 
      75              :     default:
      76              :       return -1;
      77              :     }
      78              : }
      79              : 
      80              : int
      81        21326 : pattern15 (rtx x1)
      82              : {
      83        21326 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
      84        21326 :   rtx x2, x3;
      85        21326 :   int res ATTRIBUTE_UNUSED;
      86        21326 :   x2 = XEXP (x1, 1);
      87        21326 :   x3 = XEXP (x2, 1);
      88        21326 :   operands[3] = x3;
      89        21326 :   if (!const_int_operand (operands[3], E_QImode))
      90              :     return -1;
      91        20214 :   return pattern14 (x1); /* [-1, 1] */
      92              : }
      93              : 
      94              : int
      95        33498 : pattern18 (rtx x1, int *pnum_clobbers)
      96              : {
      97        33498 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
      98        33498 :   rtx x2, x3, x4, x5, x6, x7;
      99        33498 :   int res ATTRIBUTE_UNUSED;
     100        33498 :   x2 = XEXP (x1, 0);
     101        33498 :   operands[0] = x2;
     102        33498 :   x3 = XEXP (x1, 1);
     103        33498 :   x4 = XEXP (x3, 0);
     104        33498 :   operands[1] = x4;
     105        33498 :   x5 = XEXP (x3, 1);
     106        33498 :   switch (GET_CODE (x5))
     107              :     {
     108           21 :     case AND:
     109           21 :       return pattern17 (x3, pnum_clobbers); /* [-1, 1] */
     110              : 
     111           48 :     case PLUS:
     112           48 :       if (pnum_clobbers == NULL
     113           48 :           || GET_MODE (x5) != E_QImode)
     114              :         return -1;
     115           48 :       x6 = XEXP (x5, 0);
     116           48 :       operands[2] = x6;
     117           48 :       if (!nonimmediate_operand (operands[2], E_QImode))
     118              :         return -1;
     119           48 :       res = pattern15 (x3);
     120           48 :       if (res >= 0)
     121           29 :         return res + 2; /* [2, 3] */
     122              :       return -1;
     123              : 
     124           40 :     case MINUS:
     125           40 :       if (pnum_clobbers == NULL
     126           40 :           || GET_MODE (x5) != E_QImode)
     127              :         return -1;
     128           40 :       x6 = XEXP (x5, 0);
     129           40 :       operands[3] = x6;
     130           40 :       if (!const_int_operand (operands[3], E_QImode))
     131              :         return -1;
     132           13 :       x7 = XEXP (x5, 1);
     133           13 :       operands[2] = x7;
     134           13 :       if (!nonimmediate_operand (operands[2], E_QImode))
     135              :         return -1;
     136           10 :       res = pattern14 (x3);
     137           10 :       if (res >= 0)
     138            2 :         return res + 4; /* [4, 5] */
     139              :       return -1;
     140              : 
     141              :     case CONST_INT:
     142              :     case CONST_WIDE_INT:
     143              :     case CONST_POLY_INT:
     144              :     case CONST_FIXED:
     145              :     case CONST_DOUBLE:
     146              :     case CONST_VECTOR:
     147              :     case CONST:
     148              :     case REG:
     149              :     case SUBREG:
     150              :     case LABEL_REF:
     151              :     case SYMBOL_REF:
     152              :     case HIGH:
     153              :       return 6;
     154              : 
     155              :     default:
     156              :       return -1;
     157              :     }
     158              : }
     159              : 
     160              : int
     161        74260 : pattern36 (rtx x1)
     162              : {
     163        74260 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     164        74260 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
     165        74260 :   rtx x10, x11, x12;
     166        74260 :   int res ATTRIBUTE_UNUSED;
     167        74260 :   x2 = XVECEXP (x1, 0, 0);
     168        74260 :   if (GET_CODE (x2) != SET)
     169              :     return -1;
     170        25040 :   x3 = XEXP (x2, 1);
     171        25040 :   if (GET_CODE (x3) != COMPARE
     172          245 :       || GET_MODE (x3) != E_CCmode)
     173              :     return -1;
     174          245 :   x4 = XEXP (x3, 0);
     175          245 :   if (GET_CODE (x4) != MEM
     176          245 :       || GET_MODE (x4) != E_BLKmode)
     177              :     return -1;
     178          245 :   x5 = XEXP (x3, 1);
     179          245 :   if (GET_CODE (x5) != MEM
     180          245 :       || GET_MODE (x5) != E_BLKmode)
     181              :     return -1;
     182          245 :   x6 = XEXP (x2, 0);
     183          245 :   if (GET_CODE (x6) != REG
     184          245 :       || REGNO (x6) != 17
     185          490 :       || GET_MODE (x6) != E_CCmode)
     186              :     return -1;
     187          245 :   x7 = XVECEXP (x1, 0, 1);
     188          245 :   if (GET_CODE (x7) != USE)
     189              :     return -1;
     190          245 :   x8 = XVECEXP (x1, 0, 2);
     191          245 :   if (GET_CODE (x8) != USE)
     192              :     return -1;
     193            0 :   x9 = XVECEXP (x1, 0, 3);
     194            0 :   if (GET_CODE (x9) != CLOBBER)
     195              :     return -1;
     196            0 :   x10 = XVECEXP (x1, 0, 4);
     197            0 :   if (GET_CODE (x10) != CLOBBER)
     198              :     return -1;
     199            0 :   x11 = XVECEXP (x1, 0, 5);
     200            0 :   if (GET_CODE (x11) != CLOBBER)
     201              :     return -1;
     202            0 :   x12 = XEXP (x4, 0);
     203            0 :   operands[4] = x12;
     204            0 :   return 0;
     205              : }
     206              : 
     207              : int
     208       107255 : pattern40 (rtx x1)
     209              : {
     210       107255 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     211       107255 :   rtx x2, x3, x4, x5, x6;
     212       107255 :   int res ATTRIBUTE_UNUSED;
     213       107255 :   x2 = XEXP (x1, 1);
     214       107255 :   x3 = XEXP (x2, 0);
     215       107255 :   if (GET_MODE (x3) != E_TImode)
     216              :     return -1;
     217         8256 :   x4 = XEXP (x1, 0);
     218         8256 :   operands[0] = x4;
     219         8256 :   if (!nonimmediate_operand (operands[0], E_TImode)
     220         8256 :       || GET_MODE (x2) != E_TImode)
     221              :     return -1;
     222         8256 :   x5 = XEXP (x3, 0);
     223         8256 :   operands[1] = x5;
     224         8256 :   if (!nonimmediate_operand (operands[1], E_DImode))
     225              :     return -1;
     226         6162 :   x6 = XEXP (x2, 1);
     227         6162 :   switch (GET_CODE (x6))
     228              :     {
     229            0 :     case ASHIFT:
     230            0 :       if (GET_MODE (x6) != E_TImode)
     231              :         return -1;
     232            0 :       return pattern39 (x6, 
     233              : E_TImode, 
     234            0 : E_DImode); /* [-1, 2] */
     235              : 
     236         2927 :     case CONST_INT:
     237         2927 :     case CONST_WIDE_INT:
     238         2927 :       operands[2] = x6;
     239         2927 :       if (!const_scalar_int_operand (operands[2], E_TImode))
     240              :         return -1;
     241              :       return 3;
     242              : 
     243              :     default:
     244              :       return -1;
     245              :     }
     246              : }
     247              : 
     248              : int
     249        11216 : pattern47 (rtx x1)
     250              : {
     251        11216 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     252        11216 :   rtx x2, x3;
     253        11216 :   int res ATTRIBUTE_UNUSED;
     254        11216 :   x2 = XEXP (x1, 0);
     255        11216 :   operands[1] = x2;
     256        11216 :   x3 = XEXP (x1, 1);
     257        11216 :   operands[2] = x3;
     258        11216 :   switch (GET_MODE (operands[0]))
     259              :     {
     260          994 :     case E_V8QImode:
     261          994 :       return pattern6 (x1, 
     262          994 : E_V8QImode); /* [-1, 0] */
     263              : 
     264          940 :     case E_V4HImode:
     265          940 :       if (pattern6 (x1, 
     266              : E_V4HImode) != 0)
     267              :         return -1;
     268              :       return 1;
     269              : 
     270          162 :     case E_V4QImode:
     271          162 :       if (pattern5 (x1, 
     272              : E_V4QImode) != 0)
     273              :         return -1;
     274              :       return 2;
     275              : 
     276          220 :     case E_V2QImode:
     277          220 :       if (pattern5 (x1, 
     278              : E_V2QImode) != 0)
     279              :         return -1;
     280              :       return 3;
     281              : 
     282          237 :     case E_V2HImode:
     283          237 :       if (pattern5 (x1, 
     284              : E_V2HImode) != 0)
     285              :         return -1;
     286              :       return 4;
     287              : 
     288              :     default:
     289              :       return -1;
     290              :     }
     291              : }
     292              : 
     293              : int
     294         1277 : pattern57 (rtx x1)
     295              : {
     296         1277 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     297         1277 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
     298         1277 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
     299         1277 :   int res ATTRIBUTE_UNUSED;
     300         1277 :   x2 = XEXP (x1, 1);
     301         1277 :   if (GET_MODE (x2) != E_V4HImode)
     302              :     return -1;
     303          284 :   x3 = XEXP (x2, 0);
     304          284 :   if (GET_CODE (x3) != VEC_SELECT
     305           60 :       || GET_MODE (x3) != E_V4HImode)
     306              :     return -1;
     307           60 :   x4 = XEXP (x3, 0);
     308           60 :   if (GET_CODE (x4) != VEC_CONCAT
     309           60 :       || GET_MODE (x4) != E_V8HImode)
     310              :     return -1;
     311           60 :   x5 = XEXP (x3, 1);
     312           60 :   if (GET_CODE (x5) != PARALLEL
     313           60 :       || XVECLEN (x5, 0) != 4)
     314              :     return -1;
     315           60 :   x6 = XVECEXP (x5, 0, 0);
     316           60 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     317              :     return -1;
     318           60 :   x7 = XVECEXP (x5, 0, 1);
     319           60 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
     320              :     return -1;
     321           60 :   x8 = XVECEXP (x5, 0, 2);
     322           60 :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
     323              :     return -1;
     324           60 :   x9 = XVECEXP (x5, 0, 3);
     325           60 :   if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
     326              :     return -1;
     327           60 :   x10 = XEXP (x2, 1);
     328           60 :   if (GET_CODE (x10) != VEC_SELECT
     329           60 :       || GET_MODE (x10) != E_V4HImode)
     330              :     return -1;
     331           60 :   x11 = XEXP (x10, 0);
     332           60 :   if (GET_CODE (x11) != VEC_CONCAT
     333           60 :       || GET_MODE (x11) != E_V8HImode)
     334              :     return -1;
     335           60 :   x12 = XEXP (x10, 1);
     336           60 :   if (GET_CODE (x12) != PARALLEL
     337           60 :       || XVECLEN (x12, 0) != 4)
     338              :     return -1;
     339           60 :   x13 = XVECEXP (x12, 0, 0);
     340           60 :   if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
     341              :     return -1;
     342           60 :   x14 = XVECEXP (x12, 0, 1);
     343           60 :   if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
     344              :     return -1;
     345           60 :   x15 = XVECEXP (x12, 0, 2);
     346           60 :   if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
     347              :     return -1;
     348           60 :   x16 = XVECEXP (x12, 0, 3);
     349           60 :   if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
     350              :     return -1;
     351           60 :   x17 = XEXP (x1, 0);
     352           60 :   operands[0] = x17;
     353           60 :   if (!register_operand (operands[0], E_V4HImode)
     354           60 :       || pattern56 (x2) != 0)
     355            0 :     return -1;
     356              :   return 0;
     357              : }
     358              : 
     359              : int
     360      2805078 : pattern76 (rtx x1)
     361              : {
     362      2805078 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     363      2805078 :   rtx x2, x3, x4;
     364      2805078 :   int res ATTRIBUTE_UNUSED;
     365      2805078 :   x2 = XEXP (x1, 0);
     366      2805078 :   x3 = XEXP (x2, 0);
     367      2805078 :   operands[1] = x3;
     368      2805078 :   x4 = XEXP (x2, 1);
     369      2805078 :   operands[3] = x4;
     370      2805078 :   return pattern75 (x1); /* [-1, 2] */
     371              : }
     372              : 
     373              : int
     374        70961 : pattern79 (rtx x1, int *pnum_clobbers)
     375              : {
     376        70961 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     377        70961 :   int res ATTRIBUTE_UNUSED;
     378        70961 :   if (pnum_clobbers == NULL
     379        70961 :       || !nonimmediate_operand (operands[0], E_TImode)
     380        70949 :       || GET_MODE (x1) != E_TImode
     381        70949 :       || !nonimmediate_operand (operands[1], E_TImode)
     382       131874 :       || !x86_64_hilo_general_operand (operands[2], E_TImode))
     383        27664 :     return -1;
     384              :   return 0;
     385              : }
     386              : 
     387              : int
     388        59401 : pattern87 (rtx x1)
     389              : {
     390        59401 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     391        59401 :   rtx x2, x3, x4;
     392        59401 :   int res ATTRIBUTE_UNUSED;
     393        59401 :   x2 = XEXP (x1, 0);
     394        59401 :   if (GET_MODE (x2) != E_QImode
     395        10021 :       || !register_operand (operands[0], E_HImode)
     396        59910 :       || GET_MODE (x1) != E_HImode)
     397        58892 :     return -1;
     398          509 :   x3 = XEXP (x2, 0);
     399          509 :   operands[1] = x3;
     400          509 :   if (!nonimmediate_operand (operands[1], E_QImode))
     401              :     return -1;
     402          509 :   x4 = XEXP (x2, 1);
     403          509 :   operands[2] = x4;
     404          509 :   if (!nonmemory_operand (operands[2], E_QImode))
     405              :     return -1;
     406              :   return 0;
     407              : }
     408              : 
     409              : int
     410        11433 : pattern94 (rtx x1, int *pnum_clobbers)
     411              : {
     412        11433 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     413        11433 :   rtx x2, x3, x4, x5, x6, x7;
     414        11433 :   int res ATTRIBUTE_UNUSED;
     415        11433 :   if (pnum_clobbers == NULL)
     416              :     return -1;
     417        11433 :   x2 = XEXP (x1, 1);
     418        11433 :   x3 = XEXP (x2, 0);
     419        11433 :   operands[2] = x3;
     420        11433 :   x4 = XEXP (x3, 0);
     421        11433 :   if (GET_CODE (x4) != REG
     422        11433 :       || REGNO (x4) != 17)
     423              :     return -1;
     424         6731 :   x5 = XEXP (x3, 1);
     425         6731 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     426              :     return -1;
     427         6731 :   x6 = XEXP (x1, 0);
     428         6731 :   operands[0] = x6;
     429         6731 :   x7 = XEXP (x2, 1);
     430         6731 :   operands[1] = x7;
     431         6731 :   switch (GET_MODE (operands[0]))
     432              :     {
     433              :     case E_QImode:
     434              :       return 0;
     435              : 
     436           28 :     case E_HImode:
     437           28 :       return 1;
     438              : 
     439              :     default:
     440              :       return -1;
     441              :     }
     442              : }
     443              : 
     444              : int
     445         1245 : pattern99 (rtx x1)
     446              : {
     447         1245 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     448         1245 :   rtx x2, x3, x4, x5;
     449         1245 :   int res ATTRIBUTE_UNUSED;
     450         1245 :   x2 = XEXP (x1, 1);
     451         1245 :   if (GET_MODE (x2) != E_BLKmode)
     452              :     return -1;
     453         1245 :   x3 = XEXP (x1, 0);
     454         1245 :   operands[0] = x3;
     455         1245 :   if (!memory_operand (operands[0], E_BLKmode))
     456              :     return -1;
     457         1245 :   x4 = XVECEXP (x2, 0, 0);
     458         1245 :   operands[1] = x4;
     459         1245 :   if (!register_operand (operands[1], E_SImode))
     460              :     return -1;
     461         1204 :   x5 = XVECEXP (x2, 0, 1);
     462         1204 :   operands[2] = x5;
     463         1204 :   if (!register_operand (operands[2], E_SImode))
     464              :     return -1;
     465              :   return 0;
     466              : }
     467              : 
     468              : int
     469          674 : pattern108 (rtx x1)
     470              : {
     471          674 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     472          674 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
     473          674 :   rtx x10, x11, x12, x13, x14, x15;
     474          674 :   int res ATTRIBUTE_UNUSED;
     475          674 :   x2 = XEXP (x1, 0);
     476          674 :   if (GET_MODE (x2) != E_V4HImode)
     477              :     return -1;
     478          238 :   x3 = XEXP (x2, 0);
     479          238 :   if (GET_CODE (x3) != VEC_CONCAT
     480          238 :       || GET_MODE (x3) != E_V8HImode)
     481              :     return -1;
     482          238 :   x4 = XEXP (x2, 1);
     483          238 :   if (GET_CODE (x4) != PARALLEL
     484          238 :       || XVECLEN (x4, 0) != 4)
     485              :     return -1;
     486          238 :   x5 = XVECEXP (x4, 0, 0);
     487          238 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     488              :     return -1;
     489          238 :   x6 = XVECEXP (x4, 0, 1);
     490          238 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
     491              :     return -1;
     492          238 :   x7 = XVECEXP (x4, 0, 2);
     493          238 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
     494              :     return -1;
     495          238 :   x8 = XVECEXP (x4, 0, 3);
     496          238 :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
     497              :     return -1;
     498          238 :   x9 = XEXP (x1, 1);
     499          238 :   if (GET_CODE (x9) != VEC_SELECT
     500          238 :       || GET_MODE (x9) != E_V4HImode)
     501              :     return -1;
     502          238 :   x10 = XEXP (x9, 0);
     503          238 :   if (GET_CODE (x10) != VEC_CONCAT
     504          238 :       || GET_MODE (x10) != E_V8HImode)
     505              :     return -1;
     506          238 :   x11 = XEXP (x9, 1);
     507          238 :   if (GET_CODE (x11) != PARALLEL
     508          238 :       || XVECLEN (x11, 0) != 4)
     509              :     return -1;
     510          238 :   x12 = XVECEXP (x11, 0, 0);
     511          238 :   if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
     512              :     return -1;
     513          238 :   x13 = XVECEXP (x11, 0, 1);
     514          238 :   if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
     515              :     return -1;
     516          238 :   x14 = XVECEXP (x11, 0, 2);
     517          238 :   if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
     518              :     return -1;
     519          238 :   x15 = XVECEXP (x11, 0, 3);
     520          238 :   if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
     521          238 :       || !register_operand (operands[0], E_V4HImode)
     522          238 :       || GET_MODE (x1) != E_V4HImode
     523          476 :       || pattern56 (x1) != 0)
     524            8 :     return -1;
     525              :   return 0;
     526              : }
     527              : 
     528              : int
     529          234 : pattern130 (rtx x1, machine_mode i1)
     530              : {
     531          234 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     532          234 :   rtx x2;
     533          234 :   int res ATTRIBUTE_UNUSED;
     534          234 :   if (!register_operand (operands[0], i1)
     535          234 :       || GET_MODE (x1) != i1)
     536              :     return -1;
     537          202 :   x2 = XVECEXP (x1, 0, 0);
     538          202 :   switch (GET_MODE (x2))
     539              :     {
     540          103 :     case E_DFmode:
     541          103 :       if (!nonimmediate_operand (operands[1], E_V2DFmode))
     542              :         return -1;
     543              :       return 0;
     544              : 
     545           99 :     case E_SFmode:
     546           99 :       if (!nonimmediate_operand (operands[1], E_V4SFmode))
     547              :         return -1;
     548              :       return 1;
     549              : 
     550              :     default:
     551              :       return -1;
     552              :     }
     553              : }
     554              : 
     555              : int
     556          900 : pattern137 (rtx x1, machine_mode i1)
     557              : {
     558          900 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     559          900 :   rtx x2;
     560          900 :   int res ATTRIBUTE_UNUSED;
     561          900 :   if (!register_operand (operands[0], i1)
     562          900 :       || GET_MODE (x1) != i1)
     563              :     return -1;
     564          876 :   x2 = XEXP (x1, 0);
     565          876 :   if (GET_MODE (x2) != i1
     566          876 :       || !register_operand (operands[1], i1)
     567         1692 :       || !nonimmediate_operand (operands[2], i1))
     568          112 :     return -1;
     569              :   return 0;
     570              : }
     571              : 
     572              : int
     573            0 : pattern144 (rtx x1)
     574              : {
     575            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     576            0 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
     577            0 :   rtx x10, x11;
     578            0 :   int res ATTRIBUTE_UNUSED;
     579            0 :   x2 = XEXP (x1, 1);
     580            0 :   operands[2] = x2;
     581            0 :   x3 = XEXP (x1, 2);
     582            0 :   operands[3] = x3;
     583            0 :   x4 = XEXP (x1, 0);
     584            0 :   x5 = XEXP (x4, 0);
     585            0 :   switch (GET_CODE (x5))
     586              :     {
     587            0 :     case REG:
     588            0 :     case SUBREG:
     589            0 :     case MEM:
     590            0 :       operands[1] = x5;
     591            0 :       switch (GET_MODE (operands[0]))
     592              :         {
     593            0 :         case E_V8HImode:
     594            0 :           return pattern141 (x1, 
     595              : E_V8HImode, 
     596              : E_QImode, 
     597            0 : E_V8HFmode); /* [-1, 0] */
     598              : 
     599            0 :         case E_V16HImode:
     600            0 :           if (pattern141 (x1, 
     601              : E_V16HImode, 
     602              : E_HImode, 
     603              : E_V16HFmode) != 0)
     604              :             return -1;
     605              :           return 1;
     606              : 
     607            0 :         case E_V32HImode:
     608            0 :           if (pattern141 (x1, 
     609              : E_V32HImode, 
     610              : E_SImode, 
     611              : E_V32HFmode) != 0)
     612              :             return -1;
     613              :           return 2;
     614              : 
     615            0 :         case E_V8SImode:
     616            0 :           if (pattern142 (x1, 
     617              : E_V8SImode, 
     618              : E_QImode) != 0)
     619              :             return -1;
     620              :           return 3;
     621              : 
     622            0 :         case E_V16SImode:
     623            0 :           if (!register_operand (operands[0], E_V16SImode)
     624            0 :               || GET_MODE (x1) != E_V16SImode
     625            0 :               || GET_MODE (x4) != E_V16SImode
     626            0 :               || !nonimm_or_0_operand (operands[2], E_V16SImode)
     627            0 :               || !register_operand (operands[3], E_HImode))
     628            0 :             return -1;
     629            0 :           switch (GET_MODE (operands[1]))
     630              :             {
     631            0 :             case E_V16HFmode:
     632            0 :               if (!vector_operand (operands[1], E_V16HFmode))
     633              :                 return -1;
     634              :               return 4;
     635              : 
     636            0 :             case E_V16SFmode:
     637            0 :               if (!vector_operand (operands[1], E_V16SFmode))
     638              :                 return -1;
     639              :               return 5;
     640              : 
     641              :             default:
     642              :               return -1;
     643              :             }
     644              : 
     645            0 :         case E_V8DImode:
     646            0 :           if (!register_operand (operands[0], E_V8DImode)
     647            0 :               || GET_MODE (x1) != E_V8DImode
     648            0 :               || GET_MODE (x4) != E_V8DImode
     649            0 :               || !nonimm_or_0_operand (operands[2], E_V8DImode)
     650            0 :               || !register_operand (operands[3], E_QImode))
     651            0 :             return -1;
     652            0 :           switch (GET_MODE (operands[1]))
     653              :             {
     654            0 :             case E_V8HFmode:
     655            0 :               if (!vector_operand (operands[1], E_V8HFmode))
     656              :                 return -1;
     657              :               return 6;
     658              : 
     659            0 :             case E_V8DFmode:
     660            0 :               if (!vector_operand (operands[1], E_V8DFmode))
     661              :                 return -1;
     662              :               return 7;
     663              : 
     664            0 :             case E_V8SFmode:
     665            0 :               if (!vector_operand (operands[1], E_V8SFmode))
     666              :                 return -1;
     667              :               return 8;
     668              : 
     669              :             default:
     670              :               return -1;
     671              :             }
     672              : 
     673            0 :         case E_V4SImode:
     674            0 :           if (pattern142 (x1, 
     675              : E_V4SImode, 
     676              : E_QImode) != 0)
     677              :             return -1;
     678              :           return 9;
     679              : 
     680            0 :         case E_V4DImode:
     681            0 :           if (!register_operand (operands[0], E_V4DImode)
     682            0 :               || GET_MODE (x1) != E_V4DImode
     683            0 :               || GET_MODE (x4) != E_V4DImode
     684            0 :               || !nonimm_or_0_operand (operands[2], E_V4DImode)
     685            0 :               || !register_operand (operands[3], E_QImode))
     686            0 :             return -1;
     687            0 :           switch (GET_MODE (operands[1]))
     688              :             {
     689            0 :             case E_V4HFmode:
     690            0 :               if (!memory_operand (operands[1], E_V4HFmode))
     691              :                 return -1;
     692              :               return 10;
     693              : 
     694            0 :             case E_V4DFmode:
     695            0 :               if (!vector_operand (operands[1], E_V4DFmode))
     696              :                 return -1;
     697              :               return 11;
     698              : 
     699            0 :             case E_V4SFmode:
     700            0 :               if (!vector_operand (operands[1], E_V4SFmode))
     701              :                 return -1;
     702              :               return 12;
     703              : 
     704              :             default:
     705              :               return -1;
     706              :             }
     707              : 
     708            0 :         case E_V2DImode:
     709            0 :           if (!register_operand (operands[0], E_V2DImode)
     710            0 :               || GET_MODE (x1) != E_V2DImode
     711            0 :               || GET_MODE (x4) != E_V2DImode
     712            0 :               || !nonimm_or_0_operand (operands[2], E_V2DImode)
     713            0 :               || !register_operand (operands[3], E_QImode))
     714            0 :             return -1;
     715            0 :           switch (GET_MODE (operands[1]))
     716              :             {
     717            0 :             case E_V2HFmode:
     718            0 :               if (!memory_operand (operands[1], E_V2HFmode))
     719              :                 return -1;
     720              :               return 13;
     721              : 
     722            0 :             case E_V2DFmode:
     723            0 :               if (!vector_operand (operands[1], E_V2DFmode))
     724              :                 return -1;
     725              :               return 14;
     726              : 
     727              :             default:
     728              :               return -1;
     729              :             }
     730              : 
     731              :         default:
     732              :           return -1;
     733              :         }
     734              : 
     735            0 :     case VEC_SELECT:
     736            0 :       x6 = XEXP (x5, 1);
     737            0 :       if (GET_CODE (x6) != PARALLEL)
     738              :         return -1;
     739            0 :       x7 = XEXP (x5, 0);
     740            0 :       operands[1] = x7;
     741            0 :       if (!register_operand (operands[3], E_QImode))
     742              :         return -1;
     743            0 :       switch (XVECLEN (x6, 0))
     744              :         {
     745            0 :         case 4:
     746            0 :           x8 = XVECEXP (x6, 0, 0);
     747            0 :           if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     748              :             return -1;
     749            0 :           x9 = XVECEXP (x6, 0, 1);
     750            0 :           if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
     751              :             return -1;
     752            0 :           x10 = XVECEXP (x6, 0, 2);
     753            0 :           if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
     754              :             return -1;
     755            0 :           x11 = XVECEXP (x6, 0, 3);
     756            0 :           if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
     757            0 :               || GET_MODE (x5) != E_V4HFmode
     758            0 :               || !register_operand (operands[1], E_V8HFmode))
     759            0 :             return -1;
     760            0 :           switch (GET_MODE (operands[0]))
     761              :             {
     762            0 :             case E_V4SImode:
     763            0 :               if (pattern143 (x1, 
     764              : E_V4SImode) != 0)
     765              :                 return -1;
     766              :               return 15;
     767              : 
     768            0 :             case E_V4DImode:
     769            0 :               if (pattern143 (x1, 
     770              : E_V4DImode) != 0)
     771              :                 return -1;
     772              :               return 16;
     773              : 
     774              :             default:
     775              :               return -1;
     776              :             }
     777              : 
     778            0 :         case 2:
     779            0 :           x8 = XVECEXP (x6, 0, 0);
     780            0 :           if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     781              :             return -1;
     782            0 :           x9 = XVECEXP (x6, 0, 1);
     783            0 :           if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
     784            0 :               || !register_operand (operands[0], E_V2DImode)
     785            0 :               || GET_MODE (x1) != E_V2DImode
     786            0 :               || GET_MODE (x4) != E_V2DImode
     787            0 :               || !nonimm_or_0_operand (operands[2], E_V2DImode))
     788            0 :             return -1;
     789            0 :           switch (GET_MODE (x5))
     790              :             {
     791            0 :             case E_V2HFmode:
     792            0 :               if (!nonimmediate_operand (operands[1], E_V8HFmode))
     793              :                 return -1;
     794              :               return 17;
     795              : 
     796            0 :             case E_V2SFmode:
     797            0 :               if (!nonimmediate_operand (operands[1], E_V4SFmode))
     798              :                 return -1;
     799              :               return 18;
     800              : 
     801              :             default:
     802              :               return -1;
     803              :             }
     804              : 
     805              :         default:
     806              :           return -1;
     807              :         }
     808              : 
     809              :     default:
     810              :       return -1;
     811              :     }
     812              : }
     813              : 
     814              : int
     815          444 : pattern205 (rtx x1)
     816              : {
     817          444 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     818          444 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
     819          444 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
     820          444 :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
     821          444 :   rtx x26, x27;
     822          444 :   int res ATTRIBUTE_UNUSED;
     823          444 :   x2 = XEXP (x1, 0);
     824          444 :   x3 = XEXP (x2, 0);
     825          444 :   if (GET_CODE (x3) != VEC_CONCAT)
     826              :     return -1;
     827          444 :   x4 = XEXP (x2, 1);
     828          444 :   if (GET_CODE (x4) != PARALLEL)
     829              :     return -1;
     830          444 :   x5 = XEXP (x1, 1);
     831          444 :   if (GET_CODE (x5) != VEC_SELECT)
     832              :     return -1;
     833          444 :   x6 = XEXP (x5, 0);
     834          444 :   if (GET_CODE (x6) != VEC_CONCAT)
     835              :     return -1;
     836          444 :   x7 = XEXP (x5, 1);
     837          444 :   if (GET_CODE (x7) != PARALLEL)
     838              :     return -1;
     839          444 :   x8 = XEXP (x3, 0);
     840          444 :   operands[1] = x8;
     841          444 :   x9 = XEXP (x3, 1);
     842          444 :   operands[2] = x9;
     843          444 :   x10 = XEXP (x6, 0);
     844          444 :   if (!rtx_equal_p (x10, operands[1]))
     845              :     return -1;
     846          444 :   x11 = XEXP (x6, 1);
     847          444 :   if (!rtx_equal_p (x11, operands[2]))
     848              :     return -1;
     849          444 :   switch (XVECLEN (x4, 0))
     850              :     {
     851          197 :     case 16:
     852          197 :       return pattern195 (x1); /* [-1, 0] */
     853              : 
     854          239 :     case 8:
     855          239 :       x12 = XVECEXP (x4, 0, 0);
     856          239 :       if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     857              :         return -1;
     858          239 :       x13 = XVECEXP (x4, 0, 1);
     859          239 :       if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
     860              :         return -1;
     861          239 :       x14 = XVECEXP (x4, 0, 2);
     862          239 :       if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
     863              :         return -1;
     864          239 :       x15 = XVECEXP (x4, 0, 3);
     865          239 :       if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
     866              :         return -1;
     867          239 :       x16 = XVECEXP (x4, 0, 4);
     868          239 :       if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
     869              :         return -1;
     870          239 :       x17 = XVECEXP (x4, 0, 5);
     871          239 :       if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
     872              :         return -1;
     873          239 :       x18 = XVECEXP (x4, 0, 6);
     874          239 :       if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
     875              :         return -1;
     876          239 :       x19 = XVECEXP (x4, 0, 7);
     877          239 :       if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
     878          239 :           || XVECLEN (x7, 0) != 8)
     879              :         return -1;
     880          239 :       x20 = XVECEXP (x7, 0, 0);
     881          239 :       if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
     882              :         return -1;
     883          239 :       x21 = XVECEXP (x7, 0, 1);
     884          239 :       if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
     885              :         return -1;
     886          239 :       x22 = XVECEXP (x7, 0, 2);
     887          239 :       if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
     888              :         return -1;
     889          239 :       x23 = XVECEXP (x7, 0, 3);
     890          239 :       if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
     891              :         return -1;
     892          239 :       x24 = XVECEXP (x7, 0, 4);
     893          239 :       if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
     894              :         return -1;
     895          239 :       x25 = XVECEXP (x7, 0, 5);
     896          239 :       if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
     897              :         return -1;
     898          239 :       x26 = XVECEXP (x7, 0, 6);
     899          239 :       if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
     900              :         return -1;
     901          239 :       x27 = XVECEXP (x7, 0, 7);
     902          239 :       if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
     903          239 :           || pattern196 (x1, 
     904              : E_V16HImode, 
     905              : E_V8HImode) != 0)
     906           16 :         return -1;
     907              :       return 1;
     908              : 
     909              :     default:
     910              :       return -1;
     911              :     }
     912              : }
     913              : 
     914              : int
     915       314166 : pattern226 (rtx x1, machine_mode i1, machine_mode i2)
     916              : {
     917       314166 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     918       314166 :   int res ATTRIBUTE_UNUSED;
     919       314166 :   if (!register_operand (operands[0], i2)
     920       313564 :       || GET_MODE (x1) != i2
     921       313564 :       || !register_operand (operands[1], i2)
     922       563560 :       || !vector_operand (operands[2], i1))
     923       106566 :     return -1;
     924              :   return 0;
     925              : }
     926              : 
     927              : int
     928         2250 : pattern229 (rtx x1)
     929              : {
     930         2250 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     931         2250 :   rtx x2, x3, x4;
     932         2250 :   int res ATTRIBUTE_UNUSED;
     933         2250 :   x2 = XVECEXP (x1, 0, 1);
     934         2250 :   if (GET_CODE (x2) != CLOBBER)
     935              :     return -1;
     936         1870 :   x3 = XEXP (x2, 0);
     937         1870 :   if (GET_CODE (x3) != REG
     938         1870 :       || REGNO (x3) != 17
     939         3740 :       || GET_MODE (x3) != E_CCmode)
     940              :     return -1;
     941         1870 :   x4 = XVECEXP (x1, 0, 2);
     942         1870 :   if (GET_CODE (x4) != CLOBBER)
     943              :     return -1;
     944          898 :   return pattern228 (x1); /* [-1, 1] */
     945              : }
     946              : 
     947              : int
     948       112065 : pattern237 (rtx x1)
     949              : {
     950       112065 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
     951       112065 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
     952       112065 :   rtx x10, x11, x12, x13, x14, x15;
     953       112065 :   int res ATTRIBUTE_UNUSED;
     954       112065 :   x2 = XVECEXP (x1, 0, 0);
     955       112065 :   x3 = XEXP (x2, 1);
     956       112065 :   if (GET_MODE (x3) != E_CCmode)
     957              :     return -1;
     958       112065 :   x4 = XEXP (x3, 0);
     959       112065 :   if (GET_CODE (x4) != NE)
     960              :     return -1;
     961       109092 :   x5 = XEXP (x4, 1);
     962       109092 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
     963              :     return -1;
     964       109060 :   x6 = XEXP (x3, 1);
     965       109060 :   if (GET_CODE (x6) != COMPARE
     966       109060 :       || GET_MODE (x6) != E_CCmode)
     967              :     return -1;
     968       109060 :   x7 = XEXP (x6, 0);
     969       109060 :   if (GET_CODE (x7) != MEM
     970       109060 :       || GET_MODE (x7) != E_BLKmode)
     971              :     return -1;
     972       109060 :   x8 = XEXP (x6, 1);
     973       109060 :   if (GET_CODE (x8) != MEM
     974       109060 :       || GET_MODE (x8) != E_BLKmode)
     975              :     return -1;
     976       109060 :   x9 = XEXP (x3, 2);
     977       109060 :   if (GET_CODE (x9) != REG
     978        76293 :       || REGNO (x9) != 17
     979       185353 :       || GET_MODE (x9) != E_CCmode)
     980              :     return -1;
     981        76293 :   x10 = XEXP (x2, 0);
     982        76293 :   if (GET_CODE (x10) != REG
     983        76293 :       || REGNO (x10) != 17
     984       152586 :       || GET_MODE (x10) != E_CCmode)
     985              :     return -1;
     986        76293 :   x11 = XVECEXP (x1, 0, 1);
     987        76293 :   if (GET_CODE (x11) != USE)
     988              :     return -1;
     989        76293 :   x12 = XVECEXP (x1, 0, 2);
     990        76293 :   if (GET_CODE (x12) != CLOBBER)
     991              :     return -1;
     992        76293 :   x13 = XVECEXP (x1, 0, 3);
     993        76293 :   if (GET_CODE (x13) != CLOBBER)
     994              :     return -1;
     995        76293 :   x14 = XVECEXP (x1, 0, 4);
     996        76293 :   if (GET_CODE (x14) != CLOBBER)
     997              :     return -1;
     998        76293 :   x15 = XEXP (x4, 0);
     999        76293 :   operands[6] = x15;
    1000        76293 :   return 0;
    1001              : }
    1002              : 
    1003              : int
    1004        61063 : pattern257 (rtx x1, int *pnum_clobbers)
    1005              : {
    1006        61063 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1007        61063 :   rtx x2, x3, x4, x5;
    1008        61063 :   int res ATTRIBUTE_UNUSED;
    1009        61063 :   if (pnum_clobbers == NULL)
    1010              :     return -1;
    1011        61063 :   x2 = XEXP (x1, 1);
    1012        61063 :   x3 = XEXP (x2, 0);
    1013        61063 :   if (GET_MODE (x3) != E_QImode)
    1014              :     return -1;
    1015          245 :   x4 = XEXP (x3, 0);
    1016          245 :   if (GET_CODE (x4) != SUBREG
    1017          160 :       || maybe_ne (SUBREG_BYTE (x4), 0)
    1018          405 :       || GET_MODE (x4) != E_QImode)
    1019              :     return -1;
    1020          160 :   x5 = XEXP (x4, 0);
    1021          160 :   switch (GET_CODE (x5))
    1022              :     {
    1023          136 :     case ASHIFTRT:
    1024          136 :     case LSHIFTRT:
    1025          136 :     case SIGN_EXTRACT:
    1026          136 :     case ZERO_EXTRACT:
    1027          136 :       operands[3] = x5;
    1028          136 :       return pattern256 (x1); /* [-1, 0] */
    1029              : 
    1030              :     default:
    1031              :       return -1;
    1032              :     }
    1033              : }
    1034              : 
    1035              : int
    1036      2669212 : pattern274 (rtx x1)
    1037              : {
    1038      2669212 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1039      2669212 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1040      2669212 :   rtx x10, x11, x12, x13;
    1041      2669212 :   int res ATTRIBUTE_UNUSED;
    1042      2669212 :   x2 = XEXP (x1, 0);
    1043      2669212 :   x3 = XEXP (x2, 0);
    1044      2669212 :   operands[1] = x3;
    1045      2669212 :   x4 = XEXP (x2, 1);
    1046      2669212 :   operands[2] = x4;
    1047      2669212 :   x5 = XEXP (x1, 1);
    1048      2669212 :   switch (XVECLEN (x5, 0))
    1049              :     {
    1050       290668 :     case 2:
    1051       290668 :       x6 = XVECEXP (x5, 0, 0);
    1052       290668 :       if (GET_CODE (x6) != CONST_INT)
    1053              :         return -1;
    1054              :       return 0;
    1055              : 
    1056       586107 :     case 8:
    1057       586107 :       x6 = XVECEXP (x5, 0, 0);
    1058       586107 :       if (GET_CODE (x6) != CONST_INT)
    1059              :         return -1;
    1060       586107 :       x7 = XVECEXP (x5, 0, 1);
    1061       586107 :       if (GET_CODE (x7) != CONST_INT)
    1062              :         return -1;
    1063       586107 :       x8 = XVECEXP (x5, 0, 2);
    1064       586107 :       if (GET_CODE (x8) != CONST_INT)
    1065              :         return -1;
    1066       586107 :       x9 = XVECEXP (x5, 0, 3);
    1067       586107 :       if (GET_CODE (x9) != CONST_INT)
    1068              :         return -1;
    1069       586107 :       x10 = XVECEXP (x5, 0, 4);
    1070       586107 :       if (GET_CODE (x10) != CONST_INT)
    1071              :         return -1;
    1072       586107 :       x11 = XVECEXP (x5, 0, 5);
    1073       586107 :       if (GET_CODE (x11) != CONST_INT)
    1074              :         return -1;
    1075       586107 :       x12 = XVECEXP (x5, 0, 6);
    1076       586107 :       if (GET_CODE (x12) != CONST_INT)
    1077              :         return -1;
    1078       586107 :       x13 = XVECEXP (x5, 0, 7);
    1079       586107 :       if (GET_CODE (x13) != CONST_INT
    1080       586107 :           || !register_operand (operands[0], E_V8QImode)
    1081        42876 :           || GET_MODE (x1) != E_V8QImode
    1082        42876 :           || GET_MODE (x2) != E_V16QImode
    1083        42876 :           || !register_operand (operands[1], E_V8QImode)
    1084       627984 :           || !register_mmxmem_operand (operands[2], E_V8QImode))
    1085       549087 :         return -1;
    1086        37020 :       switch (XWINT (x6, 0))
    1087              :         {
    1088         8476 :         case 4L:
    1089         8476 :           if (XWINT (x7, 0) != 12L
    1090         6634 :               || XWINT (x8, 0) != 5L
    1091         6530 :               || XWINT (x9, 0) != 13L
    1092         6530 :               || XWINT (x10, 0) != 6L
    1093         6530 :               || XWINT (x11, 0) != 14L
    1094         6530 :               || XWINT (x12, 0) != 7L
    1095         6530 :               || XWINT (x13, 0) != 15L)
    1096              :             return -1;
    1097              :           return 1;
    1098              : 
    1099        14252 :         case 0L:
    1100        14252 :           if (XWINT (x7, 0) != 8L
    1101         8257 :               || XWINT (x8, 0) != 1L
    1102         7488 :               || XWINT (x9, 0) != 9L
    1103         7274 :               || XWINT (x10, 0) != 2L
    1104         7274 :               || XWINT (x11, 0) != 10L
    1105         7274 :               || XWINT (x12, 0) != 3L
    1106         7274 :               || XWINT (x13, 0) != 11L)
    1107              :             return -1;
    1108              :           return 2;
    1109              : 
    1110              :         default:
    1111              :           return -1;
    1112              :         }
    1113              : 
    1114      1560807 :     case 4:
    1115      1560807 :       x6 = XVECEXP (x5, 0, 0);
    1116      1560807 :       if (GET_CODE (x6) != CONST_INT)
    1117              :         return -1;
    1118      1560807 :       x7 = XVECEXP (x5, 0, 1);
    1119      1560807 :       if (GET_CODE (x7) != CONST_INT)
    1120              :         return -1;
    1121      1560807 :       x8 = XVECEXP (x5, 0, 2);
    1122      1560807 :       if (GET_CODE (x8) != CONST_INT)
    1123              :         return -1;
    1124      1560807 :       x9 = XVECEXP (x5, 0, 3);
    1125      1560807 :       if (GET_CODE (x9) != CONST_INT)
    1126              :         return -1;
    1127      1560807 :       switch (XWINT (x6, 0))
    1128              :         {
    1129       291761 :         case 2L:
    1130       291761 :           if (XWINT (x7, 0) != 6L
    1131       126142 :               || XWINT (x8, 0) != 3L
    1132       125113 :               || XWINT (x9, 0) != 7L)
    1133              :             return -1;
    1134       124948 :           switch (GET_MODE (operands[0]))
    1135              :             {
    1136         4344 :             case E_V4QImode:
    1137         4344 :               if (pattern272 (x1, 
    1138              : E_V4QImode, 
    1139              : E_V8QImode) != 0)
    1140              :                 return -1;
    1141              :               return 3;
    1142              : 
    1143        23232 :             case E_V4HImode:
    1144        23232 :               if (pattern273 (x1, 
    1145              : E_V4HImode, 
    1146              : E_V8HImode) != 0)
    1147              :                 return -1;
    1148              :               return 4;
    1149              : 
    1150              :             default:
    1151              :               return -1;
    1152              :             }
    1153              : 
    1154       798794 :         case 0L:
    1155       798794 :           if (XWINT (x7, 0) != 4L
    1156       362872 :               || XWINT (x8, 0) != 1L
    1157       347269 :               || XWINT (x9, 0) != 5L)
    1158              :             return -1;
    1159       346661 :           switch (GET_MODE (operands[0]))
    1160              :             {
    1161         6516 :             case E_V4QImode:
    1162         6516 :               if (pattern272 (x1, 
    1163              : E_V4QImode, 
    1164              : E_V8QImode) != 0)
    1165              :                 return -1;
    1166              :               return 5;
    1167              : 
    1168        31892 :             case E_V4HImode:
    1169        31892 :               if (pattern273 (x1, 
    1170              : E_V4HImode, 
    1171              : E_V8HImode) != 0)
    1172              :                 return -1;
    1173              :               return 6;
    1174              : 
    1175              :             default:
    1176              :               return -1;
    1177              :             }
    1178              : 
    1179              :         default:
    1180              :           return -1;
    1181              :         }
    1182              : 
    1183              :     default:
    1184              :       return -1;
    1185              :     }
    1186              : }
    1187              : 
    1188              : int
    1189          752 : pattern325 (rtx x1)
    1190              : {
    1191          752 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1192          752 :   rtx x2;
    1193          752 :   int res ATTRIBUTE_UNUSED;
    1194          752 :   x2 = XVECEXP (x1, 0, 0);
    1195          752 :   operands[1] = x2;
    1196          752 :   switch (GET_MODE (operands[0]))
    1197              :     {
    1198          126 :     case E_V16SFmode:
    1199          126 :       if (!register_operand (operands[0], E_V16SFmode)
    1200          117 :           || GET_MODE (x1) != E_V16SFmode
    1201          243 :           || !nonimmediate_operand (operands[1], E_V16SFmode))
    1202           11 :         return -1;
    1203              :       return 0;
    1204              : 
    1205          126 :     case E_V8SFmode:
    1206          126 :       if (!register_operand (operands[0], E_V8SFmode)
    1207          117 :           || GET_MODE (x1) != E_V8SFmode
    1208          243 :           || !nonimmediate_operand (operands[1], E_V8SFmode))
    1209           11 :         return -1;
    1210              :       return 1;
    1211              : 
    1212          121 :     case E_V4SFmode:
    1213          121 :       if (!register_operand (operands[0], E_V4SFmode)
    1214          115 :           || GET_MODE (x1) != E_V4SFmode
    1215          236 :           || !nonimmediate_operand (operands[1], E_V4SFmode))
    1216            7 :         return -1;
    1217              :       return 2;
    1218              : 
    1219          129 :     case E_V8DFmode:
    1220          129 :       if (!register_operand (operands[0], E_V8DFmode)
    1221          120 :           || GET_MODE (x1) != E_V8DFmode
    1222          249 :           || !nonimmediate_operand (operands[1], E_V8DFmode))
    1223           12 :         return -1;
    1224              :       return 3;
    1225              : 
    1226          126 :     case E_V4DFmode:
    1227          126 :       if (!register_operand (operands[0], E_V4DFmode)
    1228          117 :           || GET_MODE (x1) != E_V4DFmode
    1229          243 :           || !nonimmediate_operand (operands[1], E_V4DFmode))
    1230           11 :         return -1;
    1231              :       return 4;
    1232              : 
    1233          124 :     case E_V2DFmode:
    1234          124 :       if (!register_operand (operands[0], E_V2DFmode)
    1235          118 :           || GET_MODE (x1) != E_V2DFmode
    1236          242 :           || !nonimmediate_operand (operands[1], E_V2DFmode))
    1237            8 :         return -1;
    1238              :       return 5;
    1239              : 
    1240              :     default:
    1241              :       return -1;
    1242              :     }
    1243              : }
    1244              : 
    1245              : int
    1246       663969 : pattern334 (rtx x1)
    1247              : {
    1248       663969 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1249       663969 :   rtx x2, x3, x4, x5;
    1250       663969 :   int res ATTRIBUTE_UNUSED;
    1251       663969 :   x2 = XEXP (x1, 0);
    1252       663969 :   x3 = XEXP (x2, 0);
    1253       663969 :   operands[1] = x3;
    1254       663969 :   x4 = XEXP (x2, 1);
    1255       663969 :   operands[2] = x4;
    1256       663969 :   x5 = XEXP (x1, 1);
    1257       663969 :   operands[3] = x5;
    1258       663969 :   switch (GET_MODE (operands[0]))
    1259              :     {
    1260         5997 :     case E_V8HImode:
    1261         5997 :       return pattern333 (x1, 
    1262         5997 : E_V8HImode); /* [-1, 0] */
    1263              : 
    1264         4226 :     case E_V4SImode:
    1265         4226 :       if (pattern333 (x1, 
    1266              : E_V4SImode) != 0)
    1267              :         return -1;
    1268              :       return 1;
    1269              : 
    1270              :     default:
    1271              :       return -1;
    1272              :     }
    1273              : }
    1274              : 
    1275              : int
    1276        61010 : pattern338 (rtx x1, rtx_code i1)
    1277              : {
    1278        61010 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1279        61010 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1280        61010 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    1281        61010 :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
    1282        61010 :   rtx x26, x27, x28, x29, x30, x31, x32, x33;
    1283        61010 :   rtx x34, x35;
    1284        61010 :   int res ATTRIBUTE_UNUSED;
    1285        61010 :   x2 = XEXP (x1, 0);
    1286        61010 :   x3 = XEXP (x2, 0);
    1287        61010 :   x4 = XEXP (x3, 0);
    1288        61010 :   if (GET_CODE (x4) != VEC_SELECT)
    1289              :     return -1;
    1290          349 :   x5 = XEXP (x4, 1);
    1291          349 :   if (GET_CODE (x5) != PARALLEL)
    1292              :     return -1;
    1293          349 :   x6 = XEXP (x2, 1);
    1294          349 :   if (GET_CODE (x6) != i1)
    1295              :     return -1;
    1296          252 :   x7 = XEXP (x6, 0);
    1297          252 :   if (GET_CODE (x7) != VEC_SELECT)
    1298              :     return -1;
    1299          190 :   x8 = XEXP (x7, 1);
    1300          190 :   if (GET_CODE (x8) != PARALLEL)
    1301              :     return -1;
    1302          190 :   x9 = XEXP (x1, 1);
    1303          190 :   if (GET_CODE (x9) != PLUS)
    1304              :     return -1;
    1305          190 :   x10 = XEXP (x9, 0);
    1306          190 :   if (GET_CODE (x10) != i1)
    1307              :     return -1;
    1308          190 :   x11 = XEXP (x10, 0);
    1309          190 :   if (GET_CODE (x11) != VEC_SELECT)
    1310              :     return -1;
    1311          190 :   x12 = XEXP (x11, 1);
    1312          190 :   if (GET_CODE (x12) != PARALLEL)
    1313              :     return -1;
    1314          190 :   x13 = XEXP (x9, 1);
    1315          190 :   if (GET_CODE (x13) != i1)
    1316              :     return -1;
    1317          190 :   x14 = XEXP (x13, 0);
    1318          190 :   if (GET_CODE (x14) != VEC_SELECT)
    1319              :     return -1;
    1320          190 :   x15 = XEXP (x14, 1);
    1321          190 :   if (GET_CODE (x15) != PARALLEL)
    1322              :     return -1;
    1323          190 :   x16 = XEXP (x4, 0);
    1324          190 :   operands[1] = x16;
    1325          190 :   x17 = XEXP (x7, 0);
    1326          190 :   if (!rtx_equal_p (x17, operands[1]))
    1327              :     return -1;
    1328          190 :   x18 = XEXP (x11, 0);
    1329          190 :   if (!rtx_equal_p (x18, operands[1]))
    1330              :     return -1;
    1331          190 :   x19 = XEXP (x14, 0);
    1332          190 :   if (!rtx_equal_p (x19, operands[1]))
    1333              :     return -1;
    1334          190 :   switch (XVECLEN (x5, 0))
    1335              :     {
    1336           90 :     case 4:
    1337           90 :       x20 = XVECEXP (x5, 0, 0);
    1338           90 :       if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1339              :         return -1;
    1340           90 :       x21 = XVECEXP (x5, 0, 1);
    1341           90 :       if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    1342              :         return -1;
    1343           90 :       x22 = XVECEXP (x5, 0, 2);
    1344           90 :       if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    1345              :         return -1;
    1346           90 :       x23 = XVECEXP (x5, 0, 3);
    1347           90 :       if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 12]
    1348           90 :           || XVECLEN (x8, 0) != 4)
    1349              :         return -1;
    1350           90 :       x24 = XVECEXP (x8, 0, 0);
    1351           90 :       if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    1352              :         return -1;
    1353           90 :       x25 = XVECEXP (x8, 0, 1);
    1354           90 :       if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    1355              :         return -1;
    1356           90 :       x26 = XVECEXP (x8, 0, 2);
    1357           90 :       if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
    1358              :         return -1;
    1359           90 :       x27 = XVECEXP (x8, 0, 3);
    1360           90 :       if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 13]
    1361           90 :           || XVECLEN (x12, 0) != 4)
    1362              :         return -1;
    1363           90 :       x28 = XVECEXP (x12, 0, 0);
    1364           90 :       if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    1365              :         return -1;
    1366           90 :       x29 = XVECEXP (x12, 0, 1);
    1367           90 :       if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    1368              :         return -1;
    1369           90 :       x30 = XVECEXP (x12, 0, 2);
    1370           90 :       if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
    1371              :         return -1;
    1372           90 :       x31 = XVECEXP (x12, 0, 3);
    1373           90 :       if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
    1374           90 :           || XVECLEN (x15, 0) != 4)
    1375              :         return -1;
    1376           90 :       x32 = XVECEXP (x15, 0, 0);
    1377           90 :       if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    1378              :         return -1;
    1379           90 :       x33 = XVECEXP (x15, 0, 1);
    1380           90 :       if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
    1381              :         return -1;
    1382           90 :       x34 = XVECEXP (x15, 0, 2);
    1383           90 :       if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
    1384              :         return -1;
    1385           90 :       x35 = XVECEXP (x15, 0, 3);
    1386           90 :       if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
    1387           90 :           || pattern337 (x1, 
    1388              : E_V4QImode, 
    1389              : E_V4SImode, 
    1390              : E_V16QImode) != 0)
    1391            4 :         return -1;
    1392              :       return 0;
    1393              : 
    1394          100 :     case 2:
    1395          100 :       x20 = XVECEXP (x5, 0, 0);
    1396          100 :       if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1397              :         return -1;
    1398          100 :       x21 = XVECEXP (x5, 0, 1);
    1399          100 :       if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 4]
    1400          100 :           || XVECLEN (x8, 0) != 2)
    1401              :         return -1;
    1402          100 :       x24 = XVECEXP (x8, 0, 0);
    1403          100 :       if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    1404              :         return -1;
    1405          100 :       x25 = XVECEXP (x8, 0, 1);
    1406          100 :       if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 5]
    1407          100 :           || XVECLEN (x12, 0) != 2)
    1408              :         return -1;
    1409          100 :       x28 = XVECEXP (x12, 0, 0);
    1410          100 :       if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    1411              :         return -1;
    1412          100 :       x29 = XVECEXP (x12, 0, 1);
    1413          100 :       if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
    1414          100 :           || XVECLEN (x15, 0) != 2)
    1415              :         return -1;
    1416          100 :       x32 = XVECEXP (x15, 0, 0);
    1417          100 :       if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    1418              :         return -1;
    1419          100 :       x33 = XVECEXP (x15, 0, 1);
    1420          100 :       if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
    1421          100 :           || pattern337 (x1, 
    1422              : E_V2HImode, 
    1423              : E_V2DImode, 
    1424              : E_V8HImode) != 0)
    1425            4 :         return -1;
    1426              :       return 1;
    1427              : 
    1428              :     default:
    1429              :       return -1;
    1430              :     }
    1431              : }
    1432              : 
    1433              : int
    1434          303 : pattern377 (rtx x1)
    1435              : {
    1436          303 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1437          303 :   int res ATTRIBUTE_UNUSED;
    1438          303 :   switch (GET_MODE (operands[0]))
    1439              :     {
    1440          288 :     case E_QImode:
    1441          288 :       if (!register_operand (operands[0], E_QImode)
    1442          288 :           || GET_MODE (x1) != E_QImode
    1443          576 :           || !register_operand (operands[1], E_QImode))
    1444           37 :         return -1;
    1445              :       return 0;
    1446              : 
    1447           15 :     case E_HImode:
    1448           15 :       if (!register_operand (operands[0], E_HImode)
    1449           15 :           || GET_MODE (x1) != E_HImode
    1450           30 :           || !register_operand (operands[1], E_HImode))
    1451            0 :         return -1;
    1452              :       return 1;
    1453              : 
    1454              :     default:
    1455              :       return -1;
    1456              :     }
    1457              : }
    1458              : 
    1459              : int
    1460         2519 : pattern385 (rtx x1, int i1)
    1461              : {
    1462         2519 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1463         2519 :   rtx x2;
    1464         2519 :   int res ATTRIBUTE_UNUSED;
    1465         2519 :   if (GET_CODE (x1) != UNSPEC
    1466           12 :       || XVECLEN (x1, 0) != 1
    1467           12 :       || XINT (x1, 1) != i1)
    1468              :     return -1;
    1469           12 :   x2 = XVECEXP (x1, 0, 0);
    1470           12 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1471            0 :     return -1;
    1472              :   return 0;
    1473              : }
    1474              : 
    1475              : int
    1476         3346 : pattern390 (rtx x1)
    1477              : {
    1478         3346 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1479         3346 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    1480         3346 :   rtx x10, x11;
    1481         3346 :   int res ATTRIBUTE_UNUSED;
    1482         3346 :   x2 = XVECEXP (x1, 0, 1);
    1483         3346 :   if (GET_CODE (x2) != CLOBBER)
    1484              :     return -1;
    1485         3346 :   x3 = XVECEXP (x1, 0, 2);
    1486         3346 :   if (GET_CODE (x3) != CLOBBER)
    1487              :     return -1;
    1488         3346 :   x4 = XVECEXP (x1, 0, 0);
    1489         3346 :   x5 = XEXP (x4, 0);
    1490         3346 :   operands[0] = x5;
    1491         3346 :   x6 = XEXP (x4, 1);
    1492         3346 :   x7 = XEXP (x6, 0);
    1493         3346 :   operands[1] = x7;
    1494         3346 :   if (!register_operand (operands[1], E_DImode))
    1495              :     return -1;
    1496         3343 :   x8 = XEXP (x2, 0);
    1497         3343 :   operands[2] = x8;
    1498         3343 :   if (!memory_operand (operands[2], E_DImode))
    1499              :     return -1;
    1500         3343 :   x9 = XEXP (x3, 0);
    1501         3343 :   operands[3] = x9;
    1502         3343 :   if (!scratch_operand (operands[3], E_V4SImode))
    1503              :     return -1;
    1504         3343 :   x10 = XVECEXP (x1, 0, 3);
    1505         3343 :   x11 = XEXP (x10, 0);
    1506         3343 :   operands[4] = x11;
    1507         3343 :   if (!scratch_operand (operands[4], E_V4SImode))
    1508              :     return -1;
    1509         3343 :   return pattern389 (x6); /* [-1, 2] */
    1510              : }
    1511              : 
    1512              : int
    1513         9506 : pattern405 (rtx x1)
    1514              : {
    1515         9506 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1516         9506 :   rtx x2, x3, x4, x5, x6;
    1517         9506 :   int res ATTRIBUTE_UNUSED;
    1518         9506 :   x2 = XEXP (x1, 0);
    1519         9506 :   x3 = XEXP (x2, 0);
    1520         9506 :   operands[1] = x3;
    1521         9506 :   x4 = XEXP (x1, 1);
    1522         9506 :   switch (GET_CODE (x4))
    1523              :     {
    1524            0 :     case ASHIFT:
    1525            0 :       x5 = XEXP (x4, 1);
    1526            0 :       operands[3] = x5;
    1527            0 :       if (!const_int_operand (operands[3], E_QImode))
    1528              :         return -1;
    1529            0 :       x6 = XEXP (x4, 0);
    1530            0 :       switch (GET_CODE (x6))
    1531              :         {
    1532            0 :         case REG:
    1533            0 :         case SUBREG:
    1534            0 :           operands[2] = x6;
    1535            0 :           switch (GET_MODE (operands[0]))
    1536              :             {
    1537            0 :             case E_DImode:
    1538            0 :               return pattern401 (x1, 
    1539              : E_DImode, 
    1540            0 : E_SImode); /* [-1, 0] */
    1541              : 
    1542            0 :             case E_TImode:
    1543            0 :               if (pattern401 (x1, 
    1544              : E_TImode, 
    1545              : E_DImode) != 0)
    1546              :                 return -1;
    1547              :               return 1;
    1548              : 
    1549              :             default:
    1550              :               return -1;
    1551              :             }
    1552              : 
    1553            0 :         case SIGN_EXTEND:
    1554            0 :           res = pattern403 (x1);
    1555            0 :           if (res >= 0)
    1556            0 :             return res + 2; /* [2, 3] */
    1557              :           return -1;
    1558              : 
    1559            0 :         case ZERO_EXTEND:
    1560            0 :           res = pattern403 (x1);
    1561            0 :           if (res >= 0)
    1562            0 :             return res + 4; /* [4, 5] */
    1563              :           return -1;
    1564              : 
    1565              :         default:
    1566              :           return -1;
    1567              :         }
    1568              : 
    1569         2229 :     case CONST_INT:
    1570         2229 :     case CONST_WIDE_INT:
    1571         2229 :       operands[2] = x4;
    1572         2229 :       switch (GET_MODE (operands[0]))
    1573              :         {
    1574          647 :         case E_DImode:
    1575          647 :           if (pattern404 (x1, 
    1576              : E_DImode, 
    1577              : E_SImode) != 0)
    1578              :             return -1;
    1579              :           return 6;
    1580              : 
    1581         1146 :         case E_TImode:
    1582         1146 :           if (pattern404 (x1, 
    1583              : E_TImode, 
    1584              : E_DImode) != 0)
    1585              :             return -1;
    1586              :           return 7;
    1587              : 
    1588              :         default:
    1589              :           return -1;
    1590              :         }
    1591              : 
    1592              :     default:
    1593              :       return -1;
    1594              :     }
    1595              : }
    1596              : 
    1597              : int
    1598       125562 : pattern425 (rtx x1)
    1599              : {
    1600       125562 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1601       125562 :   rtx x2, x3, x4, x5, x6;
    1602       125562 :   int res ATTRIBUTE_UNUSED;
    1603       125562 :   x2 = XEXP (x1, 1);
    1604       125562 :   x3 = XEXP (x2, 0);
    1605       125562 :   x4 = XEXP (x3, 0);
    1606       125562 :   if (GET_CODE (x4) != SUBREG
    1607        38900 :       || maybe_ne (SUBREG_BYTE (x4), 0)
    1608       163707 :       || GET_MODE (x4) != E_QImode)
    1609              :     return -1;
    1610          120 :   x5 = XEXP (x4, 0);
    1611          120 :   switch (GET_CODE (x5))
    1612              :     {
    1613            3 :     case ASHIFTRT:
    1614            3 :     case LSHIFTRT:
    1615            3 :     case SIGN_EXTRACT:
    1616            3 :     case ZERO_EXTRACT:
    1617            3 :       operands[3] = x5;
    1618            3 :       x6 = XEXP (x1, 0);
    1619            3 :       return pattern424 (x6); /* [-1, 0] */
    1620              : 
    1621              :     default:
    1622              :       return -1;
    1623              :     }
    1624              : }
    1625              : 
    1626              : int
    1627          427 : pattern432 (rtx x1, machine_mode i1)
    1628              : {
    1629          427 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1630          427 :   rtx x2, x3;
    1631          427 :   int res ATTRIBUTE_UNUSED;
    1632          427 :   if (!register_operand (operands[0], i1)
    1633          427 :       || GET_MODE (x1) != i1)
    1634              :     return -1;
    1635          355 :   x2 = XEXP (x1, 0);
    1636          355 :   if (GET_MODE (x2) != i1)
    1637              :     return -1;
    1638          355 :   x3 = XEXP (x2, 0);
    1639          355 :   if (GET_MODE (x3) != i1
    1640          355 :       || !register_no_SP_operand (operands[1], i1)
    1641          310 :       || !register_operand (operands[3], i1)
    1642          628 :       || !immediate_operand (operands[4], i1))
    1643          152 :     return -1;
    1644              :   return 0;
    1645              : }
    1646              : 
    1647              : int
    1648          330 : pattern441 (rtx x1)
    1649              : {
    1650          330 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1651          330 :   rtx x2, x3;
    1652          330 :   int res ATTRIBUTE_UNUSED;
    1653          330 :   if (GET_MODE (x1) != E_SImode)
    1654              :     return -1;
    1655          318 :   x2 = XEXP (x1, 0);
    1656          318 :   if (GET_CODE (x2) != ASHIFT
    1657           72 :       || GET_MODE (x2) != E_SImode)
    1658              :     return -1;
    1659           72 :   x3 = XEXP (x2, 0);
    1660           72 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    1661           46 :     return -1;
    1662              :   return 0;
    1663              : }
    1664              : 
    1665              : int
    1666         6783 : pattern447 (rtx x1, int *pnum_clobbers)
    1667              : {
    1668         6783 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1669         6783 :   rtx x2, x3, x4, x5, x6, x7, x8;
    1670         6783 :   int res ATTRIBUTE_UNUSED;
    1671         6783 :   x2 = XEXP (x1, 1);
    1672         6783 :   x3 = XEXP (x2, 1);
    1673         6783 :   switch (GET_CODE (x3))
    1674              :     {
    1675         3888 :     case CONST_INT:
    1676         3888 :       operands[3] = x3;
    1677         3888 :       x4 = XEXP (x1, 0);
    1678         3888 :       x5 = XEXP (x4, 0);
    1679         3888 :       operands[4] = x5;
    1680         3888 :       x6 = XEXP (x4, 1);
    1681         3888 :       operands[2] = x6;
    1682         3888 :       x7 = XEXP (x2, 0);
    1683         3888 :       operands[1] = x7;
    1684         3888 :       return pattern445 (x1); /* [-1, 1] */
    1685              : 
    1686          297 :     case MINUS:
    1687          297 :       if (pnum_clobbers == NULL
    1688          297 :           || GET_MODE (x3) != E_QImode)
    1689              :         return -1;
    1690          290 :       x8 = XEXP (x3, 0);
    1691          290 :       if (GET_CODE (x8) != CONST_INT)
    1692              :         return -1;
    1693          116 :       x4 = XEXP (x1, 0);
    1694          116 :       x6 = XEXP (x4, 1);
    1695          116 :       if (!nonmemory_operand (x6, E_QImode))
    1696              :         return -1;
    1697          116 :       switch (XWINT (x8, 0))
    1698              :         {
    1699           90 :         case 64L:
    1700           90 :           if (pattern446 (x1, 
    1701              : E_DImode) != 0)
    1702              :             return -1;
    1703              :           return 2;
    1704              : 
    1705           20 :         case 32L:
    1706           20 :           if (pattern446 (x1, 
    1707              : E_SImode) != 0)
    1708              :             return -1;
    1709              :           return 3;
    1710              : 
    1711              :         default:
    1712              :           return -1;
    1713              :         }
    1714              : 
    1715              :     default:
    1716              :       return -1;
    1717              :     }
    1718              : }
    1719              : 
    1720              : int
    1721         3663 : pattern460 (rtx x1)
    1722              : {
    1723         3663 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1724         3663 :   rtx x2;
    1725         3663 :   int res ATTRIBUTE_UNUSED;
    1726         3663 :   x2 = XEXP (x1, 1);
    1727         3663 :   if (!rtx_equal_p (x2, operands[1]))
    1728              :     return -1;
    1729         3246 :   switch (GET_MODE (operands[0]))
    1730              :     {
    1731          569 :     case E_V8HFmode:
    1732          569 :       return pattern459 (x1, 
    1733          569 : E_V8HFmode); /* [-1, 0] */
    1734              : 
    1735         1684 :     case E_V4SFmode:
    1736         1684 :       if (pattern459 (x1, 
    1737              : E_V4SFmode) != 0)
    1738              :         return -1;
    1739              :       return 1;
    1740              : 
    1741          993 :     case E_V2DFmode:
    1742          993 :       if (pattern459 (x1, 
    1743              : E_V2DFmode) != 0)
    1744              :         return -1;
    1745              :       return 2;
    1746              : 
    1747              :     default:
    1748              :       return -1;
    1749              :     }
    1750              : }
    1751              : 
    1752              : int
    1753         6229 : pattern470 (rtx x1, machine_mode i1, machine_mode i2)
    1754              : {
    1755         6229 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1756         6229 :   rtx x2;
    1757         6229 :   int res ATTRIBUTE_UNUSED;
    1758         6229 :   if (!register_operand (operands[0], i1)
    1759         6229 :       || GET_MODE (x1) != i1)
    1760              :     return -1;
    1761         5836 :   x2 = XEXP (x1, 0);
    1762         5836 :   if (GET_MODE (x2) != i1
    1763         5836 :       || !nonimmediate_operand (operands[1], i1)
    1764         5774 :       || !nonimm_or_0_operand (operands[3], i1)
    1765        11526 :       || !register_operand (operands[4], i2))
    1766          403 :     return -1;
    1767              :   return 0;
    1768              : }
    1769              : 
    1770              : int
    1771         7363 : pattern475 (rtx x1, machine_mode i1, machine_mode i2)
    1772              : {
    1773         7363 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1774         7363 :   rtx x2;
    1775         7363 :   int res ATTRIBUTE_UNUSED;
    1776         7363 :   if (!register_operand (operands[0], i1)
    1777         7363 :       || GET_MODE (x1) != i1)
    1778              :     return -1;
    1779         6899 :   x2 = XEXP (x1, 0);
    1780         6899 :   if (GET_MODE (x2) != i1
    1781         6899 :       || !register_operand (operands[1], i1)
    1782         6886 :       || !vector_operand (operands[2], i1)
    1783         6844 :       || !nonimm_or_0_operand (operands[4], i1)
    1784        13604 :       || !register_operand (operands[5], i2))
    1785          290 :     return -1;
    1786              :   return 0;
    1787              : }
    1788              : 
    1789              : int
    1790         4225 : pattern481 (rtx x1)
    1791              : {
    1792         4225 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1793         4225 :   rtx x2, x3, x4, x5, x6, x7;
    1794         4225 :   int res ATTRIBUTE_UNUSED;
    1795         4225 :   x2 = XEXP (x1, 0);
    1796         4225 :   x3 = XVECEXP (x2, 0, 0);
    1797         4225 :   operands[1] = x3;
    1798         4225 :   x4 = XVECEXP (x2, 0, 1);
    1799         4225 :   operands[2] = x4;
    1800         4225 :   x5 = XVECEXP (x2, 0, 2);
    1801         4225 :   operands[3] = x5;
    1802         4225 :   if (!const_0_to_255_operand (operands[3], E_SImode))
    1803              :     return -1;
    1804         4225 :   x6 = XEXP (x1, 1);
    1805         4225 :   operands[4] = x6;
    1806         4225 :   x7 = XEXP (x1, 2);
    1807         4225 :   operands[5] = x7;
    1808         4225 :   switch (GET_MODE (operands[0]))
    1809              :     {
    1810          400 :     case E_V32HImode:
    1811          400 :       return pattern480 (x1, 
    1812              : E_V32HImode, 
    1813          400 : E_SImode); /* [-1, 0] */
    1814              : 
    1815          509 :     case E_V16SImode:
    1816          509 :       if (pattern480 (x1, 
    1817              : E_V16SImode, 
    1818              : E_HImode) != 0)
    1819              :         return -1;
    1820              :       return 1;
    1821              : 
    1822          536 :     case E_V8DImode:
    1823          536 :       if (pattern480 (x1, 
    1824              : E_V8DImode, 
    1825              : E_QImode) != 0)
    1826              :         return -1;
    1827              :       return 2;
    1828              : 
    1829          434 :     case E_V16HImode:
    1830          434 :       if (pattern480 (x1, 
    1831              : E_V16HImode, 
    1832              : E_HImode) != 0)
    1833              :         return -1;
    1834              :       return 3;
    1835              : 
    1836          488 :     case E_V8SImode:
    1837          488 :       if (pattern480 (x1, 
    1838              : E_V8SImode, 
    1839              : E_QImode) != 0)
    1840              :         return -1;
    1841              :       return 4;
    1842              : 
    1843          502 :     case E_V4DImode:
    1844          502 :       if (pattern480 (x1, 
    1845              : E_V4DImode, 
    1846              : E_QImode) != 0)
    1847              :         return -1;
    1848              :       return 5;
    1849              : 
    1850          426 :     case E_V8HImode:
    1851          426 :       if (pattern480 (x1, 
    1852              : E_V8HImode, 
    1853              : E_QImode) != 0)
    1854              :         return -1;
    1855              :       return 6;
    1856              : 
    1857          458 :     case E_V4SImode:
    1858          458 :       if (pattern480 (x1, 
    1859              : E_V4SImode, 
    1860              : E_QImode) != 0)
    1861              :         return -1;
    1862              :       return 7;
    1863              : 
    1864          472 :     case E_V2DImode:
    1865          472 :       if (pattern480 (x1, 
    1866              : E_V2DImode, 
    1867              : E_QImode) != 0)
    1868              :         return -1;
    1869              :       return 8;
    1870              : 
    1871              :     default:
    1872              :       return -1;
    1873              :     }
    1874              : }
    1875              : 
    1876              : int
    1877            8 : pattern496 (rtx x1, machine_mode i1)
    1878              : {
    1879            8 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1880            8 :   int res ATTRIBUTE_UNUSED;
    1881            8 :   if (!register_operand (operands[0], i1)
    1882            8 :       || GET_MODE (x1) != i1
    1883            8 :       || !register_operand (operands[1], i1)
    1884           12 :       || !nonimmediate_operand (operands[2], i1))
    1885            6 :     return -1;
    1886              :   return 0;
    1887              : }
    1888              : 
    1889              : int
    1890          696 : pattern499 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    1891              : {
    1892          696 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1893          696 :   rtx x2, x3, x4;
    1894          696 :   int res ATTRIBUTE_UNUSED;
    1895          696 :   if (!register_operand (operands[0], i2)
    1896          696 :       || GET_MODE (x1) != i2)
    1897              :     return -1;
    1898          678 :   x2 = XEXP (x1, 0);
    1899          678 :   if (GET_MODE (x2) != i1)
    1900              :     return -1;
    1901          678 :   x3 = XEXP (x2, 0);
    1902          678 :   if (GET_MODE (x3) != i1
    1903          678 :       || !nonimmediate_operand (operands[1], i3))
    1904            0 :     return -1;
    1905          678 :   x4 = XEXP (x2, 1);
    1906          678 :   if (GET_MODE (x4) != i1
    1907          678 :       || !nonimm_or_0_operand (operands[2], i2)
    1908         1351 :       || !const0_operand (operands[4], i1))
    1909            5 :     return -1;
    1910              :   return 0;
    1911              : }
    1912              : 
    1913              : int
    1914            0 : pattern505 (rtx x1)
    1915              : {
    1916            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1917            0 :   rtx x2, x3, x4, x5, x6, x7;
    1918            0 :   int res ATTRIBUTE_UNUSED;
    1919            0 :   x2 = XEXP (x1, 0);
    1920            0 :   x3 = XEXP (x2, 0);
    1921            0 :   if (GET_MODE (x3) != E_V2SImode)
    1922              :     return -1;
    1923            0 :   x4 = XEXP (x1, 1);
    1924            0 :   if (GET_CODE (x4) != CONST_VECTOR
    1925            0 :       || XVECLEN (x4, 0) != 2
    1926            0 :       || GET_MODE (x4) != E_V2SImode)
    1927              :     return -1;
    1928            0 :   x5 = XVECEXP (x4, 0, 0);
    1929            0 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    1930              :     return -1;
    1931            0 :   x6 = XVECEXP (x4, 0, 1);
    1932            0 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    1933            0 :       || !register_operand (operands[0], E_V4SImode)
    1934            0 :       || GET_MODE (x1) != E_V4SImode
    1935            0 :       || GET_MODE (x2) != E_V2SImode)
    1936            0 :     return -1;
    1937            0 :   x7 = XEXP (x3, 0);
    1938            0 :   operands[1] = x7;
    1939            0 :   if (!nonimmediate_operand (operands[1], E_V2DFmode))
    1940              :     return -1;
    1941            0 :   return pattern504 (x2); /* [-1, 1] */
    1942              : }
    1943              : 
    1944              : int
    1945          720 : pattern510 (rtx x1, machine_mode i1, machine_mode i2)
    1946              : {
    1947          720 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1948          720 :   rtx x2, x3, x4;
    1949          720 :   int res ATTRIBUTE_UNUSED;
    1950          720 :   if (!register_operand (operands[0], i2)
    1951          720 :       || GET_MODE (x1) != i2)
    1952              :     return -1;
    1953          720 :   x2 = XEXP (x1, 0);
    1954          720 :   if (GET_MODE (x2) != i1)
    1955              :     return -1;
    1956          720 :   x3 = XEXP (x2, 0);
    1957          720 :   if (GET_MODE (x3) != i1)
    1958              :     return -1;
    1959          720 :   x4 = XEXP (x2, 1);
    1960          720 :   if (GET_MODE (x4) != i1)
    1961              :     return -1;
    1962          720 :   switch (GET_MODE (operands[1]))
    1963              :     {
    1964          360 :     case E_V4SImode:
    1965          360 :       if (!register_operand (operands[1], E_V4SImode))
    1966              :         return -1;
    1967              :       return 0;
    1968              : 
    1969          360 :     case E_V4DImode:
    1970          360 :       if (!register_operand (operands[1], E_V4DImode))
    1971              :         return -1;
    1972              :       return 1;
    1973              : 
    1974              :     default:
    1975              :       return -1;
    1976              :     }
    1977              : }
    1978              : 
    1979              : int
    1980          251 : pattern518 (rtx x1)
    1981              : {
    1982          251 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    1983          251 :   int res ATTRIBUTE_UNUSED;
    1984          251 :   if (!register_operand (operands[0], E_V16HFmode)
    1985          251 :       || GET_MODE (x1) != E_V16HFmode)
    1986              :     return -1;
    1987          221 :   switch (GET_MODE (operands[1]))
    1988              :     {
    1989          138 :     case E_V16HImode:
    1990          138 :       if (!vector_operand (operands[1], E_V16HImode))
    1991              :         return -1;
    1992              :       return 0;
    1993              : 
    1994           79 :     case E_V16SImode:
    1995           79 :       if (!vector_operand (operands[1], E_V16SImode))
    1996              :         return -1;
    1997              :       return 1;
    1998              : 
    1999              :     default:
    2000              :       return -1;
    2001              :     }
    2002              : }
    2003              : 
    2004              : int
    2005            8 : pattern522 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    2006              : {
    2007            8 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2008            8 :   rtx x2, x3;
    2009            8 :   int res ATTRIBUTE_UNUSED;
    2010            8 :   if (!register_operand (operands[0], i1)
    2011            8 :       || GET_MODE (x1) != i1)
    2012              :     return -1;
    2013            8 :   x2 = XEXP (x1, 0);
    2014            8 :   if (GET_MODE (x2) != i3)
    2015              :     return -1;
    2016            8 :   x3 = XEXP (x2, 0);
    2017            8 :   if (GET_MODE (x3) != i1
    2018            8 :       || !nonimmediate_operand (operands[1], i2)
    2019            8 :       || !const0_operand (operands[2], i2)
    2020           16 :       || !const0_operand (operands[3], i1))
    2021            0 :     return -1;
    2022              :   return 0;
    2023              : }
    2024              : 
    2025              : int
    2026        26764 : pattern531 (rtx x1)
    2027              : {
    2028        26764 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2029        26764 :   rtx x2, x3, x4;
    2030        26764 :   int res ATTRIBUTE_UNUSED;
    2031        26764 :   x2 = XEXP (x1, 0);
    2032        26764 :   x3 = XEXP (x2, 1);
    2033        26764 :   operands[2] = x3;
    2034        26764 :   x4 = XEXP (x1, 1);
    2035        26764 :   operands[3] = x4;
    2036        26764 :   switch (GET_CODE (x2))
    2037              :     {
    2038        18653 :     case GT:
    2039        18653 :       switch (GET_MODE (operands[0]))
    2040              :         {
    2041           21 :         case E_V4DImode:
    2042           21 :           return pattern530 (x1, 
    2043           21 : E_V4DImode); /* [-1, 0] */
    2044              : 
    2045          116 :         case E_V2DImode:
    2046          116 :           if (pattern530 (x1, 
    2047              : E_V2DImode) != 0)
    2048              :             return -1;
    2049              :           return 1;
    2050              : 
    2051              :         default:
    2052              :           return -1;
    2053              :         }
    2054              : 
    2055              :     case LT:
    2056              :       return 2;
    2057              : 
    2058              :     default:
    2059              :       return -1;
    2060              :     }
    2061              : }
    2062              : 
    2063              : int
    2064      1316229 : pattern535 (rtx x1)
    2065              : {
    2066      1316229 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2067      1316229 :   rtx x2, x3, x4, x5;
    2068      1316229 :   int res ATTRIBUTE_UNUSED;
    2069      1316229 :   x2 = XEXP (x1, 0);
    2070      1316229 :   x3 = XEXP (x2, 0);
    2071      1316229 :   operands[1] = x3;
    2072      1316229 :   x4 = XEXP (x2, 1);
    2073      1316229 :   operands[2] = x4;
    2074      1316229 :   x5 = XEXP (x1, 1);
    2075      1316229 :   switch (GET_CODE (x5))
    2076              :     {
    2077        73034 :     case AND:
    2078        73034 :       return pattern533 (x1); /* [-1, 11] */
    2079              : 
    2080          314 :     case IOR:
    2081          314 :       res = pattern533 (x1);
    2082          314 :       if (res >= 0)
    2083          124 :         return res + 12; /* [12, 23] */
    2084              :       return -1;
    2085              : 
    2086         1619 :     case XOR:
    2087         1619 :       res = pattern533 (x1);
    2088         1619 :       if (res >= 0)
    2089           72 :         return res + 24; /* [24, 35] */
    2090              :       return -1;
    2091              : 
    2092       761782 :     case REG:
    2093       761782 :     case SUBREG:
    2094       761782 :     case MEM:
    2095       761782 :     case NOT:
    2096       761782 :       operands[3] = x5;
    2097       761782 :       switch (GET_MODE (operands[0]))
    2098              :         {
    2099           19 :         case E_V64QImode:
    2100           19 :           if (pattern534 (x1, 
    2101              : E_V64QImode) != 0)
    2102              :             return -1;
    2103              :           return 36;
    2104              : 
    2105          468 :         case E_V32QImode:
    2106          468 :           if (pattern534 (x1, 
    2107              : E_V32QImode) != 0)
    2108              :             return -1;
    2109              :           return 37;
    2110              : 
    2111        95704 :         case E_V16QImode:
    2112        95704 :           if (pattern534 (x1, 
    2113              : E_V16QImode) != 0)
    2114              :             return -1;
    2115              :           return 38;
    2116              : 
    2117            0 :         case E_V32HImode:
    2118            0 :           if (pattern534 (x1, 
    2119              : E_V32HImode) != 0)
    2120              :             return -1;
    2121              :           return 39;
    2122              : 
    2123          140 :         case E_V16HImode:
    2124          140 :           if (pattern534 (x1, 
    2125              : E_V16HImode) != 0)
    2126              :             return -1;
    2127              :           return 40;
    2128              : 
    2129         4838 :         case E_V8HImode:
    2130         4838 :           if (pattern534 (x1, 
    2131              : E_V8HImode) != 0)
    2132              :             return -1;
    2133              :           return 41;
    2134              : 
    2135            8 :         case E_V16SImode:
    2136            8 :           if (pattern534 (x1, 
    2137              : E_V16SImode) != 0)
    2138              :             return -1;
    2139              :           return 42;
    2140              : 
    2141         5534 :         case E_V8SImode:
    2142         5534 :           if (pattern534 (x1, 
    2143              : E_V8SImode) != 0)
    2144              :             return -1;
    2145              :           return 43;
    2146              : 
    2147        44836 :         case E_V4SImode:
    2148        44836 :           if (pattern534 (x1, 
    2149              : E_V4SImode) != 0)
    2150              :             return -1;
    2151              :           return 44;
    2152              : 
    2153            0 :         case E_V8DImode:
    2154            0 :           if (pattern534 (x1, 
    2155              : E_V8DImode) != 0)
    2156              :             return -1;
    2157              :           return 45;
    2158              : 
    2159          529 :         case E_V4DImode:
    2160          529 :           if (pattern534 (x1, 
    2161              : E_V4DImode) != 0)
    2162              :             return -1;
    2163              :           return 46;
    2164              : 
    2165        14003 :         case E_V2DImode:
    2166        14003 :           if (pattern534 (x1, 
    2167              : E_V2DImode) != 0)
    2168              :             return -1;
    2169              :           return 47;
    2170              : 
    2171              :         default:
    2172              :           return -1;
    2173              :         }
    2174              : 
    2175              :     default:
    2176              :       return -1;
    2177              :     }
    2178              : }
    2179              : 
    2180              : int
    2181         1109 : pattern549 (rtx x1)
    2182              : {
    2183         1109 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2184         1109 :   rtx x2, x3, x4, x5, x6, x7;
    2185         1109 :   int res ATTRIBUTE_UNUSED;
    2186         1109 :   x2 = XVECEXP (x1, 0, 0);
    2187         1109 :   x3 = XEXP (x2, 0);
    2188         1109 :   operands[0] = x3;
    2189         1109 :   x4 = XEXP (x2, 1);
    2190         1109 :   x5 = XVECEXP (x4, 0, 0);
    2191         1109 :   operands[1] = x5;
    2192         1109 :   x6 = XVECEXP (x1, 0, 1);
    2193         1109 :   switch (GET_CODE (x6))
    2194              :     {
    2195         1107 :     case CLOBBER:
    2196         1107 :       x7 = XEXP (x6, 0);
    2197         1107 :       if (GET_CODE (x7) != REG
    2198         1107 :           || REGNO (x7) != 17
    2199         2214 :           || GET_MODE (x7) != E_CCmode)
    2200              :         return -1;
    2201         1107 :       switch (GET_MODE (operands[0]))
    2202              :         {
    2203          387 :         case E_SImode:
    2204          387 :           if (!register_operand (operands[0], E_SImode)
    2205          387 :               || GET_MODE (x4) != E_SImode
    2206          774 :               || !nonimmediate_operand (operands[1], E_SImode))
    2207            2 :             return -1;
    2208              :           return 0;
    2209              : 
    2210          382 :         case E_DImode:
    2211          382 :           if (!register_operand (operands[0], E_DImode)
    2212          382 :               || GET_MODE (x4) != E_DImode
    2213          764 :               || !nonimmediate_operand (operands[1], E_DImode))
    2214            2 :             return -1;
    2215              :           return 1;
    2216              : 
    2217          338 :         case E_HImode:
    2218          338 :           if (!register_operand (operands[0], E_HImode)
    2219          338 :               || GET_MODE (x4) != E_HImode
    2220          676 :               || !nonimmediate_operand (operands[1], E_HImode))
    2221            3 :             return -1;
    2222              :           return 2;
    2223              : 
    2224              :         default:
    2225              :           return -1;
    2226              :         }
    2227              : 
    2228            0 :     case UNSPEC:
    2229            0 :       if (XVECLEN (x6, 0) != 1
    2230            0 :           || XINT (x6, 1) != 39)
    2231              :         return -1;
    2232            0 :       res = pattern548 (x1);
    2233            0 :       if (res >= 0)
    2234            0 :         return res + 3; /* [3, 4] */
    2235              :       return -1;
    2236              : 
    2237              :     default:
    2238              :       return -1;
    2239              :     }
    2240              : }
    2241              : 
    2242              : int
    2243      2168732 : pattern567 (rtx x1, machine_mode i1)
    2244              : {
    2245      2168732 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2246      2168732 :   int res ATTRIBUTE_UNUSED;
    2247      2168732 :   if (!nonimmediate_operand (operands[0], i1)
    2248      2168093 :       || GET_MODE (x1) != i1
    2249      2168093 :       || !nonimmediate_operand (operands[1], i1)
    2250      4270558 :       || !general_operand (operands[2], i1))
    2251        68962 :     return -1;
    2252              :   return 0;
    2253              : }
    2254              : 
    2255              : int
    2256        16650 : pattern570 (rtx x1, machine_mode i1)
    2257              : {
    2258        16650 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2259        16650 :   int res ATTRIBUTE_UNUSED;
    2260        16650 :   if (!register_operand (operands[0], i1)
    2261        16618 :       || GET_MODE (x1) != i1
    2262        16618 :       || !register_operand (operands[1], i1)
    2263        32877 :       || !register_operand (operands[2], i1))
    2264         5430 :     return -1;
    2265              :   return 0;
    2266              : }
    2267              : 
    2268              : int
    2269         4515 : pattern575 (rtx x1)
    2270              : {
    2271         4515 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2272         4515 :   rtx x2, x3;
    2273         4515 :   int res ATTRIBUTE_UNUSED;
    2274         4515 :   if (!ix86_carry_flag_operator (operands[1], E_VOIDmode))
    2275              :     return -1;
    2276         3706 :   x2 = XEXP (x1, 0);
    2277         3706 :   if (GET_CODE (x2) != REG
    2278         3706 :       || REGNO (x2) != 17)
    2279              :     return -1;
    2280         2638 :   x3 = XEXP (x1, 1);
    2281         2638 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    2282            0 :     return -1;
    2283              :   return 0;
    2284              : }
    2285              : 
    2286              : int
    2287       210258 : pattern580 (rtx x1)
    2288              : {
    2289       210258 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2290       210258 :   rtx x2, x3, x4, x5;
    2291       210258 :   int res ATTRIBUTE_UNUSED;
    2292       210258 :   x2 = XEXP (x1, 0);
    2293       210258 :   x3 = XEXP (x2, 0);
    2294       210258 :   x4 = XEXP (x3, 0);
    2295       210258 :   operands[1] = x4;
    2296       210258 :   x5 = XEXP (x3, 1);
    2297       210258 :   operands[2] = x5;
    2298       210258 :   if (!const123_operand (operands[2], E_VOIDmode))
    2299              :     return -1;
    2300       177702 :   return pattern433 (x1); /* [-1, 1] */
    2301              : }
    2302              : 
    2303              : int
    2304         8825 : pattern585 (rtx x1)
    2305              : {
    2306         8825 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2307         8825 :   rtx x2, x3, x4, x5, x6, x7, x8;
    2308         8825 :   int res ATTRIBUTE_UNUSED;
    2309         8825 :   x2 = XEXP (x1, 1);
    2310         8825 :   if (GET_MODE (x2) != E_DImode)
    2311              :     return -1;
    2312         4368 :   x3 = XEXP (x2, 0);
    2313         4368 :   if (GET_CODE (x3) != XOR
    2314            6 :       || GET_MODE (x3) != E_SImode)
    2315              :     return -1;
    2316            6 :   x4 = XEXP (x3, 0);
    2317            6 :   if (GET_CODE (x4) != MINUS
    2318            6 :       || GET_MODE (x4) != E_SImode)
    2319              :     return -1;
    2320            6 :   x5 = XEXP (x4, 0);
    2321            6 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
    2322              :     return -1;
    2323            6 :   x6 = XEXP (x4, 1);
    2324            6 :   if (GET_CODE (x6) != CLZ
    2325            6 :       || GET_MODE (x6) != E_SImode)
    2326              :     return -1;
    2327            6 :   x7 = XEXP (x3, 1);
    2328            6 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
    2329            6 :       || !register_operand (operands[0], E_DImode)
    2330            6 :       || GET_MODE (x1) != E_DImode
    2331           12 :       || !const_int_operand (operands[2], E_DImode))
    2332            2 :     return -1;
    2333            4 :   x8 = XEXP (x6, 0);
    2334            4 :   operands[1] = x8;
    2335            4 :   if (!nonimmediate_operand (operands[1], E_SImode))
    2336              :     return -1;
    2337              :   return 0;
    2338              : }
    2339              : 
    2340              : int
    2341           66 : pattern594 (rtx x1)
    2342              : {
    2343           66 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2344           66 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2345           66 :   rtx x10;
    2346           66 :   int res ATTRIBUTE_UNUSED;
    2347           66 :   x2 = XVECEXP (x1, 0, 0);
    2348           66 :   x3 = XEXP (x2, 1);
    2349           66 :   x4 = XEXP (x3, 0);
    2350           66 :   operands[2] = x4;
    2351           66 :   x5 = XEXP (x3, 1);
    2352           66 :   operands[3] = x5;
    2353           66 :   x6 = XVECEXP (x1, 0, 1);
    2354           66 :   x7 = XEXP (x6, 0);
    2355           66 :   operands[1] = x7;
    2356           66 :   x8 = XEXP (x6, 1);
    2357           66 :   x9 = XEXP (x8, 0);
    2358           66 :   if (!rtx_equal_p (x9, operands[2]))
    2359              :     return -1;
    2360           66 :   x10 = XEXP (x8, 1);
    2361           66 :   if (!rtx_equal_p (x10, operands[3]))
    2362              :     return -1;
    2363           66 :   switch (GET_MODE (operands[0]))
    2364              :     {
    2365           28 :     case E_SImode:
    2366           28 :       return pattern391 (x1, 
    2367           28 : E_SImode); /* [-1, 0] */
    2368              : 
    2369           38 :     case E_DImode:
    2370           38 :       if (pattern391 (x1, 
    2371              : E_DImode) != 0)
    2372              :         return -1;
    2373              :       return 1;
    2374              : 
    2375              :     default:
    2376              :       return -1;
    2377              :     }
    2378              : }
    2379              : 
    2380              : int
    2381          205 : pattern603 (rtx x1)
    2382              : {
    2383          205 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2384          205 :   rtx x2, x3;
    2385          205 :   int res ATTRIBUTE_UNUSED;
    2386          205 :   x2 = XVECEXP (x1, 0, 1);
    2387          205 :   if (GET_CODE (x2) != SUBREG
    2388          205 :       || maybe_ne (SUBREG_BYTE (x2), 0))
    2389              :     return -1;
    2390           14 :   x3 = XVECEXP (x1, 0, 0);
    2391           14 :   operands[1] = x3;
    2392           14 :   return pattern602 (x1); /* [-1, 2] */
    2393              : }
    2394              : 
    2395              : int
    2396       291917 : pattern607 (rtx x1)
    2397              : {
    2398       291917 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2399       291917 :   rtx x2, x3, x4, x5;
    2400       291917 :   int res ATTRIBUTE_UNUSED;
    2401       291917 :   if (GET_CODE (x1) != SET)
    2402              :     return -1;
    2403       285439 :   x2 = XEXP (x1, 1);
    2404       285439 :   if (!commutative_operator (x2, E_VOIDmode))
    2405              :     return -1;
    2406        89535 :   operands[3] = x2;
    2407        89535 :   x3 = XEXP (x2, 1);
    2408        89535 :   operands[2] = x3;
    2409        89535 :   if (!memory_operand (operands[2], E_VOIDmode))
    2410              :     return -1;
    2411        17929 :   x4 = XEXP (x2, 0);
    2412        17929 :   if (!rtx_equal_p (x4, operands[0]))
    2413              :     return -1;
    2414        14627 :   x5 = XEXP (x1, 0);
    2415        14627 :   if (!rtx_equal_p (x5, operands[0]))
    2416              :     return -1;
    2417              :   return 0;
    2418              : }
    2419              : 
    2420              : int
    2421          114 : pattern612 (rtx x1, machine_mode i1)
    2422              : {
    2423          114 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2424          114 :   rtx x2, x3, x4, x5;
    2425          114 :   int res ATTRIBUTE_UNUSED;
    2426          114 :   x2 = XVECEXP (x1, 0, 0);
    2427          114 :   x3 = XEXP (x2, 0);
    2428          114 :   if (GET_MODE (x3) != i1
    2429          114 :       || !vector_operand (operands[0], i1)
    2430          102 :       || !const0_operand (operands[1], i1)
    2431          126 :       || !const0_operand (operands[2], i1))
    2432          102 :     return -1;
    2433           12 :   x4 = XVECEXP (x1, 0, 1);
    2434           12 :   if (GET_MODE (x4) != i1)
    2435              :     return -1;
    2436           12 :   x5 = XEXP (x4, 0);
    2437           12 :   if (GET_MODE (x5) != i1)
    2438              :     return -1;
    2439              :   return 0;
    2440              : }
    2441              : 
    2442              : int
    2443       306433 : pattern617 (rtx x1)
    2444              : {
    2445       306433 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2446       306433 :   rtx x2;
    2447       306433 :   int res ATTRIBUTE_UNUSED;
    2448       306433 :   x2 = XEXP (x1, 1);
    2449       306433 :   switch (GET_CODE (x2))
    2450              :     {
    2451        13435 :     case CONST_INT:
    2452        13435 :     case CONST_WIDE_INT:
    2453        13435 :       operands[3] = x2;
    2454        13435 :       switch (GET_MODE (operands[0]))
    2455              :         {
    2456          459 :         case E_QImode:
    2457          459 :           return pattern614 (x1, 
    2458          459 : E_QImode); /* [-1, 0] */
    2459              : 
    2460         1999 :         case E_HImode:
    2461         1999 :           if (pattern614 (x1, 
    2462              : E_HImode) != 0)
    2463              :             return -1;
    2464              :           return 1;
    2465              : 
    2466            1 :         case E_TImode:
    2467            1 :           if (pattern615 (x1, 
    2468              : E_TImode) != 0)
    2469              :             return -1;
    2470              :           return 2;
    2471              : 
    2472              :         default:
    2473              :           return -1;
    2474              :         }
    2475              : 
    2476        32460 :     case ZERO_EXTEND:
    2477        32460 :       if (pattern616 (x1, 
    2478              : E_DImode, 
    2479              : E_TImode) != 0)
    2480              :         return -1;
    2481              :       return 3;
    2482              : 
    2483              :     default:
    2484              :       return -1;
    2485              :     }
    2486              : }
    2487              : 
    2488              : int
    2489           47 : pattern628 (rtx x1, machine_mode i1, machine_mode i2)
    2490              : {
    2491           47 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2492           47 :   rtx x2;
    2493           47 :   int res ATTRIBUTE_UNUSED;
    2494           47 :   if (!register_operand (operands[0], i1)
    2495           47 :       || GET_MODE (x1) != i1)
    2496              :     return -1;
    2497           47 :   x2 = XEXP (x1, 0);
    2498           47 :   if (GET_MODE (x2) != i2
    2499           47 :       || !nonimmediate_operand (operands[1], i2))
    2500           28 :     return -1;
    2501              :   return 0;
    2502              : }
    2503              : 
    2504              : int
    2505      1056603 : pattern633 (rtx x1)
    2506              : {
    2507      1056603 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2508      1056603 :   rtx x2, x3;
    2509      1056603 :   int res ATTRIBUTE_UNUSED;
    2510      1056603 :   x2 = XEXP (x1, 1);
    2511      1056603 :   if (GET_CODE (x2) != SUBREG
    2512       300209 :       || maybe_ne (SUBREG_BYTE (x2), 0)
    2513      1356812 :       || GET_MODE (x2) != E_QImode)
    2514              :     return -1;
    2515       298222 :   x3 = XEXP (x2, 0);
    2516       298222 :   if (GET_CODE (x3) != AND
    2517       298222 :       || pattern291 (x1, 
    2518              : E_DImode) != 0)
    2519       297024 :     return -1;
    2520              :   return 0;
    2521              : }
    2522              : 
    2523              : int
    2524         3446 : pattern640 (rtx x1)
    2525              : {
    2526         3446 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2527         3446 :   rtx x2, x3, x4;
    2528         3446 :   int res ATTRIBUTE_UNUSED;
    2529         3446 :   x2 = XEXP (x1, 0);
    2530         3446 :   x3 = XVECEXP (x2, 0, 0);
    2531         3446 :   operands[1] = x3;
    2532         3446 :   x4 = XEXP (x1, 2);
    2533         3446 :   switch (GET_CODE (x4))
    2534              :     {
    2535         2878 :     case REG:
    2536         2878 :     case SUBREG:
    2537         2878 :       operands[3] = x4;
    2538         2878 :       switch (GET_MODE (operands[0]))
    2539              :         {
    2540          482 :         case E_V16SFmode:
    2541          482 :           return pattern638 (x1, 
    2542              : E_V16SFmode, 
    2543          482 : E_HImode); /* [-1, 0] */
    2544              : 
    2545          480 :         case E_V8SFmode:
    2546          480 :           if (pattern638 (x1, 
    2547              : E_V8SFmode, 
    2548              : E_QImode) != 0)
    2549              :             return -1;
    2550              :           return 1;
    2551              : 
    2552          473 :         case E_V4SFmode:
    2553          473 :           if (pattern638 (x1, 
    2554              : E_V4SFmode, 
    2555              : E_QImode) != 0)
    2556              :             return -1;
    2557              :           return 2;
    2558              : 
    2559          486 :         case E_V8DFmode:
    2560          486 :           if (pattern638 (x1, 
    2561              : E_V8DFmode, 
    2562              : E_QImode) != 0)
    2563              :             return -1;
    2564              :           return 3;
    2565              : 
    2566          480 :         case E_V4DFmode:
    2567          480 :           if (pattern638 (x1, 
    2568              : E_V4DFmode, 
    2569              : E_QImode) != 0)
    2570              :             return -1;
    2571              :           return 4;
    2572              : 
    2573          477 :         case E_V2DFmode:
    2574          477 :           if (pattern638 (x1, 
    2575              : E_V2DFmode, 
    2576              : E_QImode) != 0)
    2577              :             return -1;
    2578              :           return 5;
    2579              : 
    2580              :         default:
    2581              :           return -1;
    2582              :         }
    2583              : 
    2584          528 :     case CONST_INT:
    2585          528 :       if (XWINT (x4, 0) != 1L)
    2586              :         return -1;
    2587          382 :       switch (GET_MODE (operands[0]))
    2588              :         {
    2589          186 :         case E_V4SFmode:
    2590          186 :           if (pattern639 (x1, 
    2591              : E_V4SFmode) != 0)
    2592              :             return -1;
    2593              :           return 6;
    2594              : 
    2595          196 :         case E_V2DFmode:
    2596          196 :           if (pattern639 (x1, 
    2597              : E_V2DFmode) != 0)
    2598              :             return -1;
    2599              :           return 7;
    2600              : 
    2601              :         default:
    2602              :           return -1;
    2603              :         }
    2604              : 
    2605              :     default:
    2606              :       return -1;
    2607              :     }
    2608              : }
    2609              : 
    2610              : int
    2611          374 : pattern656 (rtx x1)
    2612              : {
    2613          374 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2614          374 :   int res ATTRIBUTE_UNUSED;
    2615          374 :   if (!register_operand (operands[0], E_V2DImode)
    2616          374 :       || GET_MODE (x1) != E_V2DImode)
    2617              :     return -1;
    2618          344 :   switch (GET_MODE (operands[1]))
    2619              :     {
    2620          110 :     case E_V8HFmode:
    2621          110 :       if (!nonimmediate_operand (operands[1], E_V8HFmode))
    2622              :         return -1;
    2623              :       return 0;
    2624              : 
    2625          116 :     case E_V2DFmode:
    2626          116 :       if (!vector_operand (operands[1], E_V2DFmode))
    2627              :         return -1;
    2628              :       return 1;
    2629              : 
    2630          118 :     case E_V4SFmode:
    2631          118 :       if (!nonimmediate_operand (operands[1], E_V4SFmode))
    2632              :         return -1;
    2633              :       return 2;
    2634              : 
    2635              :     default:
    2636              :       return -1;
    2637              :     }
    2638              : }
    2639              : 
    2640              : int
    2641            0 : pattern664 (rtx x1)
    2642              : {
    2643            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2644            0 :   rtx x2, x3, x4, x5, x6, x7;
    2645            0 :   int res ATTRIBUTE_UNUSED;
    2646            0 :   x2 = XVECEXP (x1, 0, 0);
    2647            0 :   x3 = XEXP (x2, 0);
    2648            0 :   x4 = XEXP (x3, 0);
    2649            0 :   operands[1] = x4;
    2650            0 :   x5 = XEXP (x2, 1);
    2651            0 :   operands[2] = x5;
    2652            0 :   x6 = XEXP (x2, 2);
    2653            0 :   operands[3] = x6;
    2654            0 :   x7 = XVECEXP (x1, 0, 1);
    2655            0 :   operands[4] = x7;
    2656            0 :   if (!const48_operand (operands[4], E_SImode))
    2657              :     return -1;
    2658            0 :   switch (GET_MODE (operands[0]))
    2659              :     {
    2660            0 :     case E_V8HImode:
    2661            0 :       return pattern663 (x1, 
    2662              : E_QImode, 
    2663              : E_V8HImode, 
    2664            0 : E_V8HFmode); /* [-1, 0] */
    2665              : 
    2666            0 :     case E_V16HImode:
    2667            0 :       if (pattern663 (x1, 
    2668              : E_HImode, 
    2669              : E_V16HImode, 
    2670              : E_V16HFmode) != 0)
    2671              :         return -1;
    2672              :       return 1;
    2673              : 
    2674            0 :     case E_V32HImode:
    2675            0 :       if (pattern663 (x1, 
    2676              : E_SImode, 
    2677              : E_V32HImode, 
    2678              : E_V32HFmode) != 0)
    2679              :         return -1;
    2680              :       return 2;
    2681              : 
    2682            0 :     case E_V8SImode:
    2683            0 :       if (!register_operand (operands[0], E_V8SImode)
    2684            0 :           || GET_MODE (x1) != E_V8SImode
    2685            0 :           || GET_MODE (x2) != E_V8SImode
    2686            0 :           || GET_MODE (x3) != E_V8SImode
    2687            0 :           || !nonimm_or_0_operand (operands[2], E_V8SImode)
    2688            0 :           || !register_operand (operands[3], E_QImode))
    2689            0 :         return -1;
    2690            0 :       switch (GET_MODE (operands[1]))
    2691              :         {
    2692            0 :         case E_V8HFmode:
    2693            0 :           if (!register_operand (operands[1], E_V8HFmode))
    2694              :             return -1;
    2695              :           return 3;
    2696              : 
    2697            0 :         case E_V8DFmode:
    2698            0 :           if (!register_operand (operands[1], E_V8DFmode))
    2699              :             return -1;
    2700              :           return 4;
    2701              : 
    2702              :         default:
    2703              :           return -1;
    2704              :         }
    2705              : 
    2706            0 :     case E_V16SImode:
    2707            0 :       if (!register_operand (operands[0], E_V16SImode)
    2708            0 :           || GET_MODE (x1) != E_V16SImode
    2709            0 :           || GET_MODE (x2) != E_V16SImode
    2710            0 :           || GET_MODE (x3) != E_V16SImode
    2711            0 :           || !nonimm_or_0_operand (operands[2], E_V16SImode)
    2712            0 :           || !register_operand (operands[3], E_HImode))
    2713            0 :         return -1;
    2714            0 :       switch (GET_MODE (operands[1]))
    2715              :         {
    2716            0 :         case E_V16HFmode:
    2717            0 :           if (!register_operand (operands[1], E_V16HFmode))
    2718              :             return -1;
    2719              :           return 5;
    2720              : 
    2721            0 :         case E_V16SFmode:
    2722            0 :           if (!register_operand (operands[1], E_V16SFmode))
    2723              :             return -1;
    2724              :           return 6;
    2725              : 
    2726              :         default:
    2727              :           return -1;
    2728              :         }
    2729              : 
    2730            0 :     case E_V8DImode:
    2731            0 :       if (!register_operand (operands[0], E_V8DImode)
    2732            0 :           || GET_MODE (x1) != E_V8DImode
    2733            0 :           || GET_MODE (x2) != E_V8DImode
    2734            0 :           || GET_MODE (x3) != E_V8DImode
    2735            0 :           || !nonimm_or_0_operand (operands[2], E_V8DImode)
    2736            0 :           || !register_operand (operands[3], E_QImode))
    2737            0 :         return -1;
    2738            0 :       switch (GET_MODE (operands[1]))
    2739              :         {
    2740            0 :         case E_V8HFmode:
    2741            0 :           if (!register_operand (operands[1], E_V8HFmode))
    2742              :             return -1;
    2743              :           return 7;
    2744              : 
    2745            0 :         case E_V8DFmode:
    2746            0 :           if (!register_operand (operands[1], E_V8DFmode))
    2747              :             return -1;
    2748              :           return 8;
    2749              : 
    2750            0 :         case E_V8SFmode:
    2751            0 :           if (!register_operand (operands[1], E_V8SFmode))
    2752              :             return -1;
    2753              :           return 9;
    2754              : 
    2755              :         default:
    2756              :           return -1;
    2757              :         }
    2758              : 
    2759              :     default:
    2760              :       return -1;
    2761              :     }
    2762              : }
    2763              : 
    2764              : int
    2765       200783 : pattern696 (rtx x1, rtx_code i1)
    2766              : {
    2767       200783 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2768       200783 :   rtx x2, x3, x4, x5;
    2769       200783 :   int res ATTRIBUTE_UNUSED;
    2770       200783 :   x2 = XVECEXP (x1, 0, 0);
    2771       200783 :   x3 = XEXP (x2, 1);
    2772       200783 :   x4 = XEXP (x3, 1);
    2773       200783 :   if (GET_CODE (x4) != SIGN_EXTEND)
    2774              :     return -1;
    2775       198633 :   x5 = XEXP (x4, 0);
    2776       198633 :   if (GET_CODE (x5) != i1
    2777       198633 :       || pattern695 (x1, 
    2778              : i1) != 0)
    2779         9239 :     return -1;
    2780              :   return 0;
    2781              : }
    2782              : 
    2783              : int
    2784         9178 : pattern700 (rtx x1, machine_mode i1)
    2785              : {
    2786         9178 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2787         9178 :   rtx x2;
    2788         9178 :   int res ATTRIBUTE_UNUSED;
    2789         9178 :   if (!nonimmediate_operand (operands[0], i1)
    2790         9178 :       || GET_MODE (x1) != i1
    2791        18356 :       || !x86_64_general_operand (operands[1], i1))
    2792            2 :     return -1;
    2793         9176 :   x2 = XEXP (x1, 1);
    2794         9176 :   if (GET_MODE (x2) != i1)
    2795              :     return -1;
    2796              :   return 0;
    2797              : }
    2798              : 
    2799              : int
    2800          225 : pattern704 (rtx x1)
    2801              : {
    2802          225 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2803          225 :   rtx x2, x3, x4;
    2804          225 :   int res ATTRIBUTE_UNUSED;
    2805          225 :   if (GET_MODE (x1) != E_SImode)
    2806              :     return -1;
    2807          219 :   x2 = XEXP (x1, 0);
    2808          219 :   if (GET_CODE (x2) != ASHIFT
    2809           73 :       || GET_MODE (x2) != E_SImode)
    2810              :     return -1;
    2811           73 :   x3 = XEXP (x2, 0);
    2812           73 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    2813              :     return -1;
    2814           27 :   x4 = XEXP (x1, 1);
    2815           27 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
    2816            0 :     return -1;
    2817              :   return 0;
    2818              : }
    2819              : 
    2820              : int
    2821         8418 : pattern710 (rtx x1)
    2822              : {
    2823         8418 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2824         8418 :   rtx x2, x3, x4, x5;
    2825         8418 :   int res ATTRIBUTE_UNUSED;
    2826         8418 :   x2 = XVECEXP (x1, 0, 1);
    2827         8418 :   x3 = XEXP (x2, 0);
    2828         8418 :   if (GET_CODE (x3) != REG
    2829         8418 :       || REGNO (x3) != 17
    2830        16836 :       || GET_MODE (x3) != E_CCmode)
    2831              :     return -1;
    2832         8418 :   x4 = XVECEXP (x1, 0, 0);
    2833         8418 :   x5 = XEXP (x4, 1);
    2834         8418 :   return pattern408 (x5); /* [-1, 1] */
    2835              : }
    2836              : 
    2837              : int
    2838          264 : pattern718 (rtx x1)
    2839              : {
    2840          264 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2841          264 :   rtx x2, x3, x4, x5, x6, x7, x8;
    2842          264 :   int res ATTRIBUTE_UNUSED;
    2843          264 :   x2 = XVECEXP (x1, 0, 0);
    2844          264 :   x3 = XEXP (x2, 0);
    2845          264 :   if (GET_CODE (x3) != REG
    2846          264 :       || REGNO (x3) != 17
    2847          528 :       || GET_MODE (x3) != E_CCmode)
    2848              :     return -1;
    2849          264 :   x4 = XVECEXP (x1, 0, 1);
    2850          264 :   if (GET_CODE (x4) != CLOBBER)
    2851              :     return -1;
    2852          264 :   x5 = XVECEXP (x1, 0, 2);
    2853          264 :   if (GET_CODE (x5) != CLOBBER)
    2854              :     return -1;
    2855          264 :   x6 = XEXP (x2, 1);
    2856          264 :   x7 = XVECEXP (x6, 0, 0);
    2857          264 :   operands[2] = x7;
    2858          264 :   if (!register_operand (operands[2], E_V16QImode))
    2859              :     return -1;
    2860          264 :   x8 = XVECEXP (x6, 0, 1);
    2861          264 :   operands[3] = x8;
    2862          264 :   return 0;
    2863              : }
    2864              : 
    2865              : int
    2866         8350 : pattern722 (rtx x1, machine_mode i1, machine_mode i2)
    2867              : {
    2868         8350 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2869         8350 :   rtx x2, x3;
    2870         8350 :   int res ATTRIBUTE_UNUSED;
    2871         8350 :   if (!nonimmediate_operand (operands[0], i1)
    2872         8350 :       || GET_MODE (x1) != i1)
    2873              :     return -1;
    2874         8334 :   x2 = XEXP (x1, 0);
    2875         8334 :   if (GET_MODE (x2) != i1)
    2876              :     return -1;
    2877         8334 :   x3 = XEXP (x2, 0);
    2878         8334 :   if (GET_MODE (x3) != i1
    2879         8334 :       || !nonimmediate_operand (operands[1], i2)
    2880        11854 :       || !const_scalar_int_operand (operands[3], i1))
    2881         4814 :     return -1;
    2882              :   return 0;
    2883              : }
    2884              : 
    2885              : int
    2886         1687 : pattern732 (rtx x1, rtx_code i1)
    2887              : {
    2888         1687 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2889         1687 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    2890         1687 :   rtx x10;
    2891         1687 :   int res ATTRIBUTE_UNUSED;
    2892         1687 :   x2 = XEXP (x1, 0);
    2893         1687 :   x3 = XEXP (x2, 1);
    2894         1687 :   if (GET_CODE (x3) != i1)
    2895              :     return -1;
    2896          476 :   x4 = XEXP (x1, 1);
    2897          476 :   if (XVECLEN (x4, 0) < 1)
    2898              :     return -1;
    2899          476 :   operands[5] = x4;
    2900          476 :   if (!addsub_vs_parallel (operands[5], E_VOIDmode))
    2901              :     return -1;
    2902            8 :   operands[7] = x1;
    2903            8 :   x5 = XEXP (x2, 0);
    2904            8 :   x6 = XEXP (x5, 0);
    2905            8 :   operands[1] = x6;
    2906            8 :   x7 = XEXP (x5, 1);
    2907            8 :   operands[2] = x7;
    2908            8 :   x8 = XEXP (x3, 0);
    2909            8 :   operands[3] = x8;
    2910            8 :   x9 = XEXP (x3, 1);
    2911            8 :   operands[4] = x9;
    2912            8 :   x10 = XVECEXP (x4, 0, 0);
    2913            8 :   operands[6] = x10;
    2914            8 :   if (!const_int_operand (operands[6], E_VOIDmode))
    2915              :     return -1;
    2916            8 :   switch (GET_MODE (operands[0]))
    2917              :     {
    2918              :     case E_V8SFmode:
    2919              :       return 0;
    2920              : 
    2921            0 :     case E_V4SFmode:
    2922            0 :       return 1;
    2923              : 
    2924            0 :     case E_V4DFmode:
    2925            0 :       return 2;
    2926              : 
    2927            0 :     case E_V2DFmode:
    2928            0 :       return 3;
    2929              : 
    2930              :     default:
    2931              :       return -1;
    2932              :     }
    2933              : }
    2934              : 
    2935              : int
    2936          270 : pattern742 (rtx x1, machine_mode i1)
    2937              : {
    2938          270 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2939          270 :   rtx x2, x3;
    2940          270 :   int res ATTRIBUTE_UNUSED;
    2941          270 :   if (!register_operand (operands[0], i1)
    2942          270 :       || GET_MODE (x1) != i1
    2943          270 :       || !register_operand (operands[1], i1)
    2944          432 :       || !register_operand (operands[2], i1))
    2945          180 :     return -1;
    2946           90 :   x2 = XVECEXP (x1, 0, 2);
    2947           90 :   if (GET_MODE (x2) != i1)
    2948              :     return -1;
    2949           90 :   x3 = XEXP (x2, 0);
    2950           90 :   if (GET_MODE (x3) != i1
    2951           90 :       || !register_operand (operands[3], i1)
    2952           72 :       || !nonmemory_operand (operands[4], i1)
    2953          162 :       || !const0_operand (operands[5], i1))
    2954           54 :     return -1;
    2955              :   return 0;
    2956              : }
    2957              : 
    2958              : int
    2959        15713 : pattern751 (machine_mode i1)
    2960              : {
    2961        15713 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2962        15713 :   int res ATTRIBUTE_UNUSED;
    2963        15713 :   if (!register_operand (operands[0], i1)
    2964        15590 :       || !ix86_comparison_uns_operator (operands[1], i1)
    2965        15457 :       || !register_operand (operands[2], i1)
    2966        25995 :       || !register_operand (operands[3], i1))
    2967        15641 :     return -1;
    2968              :   return 0;
    2969              : }
    2970              : 
    2971              : int
    2972         6388 : pattern755 (rtx x1, rtx_code i1)
    2973              : {
    2974         6388 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    2975         6388 :   rtx x2, x3, x4, x5, x6, x7;
    2976         6388 :   int res ATTRIBUTE_UNUSED;
    2977         6388 :   x2 = XEXP (x1, 0);
    2978         6388 :   x3 = XEXP (x2, 0);
    2979         6388 :   x4 = XEXP (x3, 1);
    2980         6388 :   if (GET_CODE (x4) != i1)
    2981              :     return -1;
    2982         5994 :   x5 = XEXP (x3, 0);
    2983         5994 :   x6 = XEXP (x5, 0);
    2984         5994 :   operands[1] = x6;
    2985         5994 :   x7 = XEXP (x4, 0);
    2986         5994 :   operands[2] = x7;
    2987         5994 :   switch (GET_MODE (operands[0]))
    2988              :     {
    2989          584 :     case E_V4HImode:
    2990          584 :       if (!register_operand (operands[0], E_V4HImode)
    2991          574 :           || GET_MODE (x1) != E_V4HImode
    2992          574 :           || GET_MODE (x2) != E_V4SImode
    2993          574 :           || GET_MODE (x3) != E_V4SImode
    2994          574 :           || GET_MODE (x5) != E_V4SImode
    2995          574 :           || !register_mmxmem_operand (operands[1], E_V4HImode)
    2996          455 :           || GET_MODE (x4) != E_V4SImode
    2997         1039 :           || !register_mmxmem_operand (operands[2], E_V4HImode))
    2998          147 :         return -1;
    2999              :       return 0;
    3000              : 
    3001           40 :     case E_V2HImode:
    3002           40 :       if (!register_operand (operands[0], E_V2HImode)
    3003           30 :           || GET_MODE (x1) != E_V2HImode
    3004           30 :           || GET_MODE (x2) != E_V2SImode
    3005           30 :           || GET_MODE (x3) != E_V2SImode
    3006           30 :           || GET_MODE (x5) != E_V2SImode
    3007           30 :           || !register_operand (operands[1], E_V2HImode)
    3008           20 :           || GET_MODE (x4) != E_V2SImode
    3009           60 :           || !register_operand (operands[2], E_V2HImode))
    3010           30 :         return -1;
    3011              :       return 1;
    3012              : 
    3013              :     default:
    3014              :       return -1;
    3015              :     }
    3016              : }
    3017              : 
    3018              : int
    3019           51 : pattern776 (rtx x1, machine_mode i1, machine_mode i2)
    3020              : {
    3021           51 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3022           51 :   rtx x2, x3, x4;
    3023           51 :   int res ATTRIBUTE_UNUSED;
    3024           51 :   if (!register_operand (operands[0], i2)
    3025           51 :       || GET_MODE (x1) != i2)
    3026              :     return -1;
    3027           46 :   x2 = XEXP (x1, 0);
    3028           46 :   if (GET_MODE (x2) != i2)
    3029              :     return -1;
    3030           46 :   x3 = XEXP (x2, 0);
    3031           46 :   if (GET_MODE (x3) != i1)
    3032              :     return -1;
    3033           46 :   x4 = XVECEXP (x3, 0, 0);
    3034           46 :   if (GET_MODE (x4) != i1
    3035           46 :       || !register_operand (operands[1], i2)
    3036           88 :       || !nonimmediate_operand (operands[2], i1))
    3037           28 :     return -1;
    3038              :   return 0;
    3039              : }
    3040              : 
    3041              : int
    3042         3994 : pattern783 (rtx x1)
    3043              : {
    3044         3994 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3045         3994 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    3046         3994 :   rtx x10;
    3047         3994 :   int res ATTRIBUTE_UNUSED;
    3048         3994 :   x2 = XVECEXP (x1, 0, 0);
    3049         3994 :   x3 = XEXP (x2, 2);
    3050         3994 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    3051              :     return -1;
    3052         3994 :   x4 = XEXP (x2, 0);
    3053         3994 :   x5 = XEXP (x4, 0);
    3054         3994 :   x6 = XEXP (x5, 0);
    3055         3994 :   operands[1] = x6;
    3056         3994 :   x7 = XEXP (x5, 1);
    3057         3994 :   operands[2] = x7;
    3058         3994 :   x8 = XEXP (x4, 1);
    3059         3994 :   operands[3] = x8;
    3060         3994 :   x9 = XEXP (x4, 2);
    3061         3994 :   operands[4] = x9;
    3062         3994 :   if (!register_operand (operands[4], E_QImode))
    3063              :     return -1;
    3064         3958 :   x10 = XVECEXP (x1, 0, 1);
    3065         3958 :   operands[5] = x10;
    3066         3958 :   if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
    3067              :     return -1;
    3068         3958 :   return pattern782 (x1); /* [-1, 2] */
    3069              : }
    3070              : 
    3071              : int
    3072          204 : pattern796 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    3073              : {
    3074          204 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3075          204 :   rtx x2, x3;
    3076          204 :   int res ATTRIBUTE_UNUSED;
    3077          204 :   if (!register_operand (operands[0], i3)
    3078          204 :       || GET_MODE (x1) != i3)
    3079              :     return -1;
    3080          195 :   x2 = XEXP (x1, 0);
    3081          195 :   if (GET_MODE (x2) != i2
    3082          195 :       || !nonimmediate_operand (operands[2], i1))
    3083            0 :     return -1;
    3084          195 :   x3 = XEXP (x1, 1);
    3085          195 :   if (GET_MODE (x3) != i2
    3086          195 :       || !register_operand (operands[1], i1))
    3087            3 :     return -1;
    3088              :   return 0;
    3089              : }
    3090              : 
    3091              : int
    3092       199694 : pattern804 (machine_mode i1)
    3093              : {
    3094       199694 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3095       199694 :   int res ATTRIBUTE_UNUSED;
    3096       199694 :   if (!register_operand (operands[0], i1)
    3097       195539 :       || !ix86_comparison_int_operator (operands[1], i1)
    3098       195454 :       || !register_operand (operands[2], i1)
    3099       297645 :       || !nonimmediate_operand (operands[3], i1))
    3100       195185 :     return -1;
    3101              :   return 0;
    3102              : }
    3103              : 
    3104              : int
    3105      1253140 : pattern813 (rtx x1)
    3106              : {
    3107      1253140 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3108      1253140 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    3109      1253140 :   int res ATTRIBUTE_UNUSED;
    3110      1253140 :   if (!pmovzx_parallel (operands[4], E_VOIDmode))
    3111              :     return -1;
    3112       404570 :   x2 = XEXP (x1, 0);
    3113       404570 :   x3 = XEXP (x2, 0);
    3114       404570 :   if (GET_CODE (x3) != SUBREG
    3115       404570 :       || maybe_ne (SUBREG_BYTE (x3), 0))
    3116              :     return -1;
    3117       160595 :   x4 = XEXP (x3, 0);
    3118       160595 :   if (GET_CODE (x4) != VEC_CONCAT)
    3119              :     return -1;
    3120         4199 :   x5 = XEXP (x4, 0);
    3121         4199 :   operands[1] = x5;
    3122         4199 :   x6 = XEXP (x4, 1);
    3123         4199 :   operands[2] = x6;
    3124         4199 :   x7 = XEXP (x2, 1);
    3125         4199 :   operands[3] = x7;
    3126         4199 :   x8 = XEXP (x1, 1);
    3127         4199 :   x9 = XVECEXP (x8, 0, 0);
    3128         4199 :   operands[5] = x9;
    3129         4199 :   if (!const_int_operand (operands[5], E_VOIDmode))
    3130              :     return -1;
    3131         4199 :   switch (GET_MODE (operands[0]))
    3132              :     {
    3133            4 :     case E_V32QImode:
    3134            4 :       if (!register_operand (operands[0], E_V32QImode)
    3135            4 :           || GET_MODE (x1) != E_V32QImode
    3136            4 :           || GET_MODE (x2) != E_V64QImode
    3137            4 :           || GET_MODE (x3) != E_V32QImode
    3138            8 :           || !const0_operand (operands[3], E_V32QImode))
    3139            0 :         return -1;
    3140            4 :       switch (GET_MODE (x4))
    3141              :         {
    3142            0 :         case E_V16HImode:
    3143            0 :           if (!nonimmediate_operand (operands[1], E_V8HImode)
    3144            0 :               || !const0_operand (operands[2], E_V8HImode))
    3145            0 :             return -1;
    3146              :           return 0;
    3147              : 
    3148            4 :         case E_V8SImode:
    3149            4 :           if (!nonimmediate_operand (operands[1], E_V4SImode)
    3150            4 :               || !const0_operand (operands[2], E_V4SImode))
    3151            0 :             return -1;
    3152              :           return 1;
    3153              : 
    3154            0 :         case E_V4DImode:
    3155            0 :           if (!nonimmediate_operand (operands[1], E_V2DImode)
    3156            0 :               || !const0_operand (operands[2], E_V2DImode))
    3157            0 :             return -1;
    3158              :           return 2;
    3159              : 
    3160              :         default:
    3161              :           return -1;
    3162              :         }
    3163              : 
    3164            4 :     case E_V64QImode:
    3165            4 :       if (!register_operand (operands[0], E_V64QImode)
    3166            4 :           || GET_MODE (x1) != E_V64QImode
    3167            4 :           || GET_MODE (x2) != E_V128QImode
    3168            4 :           || GET_MODE (x3) != E_V64QImode
    3169            8 :           || !const0_operand (operands[3], E_V64QImode))
    3170            0 :         return -1;
    3171            4 :       switch (GET_MODE (x4))
    3172              :         {
    3173            0 :         case E_V32HImode:
    3174            0 :           if (!nonimmediate_operand (operands[1], E_V16HImode)
    3175            0 :               || !const0_operand (operands[2], E_V16HImode))
    3176            0 :             return -1;
    3177              :           return 3;
    3178              : 
    3179            4 :         case E_V16SImode:
    3180            4 :           if (!nonimmediate_operand (operands[1], E_V8SImode)
    3181            4 :               || !const0_operand (operands[2], E_V8SImode))
    3182            0 :             return -1;
    3183              :           return 4;
    3184              : 
    3185            0 :         case E_V8DImode:
    3186            0 :           if (!nonimmediate_operand (operands[1], E_V4DImode)
    3187            0 :               || !const0_operand (operands[2], E_V4DImode))
    3188            0 :             return -1;
    3189              :           return 5;
    3190              : 
    3191              :         default:
    3192              :           return -1;
    3193              :         }
    3194              : 
    3195          108 :     case E_V16QImode:
    3196          108 :       if (!register_operand (operands[0], E_V16QImode)
    3197           90 :           || GET_MODE (x1) != E_V16QImode
    3198           90 :           || GET_MODE (x2) != E_V32QImode
    3199           90 :           || GET_MODE (x3) != E_V16QImode
    3200          198 :           || !const0_operand (operands[3], E_V16QImode))
    3201          104 :         return -1;
    3202            4 :       switch (GET_MODE (x4))
    3203              :         {
    3204            0 :         case E_V8HImode:
    3205            0 :           if (!vector_operand (operands[1], E_V4HImode)
    3206            0 :               || !const0_operand (operands[2], E_V4HImode))
    3207            0 :             return -1;
    3208              :           return 6;
    3209              : 
    3210            4 :         case E_V4SImode:
    3211            4 :           if (!vector_operand (operands[1], E_V2SImode)
    3212            4 :               || !const0_operand (operands[2], E_V2SImode))
    3213            0 :             return -1;
    3214              :           return 7;
    3215              : 
    3216            0 :         case E_V2DImode:
    3217            0 :           if (!vector_operand (operands[1], E_DImode)
    3218            0 :               || !const0_operand (operands[2], E_DImode))
    3219            0 :             return -1;
    3220              :           return 8;
    3221              : 
    3222              :         default:
    3223              :           return -1;
    3224              :         }
    3225              : 
    3226            8 :     case E_V32HImode:
    3227            8 :       if (!register_operand (operands[0], E_V32HImode)
    3228            8 :           || GET_MODE (x1) != E_V32HImode
    3229            8 :           || GET_MODE (x2) != E_V64HImode
    3230            8 :           || GET_MODE (x3) != E_V32HImode
    3231           16 :           || !const0_operand (operands[3], E_V32HImode))
    3232            0 :         return -1;
    3233            8 :       switch (GET_MODE (x4))
    3234              :         {
    3235            0 :         case E_V64QImode:
    3236            0 :           if (!nonimmediate_operand (operands[1], E_V32QImode)
    3237            0 :               || !const0_operand (operands[2], E_V32QImode))
    3238            0 :             return -1;
    3239              :           return 9;
    3240              : 
    3241            8 :         case E_V16SImode:
    3242            8 :           if (!nonimmediate_operand (operands[1], E_V8SImode)
    3243            8 :               || !const0_operand (operands[2], E_V8SImode))
    3244            0 :             return -1;
    3245              :           return 10;
    3246              : 
    3247            0 :         case E_V8DImode:
    3248            0 :           if (!nonimmediate_operand (operands[1], E_V4DImode)
    3249            0 :               || !const0_operand (operands[2], E_V4DImode))
    3250            0 :             return -1;
    3251              :           return 11;
    3252              : 
    3253              :         default:
    3254              :           return -1;
    3255              :         }
    3256              : 
    3257            8 :     case E_V16HImode:
    3258            8 :       if (!register_operand (operands[0], E_V16HImode)
    3259            8 :           || GET_MODE (x1) != E_V16HImode
    3260            8 :           || GET_MODE (x2) != E_V32HImode
    3261            8 :           || GET_MODE (x3) != E_V16HImode
    3262           16 :           || !const0_operand (operands[3], E_V16HImode))
    3263            0 :         return -1;
    3264            8 :       switch (GET_MODE (x4))
    3265              :         {
    3266            0 :         case E_V32QImode:
    3267            0 :           if (!nonimmediate_operand (operands[1], E_V16QImode)
    3268            0 :               || !const0_operand (operands[2], E_V16QImode))
    3269            0 :             return -1;
    3270              :           return 12;
    3271              : 
    3272            8 :         case E_V8SImode:
    3273            8 :           if (!nonimmediate_operand (operands[1], E_V4SImode)
    3274            8 :               || !const0_operand (operands[2], E_V4SImode))
    3275            0 :             return -1;
    3276              :           return 13;
    3277              : 
    3278            0 :         case E_V4DImode:
    3279            0 :           if (!nonimmediate_operand (operands[1], E_V2DImode)
    3280            0 :               || !const0_operand (operands[2], E_V2DImode))
    3281            0 :             return -1;
    3282              :           return 14;
    3283              : 
    3284              :         default:
    3285              :           return -1;
    3286              :         }
    3287              : 
    3288          105 :     case E_V8HImode:
    3289          105 :       if (!register_operand (operands[0], E_V8HImode)
    3290          105 :           || GET_MODE (x1) != E_V8HImode
    3291          105 :           || GET_MODE (x2) != E_V16HImode
    3292          105 :           || GET_MODE (x3) != E_V8HImode
    3293          210 :           || !const0_operand (operands[3], E_V8HImode))
    3294           97 :         return -1;
    3295            8 :       switch (GET_MODE (x4))
    3296              :         {
    3297            0 :         case E_V16QImode:
    3298            0 :           if (!vector_operand (operands[1], E_V8QImode)
    3299            0 :               || !const0_operand (operands[2], E_V8QImode))
    3300            0 :             return -1;
    3301              :           return 15;
    3302              : 
    3303            8 :         case E_V4SImode:
    3304            8 :           if (!vector_operand (operands[1], E_V2SImode)
    3305            8 :               || !const0_operand (operands[2], E_V2SImode))
    3306            0 :             return -1;
    3307              :           return 16;
    3308              : 
    3309            0 :         case E_V2DImode:
    3310            0 :           if (!vector_operand (operands[1], E_DImode)
    3311            0 :               || !const0_operand (operands[2], E_DImode))
    3312            0 :             return -1;
    3313              :           return 17;
    3314              : 
    3315              :         default:
    3316              :           return -1;
    3317              :         }
    3318              : 
    3319              :     default:
    3320              :       return -1;
    3321              :     }
    3322              : }
    3323              : 
    3324              : int
    3325         1431 : pattern889 (rtx x1)
    3326              : {
    3327         1431 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3328         1431 :   rtx x2, x3, x4, x5, x6;
    3329         1431 :   int res ATTRIBUTE_UNUSED;
    3330         1431 :   x2 = XVECEXP (x1, 0, 0);
    3331         1431 :   x3 = XVECEXP (x2, 0, 0);
    3332         1431 :   if (GET_CODE (x3) != VEC_SELECT)
    3333              :     return -1;
    3334         1014 :   x4 = XEXP (x3, 1);
    3335         1014 :   if (GET_CODE (x4) != PARALLEL
    3336         1014 :       || XVECLEN (x4, 0) != 1)
    3337              :     return -1;
    3338         1014 :   x5 = XVECEXP (x4, 0, 0);
    3339         1014 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    3340              :     return -1;
    3341         1014 :   x6 = XEXP (x3, 0);
    3342         1014 :   operands[1] = x6;
    3343         1014 :   if (!const48_operand (operands[2], E_SImode))
    3344              :     return -1;
    3345         1014 :   switch (GET_MODE (operands[0]))
    3346              :     {
    3347          506 :     case E_SImode:
    3348          506 :       return pattern888 (x1, 
    3349          506 : E_SImode); /* [-1, 1] */
    3350              : 
    3351          508 :     case E_DImode:
    3352          508 :       res = pattern888 (x1, 
    3353              : E_DImode);
    3354          508 :       if (res >= 0)
    3355          482 :         return res + 2; /* [2, 3] */
    3356              :       return -1;
    3357              : 
    3358              :     default:
    3359              :       return -1;
    3360              :     }
    3361              : }
    3362              : 
    3363              : int
    3364          654 : pattern902 (rtx x1)
    3365              : {
    3366          654 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3367          654 :   rtx x2;
    3368          654 :   int res ATTRIBUTE_UNUSED;
    3369          654 :   if (!register_operand (operands[0], E_V16HFmode)
    3370          654 :       || GET_MODE (x1) != E_V16HFmode)
    3371              :     return -1;
    3372          612 :   x2 = XEXP (x1, 0);
    3373          612 :   if (GET_MODE (x2) != E_V16HFmode
    3374          612 :       || !nonimm_or_0_operand (operands[2], E_V16HFmode)
    3375         1224 :       || !register_operand (operands[3], E_HImode))
    3376           54 :     return -1;
    3377          558 :   switch (GET_MODE (operands[1]))
    3378              :     {
    3379          408 :     case E_V16HImode:
    3380          408 :       if (!vector_operand (operands[1], E_V16HImode))
    3381              :         return -1;
    3382              :       return 0;
    3383              : 
    3384          150 :     case E_V16SImode:
    3385          150 :       if (!vector_operand (operands[1], E_V16SImode))
    3386              :         return -1;
    3387              :       return 1;
    3388              : 
    3389              :     default:
    3390              :       return -1;
    3391              :     }
    3392              : }
    3393              : 
    3394              : int
    3395          305 : pattern912 (rtx x1, machine_mode i1)
    3396              : {
    3397          305 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3398          305 :   rtx x2, x3;
    3399          305 :   int res ATTRIBUTE_UNUSED;
    3400          305 :   if (!register_operand (operands[0], i1)
    3401          305 :       || GET_MODE (x1) != i1)
    3402              :     return -1;
    3403          257 :   x2 = XVECEXP (x1, 0, 0);
    3404          257 :   if (GET_MODE (x2) != i1)
    3405              :     return -1;
    3406          257 :   x3 = XEXP (x2, 0);
    3407          257 :   if (GET_MODE (x3) != i1
    3408          257 :       || !register_operand (operands[1], i1)
    3409          474 :       || !nonimmediate_operand (operands[2], i1))
    3410           40 :     return -1;
    3411              :   return 0;
    3412              : }
    3413              : 
    3414              : int
    3415          464 : pattern920 (rtx x1)
    3416              : {
    3417          464 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3418          464 :   rtx x2, x3, x4, x5, x6;
    3419          464 :   int res ATTRIBUTE_UNUSED;
    3420          464 :   x2 = XEXP (x1, 0);
    3421          464 :   x3 = XEXP (x2, 0);
    3422          464 :   if (GET_MODE (x3) != E_V2SImode)
    3423              :     return -1;
    3424          464 :   x4 = XEXP (x1, 1);
    3425          464 :   if (GET_CODE (x4) != CONST_VECTOR
    3426          464 :       || XVECLEN (x4, 0) != 2
    3427          464 :       || GET_MODE (x4) != E_V2SImode)
    3428              :     return -1;
    3429          464 :   x5 = XVECEXP (x4, 0, 0);
    3430          464 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    3431              :     return -1;
    3432          464 :   x6 = XVECEXP (x4, 0, 1);
    3433          464 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    3434          464 :       || !register_operand (operands[0], E_V4SImode)
    3435          464 :       || GET_MODE (x1) != E_V4SImode
    3436          464 :       || GET_MODE (x2) != E_V2SImode
    3437          928 :       || !nonimmediate_operand (operands[1], E_V2DFmode))
    3438           32 :     return -1;
    3439          432 :   return pattern504 (x2); /* [-1, 1] */
    3440              : }
    3441              : 
    3442              : int
    3443        26352 : pattern928 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    3444              : {
    3445        26352 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3446        26352 :   rtx x2;
    3447        26352 :   int res ATTRIBUTE_UNUSED;
    3448        26352 :   if (!register_operand (operands[0], i3)
    3449        26352 :       || GET_MODE (x1) != i3)
    3450              :     return -1;
    3451        22180 :   x2 = XEXP (x1, 0);
    3452        22180 :   if (GET_MODE (x2) != i2
    3453        22180 :       || !nonimmediate_operand (operands[1], i1))
    3454         5585 :     return -1;
    3455              :   return 0;
    3456              : }
    3457              : 
    3458              : int
    3459       182103 : pattern931 (rtx x1)
    3460              : {
    3461       182103 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3462       182103 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    3463       182103 :   rtx x10, x11, x12, x13, x14, x15;
    3464       182103 :   int res ATTRIBUTE_UNUSED;
    3465       182103 :   x2 = XVECEXP (x1, 0, 2);
    3466       182103 :   if (GET_CODE (x2) != CONST_INT)
    3467              :     return -1;
    3468       182103 :   x3 = XVECEXP (x1, 0, 3);
    3469       182103 :   if (GET_CODE (x3) != CONST_INT)
    3470              :     return -1;
    3471       182103 :   x4 = XVECEXP (x1, 0, 4);
    3472       182103 :   if (GET_CODE (x4) != CONST_INT)
    3473              :     return -1;
    3474       182103 :   x5 = XVECEXP (x1, 0, 5);
    3475       182103 :   if (GET_CODE (x5) != CONST_INT)
    3476              :     return -1;
    3477       182103 :   x6 = XVECEXP (x1, 0, 6);
    3478       182103 :   if (GET_CODE (x6) != CONST_INT)
    3479              :     return -1;
    3480       182103 :   x7 = XVECEXP (x1, 0, 7);
    3481       182103 :   if (GET_CODE (x7) != CONST_INT)
    3482              :     return -1;
    3483       182103 :   x8 = XVECEXP (x1, 0, 8);
    3484       182103 :   if (GET_CODE (x8) != CONST_INT)
    3485              :     return -1;
    3486       182103 :   x9 = XVECEXP (x1, 0, 9);
    3487       182103 :   if (GET_CODE (x9) != CONST_INT)
    3488              :     return -1;
    3489       182103 :   x10 = XVECEXP (x1, 0, 10);
    3490       182103 :   if (GET_CODE (x10) != CONST_INT)
    3491              :     return -1;
    3492       182103 :   x11 = XVECEXP (x1, 0, 11);
    3493       182103 :   if (GET_CODE (x11) != CONST_INT)
    3494              :     return -1;
    3495       182103 :   x12 = XVECEXP (x1, 0, 12);
    3496       182103 :   if (GET_CODE (x12) != CONST_INT)
    3497              :     return -1;
    3498       182103 :   x13 = XVECEXP (x1, 0, 13);
    3499       182103 :   if (GET_CODE (x13) != CONST_INT)
    3500              :     return -1;
    3501       182103 :   x14 = XVECEXP (x1, 0, 14);
    3502       182103 :   if (GET_CODE (x14) != CONST_INT)
    3503              :     return -1;
    3504       182103 :   x15 = XVECEXP (x1, 0, 15);
    3505       182103 :   if (GET_CODE (x15) != CONST_INT)
    3506            0 :     return -1;
    3507              :   return 0;
    3508              : }
    3509              : 
    3510              : int
    3511         7863 : pattern947 (rtx x1, machine_mode i1)
    3512              : {
    3513         7863 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3514         7863 :   rtx x2;
    3515         7863 :   int res ATTRIBUTE_UNUSED;
    3516         7863 :   if (!register_operand (operands[0], i1)
    3517         7863 :       || GET_MODE (x1) != i1)
    3518              :     return -1;
    3519         7811 :   x2 = XEXP (x1, 0);
    3520         7811 :   if (GET_MODE (x2) != i1
    3521         7811 :       || !register_operand (operands[1], i1))
    3522         3110 :     return -1;
    3523              :   return 0;
    3524              : }
    3525              : 
    3526              : int
    3527          834 : pattern956 (rtx x1, machine_mode i1)
    3528              : {
    3529          834 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3530          834 :   rtx x2;
    3531          834 :   int res ATTRIBUTE_UNUSED;
    3532          834 :   if (!register_operand (operands[0], i1)
    3533          834 :       || GET_MODE (x1) != i1)
    3534              :     return -1;
    3535          826 :   x2 = XEXP (x1, 0);
    3536          826 :   if (GET_MODE (x2) != i1
    3537          826 :       || !register_operand (operands[1], i1)
    3538          297 :       || !const0_operand (operands[2], i1)
    3539          906 :       || !const1_operand (operands[3], i1))
    3540          826 :     return -1;
    3541              :   return 0;
    3542              : }
    3543              : 
    3544              : int
    3545      4438980 : pattern964 (rtx x1, machine_mode i1)
    3546              : {
    3547      4438980 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3548      4438980 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    3549      4438980 :   int res ATTRIBUTE_UNUSED;
    3550      4438980 :   operands[1] = x1;
    3551      4438980 :   if (!general_reg_operand (operands[1], i1))
    3552              :     return -1;
    3553      1057122 :   x2 = PATTERN (peep2_next_insn (2));
    3554      1057122 :   if (GET_CODE (x2) != PARALLEL
    3555       151207 :       || XVECLEN (x2, 0) != 2)
    3556              :     return -1;
    3557       139364 :   x3 = XVECEXP (x2, 0, 0);
    3558       139364 :   if (GET_CODE (x3) != SET)
    3559              :     return -1;
    3560       139198 :   x4 = XEXP (x3, 0);
    3561       139198 :   if (GET_CODE (x4) != REG
    3562       139198 :       || REGNO (x4) != 17)
    3563              :     return -1;
    3564        17604 :   x5 = XVECEXP (x2, 0, 1);
    3565        17604 :   if (GET_CODE (x5) != SET)
    3566              :     return -1;
    3567        17027 :   x6 = XEXP (x3, 1);
    3568        17027 :   operands[5] = x6;
    3569        17027 :   x7 = XEXP (x5, 1);
    3570        17027 :   operands[6] = x7;
    3571        17027 :   x8 = XEXP (x5, 0);
    3572        17027 :   if (!rtx_equal_p (x8, operands[0]))
    3573              :     return -1;
    3574        10474 :   x9 = PATTERN (peep2_next_insn (3));
    3575        10474 :   return pattern963 (x9, 
    3576        10474 : i1); /* [-1, 0] */
    3577              : }
    3578              : 
    3579              : int
    3580         7326 : pattern971 (rtx x1, machine_mode i1)
    3581              : {
    3582         7326 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3583         7326 :   int res ATTRIBUTE_UNUSED;
    3584         7326 :   if (!register_operand (operands[0], i1)
    3585         7319 :       || GET_MODE (x1) != i1
    3586         7319 :       || !register_operand (operands[1], i1)
    3587        14614 :       || !register_operand (operands[2], i1))
    3588           51 :     return -1;
    3589              :   return 0;
    3590              : }
    3591              : 
    3592              : int
    3593          168 : pattern975 (rtx x1)
    3594              : {
    3595          168 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3596          168 :   rtx x2;
    3597          168 :   int res ATTRIBUTE_UNUSED;
    3598          168 :   if (!register_operand (operands[0], E_QImode)
    3599          168 :       || GET_MODE (x1) != E_QImode)
    3600              :     return -1;
    3601          168 :   x2 = XEXP (x1, 0);
    3602          168 :   if (GET_MODE (x2) != E_QImode)
    3603              :     return -1;
    3604          168 :   switch (GET_MODE (operands[1]))
    3605              :     {
    3606            3 :     case E_V8SImode:
    3607            3 :       if (!register_operand (operands[1], E_V8SImode)
    3608            3 :           || !nonimmediate_operand (operands[2], E_V8SImode)
    3609            6 :           || !const_0_to_7_operand (operands[3], E_SImode))
    3610            0 :         return -1;
    3611              :       return 0;
    3612              : 
    3613            0 :     case E_V4SImode:
    3614            0 :       if (!register_operand (operands[1], E_V4SImode)
    3615            0 :           || !nonimmediate_operand (operands[2], E_V4SImode)
    3616            0 :           || !const_0_to_7_operand (operands[3], E_SImode))
    3617            0 :         return -1;
    3618              :       return 1;
    3619              : 
    3620           29 :     case E_V8DImode:
    3621           29 :       if (!register_operand (operands[1], E_V8DImode)
    3622           29 :           || !nonimmediate_operand (operands[2], E_V8DImode)
    3623           58 :           || !const_0_to_7_operand (operands[3], E_SImode))
    3624            0 :         return -1;
    3625              :       return 2;
    3626              : 
    3627            0 :     case E_V4DImode:
    3628            0 :       if (!register_operand (operands[1], E_V4DImode)
    3629            0 :           || !nonimmediate_operand (operands[2], E_V4DImode)
    3630            0 :           || !const_0_to_7_operand (operands[3], E_SImode))
    3631            0 :         return -1;
    3632              :       return 3;
    3633              : 
    3634            0 :     case E_V2DImode:
    3635            0 :       if (!register_operand (operands[1], E_V2DImode)
    3636            0 :           || !nonimmediate_operand (operands[2], E_V2DImode)
    3637            0 :           || !const_0_to_7_operand (operands[3], E_SImode))
    3638            0 :         return -1;
    3639              :       return 4;
    3640              : 
    3641            0 :     case E_V8HFmode:
    3642            0 :       if (!register_operand (operands[1], E_V8HFmode)
    3643            0 :           || !nonimmediate_operand (operands[2], E_V8HFmode)
    3644            0 :           || !const_0_to_31_operand (operands[3], E_SImode))
    3645            0 :         return -1;
    3646              :       return 5;
    3647              : 
    3648            3 :     case E_V8SFmode:
    3649            3 :       if (!register_operand (operands[1], E_V8SFmode)
    3650            3 :           || !nonimmediate_operand (operands[2], E_V8SFmode)
    3651            6 :           || !const_0_to_31_operand (operands[3], E_SImode))
    3652            0 :         return -1;
    3653              :       return 6;
    3654              : 
    3655           21 :     case E_V4SFmode:
    3656           21 :       if (!register_operand (operands[1], E_V4SFmode)
    3657           18 :           || !nonimmediate_operand (operands[2], E_V4SFmode)
    3658           33 :           || !const_0_to_31_operand (operands[3], E_SImode))
    3659            9 :         return -1;
    3660              :       return 7;
    3661              : 
    3662           50 :     case E_V8DFmode:
    3663           50 :       if (!register_operand (operands[1], E_V8DFmode)
    3664           50 :           || !nonimmediate_operand (operands[2], E_V8DFmode)
    3665          100 :           || !const_0_to_31_operand (operands[3], E_SImode))
    3666            0 :         return -1;
    3667              :       return 8;
    3668              : 
    3669           25 :     case E_V4DFmode:
    3670           25 :       if (!register_operand (operands[1], E_V4DFmode)
    3671           25 :           || !nonimmediate_operand (operands[2], E_V4DFmode)
    3672           50 :           || !const_0_to_31_operand (operands[3], E_SImode))
    3673            0 :         return -1;
    3674              :       return 9;
    3675              : 
    3676           34 :     case E_V2DFmode:
    3677           34 :       if (!register_operand (operands[1], E_V2DFmode)
    3678           34 :           || !nonimmediate_operand (operands[2], E_V2DFmode)
    3679           68 :           || !const_0_to_31_operand (operands[3], E_SImode))
    3680            0 :         return -1;
    3681              :       return 10;
    3682              : 
    3683            3 :     case E_V8HImode:
    3684            3 :       if (!register_operand (operands[1], E_V8HImode)
    3685            3 :           || !nonimmediate_operand (operands[2], E_V8HImode)
    3686            6 :           || !const_0_to_7_operand (operands[3], E_SImode))
    3687            0 :         return -1;
    3688              :       return 11;
    3689              : 
    3690              :     default:
    3691              :       return -1;
    3692              :     }
    3693              : }
    3694              : 
    3695              : int
    3696          622 : pattern998 (rtx x1)
    3697              : {
    3698          622 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3699          622 :   rtx x2;
    3700          622 :   int res ATTRIBUTE_UNUSED;
    3701          622 :   if (!register_operand (operands[0], E_V8DImode)
    3702          622 :       || GET_MODE (x1) != E_V8DImode)
    3703              :     return -1;
    3704          508 :   x2 = XEXP (x1, 0);
    3705          508 :   if (GET_MODE (x2) != E_V8DImode
    3706          508 :       || !nonimm_or_0_operand (operands[2], E_V8DImode)
    3707          972 :       || !register_operand (operands[3], E_QImode))
    3708          108 :     return -1;
    3709          400 :   switch (GET_MODE (operands[1]))
    3710              :     {
    3711          146 :     case E_V8HFmode:
    3712          146 :       if (!vector_operand (operands[1], E_V8HFmode))
    3713              :         return -1;
    3714              :       return 0;
    3715              : 
    3716          126 :     case E_V8DFmode:
    3717          126 :       if (!vector_operand (operands[1], E_V8DFmode))
    3718              :         return -1;
    3719              :       return 1;
    3720              : 
    3721          128 :     case E_V8SFmode:
    3722          128 :       if (!vector_operand (operands[1], E_V8SFmode))
    3723              :         return -1;
    3724              :       return 2;
    3725              : 
    3726              :     default:
    3727              :       return -1;
    3728              :     }
    3729              : }
    3730              : 
    3731              : int
    3732         3339 : pattern1006 (rtx x1, machine_mode i1)
    3733              : {
    3734         3339 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3735         3339 :   rtx x2, x3, x4;
    3736         3339 :   int res ATTRIBUTE_UNUSED;
    3737         3339 :   if (!register_operand (operands[0], i1)
    3738         3339 :       || GET_MODE (x1) != i1)
    3739              :     return -1;
    3740         3231 :   x2 = XEXP (x1, 0);
    3741         3231 :   if (GET_MODE (x2) != i1)
    3742              :     return -1;
    3743         3231 :   x3 = XVECEXP (x2, 0, 0);
    3744         3231 :   if (!register_operand (x3, i1))
    3745              :     return -1;
    3746         3193 :   x4 = XVECEXP (x2, 0, 1);
    3747         3193 :   if (!register_operand (x4, i1))
    3748              :     return -1;
    3749              :   return 0;
    3750              : }
    3751              : 
    3752              : int
    3753            0 : pattern1016 (rtx x1, machine_mode i1, machine_mode i2)
    3754              : {
    3755            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3756            0 :   rtx x2, x3;
    3757            0 :   int res ATTRIBUTE_UNUSED;
    3758            0 :   if (!register_operand (operands[0], i1)
    3759            0 :       || GET_MODE (x1) != i1
    3760            0 :       || !vector_operand (operands[1], i1)
    3761            0 :       || !vector_operand (operands[2], i1))
    3762            0 :     return -1;
    3763            0 :   x2 = XEXP (x1, 2);
    3764            0 :   if (GET_MODE (x2) != i2)
    3765              :     return -1;
    3766            0 :   x3 = XVECEXP (x2, 0, 0);
    3767            0 :   if (GET_MODE (x3) != i1
    3768            0 :       || !register_operand (operands[3], i1)
    3769            0 :       || !const0_operand (operands[4], i1))
    3770            0 :     return -1;
    3771              :   return 0;
    3772              : }
    3773              : 
    3774              : int
    3775          444 : pattern1023 (rtx x1, machine_mode i1)
    3776              : {
    3777          444 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3778          444 :   int res ATTRIBUTE_UNUSED;
    3779          444 :   if (!register_operand (operands[0], i1)
    3780          444 :       || GET_MODE (x1) != i1
    3781          444 :       || !ix86_comparison_uns_operator (operands[1], i1)
    3782          444 :       || !register_operand (operands[2], i1)
    3783          888 :       || !nonimmediate_operand (operands[3], i1))
    3784            0 :     return -1;
    3785              :   return 0;
    3786              : }
    3787              : 
    3788              : int
    3789          213 : pattern1029 (rtx x1, machine_mode i1, machine_mode i2)
    3790              : {
    3791          213 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3792          213 :   rtx x2;
    3793          213 :   int res ATTRIBUTE_UNUSED;
    3794          213 :   x2 = XVECEXP (x1, 0, 0);
    3795          213 :   if (GET_MODE (x2) != i2
    3796          213 :       || !register_operand (operands[0], i2)
    3797          209 :       || GET_MODE (x1) != i2
    3798          209 :       || !register_operand (operands[1], i1)
    3799          418 :       || !const48_operand (operands[2], E_SImode))
    3800            8 :     return -1;
    3801              :   return 0;
    3802              : }
    3803              : 
    3804              : int
    3805        28565 : pattern1035 (rtx x1, machine_mode i1)
    3806              : {
    3807        28565 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3808        28565 :   int res ATTRIBUTE_UNUSED;
    3809        28565 :   if (!register_operand (operands[0], i1)
    3810        27697 :       || GET_MODE (x1) != i1
    3811        27697 :       || !register_operand (operands[1], i1)
    3812        20646 :       || !vector_operand (operands[2], i1)
    3813        46351 :       || !register_operand (operands[3], i1))
    3814        13557 :     return -1;
    3815              :   return 0;
    3816              : }
    3817              : 
    3818              : int
    3819         1312 : pattern1041 (rtx x1, machine_mode i1, machine_mode i2)
    3820              : {
    3821         1312 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3822         1312 :   rtx x2;
    3823         1312 :   int res ATTRIBUTE_UNUSED;
    3824         1312 :   if (!nonimmediate_operand (operands[0], i2)
    3825         1312 :       || GET_MODE (x1) != i2
    3826         2624 :       || !nonimmediate_operand (operands[1], i1))
    3827            0 :     return -1;
    3828         1312 :   x2 = XEXP (x1, 1);
    3829         1312 :   if (GET_MODE (x2) != i1)
    3830              :     return -1;
    3831              :   return 0;
    3832              : }
    3833              : 
    3834              : int
    3835         9006 : pattern1049 (rtx x1)
    3836              : {
    3837         9006 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3838         9006 :   rtx x2, x3, x4;
    3839         9006 :   int res ATTRIBUTE_UNUSED;
    3840         9006 :   x2 = XEXP (x1, 0);
    3841         9006 :   x3 = XEXP (x2, 0);
    3842         9006 :   operands[1] = x3;
    3843         9006 :   x4 = XEXP (x2, 1);
    3844         9006 :   operands[2] = x4;
    3845         9006 :   return pattern1048 (x1); /* [-1, 5] */
    3846              : }
    3847              : 
    3848              : int
    3849          328 : pattern1050 (rtx x1, machine_mode i1)
    3850              : {
    3851          328 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    3852          328 :   rtx x2, x3, x4, x5, x6;
    3853          328 :   int res ATTRIBUTE_UNUSED;
    3854          328 :   if (!register_operand (operands[0], i1))
    3855              :     return -1;
    3856          328 :   x2 = XVECEXP (x1, 0, 0);
    3857          328 :   x3 = XEXP (x2, 1);
    3858          328 :   if (GET_MODE (x3) != i1)
    3859              :     return -1;
    3860          328 :   x4 = XEXP (x3, 0);
    3861          328 :   switch (GET_MODE (x4))
    3862              :     {
    3863           70 :     case E_HImode:
    3864           70 :       if (!register_operand (operands[4], E_HImode))
    3865              :         return -1;
    3866           70 :       x5 = XVECEXP (x1, 0, 1);
    3867           70 :       x6 = XEXP (x5, 1);
    3868           70 :       if (GET_MODE (x6) != E_HImode)
    3869              :         return -1;
    3870           70 :       switch (GET_MODE (operands[1]))
    3871              :         {
    3872           14 :         case E_V16SImode:
    3873           14 :           if (!nonimmediate_operand (operands[1], E_V16SImode)
    3874           12 :               || !nonimmediate_operand (operands[2], E_V16SImode)
    3875           26 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3876            2 :             return -1;
    3877              :           return 0;
    3878              : 
    3879           14 :         case E_V16HFmode:
    3880           14 :           if (!nonimmediate_operand (operands[1], E_V16HFmode)
    3881           12 :               || !nonimmediate_operand (operands[2], E_V16HFmode)
    3882           26 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3883            2 :             return -1;
    3884              :           return 1;
    3885              : 
    3886           14 :         case E_V16SFmode:
    3887           14 :           if (!nonimmediate_operand (operands[1], E_V16SFmode)
    3888           12 :               || !nonimmediate_operand (operands[2], E_V16SFmode)
    3889           26 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3890            2 :             return -1;
    3891              :           return 2;
    3892              : 
    3893           14 :         case E_V16QImode:
    3894           14 :           if (!nonimmediate_operand (operands[1], E_V16QImode)
    3895           12 :               || !nonimmediate_operand (operands[2], E_V16QImode)
    3896           26 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3897            2 :             return -1;
    3898              :           return 3;
    3899              : 
    3900           14 :         case E_V16HImode:
    3901           14 :           if (!nonimmediate_operand (operands[1], E_V16HImode)
    3902           12 :               || !nonimmediate_operand (operands[2], E_V16HImode)
    3903           26 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3904            2 :             return -1;
    3905              :           return 4;
    3906              : 
    3907              :         default:
    3908              :           return -1;
    3909              :         }
    3910              : 
    3911          237 :     case E_QImode:
    3912          237 :       if (!register_operand (operands[4], E_QImode))
    3913              :         return -1;
    3914          237 :       x5 = XVECEXP (x1, 0, 1);
    3915          237 :       x6 = XEXP (x5, 1);
    3916          237 :       if (GET_MODE (x6) != E_QImode)
    3917              :         return -1;
    3918          237 :       switch (GET_MODE (operands[1]))
    3919              :         {
    3920           21 :         case E_V8SImode:
    3921           21 :           if (!nonimmediate_operand (operands[1], E_V8SImode)
    3922           18 :               || !nonimmediate_operand (operands[2], E_V8SImode)
    3923           39 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3924            3 :             return -1;
    3925              :           return 5;
    3926              : 
    3927           21 :         case E_V4SImode:
    3928           21 :           if (!nonimmediate_operand (operands[1], E_V4SImode)
    3929           18 :               || !nonimmediate_operand (operands[2], E_V4SImode)
    3930           39 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3931            3 :             return -1;
    3932              :           return 6;
    3933              : 
    3934           21 :         case E_V8DImode:
    3935           21 :           if (!nonimmediate_operand (operands[1], E_V8DImode)
    3936           18 :               || !nonimmediate_operand (operands[2], E_V8DImode)
    3937           39 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3938            3 :             return -1;
    3939              :           return 7;
    3940              : 
    3941           21 :         case E_V4DImode:
    3942           21 :           if (!nonimmediate_operand (operands[1], E_V4DImode)
    3943           18 :               || !nonimmediate_operand (operands[2], E_V4DImode)
    3944           39 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3945            3 :             return -1;
    3946              :           return 8;
    3947              : 
    3948           21 :         case E_V2DImode:
    3949           21 :           if (!nonimmediate_operand (operands[1], E_V2DImode)
    3950           18 :               || !nonimmediate_operand (operands[2], E_V2DImode)
    3951           39 :               || !const_0_to_7_operand (operands[3], E_SImode))
    3952            3 :             return -1;
    3953              :           return 9;
    3954              : 
    3955           15 :         case E_V8HFmode:
    3956           15 :           if (!nonimmediate_operand (operands[1], E_V8HFmode)
    3957           15 :               || !nonimmediate_operand (operands[2], E_V8HFmode)
    3958           30 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3959            0 :             return -1;
    3960              :           return 10;
    3961              : 
    3962           21 :         case E_V8SFmode:
    3963           21 :           if (!nonimmediate_operand (operands[1], E_V8SFmode)
    3964           18 :               || !nonimmediate_operand (operands[2], E_V8SFmode)
    3965           39 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3966            3 :             return -1;
    3967              :           return 11;
    3968              : 
    3969           21 :         case E_V4SFmode:
    3970           21 :           if (!nonimmediate_operand (operands[1], E_V4SFmode)
    3971           18 :               || !nonimmediate_operand (operands[2], E_V4SFmode)
    3972           39 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3973            3 :             return -1;
    3974              :           return 12;
    3975              : 
    3976           21 :         case E_V8DFmode:
    3977           21 :           if (!nonimmediate_operand (operands[1], E_V8DFmode)
    3978           18 :               || !nonimmediate_operand (operands[2], E_V8DFmode)
    3979           39 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3980            3 :             return -1;
    3981              :           return 13;
    3982              : 
    3983           21 :         case E_V4DFmode:
    3984           21 :           if (!nonimmediate_operand (operands[1], E_V4DFmode)
    3985           18 :               || !nonimmediate_operand (operands[2], E_V4DFmode)
    3986           39 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3987            3 :             return -1;
    3988              :           return 14;
    3989              : 
    3990           21 :         case E_V2DFmode:
    3991           21 :           if (!nonimmediate_operand (operands[1], E_V2DFmode)
    3992           18 :               || !nonimmediate_operand (operands[2], E_V2DFmode)
    3993           39 :               || !const_0_to_31_operand (operands[3], E_SImode))
    3994            3 :             return -1;
    3995              :           return 15;
    3996              : 
    3997           12 :         case E_V8HImode:
    3998           12 :           if (!nonimmediate_operand (operands[1], E_V8HImode)
    3999           12 :               || !nonimmediate_operand (operands[2], E_V8HImode)
    4000           24 :               || !const_0_to_7_operand (operands[3], E_SImode))
    4001            0 :             return -1;
    4002              :           return 16;
    4003              : 
    4004              :         default:
    4005              :           return -1;
    4006              :         }
    4007              : 
    4008           21 :     case E_SImode:
    4009           21 :       if (!register_operand (operands[4], E_SImode))
    4010              :         return -1;
    4011           21 :       x5 = XVECEXP (x1, 0, 1);
    4012           21 :       x6 = XEXP (x5, 1);
    4013           21 :       if (GET_MODE (x6) != E_SImode)
    4014              :         return -1;
    4015           21 :       switch (GET_MODE (operands[1]))
    4016              :         {
    4017            7 :         case E_V32HFmode:
    4018            7 :           if (!nonimmediate_operand (operands[1], E_V32HFmode)
    4019            6 :               || !nonimmediate_operand (operands[2], E_V32HFmode)
    4020           13 :               || !const_0_to_31_operand (operands[3], E_SImode))
    4021            1 :             return -1;
    4022              :           return 17;
    4023              : 
    4024            7 :         case E_V32QImode:
    4025            7 :           if (!nonimmediate_operand (operands[1], E_V32QImode)
    4026            6 :               || !nonimmediate_operand (operands[2], E_V32QImode)
    4027           13 :               || !const_0_to_7_operand (operands[3], E_SImode))
    4028            1 :             return -1;
    4029              :           return 18;
    4030              : 
    4031            7 :         case E_V32HImode:
    4032            7 :           if (!nonimmediate_operand (operands[1], E_V32HImode)
    4033            6 :               || !nonimmediate_operand (operands[2], E_V32HImode)
    4034           13 :               || !const_0_to_7_operand (operands[3], E_SImode))
    4035            1 :             return -1;
    4036              :           return 19;
    4037              : 
    4038              :         default:
    4039              :           return -1;
    4040              :         }
    4041              : 
    4042            0 :     case E_DImode:
    4043            0 :       if (!nonimmediate_operand (operands[1], E_V64QImode)
    4044            0 :           || !nonimmediate_operand (operands[2], E_V64QImode)
    4045            0 :           || !const_0_to_7_operand (operands[3], E_SImode)
    4046            0 :           || !register_operand (operands[4], E_DImode))
    4047            0 :         return -1;
    4048            0 :       x5 = XVECEXP (x1, 0, 1);
    4049            0 :       x6 = XEXP (x5, 1);
    4050            0 :       if (GET_MODE (x6) != E_DImode)
    4051              :         return -1;
    4052              :       return 20;
    4053              : 
    4054              :     default:
    4055              :       return -1;
    4056              :     }
    4057              : }
    4058              : 
    4059              : int
    4060         5883 : pattern1129 (rtx x1, machine_mode i1)
    4061              : {
    4062         5883 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4063         5883 :   int res ATTRIBUTE_UNUSED;
    4064         5883 :   if (!register_operand (operands[0], i1)
    4065         4574 :       || GET_MODE (x1) != i1
    4066         4574 :       || !vector_operand (operands[2], i1)
    4067         4423 :       || !register_operand (operands[1], i1)
    4068         9359 :       || !const_0_to_15_operand (operands[3], E_SImode))
    4069         2447 :     return -1;
    4070              :   return 0;
    4071              : }
    4072              : 
    4073              : int
    4074          357 : pattern1135 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
    4075              : {
    4076          357 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4077          357 :   rtx x2, x3, x4;
    4078          357 :   int res ATTRIBUTE_UNUSED;
    4079          357 :   if (!register_operand (operands[0], i2)
    4080          357 :       || GET_MODE (x1) != i2)
    4081              :     return -1;
    4082          357 :   x2 = XEXP (x1, 0);
    4083          357 :   if (GET_MODE (x2) != i2)
    4084              :     return -1;
    4085          357 :   x3 = XEXP (x2, 0);
    4086          357 :   if (GET_MODE (x3) != i4
    4087          357 :       || !register_operand (operands[1], i3))
    4088            0 :     return -1;
    4089          357 :   x4 = XEXP (x2, 1);
    4090          357 :   if (GET_MODE (x4) != i4
    4091          357 :       || !vector_operand (operands[2], i3)
    4092          357 :       || !nonimm_or_0_operand (operands[3], i2)
    4093          712 :       || !register_operand (operands[4], i1))
    4094            7 :     return -1;
    4095              :   return 0;
    4096              : }
    4097              : 
    4098              : int
    4099          368 : pattern1146 (rtx x1)
    4100              : {
    4101          368 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4102          368 :   rtx x2, x3;
    4103          368 :   int res ATTRIBUTE_UNUSED;
    4104          368 :   x2 = XVECEXP (x1, 0, 0);
    4105          368 :   if (GET_MODE (x2) != E_V32HFmode
    4106          368 :       || !register_operand (operands[0], E_V32HFmode)
    4107          350 :       || GET_MODE (x1) != E_V32HFmode
    4108          350 :       || !register_operand (operands[1], E_V32HFmode)
    4109          716 :       || !register_operand (operands[2], E_V32HFmode))
    4110           32 :     return -1;
    4111          336 :   x3 = XVECEXP (x2, 0, 2);
    4112          336 :   operands[3] = x3;
    4113          336 :   if (!register_operand (operands[3], E_V32HFmode)
    4114          336 :       || !const_4_or_8_to_11_operand (operands[4], E_SImode))
    4115            8 :     return -1;
    4116              :   return 0;
    4117              : }
    4118              : 
    4119              : int
    4120         7596 : pattern1156 (rtx x1, machine_mode i1)
    4121              : {
    4122         7596 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4123         7596 :   rtx x2, x3, x4, x5;
    4124         7596 :   int res ATTRIBUTE_UNUSED;
    4125         7596 :   if (!register_operand (operands[0], i1)
    4126         7596 :       || GET_MODE (x1) != i1)
    4127              :     return -1;
    4128         6702 :   x2 = XEXP (x1, 0);
    4129         6702 :   if (GET_MODE (x2) != i1
    4130         6702 :       || !nonimmediate_operand (operands[2], i1))
    4131         1072 :     return -1;
    4132         5630 :   x3 = XEXP (x1, 1);
    4133         5630 :   if (GET_MODE (x3) != i1
    4134         5630 :       || !nonimmediate_operand (operands[1], i1))
    4135         1053 :     return -1;
    4136         4577 :   x4 = XEXP (x1, 2);
    4137         4577 :   if (GET_MODE (x4) != i1)
    4138              :     return -1;
    4139         4577 :   x5 = XEXP (x4, 1);
    4140         4577 :   if (GET_MODE (x5) != i1)
    4141              :     return -1;
    4142              :   return 0;
    4143              : }
    4144              : 
    4145              : int
    4146           42 : pattern1164 (rtx x1)
    4147              : {
    4148           42 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4149           42 :   rtx x2, x3, x4, x5, x6;
    4150           42 :   int res ATTRIBUTE_UNUSED;
    4151           42 :   x2 = XEXP (x1, 0);
    4152           42 :   x3 = XEXP (x2, 0);
    4153           42 :   operands[2] = x3;
    4154           42 :   x4 = XEXP (x3, 0);
    4155           42 :   if (GET_CODE (x4) != REG
    4156           42 :       || REGNO (x4) != 17)
    4157              :     return -1;
    4158           22 :   x5 = XEXP (x3, 1);
    4159           22 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    4160              :     return -1;
    4161           22 :   x6 = XEXP (x2, 1);
    4162           22 :   operands[1] = x6;
    4163           22 :   return pattern1163 (x1); /* [-1, 5] */
    4164              : }
    4165              : 
    4166              : int
    4167            0 : pattern1171 (rtx x1, machine_mode i1)
    4168              : {
    4169            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4170            0 :   rtx x2, x3;
    4171            0 :   int res ATTRIBUTE_UNUSED;
    4172            0 :   if (!nonimmediate_operand (operands[0], i1)
    4173            0 :       || GET_MODE (x1) != i1)
    4174              :     return -1;
    4175            0 :   x2 = XEXP (x1, 0);
    4176            0 :   if (GET_MODE (x2) != i1)
    4177              :     return -1;
    4178            0 :   x3 = XEXP (x2, 0);
    4179            0 :   if (GET_MODE (x3) != i1
    4180            0 :       || !nonimmediate_operand (operands[1], i1)
    4181            0 :       || !immediate_operand (operands[2], i1))
    4182            0 :     return -1;
    4183              :   return 0;
    4184              : }
    4185              : 
    4186              : int
    4187        22213 : pattern1178 (rtx x1)
    4188              : {
    4189        22213 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4190        22213 :   rtx x2, x3, x4;
    4191        22213 :   int res ATTRIBUTE_UNUSED;
    4192        22213 :   x2 = XEXP (x1, 1);
    4193        22213 :   x3 = XEXP (x2, 1);
    4194        22213 :   if (maybe_ne (SUBREG_BYTE (x3), 0)
    4195        22213 :       || GET_MODE (x3) != E_QImode)
    4196              :     return -1;
    4197        22213 :   x4 = XEXP (x1, 0);
    4198        22213 :   operands[0] = x4;
    4199        22213 :   return pattern1177 (x2); /* [-1, 11] */
    4200              : }
    4201              : 
    4202              : int
    4203          280 : pattern1185 (rtx x1, machine_mode i1, machine_mode i2)
    4204              : {
    4205          280 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4206          280 :   rtx x2, x3;
    4207          280 :   int res ATTRIBUTE_UNUSED;
    4208          280 :   x2 = XEXP (x1, 0);
    4209          280 :   if (GET_MODE (x2) != E_SImode
    4210          280 :       || !register_operand (operands[0], i2)
    4211          560 :       || GET_MODE (x1) != i2)
    4212            0 :     return -1;
    4213          280 :   x3 = XEXP (x2, 0);
    4214          280 :   operands[1] = x3;
    4215          280 :   if (!nonimmediate_operand (operands[1], i1))
    4216              :     return -1;
    4217              :   return 0;
    4218              : }
    4219              : 
    4220              : int
    4221           49 : pattern1191 ()
    4222              : {
    4223           49 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4224           49 :   int res ATTRIBUTE_UNUSED;
    4225           49 :   switch (GET_MODE (operands[4]))
    4226              :     {
    4227           14 :     case E_QImode:
    4228           14 :       if (!register_operand (operands[4], E_QImode))
    4229              :         return -1;
    4230              :       return 0;
    4231              : 
    4232           14 :     case E_HImode:
    4233           14 :       if (!register_operand (operands[4], E_HImode))
    4234              :         return -1;
    4235              :       return 1;
    4236              : 
    4237            7 :     case E_SImode:
    4238            7 :       if (!register_operand (operands[4], E_SImode))
    4239              :         return -1;
    4240              :       return 2;
    4241              : 
    4242           14 :     case E_DImode:
    4243           14 :       if (!register_operand (operands[4], E_DImode))
    4244              :         return -1;
    4245              :       return 3;
    4246              : 
    4247              :     default:
    4248              :       return -1;
    4249              :     }
    4250              : }
    4251              : 
    4252              : int
    4253           14 : pattern1202 (rtx x1, machine_mode i1)
    4254              : {
    4255           14 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4256           14 :   rtx x2, x3, x4, x5, x6;
    4257           14 :   int res ATTRIBUTE_UNUSED;
    4258           14 :   if (!rtx_equal_p (x1, operands[0]))
    4259              :     return -1;
    4260           14 :   x2 = PATTERN (peep2_next_insn (2));
    4261           14 :   x3 = XEXP (x2, 0);
    4262           14 :   switch (GET_CODE (x3))
    4263              :     {
    4264           12 :     case SUBREG:
    4265           12 :     case MEM:
    4266           12 :       if (!rtx_equal_p (x3, operands[1]))
    4267              :         return -1;
    4268              :       return 0;
    4269              : 
    4270            2 :     case REG:
    4271            2 :       if (peep2_current_count < 4)
    4272              :         return -1;
    4273            2 :       operands[5] = x3;
    4274            2 :       if (!general_reg_operand (operands[5], i1))
    4275              :         return -1;
    4276            2 :       x4 = PATTERN (peep2_next_insn (3));
    4277            2 :       if (GET_CODE (x4) != SET)
    4278              :         return -1;
    4279            0 :       x5 = XEXP (x4, 1);
    4280            0 :       if (!rtx_equal_p (x5, operands[5]))
    4281              :         return -1;
    4282            0 :       x6 = XEXP (x4, 0);
    4283            0 :       if (!rtx_equal_p (x6, operands[1]))
    4284              :         return -1;
    4285              :       return 1;
    4286              : 
    4287              :     default:
    4288              :       return -1;
    4289              :     }
    4290              : }
    4291              : 
    4292              : int
    4293        48527 : pattern1210 ()
    4294              : {
    4295        48527 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4296        48527 :   int res ATTRIBUTE_UNUSED;
    4297        48527 :   switch (GET_MODE (operands[2]))
    4298              :     {
    4299         5659 :     case E_HImode:
    4300         5659 :       if (!extract_high_operator (operands[2], E_HImode))
    4301              :         return -1;
    4302              :       return 0;
    4303              : 
    4304        25478 :     case E_SImode:
    4305        25478 :       if (!extract_high_operator (operands[2], E_SImode))
    4306              :         return -1;
    4307              :       return 1;
    4308              : 
    4309        17390 :     case E_DImode:
    4310        17390 :       if (!extract_high_operator (operands[2], E_DImode))
    4311              :         return -1;
    4312              :       return 2;
    4313              : 
    4314              :     default:
    4315              :       return -1;
    4316              :     }
    4317              : }
    4318              : 
    4319              : int
    4320           12 : pattern1218 (rtx x1, machine_mode i1)
    4321              : {
    4322           12 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4323           12 :   rtx x2, x3;
    4324           12 :   int res ATTRIBUTE_UNUSED;
    4325           12 :   if (!nonimmediate_operand (operands[0], i1)
    4326           12 :       || GET_MODE (x1) != i1)
    4327              :     return -1;
    4328           12 :   x2 = XEXP (x1, 0);
    4329           12 :   if (GET_MODE (x2) != i1
    4330           12 :       || !nonimmediate_operand (operands[1], i1))
    4331            0 :     return -1;
    4332           12 :   x3 = XEXP (x2, 1);
    4333           12 :   if (GET_MODE (x3) != i1
    4334           12 :       || !x86_64_general_operand (operands[2], i1))
    4335            0 :     return -1;
    4336              :   return 0;
    4337              : }
    4338              : 
    4339              : int
    4340          715 : pattern1226 (rtx x1, machine_mode i1, machine_mode i2)
    4341              : {
    4342          715 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4343          715 :   rtx x2, x3, x4;
    4344          715 :   int res ATTRIBUTE_UNUSED;
    4345          715 :   if (!register_operand (operands[0], i1)
    4346          715 :       || GET_MODE (x1) != i1)
    4347              :     return -1;
    4348          623 :   x2 = XEXP (x1, 0);
    4349          623 :   if (GET_MODE (x2) != i1)
    4350              :     return -1;
    4351          623 :   x3 = XEXP (x2, 0);
    4352          623 :   if (GET_MODE (x3) != i2
    4353          623 :       || !register_operand (operands[1], i1))
    4354            0 :     return -1;
    4355          623 :   x4 = XEXP (x3, 1);
    4356          623 :   operands[2] = x4;
    4357          623 :   if (!nonimmediate_operand (operands[2], i1))
    4358              :     return -1;
    4359              :   return 0;
    4360              : }
    4361              : 
    4362              : int
    4363          574 : pattern1233 (rtx x1)
    4364              : {
    4365          574 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4366          574 :   rtx x2, x3, x4;
    4367          574 :   int res ATTRIBUTE_UNUSED;
    4368          574 :   x2 = XVECEXP (x1, 0, 2);
    4369          574 :   x3 = XEXP (x2, 0);
    4370          574 :   x4 = XEXP (x3, 1);
    4371          574 :   operands[4] = x4;
    4372          574 :   switch (GET_MODE (operands[0]))
    4373              :     {
    4374          450 :     case E_V16QImode:
    4375          450 :       if (!register_operand (operands[0], E_V16QImode)
    4376          450 :           || GET_MODE (x1) != E_V16QImode
    4377          450 :           || !register_operand (operands[1], E_V16QImode)
    4378          441 :           || !vector_operand (operands[2], E_V16QImode)
    4379          887 :           || GET_MODE (x2) != E_V16QImode)
    4380           13 :         return -1;
    4381          437 :       switch (GET_MODE (x3))
    4382              :         {
    4383          323 :         case E_V4SImode:
    4384          323 :           if (!register_operand (operands[3], E_V4SImode)
    4385          323 :               || !const0_operand (operands[4], E_V4SImode))
    4386          212 :             return -1;
    4387              :           return 0;
    4388              : 
    4389          110 :         case E_V2DImode:
    4390          110 :           if (!register_operand (operands[3], E_V2DImode)
    4391          110 :               || !const0_operand (operands[4], E_V2DImode))
    4392           44 :             return -1;
    4393              :           return 1;
    4394              : 
    4395              :         default:
    4396              :           return -1;
    4397              :         }
    4398              : 
    4399          119 :     case E_V32QImode:
    4400          119 :       if (!register_operand (operands[0], E_V32QImode)
    4401          119 :           || GET_MODE (x1) != E_V32QImode
    4402          119 :           || !register_operand (operands[1], E_V32QImode)
    4403          117 :           || !vector_operand (operands[2], E_V32QImode)
    4404          232 :           || GET_MODE (x2) != E_V32QImode)
    4405            6 :         return -1;
    4406          113 :       switch (GET_MODE (x3))
    4407              :         {
    4408           67 :         case E_V8SImode:
    4409           67 :           if (!register_operand (operands[3], E_V8SImode)
    4410           67 :               || !const0_operand (operands[4], E_V8SImode))
    4411           32 :             return -1;
    4412              :           return 2;
    4413              : 
    4414           43 :         case E_V4DImode:
    4415           43 :           if (!register_operand (operands[3], E_V4DImode)
    4416           43 :               || !const0_operand (operands[4], E_V4DImode))
    4417            1 :             return -1;
    4418              :           return 3;
    4419              : 
    4420              :         default:
    4421              :           return -1;
    4422              :         }
    4423              : 
    4424              :     default:
    4425              :       return -1;
    4426              :     }
    4427              : }
    4428              : 
    4429              : int
    4430         5805 : pattern1251 (rtx x1, rtx_code i1)
    4431              : {
    4432         5805 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4433         5805 :   rtx x2, x3, x4, x5, x6;
    4434         5805 :   int res ATTRIBUTE_UNUSED;
    4435         5805 :   x2 = XEXP (x1, 1);
    4436         5805 :   if (maybe_ne (SUBREG_BYTE (x2), 0))
    4437              :     return -1;
    4438         5805 :   x3 = XEXP (x2, 0);
    4439         5805 :   if (GET_CODE (x3) != i1)
    4440              :     return -1;
    4441         1758 :   x4 = XEXP (x3, 0);
    4442         1758 :   if (GET_CODE (x4) != ZERO_EXTEND)
    4443              :     return -1;
    4444         1731 :   switch (GET_MODE (operands[0]))
    4445              :     {
    4446         1474 :     case E_DImode:
    4447         1474 :       if (GET_MODE (x1) != E_DImode)
    4448              :         return -1;
    4449         1474 :       x5 = XEXP (x1, 0);
    4450         1474 :       if (GET_MODE (x5) != E_DImode)
    4451              :         return -1;
    4452         1474 :       x6 = XEXP (x5, 1);
    4453         1474 :       if (!const_0_to_63_operand (x6, E_QImode))
    4454              :         return -1;
    4455              :       return 0;
    4456              : 
    4457          257 :     case E_SImode:
    4458          257 :       if (GET_MODE (x1) != E_SImode)
    4459              :         return -1;
    4460          257 :       x5 = XEXP (x1, 0);
    4461          257 :       if (GET_MODE (x5) != E_SImode)
    4462              :         return -1;
    4463          257 :       x6 = XEXP (x5, 1);
    4464          257 :       if (!const_0_to_31_operand (x6, E_QImode))
    4465              :         return -1;
    4466              :       return 1;
    4467              : 
    4468              :     default:
    4469              :       return -1;
    4470              :     }
    4471              : }
    4472              : 
    4473              : int
    4474         2063 : pattern1266 (rtx x1)
    4475              : {
    4476         2063 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4477         2063 :   rtx x2, x3;
    4478         2063 :   int res ATTRIBUTE_UNUSED;
    4479         2063 :   if (GET_CODE (x1) != SET)
    4480              :     return -1;
    4481         2047 :   x2 = XEXP (x1, 1);
    4482         2047 :   if (GET_CODE (x2) != PLUS
    4483         2047 :       || GET_MODE (x2) != E_SImode)
    4484              :     return -1;
    4485         2047 :   x3 = XEXP (x2, 0);
    4486         2047 :   if (GET_CODE (x3) != REG
    4487         2047 :       || REGNO (x3) != 7
    4488         4094 :       || GET_MODE (x3) != E_SImode)
    4489            0 :     return -1;
    4490              :   return 0;
    4491              : }
    4492              : 
    4493              : int
    4494            2 : pattern1271 (rtx x1)
    4495              : {
    4496            2 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4497            2 :   rtx x2, x3, x4, x5, x6, x7;
    4498            2 :   int res ATTRIBUTE_UNUSED;
    4499            2 :   x2 = XEXP (x1, 2);
    4500            2 :   switch (GET_CODE (x2))
    4501              :     {
    4502            0 :     case REG:
    4503            0 :     case SUBREG:
    4504            0 :       operands[1] = x2;
    4505            0 :       x3 = XEXP (x1, 0);
    4506            0 :       operands[0] = x3;
    4507            0 :       x4 = XEXP (x1, 1);
    4508            0 :       operands[3] = x4;
    4509            0 :       switch (GET_MODE (x1))
    4510              :         {
    4511            0 :         case E_V32QImode:
    4512            0 :           if (!vector_all_ones_operand (operands[0], E_V32QImode)
    4513            0 :               || !const0_operand (operands[3], E_V32QImode)
    4514            0 :               || !register_operand (operands[1], E_SImode))
    4515            0 :             return -1;
    4516              :           return 0;
    4517              : 
    4518            0 :         case E_V16QImode:
    4519            0 :           if (!vector_all_ones_operand (operands[0], E_V16QImode)
    4520            0 :               || !const0_operand (operands[3], E_V16QImode)
    4521            0 :               || !register_operand (operands[1], E_HImode))
    4522            0 :             return -1;
    4523              :           return 1;
    4524              : 
    4525              :         default:
    4526              :           return -1;
    4527              :         }
    4528              : 
    4529            2 :     case UNSPEC:
    4530            2 :       if (XVECLEN (x2, 0) != 3
    4531            2 :           || XINT (x2, 1) != 60)
    4532              :         return -1;
    4533            2 :       x5 = XVECEXP (x2, 0, 2);
    4534            2 :       if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    4535              :         return -1;
    4536            2 :       x3 = XEXP (x1, 0);
    4537            2 :       operands[3] = x3;
    4538            2 :       x4 = XEXP (x1, 1);
    4539            2 :       operands[4] = x4;
    4540            2 :       x6 = XVECEXP (x2, 0, 0);
    4541            2 :       operands[0] = x6;
    4542            2 :       x7 = XVECEXP (x2, 0, 1);
    4543            2 :       operands[1] = x7;
    4544            2 :       switch (GET_MODE (x1))
    4545              :         {
    4546            0 :         case E_V32QImode:
    4547            0 :           if (pattern1270 (x2, 
    4548              : E_V32QImode, 
    4549              : E_SImode) != 0)
    4550              :             return -1;
    4551              :           return 2;
    4552              : 
    4553            2 :         case E_V16QImode:
    4554            2 :           if (pattern1270 (x2, 
    4555              : E_V16QImode, 
    4556              : E_HImode) != 0)
    4557              :             return -1;
    4558              :           return 3;
    4559              : 
    4560              :         default:
    4561              :           return -1;
    4562              :         }
    4563              : 
    4564              :     default:
    4565              :       return -1;
    4566              :     }
    4567              : }
    4568              : 
    4569              : int
    4570          787 : pattern1297 (rtx x1, machine_mode i1, machine_mode i2)
    4571              : {
    4572          787 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4573          787 :   rtx x2;
    4574          787 :   int res ATTRIBUTE_UNUSED;
    4575          787 :   if (!register_operand (operands[0], i2)
    4576          787 :       || GET_MODE (x1) != i2)
    4577              :     return -1;
    4578          763 :   x2 = XEXP (x1, 0);
    4579          763 :   if (GET_MODE (x2) != i2
    4580          763 :       || !nonimmediate_operand (operands[1], i2)
    4581          736 :       || !nonimmediate_operand (operands[2], i2)
    4582          736 :       || !nonimmediate_operand (operands[3], i2)
    4583         1490 :       || !register_operand (operands[4], i1))
    4584           36 :     return -1;
    4585              :   return 0;
    4586              : }
    4587              : 
    4588              : int
    4589          378 : pattern1306 (rtx x1, machine_mode i1)
    4590              : {
    4591          378 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4592          378 :   rtx x2;
    4593          378 :   int res ATTRIBUTE_UNUSED;
    4594          378 :   if (!register_operand (operands[0], i1)
    4595          378 :       || GET_MODE (x1) != i1)
    4596              :     return -1;
    4597          367 :   x2 = XEXP (x1, 0);
    4598          367 :   if (GET_MODE (x2) != i1
    4599          367 :       || !vector_operand (operands[1], i1))
    4600           28 :     return -1;
    4601              :   return 0;
    4602              : }
    4603              : 
    4604              : int
    4605         1476 : pattern1312 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    4606              : {
    4607         1476 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4608         1476 :   rtx x2, x3;
    4609         1476 :   int res ATTRIBUTE_UNUSED;
    4610         1476 :   x2 = XVECEXP (x1, 0, 0);
    4611         1476 :   x3 = XEXP (x2, 0);
    4612         1476 :   if (GET_MODE (x3) != i2
    4613         1476 :       || !register_operand (operands[0], i2)
    4614         1421 :       || GET_MODE (x1) != i2
    4615         1421 :       || GET_MODE (x2) != i2
    4616         1421 :       || !register_operand (operands[1], i3)
    4617         1421 :       || !nonimm_or_0_operand (operands[2], i2)
    4618         1393 :       || !register_operand (operands[3], i1)
    4619         2817 :       || !const48_operand (operands[4], E_SImode))
    4620          135 :     return -1;
    4621              :   return 0;
    4622              : }
    4623              : 
    4624              : int
    4625          253 : pattern1319 (rtx x1, machine_mode i1)
    4626              : {
    4627          253 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4628          253 :   rtx x2;
    4629          253 :   int res ATTRIBUTE_UNUSED;
    4630          253 :   if (!register_operand (operands[0], i1)
    4631          253 :       || GET_MODE (x1) != i1)
    4632              :     return -1;
    4633          242 :   x2 = XVECEXP (x1, 0, 0);
    4634          242 :   if (GET_MODE (x2) != i1
    4635          242 :       || !register_operand (operands[1], i1)
    4636          481 :       || !nonimmediate_operand (operands[2], i1))
    4637            3 :     return -1;
    4638              :   return 0;
    4639              : }
    4640              : 
    4641              : int
    4642       748439 : pattern1323 (rtx x1, machine_mode i1, machine_mode i2)
    4643              : {
    4644       748439 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4645       748439 :   rtx x2, x3;
    4646       748439 :   int res ATTRIBUTE_UNUSED;
    4647       748439 :   if (!register_operand (operands[0], i1)
    4648       748439 :       || GET_MODE (x1) != i1)
    4649              :     return -1;
    4650       374924 :   x2 = XEXP (x1, 0);
    4651       374924 :   if (GET_MODE (x2) != i2
    4652       374924 :       || !register_operand (operands[1], i1))
    4653        70600 :     return -1;
    4654       304324 :   x3 = XEXP (x2, 1);
    4655       304324 :   operands[2] = x3;
    4656       304324 :   if (!vector_operand (operands[2], i1))
    4657              :     return -1;
    4658              :   return 0;
    4659              : }
    4660              : 
    4661              : int
    4662         9630 : pattern1328 (rtx x1)
    4663              : {
    4664         9630 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4665         9630 :   rtx x2, x3;
    4666         9630 :   int res ATTRIBUTE_UNUSED;
    4667         9630 :   if (GET_CODE (x1) != PLUS)
    4668              :     return -1;
    4669         9630 :   x2 = XEXP (x1, 0);
    4670         9630 :   if (GET_CODE (x2) != PLUS)
    4671              :     return -1;
    4672         9630 :   x3 = XEXP (x2, 0);
    4673         9630 :   switch (GET_CODE (x3))
    4674              :     {
    4675         9630 :     case LTU:
    4676         9630 :     case UNLT:
    4677         9630 :       if (!rtx_equal_p (x3, operands[4]))
    4678              :         return -1;
    4679              :       return 0;
    4680              : 
    4681              :     default:
    4682              :       return -1;
    4683              :     }
    4684              : }
    4685              : 
    4686              : int
    4687        55393 : pattern1337 (rtx x1)
    4688              : {
    4689        55393 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4690        55393 :   rtx x2, x3;
    4691        55393 :   int res ATTRIBUTE_UNUSED;
    4692        55393 :   x2 = XEXP (x1, 1);
    4693        55393 :   switch (GET_CODE (x2))
    4694              :     {
    4695         9213 :     case REG:
    4696         9213 :     case SUBREG:
    4697         9213 :     case MEM:
    4698         9213 :       if (!rtx_equal_p (x2, operands[1]))
    4699              :         return -1;
    4700         2968 :       switch (GET_MODE (operands[0]))
    4701              :         {
    4702         1071 :         case E_SImode:
    4703         1071 :           return pattern936 (x1, 
    4704         1071 : E_SImode); /* [-1, 0] */
    4705              : 
    4706         1524 :         case E_DImode:
    4707         1524 :           if (pattern936 (x1, 
    4708              : E_DImode) != 0)
    4709              :             return -1;
    4710              :           return 1;
    4711              : 
    4712              :         default:
    4713              :           return -1;
    4714              :         }
    4715              : 
    4716          232 :     case NOT:
    4717          232 :       x3 = XEXP (x2, 0);
    4718          232 :       if (!rtx_equal_p (x3, operands[1]))
    4719              :         return -1;
    4720          224 :       switch (GET_MODE (operands[0]))
    4721              :         {
    4722           80 :         case E_SImode:
    4723           80 :           if (pattern1336 (x1, 
    4724              : E_SImode) != 0)
    4725              :             return -1;
    4726              :           return 2;
    4727              : 
    4728          144 :         case E_DImode:
    4729          144 :           if (pattern1336 (x1, 
    4730              : E_DImode) != 0)
    4731              :             return -1;
    4732              :           return 3;
    4733              : 
    4734              :         default:
    4735              :           return -1;
    4736              :         }
    4737              : 
    4738              :     default:
    4739              :       return -1;
    4740              :     }
    4741              : }
    4742              : 
    4743              : int
    4744         7343 : pattern1354 (rtx x1)
    4745              : {
    4746         7343 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4747         7343 :   rtx x2, x3, x4, x5;
    4748         7343 :   int res ATTRIBUTE_UNUSED;
    4749         7343 :   x2 = XEXP (x1, 1);
    4750         7343 :   if (GET_CODE (x2) != COMPARE
    4751         1196 :       || GET_MODE (x2) != E_CCZmode)
    4752              :     return -1;
    4753          730 :   x3 = XEXP (x2, 1);
    4754          730 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    4755              :     return -1;
    4756          650 :   x4 = XEXP (x1, 0);
    4757          650 :   if (GET_CODE (x4) != REG
    4758          650 :       || REGNO (x4) != 17
    4759         1300 :       || GET_MODE (x4) != E_CCZmode)
    4760              :     return -1;
    4761          650 :   x5 = XEXP (x2, 0);
    4762          650 :   if (!rtx_equal_p (x5, operands[1]))
    4763              :     return -1;
    4764              :   return 0;
    4765              : }
    4766              : 
    4767              : int
    4768      1248154 : pattern1363 (rtx x1, machine_mode i1)
    4769              : {
    4770      1248154 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4771      1248154 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    4772      1248154 :   rtx x10, x11, x12, x13, x14, x15, x16;
    4773      1248154 :   int res ATTRIBUTE_UNUSED;
    4774      1248154 :   if (!general_reg_operand (operands[0], i1))
    4775              :     return -1;
    4776      1248154 :   switch (GET_CODE (x1))
    4777              :     {
    4778       869744 :     case SET:
    4779       869744 :       x2 = XEXP (x1, 1);
    4780       869744 :       switch (GET_CODE (x2))
    4781              :         {
    4782       295758 :         case CONST_INT:
    4783       295758 :           if (XWINT (x2, 0) != 0L)
    4784              :             return -1;
    4785       170249 :           x3 = XEXP (x1, 0);
    4786       170249 :           if (GET_CODE (x3) != ZERO_EXTRACT)
    4787              :             return -1;
    4788            1 :           x4 = XEXP (x3, 1);
    4789            1 :           if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    4790              :             return -1;
    4791            1 :           x5 = XEXP (x3, 2);
    4792            1 :           if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    4793              :             return -1;
    4794            1 :           x6 = XEXP (x3, 0);
    4795            1 :           operands[1] = x6;
    4796            1 :           if (!int248_register_operand (operands[1], E_VOIDmode))
    4797              :             return -1;
    4798            1 :           switch (GET_MODE (x3))
    4799              :             {
    4800              :             case E_HImode:
    4801              :               return 0;
    4802              : 
    4803              :             case E_SImode:
    4804              :               return 1;
    4805              : 
    4806              :             case E_DImode:
    4807              :               return 2;
    4808              : 
    4809              :             default:
    4810              :               return -1;
    4811              :             }
    4812              : 
    4813       132701 :         case REG:
    4814       132701 :         case SUBREG:
    4815       132701 :         case MEM:
    4816       132701 :           operands[2] = x2;
    4817       132701 :           x3 = XEXP (x1, 0);
    4818       132701 :           if (GET_CODE (x3) != STRICT_LOW_PART)
    4819              :             return -1;
    4820          352 :           x6 = XEXP (x3, 0);
    4821          352 :           operands[1] = x6;
    4822          352 :           res = pattern1350 ();
    4823          352 :           if (res >= 0)
    4824          352 :             return res + 3; /* [3, 4] */
    4825              :           return -1;
    4826              : 
    4827              :         default:
    4828              :           return -1;
    4829              :         }
    4830              : 
    4831        62564 :     case PARALLEL:
    4832        62564 :       if (XVECLEN (x1, 0) != 2)
    4833              :         return -1;
    4834        22645 :       x7 = XVECEXP (x1, 0, 0);
    4835        22645 :       if (GET_CODE (x7) != SET)
    4836              :         return -1;
    4837        21106 :       x8 = XEXP (x7, 1);
    4838        21106 :       switch (GET_CODE (x8))
    4839              :         {
    4840          925 :         case PLUS:
    4841          925 :           if (GET_MODE (x8) != i1
    4842          925 :               || pattern1353 (x1) != 0)
    4843          915 :             return -1;
    4844              :           return 5;
    4845              : 
    4846          314 :         case IOR:
    4847          314 :           if (GET_MODE (x8) != i1
    4848          314 :               || pattern1353 (x1) != 0)
    4849          177 :             return -1;
    4850              :           return 6;
    4851              : 
    4852           62 :         case XOR:
    4853           62 :           if (GET_MODE (x8) != i1
    4854           62 :               || pattern1353 (x1) != 0)
    4855           60 :             return -1;
    4856              :           return 7;
    4857              : 
    4858          695 :         case UNSPEC:
    4859          695 :           if (peep2_current_count < 3
    4860          695 :               || peep2_current_count < 4
    4861          681 :               || XVECLEN (x8, 0) != 2
    4862          649 :               || XINT (x8, 1) != 41
    4863          649 :               || GET_MODE (x8) != E_CCCmode)
    4864              :             return -1;
    4865          645 :           x9 = XVECEXP (x8, 0, 1);
    4866          645 :           if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    4867              :             return -1;
    4868          645 :           x10 = XEXP (x7, 0);
    4869          645 :           if (GET_CODE (x10) != REG
    4870          645 :               || REGNO (x10) != 17
    4871         1290 :               || GET_MODE (x10) != E_CCCmode)
    4872              :             return -1;
    4873          645 :           x11 = XVECEXP (x1, 0, 1);
    4874          645 :           if (GET_CODE (x11) != SET)
    4875              :             return -1;
    4876          638 :           x12 = XEXP (x11, 1);
    4877          638 :           if (GET_CODE (x12) != NEG
    4878          638 :               || GET_MODE (x12) != i1)
    4879              :             return -1;
    4880          638 :           x13 = XVECEXP (x8, 0, 0);
    4881          638 :           operands[1] = x13;
    4882          638 :           if (!general_reg_operand (operands[1], i1))
    4883              :             return -1;
    4884          638 :           x14 = XEXP (x12, 0);
    4885          638 :           if (!rtx_equal_p (x14, operands[1]))
    4886              :             return -1;
    4887          638 :           x15 = XEXP (x11, 0);
    4888          638 :           if (!rtx_equal_p (x15, operands[1]))
    4889              :             return -1;
    4890          638 :           x16 = PATTERN (peep2_next_insn (2));
    4891          638 :           if (pattern1206 (x16, 
    4892              : i1) != 0)
    4893              :             return -1;
    4894              :           return 8;
    4895              : 
    4896              :         default:
    4897              :           return -1;
    4898              :         }
    4899              : 
    4900              :     default:
    4901              :       return -1;
    4902              :     }
    4903              : }
    4904              : 
    4905              : int
    4906         1499 : pattern1418 (rtx x1)
    4907              : {
    4908         1499 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4909         1499 :   rtx x2;
    4910         1499 :   int res ATTRIBUTE_UNUSED;
    4911         1499 :   x2 = XVECEXP (x1, 0, 1);
    4912         1499 :   operands[4] = x2;
    4913         1499 :   if (!const48_operand (operands[4], E_SImode))
    4914              :     return -1;
    4915         1499 :   return pattern1417 (x1); /* [-1, 2] */
    4916              : }
    4917              : 
    4918              : int
    4919         1002 : pattern1424 (rtx x1, int i1, int i2, int i3, int i4, int i5)
    4920              : {
    4921         1002 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4922         1002 :   rtx x2, x3, x4, x5, x6;
    4923         1002 :   int res ATTRIBUTE_UNUSED;
    4924         1002 :   x2 = XVECEXP (x1, 0, 3);
    4925         1002 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
    4926              :     return -1;
    4927         1002 :   x3 = XVECEXP (x1, 0, 4);
    4928         1002 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
    4929              :     return -1;
    4930         1002 :   x4 = XVECEXP (x1, 0, 5);
    4931         1002 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
    4932              :     return -1;
    4933         1002 :   x5 = XVECEXP (x1, 0, 6);
    4934         1002 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
    4935              :     return -1;
    4936         1002 :   x6 = XVECEXP (x1, 0, 7);
    4937         1002 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
    4938            0 :     return -1;
    4939              :   return 0;
    4940              : }
    4941              : 
    4942              : int
    4943      8780404 : pattern1434 (rtx x1, machine_mode i1)
    4944              : {
    4945      8780404 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4946      8780404 :   int res ATTRIBUTE_UNUSED;
    4947      8780404 :   if (!register_operand (operands[0], i1)
    4948      8338896 :       || GET_MODE (x1) != i1
    4949      8338896 :       || !register_operand (operands[1], i1)
    4950     17105302 :       || !x86_64_nonmemory_operand (operands[2], i1))
    4951       541470 :     return -1;
    4952              :   return 0;
    4953              : }
    4954              : 
    4955              : int
    4956        55259 : pattern1438 (rtx x1, machine_mode i1)
    4957              : {
    4958        55259 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4959        55259 :   int res ATTRIBUTE_UNUSED;
    4960        55259 :   if (!nonimmediate_operand (operands[1], i1)
    4961        51736 :       || !general_operand (operands[2], i1)
    4962        51725 :       || !nonimmediate_operand (operands[0], i1)
    4963       106984 :       || GET_MODE (x1) != i1)
    4964         3534 :     return -1;
    4965              :   return 0;
    4966              : }
    4967              : 
    4968              : int
    4969        27526 : pattern1446 (rtx x1)
    4970              : {
    4971        27526 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4972        27526 :   rtx x2, x3, x4, x5;
    4973        27526 :   int res ATTRIBUTE_UNUSED;
    4974        27526 :   x2 = XEXP (x1, 1);
    4975        27526 :   x3 = XEXP (x2, 0);
    4976        27526 :   x4 = XEXP (x3, 0);
    4977        27526 :   operands[2] = x4;
    4978        27526 :   if (!int248_register_operand (operands[2], E_VOIDmode))
    4979              :     return -1;
    4980        25357 :   x5 = XEXP (x3, 1);
    4981        25357 :   operands[3] = x5;
    4982        25357 :   if (!const_int_operand (operands[3], E_VOIDmode))
    4983              :     return -1;
    4984        25343 :   return pattern340 (x1); /* [-1, 1] */
    4985              : }
    4986              : 
    4987              : int
    4988            0 : pattern1455 (rtx x1, machine_mode i1)
    4989              : {
    4990            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    4991            0 :   rtx x2;
    4992            0 :   int res ATTRIBUTE_UNUSED;
    4993            0 :   if (!register_operand (operands[0], i1)
    4994            0 :       || GET_MODE (x1) != i1
    4995            0 :       || !vector_operand (operands[1], i1)
    4996            0 :       || !register_operand (operands[2], i1))
    4997            0 :     return -1;
    4998            0 :   x2 = XVECEXP (x1, 0, 2);
    4999            0 :   if (GET_MODE (x2) != i1)
    5000              :     return -1;
    5001              :   return 0;
    5002              : }
    5003              : 
    5004              : int
    5005          302 : pattern1460 (rtx x1, machine_mode i1, machine_mode i2)
    5006              : {
    5007          302 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5008          302 :   rtx x2;
    5009          302 :   int res ATTRIBUTE_UNUSED;
    5010          302 :   if (!memory_operand (operands[0], i2)
    5011          302 :       || GET_MODE (x1) != i2)
    5012              :     return -1;
    5013          296 :   x2 = XEXP (x1, 1);
    5014          296 :   if (GET_MODE (x2) != i2
    5015          296 :       || !register_operand (operands[1], i1))
    5016            4 :     return -1;
    5017              :   return 0;
    5018              : }
    5019              : 
    5020              : int
    5021          660 : pattern1467 (rtx x1, machine_mode i1, machine_mode i2)
    5022              : {
    5023          660 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5024          660 :   rtx x2;
    5025          660 :   int res ATTRIBUTE_UNUSED;
    5026          660 :   if (!register_operand (operands[0], i1)
    5027          660 :       || GET_MODE (x1) != i1)
    5028              :     return -1;
    5029          625 :   x2 = XEXP (x1, 0);
    5030          625 :   if (GET_MODE (x2) != i1
    5031          625 :       || !register_operand (operands[1], i1)
    5032          612 :       || !register_operand (operands[2], i1)
    5033          612 :       || !bcst_vector_operand (operands[3], i1)
    5034          611 :       || !const0_operand (operands[5], i1)
    5035         1236 :       || !register_operand (operands[6], i2))
    5036           47 :     return -1;
    5037              :   return 0;
    5038              : }
    5039              : 
    5040              : int
    5041         8440 : pattern1476 (rtx x1)
    5042              : {
    5043         8440 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5044         8440 :   rtx x2;
    5045         8440 :   int res ATTRIBUTE_UNUSED;
    5046         8440 :   switch (GET_MODE (operands[0]))
    5047              :     {
    5048          618 :     case E_V32HFmode:
    5049          618 :       return pattern1474 (x1, 
    5050              : E_V32HFmode, 
    5051          618 : E_SImode); /* [-1, 0] */
    5052              : 
    5053          799 :     case E_V16HFmode:
    5054          799 :       if (pattern1474 (x1, 
    5055              : E_V16HFmode, 
    5056              : E_HImode) != 0)
    5057              :         return -1;
    5058              :       return 1;
    5059              : 
    5060         1638 :     case E_V8HFmode:
    5061         1638 :       if (pattern1474 (x1, 
    5062              : E_V8HFmode, 
    5063              : E_QImode) != 0)
    5064              :         return -1;
    5065              :       return 2;
    5066              : 
    5067          387 :     case E_V16SFmode:
    5068          387 :       if (pattern1474 (x1, 
    5069              : E_V16SFmode, 
    5070              : E_HImode) != 0)
    5071              :         return -1;
    5072              :       return 3;
    5073              : 
    5074          325 :     case E_V8SFmode:
    5075          325 :       if (!register_operand (operands[0], E_V8SFmode)
    5076          325 :           || GET_MODE (x1) != E_V8SFmode)
    5077              :         return -1;
    5078          308 :       x2 = XEXP (x1, 2);
    5079          308 :       if (GET_MODE (x2) != E_QImode)
    5080              :         return -1;
    5081              :       return 4;
    5082              : 
    5083          295 :     case E_V4SFmode:
    5084          295 :       if (!register_operand (operands[0], E_V4SFmode)
    5085          295 :           || GET_MODE (x1) != E_V4SFmode)
    5086              :         return -1;
    5087          293 :       x2 = XEXP (x1, 2);
    5088          293 :       if (GET_MODE (x2) != E_QImode)
    5089              :         return -1;
    5090              :       return 5;
    5091              : 
    5092           62 :     case E_V8DFmode:
    5093           62 :       if (pattern1474 (x1, 
    5094              : E_V8DFmode, 
    5095              : E_QImode) != 0)
    5096              :         return -1;
    5097              :       return 6;
    5098              : 
    5099          302 :     case E_V4DFmode:
    5100          302 :       if (!register_operand (operands[0], E_V4DFmode)
    5101          302 :           || GET_MODE (x1) != E_V4DFmode)
    5102              :         return -1;
    5103          295 :       x2 = XEXP (x1, 2);
    5104          295 :       if (GET_MODE (x2) != E_QImode)
    5105              :         return -1;
    5106              :       return 7;
    5107              : 
    5108          198 :     case E_V2DFmode:
    5109          198 :       if (!register_operand (operands[0], E_V2DFmode)
    5110          198 :           || GET_MODE (x1) != E_V2DFmode)
    5111              :         return -1;
    5112          196 :       x2 = XEXP (x1, 2);
    5113          196 :       if (GET_MODE (x2) != E_QImode)
    5114              :         return -1;
    5115              :       return 8;
    5116              : 
    5117          626 :     case E_V4SImode:
    5118          626 :       if (pattern1475 (x1, 
    5119              : E_V4SImode, 
    5120              : E_QImode) != 0)
    5121              :         return -1;
    5122              :       return 9;
    5123              : 
    5124           75 :     case E_V2DImode:
    5125           75 :       if (pattern1475 (x1, 
    5126              : E_V2DImode, 
    5127              : E_QImode) != 0)
    5128              :         return -1;
    5129              :       return 10;
    5130              : 
    5131          574 :     case E_V8SImode:
    5132          574 :       if (pattern1475 (x1, 
    5133              : E_V8SImode, 
    5134              : E_QImode) != 0)
    5135              :         return -1;
    5136              :       return 11;
    5137              : 
    5138          239 :     case E_V4DImode:
    5139          239 :       if (pattern1475 (x1, 
    5140              : E_V4DImode, 
    5141              : E_QImode) != 0)
    5142              :         return -1;
    5143              :       return 12;
    5144              : 
    5145          257 :     case E_V32QImode:
    5146          257 :       if (pattern1475 (x1, 
    5147              : E_V32QImode, 
    5148              : E_SImode) != 0)
    5149              :         return -1;
    5150              :       return 13;
    5151              : 
    5152          112 :     case E_V16QImode:
    5153          112 :       if (pattern1475 (x1, 
    5154              : E_V16QImode, 
    5155              : E_HImode) != 0)
    5156              :         return -1;
    5157              :       return 14;
    5158              : 
    5159              :     default:
    5160              :       return -1;
    5161              :     }
    5162              : }
    5163              : 
    5164              : int
    5165         1066 : pattern1514 (rtx x1, int i1, int i2, int i3, int i4, int i5)
    5166              : {
    5167         1066 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5168         1066 :   rtx x2, x3, x4, x5, x6;
    5169         1066 :   int res ATTRIBUTE_UNUSED;
    5170         1066 :   x2 = XVECEXP (x1, 0, 7);
    5171         1066 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
    5172              :     return -1;
    5173         1066 :   x3 = XVECEXP (x1, 0, 8);
    5174         1066 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
    5175              :     return -1;
    5176         1066 :   x4 = XVECEXP (x1, 0, 9);
    5177         1066 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
    5178              :     return -1;
    5179         1066 :   x5 = XVECEXP (x1, 0, 10);
    5180         1066 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
    5181              :     return -1;
    5182         1066 :   x6 = XVECEXP (x1, 0, 11);
    5183         1066 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1]
    5184         1066 :       || pattern1426 (x1) != 0)
    5185            0 :     return -1;
    5186              :   return 0;
    5187              : }
    5188              : 
    5189              : int
    5190          685 : pattern1524 (rtx x1, machine_mode i1)
    5191              : {
    5192          685 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5193          685 :   rtx x2;
    5194          685 :   int res ATTRIBUTE_UNUSED;
    5195          685 :   if (!register_operand (operands[0], i1)
    5196          685 :       || GET_MODE (x1) != i1
    5197         1370 :       || !register_operand (operands[2], i1))
    5198           68 :     return -1;
    5199          617 :   x2 = XEXP (x1, 1);
    5200          617 :   if (GET_MODE (x2) != i1
    5201          617 :       || !nonimmediate_operand (operands[3], i1))
    5202          505 :     return -1;
    5203              :   return 0;
    5204              : }
    5205              : 
    5206              : int
    5207       674583 : pattern1530 ()
    5208              : {
    5209       674583 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5210       674583 :   int res ATTRIBUTE_UNUSED;
    5211       674583 :   if (!const_0_to_3_operand (operands[3], E_VOIDmode)
    5212       627337 :       || !const_0_to_3_operand (operands[4], E_VOIDmode)
    5213       431832 :       || !const_4_to_7_operand (operands[5], E_VOIDmode)
    5214      1102997 :       || !const_4_to_7_operand (operands[6], E_VOIDmode))
    5215       249709 :     return -1;
    5216              :   return 0;
    5217              : }
    5218              : 
    5219              : int
    5220         3576 : pattern1536 (rtx x1)
    5221              : {
    5222         3576 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5223         3576 :   rtx x2, x3, x4;
    5224         3576 :   int res ATTRIBUTE_UNUSED;
    5225         3576 :   x2 = XEXP (x1, 1);
    5226         3576 :   x3 = XEXP (x2, 1);
    5227         3576 :   if (maybe_ne (SUBREG_BYTE (x3), 0)
    5228         3576 :       || GET_MODE (x3) != E_QImode)
    5229              :     return -1;
    5230         3576 :   x4 = XEXP (x3, 0);
    5231         3576 :   switch (GET_CODE (x4))
    5232              :     {
    5233          447 :     case ASHIFTRT:
    5234          447 :     case LSHIFTRT:
    5235          447 :     case SIGN_EXTRACT:
    5236          447 :     case ZERO_EXTRACT:
    5237          447 :       operands[4] = x4;
    5238          447 :       return pattern1055 (x1); /* [-1, 5] */
    5239              : 
    5240              :     default:
    5241              :       return -1;
    5242              :     }
    5243              : }
    5244              : 
    5245              : int
    5246        21917 : pattern1545 (rtx x1)
    5247              : {
    5248        21917 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5249        21917 :   int res ATTRIBUTE_UNUSED;
    5250        21917 :   switch (GET_MODE (operands[0]))
    5251              :     {
    5252         6728 :     case E_V8SFmode:
    5253         6728 :       if (!nonimmediate_operand (operands[0], E_V8SFmode)
    5254         6728 :           || GET_MODE (x1) != E_V8SFmode
    5255        13456 :           || !nonimmediate_operand (operands[1], E_V16SFmode))
    5256            0 :         return -1;
    5257              :       return 0;
    5258              : 
    5259         6346 :     case E_V8SImode:
    5260         6346 :       if (!nonimmediate_operand (operands[0], E_V8SImode)
    5261         6346 :           || GET_MODE (x1) != E_V8SImode
    5262        12692 :           || !nonimmediate_operand (operands[1], E_V16SImode))
    5263            0 :         return -1;
    5264              :       return 1;
    5265              : 
    5266         7372 :     case E_V8HImode:
    5267         7372 :       if (!nonimmediate_operand (operands[0], E_V8HImode)
    5268         7372 :           || GET_MODE (x1) != E_V8HImode
    5269        14744 :           || !nonimmediate_operand (operands[1], E_V16HImode))
    5270           79 :         return -1;
    5271              :       return 2;
    5272              : 
    5273          517 :     case E_V8HFmode:
    5274          517 :       if (!nonimmediate_operand (operands[0], E_V8HFmode)
    5275          517 :           || GET_MODE (x1) != E_V8HFmode
    5276         1034 :           || !nonimmediate_operand (operands[1], E_V16HFmode))
    5277            3 :         return -1;
    5278              :       return 3;
    5279              : 
    5280          711 :     case E_V8BFmode:
    5281          711 :       if (!nonimmediate_operand (operands[0], E_V8BFmode)
    5282          711 :           || GET_MODE (x1) != E_V8BFmode
    5283         1422 :           || !nonimmediate_operand (operands[1], E_V16BFmode))
    5284           34 :         return -1;
    5285              :       return 4;
    5286              : 
    5287              :     default:
    5288              :       return -1;
    5289              :     }
    5290              : }
    5291              : 
    5292              : int
    5293          440 : pattern1566 ()
    5294              : {
    5295          440 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5296          440 :   int res ATTRIBUTE_UNUSED;
    5297          440 :   if (!const0_operand (operands[4], E_V4HFmode))
    5298              :     return -1;
    5299          440 :   switch (GET_MODE (operands[1]))
    5300              :     {
    5301          220 :     case E_V4DFmode:
    5302          220 :       if (!vector_operand (operands[1], E_V4DFmode))
    5303              :         return -1;
    5304              :       return 0;
    5305              : 
    5306          220 :     case E_V4SFmode:
    5307          220 :       if (!vector_operand (operands[1], E_V4SFmode))
    5308              :         return -1;
    5309              :       return 1;
    5310              : 
    5311              :     default:
    5312              :       return -1;
    5313              :     }
    5314              : }
    5315              : 
    5316              : int
    5317        24187 : pattern1573 (rtx x1, machine_mode i1, machine_mode i2)
    5318              : {
    5319        24187 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5320        24187 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5321        24187 :   int res ATTRIBUTE_UNUSED;
    5322        24187 :   x2 = XVECEXP (x1, 0, 0);
    5323        24187 :   x3 = XEXP (x2, 1);
    5324        24187 :   x4 = XEXP (x3, 0);
    5325        24187 :   x5 = XEXP (x4, 0);
    5326        24187 :   if (GET_MODE (x5) != i2
    5327        24187 :       || !nonimmediate_operand (operands[1], i1)
    5328        48133 :       || !const_int_operand (operands[3], i2))
    5329          241 :     return -1;
    5330        23946 :   x6 = XEXP (x3, 1);
    5331        23946 :   if (GET_MODE (x6) != i2)
    5332              :     return -1;
    5333        23946 :   x7 = XEXP (x6, 0);
    5334        23946 :   if (GET_MODE (x7) != i1
    5335        23946 :       || !x86_64_immediate_operand (operands[2], i1)
    5336        47892 :       || !nonimmediate_operand (operands[0], i1))
    5337            0 :     return -1;
    5338        23946 :   x8 = XVECEXP (x1, 0, 1);
    5339        23946 :   x9 = XEXP (x8, 1);
    5340        23946 :   if (GET_MODE (x9) != i1)
    5341              :     return -1;
    5342              :   return 0;
    5343              : }
    5344              : 
    5345              : int
    5346          776 : pattern1588 (rtx x1)
    5347              : {
    5348          776 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5349          776 :   rtx x2, x3, x4;
    5350          776 :   int res ATTRIBUTE_UNUSED;
    5351          776 :   x2 = XEXP (x1, 2);
    5352          776 :   operands[3] = x2;
    5353          776 :   x3 = XEXP (x1, 1);
    5354          776 :   x4 = XEXP (x3, 0);
    5355          776 :   if (!rtx_equal_p (x4, operands[2]))
    5356              :     return -1;
    5357          704 :   switch (GET_MODE (operands[0]))
    5358              :     {
    5359           17 :     case E_HImode:
    5360           17 :       return pattern1587 (x1, 
    5361           17 : E_HImode); /* [-1, 0] */
    5362              : 
    5363          670 :     case E_SImode:
    5364          670 :       if (pattern1587 (x1, 
    5365              : E_SImode) != 0)
    5366              :         return -1;
    5367              :       return 1;
    5368              : 
    5369           17 :     case E_DImode:
    5370           17 :       if (pattern1587 (x1, 
    5371              : E_DImode) != 0)
    5372              :         return -1;
    5373              :       return 2;
    5374              : 
    5375              :     default:
    5376              :       return -1;
    5377              :     }
    5378              : }
    5379              : 
    5380              : int
    5381            0 : pattern1596 (rtx x1, machine_mode i1, machine_mode i2)
    5382              : {
    5383            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5384            0 :   rtx x2, x3, x4;
    5385            0 :   int res ATTRIBUTE_UNUSED;
    5386            0 :   if (!register_operand (operands[0], i1)
    5387            0 :       || GET_MODE (x1) != i1)
    5388              :     return -1;
    5389            0 :   x2 = XVECEXP (x1, 0, 0);
    5390            0 :   if (GET_MODE (x2) != i1)
    5391              :     return -1;
    5392            0 :   x3 = XEXP (x2, 0);
    5393            0 :   if (GET_MODE (x3) != i1)
    5394              :     return -1;
    5395            0 :   x4 = XEXP (x3, 0);
    5396            0 :   if (GET_MODE (x4) != i2
    5397            0 :       || !register_operand (operands[2], i2)
    5398            0 :       || !register_operand (operands[1], i1))
    5399            0 :     return -1;
    5400              :   return 0;
    5401              : }
    5402              : 
    5403              : int
    5404          507 : pattern1605 (rtx x1, machine_mode i1, machine_mode i2)
    5405              : {
    5406          507 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5407          507 :   rtx x2, x3, x4;
    5408          507 :   int res ATTRIBUTE_UNUSED;
    5409          507 :   if (!register_operand (operands[0], i2)
    5410          507 :       || GET_MODE (x1) != i2)
    5411              :     return -1;
    5412          493 :   x2 = XVECEXP (x1, 0, 0);
    5413          493 :   if (GET_MODE (x2) != i2)
    5414              :     return -1;
    5415          493 :   x3 = XEXP (x2, 0);
    5416          493 :   if (GET_MODE (x3) != i2
    5417          493 :       || !register_operand (operands[1], i2))
    5418            5 :     return -1;
    5419          488 :   x4 = XEXP (x3, 2);
    5420          488 :   return pattern1604 (x4, 
    5421              : i1, 
    5422          488 : i2); /* [-1, 0] */
    5423              : }
    5424              : 
    5425              : int
    5426            0 : pattern1613 (rtx x1, machine_mode i1, machine_mode i2)
    5427              : {
    5428            0 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5429            0 :   rtx x2, x3, x4, x5, x6;
    5430            0 :   int res ATTRIBUTE_UNUSED;
    5431            0 :   if (!register_operand (operands[0], i1)
    5432            0 :       || GET_MODE (x1) != i1)
    5433              :     return -1;
    5434            0 :   x2 = XVECEXP (x1, 0, 0);
    5435            0 :   if (GET_MODE (x2) != i1)
    5436              :     return -1;
    5437            0 :   x3 = XEXP (x2, 0);
    5438            0 :   if (GET_MODE (x3) != i1)
    5439              :     return -1;
    5440            0 :   x4 = XEXP (x3, 0);
    5441            0 :   if (GET_MODE (x4) != i1
    5442            0 :       || !register_operand (operands[1], i1)
    5443            0 :       || !register_operand (operands[2], i1))
    5444            0 :     return -1;
    5445            0 :   x5 = XEXP (x3, 2);
    5446            0 :   if (GET_MODE (x5) != i1
    5447            0 :       || !nonimmediate_operand (operands[3], i1)
    5448            0 :       || !register_operand (operands[4], i2))
    5449            0 :     return -1;
    5450            0 :   x6 = XEXP (x2, 1);
    5451            0 :   if (!rtx_equal_p (x6, operands[3]))
    5452              :     return -1;
    5453              :   return 0;
    5454              : }
    5455              : 
    5456              : int
    5457          126 : pattern1626 (rtx x1, machine_mode i1, machine_mode i2)
    5458              : {
    5459          126 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5460          126 :   rtx x2, x3;
    5461          126 :   int res ATTRIBUTE_UNUSED;
    5462          126 :   if (!register_operand (operands[0], i2)
    5463          123 :       || GET_MODE (x1) != i2
    5464          123 :       || !register_operand (operands[6], E_QImode)
    5465          155 :       || !vsib_mem_operator (operands[5], i1))
    5466           97 :     return -1;
    5467           29 :   x2 = XVECEXP (x1, 0, 2);
    5468           29 :   x3 = XEXP (x2, 0);
    5469           29 :   switch (GET_MODE (x3))
    5470              :     {
    5471            0 :     case E_SImode:
    5472            0 :       return pattern1625 (
    5473            0 : E_SImode); /* [-1, 1] */
    5474              : 
    5475           29 :     case E_DImode:
    5476           29 :       res = pattern1625 (
    5477              : E_DImode);
    5478           29 :       if (res >= 0)
    5479           17 :         return res + 2; /* [2, 3] */
    5480              :       return -1;
    5481              : 
    5482              :     default:
    5483              :       return -1;
    5484              :     }
    5485              : }
    5486              : 
    5487              : int
    5488           13 : pattern1638 (rtx x1, machine_mode i1)
    5489              : {
    5490           13 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5491           13 :   rtx x2, x3, x4, x5, x6;
    5492           13 :   int res ATTRIBUTE_UNUSED;
    5493           13 :   if (!nonimmediate_operand (operands[1], i1)
    5494           13 :       || !general_operand (operands[2], i1)
    5495           25 :       || !nonimmediate_operand (operands[0], i1))
    5496            1 :     return -1;
    5497           12 :   x2 = XVECEXP (x1, 0, 1);
    5498           12 :   x3 = XEXP (x2, 1);
    5499           12 :   if (GET_MODE (x3) != i1)
    5500              :     return -1;
    5501           12 :   x4 = XVECEXP (x1, 0, 0);
    5502           12 :   x5 = XEXP (x4, 1);
    5503           12 :   x6 = XEXP (x5, 1);
    5504           12 :   if (!rtx_equal_p (x6, operands[2]))
    5505              :     return -1;
    5506              :   return 0;
    5507              : }
    5508              : 
    5509              : int
    5510         2036 : pattern1648 (rtx x1, machine_mode i1)
    5511              : {
    5512         2036 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5513         2036 :   rtx x2, x3, x4;
    5514         2036 :   int res ATTRIBUTE_UNUSED;
    5515         2036 :   if (!nonmemory_operand (operands[1], i1))
    5516              :     return -1;
    5517         2036 :   operands[3] = x1;
    5518         2036 :   if (!register_operand (operands[3], i1))
    5519              :     return -1;
    5520            8 :   x2 = PATTERN (peep2_next_insn (1));
    5521            8 :   x3 = XEXP (x2, 1);
    5522            8 :   if (!rtx_equal_p (x3, operands[3]))
    5523              :     return -1;
    5524            8 :   x4 = XEXP (x2, 0);
    5525            8 :   if (!rtx_equal_p (x4, operands[0]))
    5526              :     return -1;
    5527              :   return 0;
    5528              : }
    5529              : 
    5530              : int
    5531          890 : pattern1656 (rtx x1, machine_mode i1, machine_mode i2)
    5532              : {
    5533          890 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5534          890 :   rtx x2, x3, x4;
    5535          890 :   int res ATTRIBUTE_UNUSED;
    5536          890 :   if (!register_operand (operands[0], i1)
    5537          890 :       || GET_MODE (x1) != i1)
    5538              :     return -1;
    5539          840 :   x2 = XEXP (x1, 0);
    5540          840 :   if (GET_MODE (x2) != i1)
    5541              :     return -1;
    5542          840 :   x3 = XEXP (x2, 0);
    5543          840 :   if (GET_MODE (x3) != i2)
    5544              :     return -1;
    5545          840 :   x4 = XEXP (x1, 1);
    5546          840 :   if (!nonimm_or_0_operand (x4, i1))
    5547              :     return -1;
    5548              :   return 0;
    5549              : }
    5550              : 
    5551              : int
    5552          725 : pattern1663 (rtx x1, machine_mode i1, machine_mode i2)
    5553              : {
    5554          725 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5555          725 :   rtx x2, x3;
    5556          725 :   int res ATTRIBUTE_UNUSED;
    5557          725 :   if (!register_operand (operands[0], i2)
    5558          725 :       || GET_MODE (x1) != i2)
    5559              :     return -1;
    5560          705 :   x2 = XVECEXP (x1, 0, 0);
    5561          705 :   if (GET_MODE (x2) != i2)
    5562              :     return -1;
    5563          705 :   x3 = XEXP (x2, 0);
    5564          705 :   if (GET_MODE (x3) != i2
    5565          705 :       || !register_operand (operands[1], i2)
    5566          700 :       || !register_operand (operands[2], i2)
    5567          696 :       || !register_operand (operands[3], i2)
    5568          696 :       || !const0_operand (operands[4], i2)
    5569         1401 :       || !register_operand (operands[5], i1))
    5570           19 :     return -1;
    5571              :   return 0;
    5572              : }
    5573              : 
    5574              : int
    5575          115 : pattern1673 (machine_mode i1)
    5576              : {
    5577          115 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5578          115 :   int res ATTRIBUTE_UNUSED;
    5579          115 :   if (!vsib_address_operand (operands[4], i1))
    5580              :     return -1;
    5581          115 :   switch (GET_MODE (operands[3]))
    5582              :     {
    5583           82 :     case E_V4SImode:
    5584           82 :       if (!register_operand (operands[3], E_V4SImode))
    5585              :         return -1;
    5586              :       return 0;
    5587              : 
    5588           33 :     case E_V4DImode:
    5589           33 :       if (!register_operand (operands[3], E_V4DImode))
    5590              :         return -1;
    5591              :       return 1;
    5592              : 
    5593              :     default:
    5594              :       return -1;
    5595              :     }
    5596              : }
    5597              : 
    5598              : int
    5599           31 : pattern1681 (rtx x1, machine_mode i1)
    5600              : {
    5601           31 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5602           31 :   rtx x2, x3, x4;
    5603           31 :   int res ATTRIBUTE_UNUSED;
    5604           31 :   x2 = XVECEXP (x1, 0, 0);
    5605           31 :   x3 = XEXP (x2, 0);
    5606           31 :   if (GET_MODE (x3) != i1)
    5607              :     return -1;
    5608           31 :   x4 = XEXP (x2, 1);
    5609           31 :   if (GET_MODE (x4) != i1)
    5610              :     return -1;
    5611           31 :   switch (GET_MODE (operands[2]))
    5612              :     {
    5613           19 :     case E_SImode:
    5614           19 :       return pattern1680 (x1, 
    5615           19 : E_SImode); /* [-1, 0] */
    5616              : 
    5617           12 :     case E_DImode:
    5618           12 :       if (pattern1680 (x1, 
    5619              : E_DImode) != 0)
    5620              :         return -1;
    5621              :       return 1;
    5622              : 
    5623              :     default:
    5624              :       return -1;
    5625              :     }
    5626              : }
    5627              : 
    5628              : int
    5629         1356 : pattern1692 (rtx x1, machine_mode i1)
    5630              : {
    5631         1356 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5632         1356 :   rtx x2, x3, x4, x5;
    5633         1356 :   int res ATTRIBUTE_UNUSED;
    5634         1356 :   if (!register_operand (operands[0], i1)
    5635         1356 :       || GET_MODE (x1) != i1)
    5636              :     return -1;
    5637         1316 :   x2 = XVECEXP (x1, 0, 0);
    5638         1316 :   if (GET_MODE (x2) != i1)
    5639              :     return -1;
    5640         1316 :   x3 = XEXP (x2, 0);
    5641         1316 :   if (GET_MODE (x3) != i1)
    5642              :     return -1;
    5643         1316 :   x4 = XEXP (x3, 0);
    5644         1316 :   if (GET_MODE (x4) != i1
    5645         1316 :       || !register_operand (operands[2], i1))
    5646           15 :     return -1;
    5647         1301 :   x5 = XEXP (x4, 2);
    5648         1301 :   if (GET_MODE (x5) != i1)
    5649              :     return -1;
    5650              :   return 0;
    5651              : }
    5652              : 
    5653              : int
    5654          532 : pattern1701 (rtx x1)
    5655              : {
    5656          532 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5657          532 :   rtx x2, x3, x4, x5, x6, x7, x8;
    5658          532 :   int res ATTRIBUTE_UNUSED;
    5659          532 :   if (!register_operand (operands[0], E_DImode))
    5660              :     return -1;
    5661          532 :   x2 = XEXP (x1, 0);
    5662          532 :   x3 = XEXP (x2, 0);
    5663          532 :   operands[1] = x3;
    5664          532 :   if (!nonimmediate_operand (operands[1], E_DImode))
    5665              :     return -1;
    5666          532 :   x4 = XEXP (x1, 1);
    5667          532 :   if (GET_MODE (x4) != E_DImode)
    5668              :     return -1;
    5669          532 :   x5 = XEXP (x4, 0);
    5670          532 :   if (GET_MODE (x5) != E_TImode)
    5671              :     return -1;
    5672          532 :   x6 = XEXP (x5, 0);
    5673          532 :   if (GET_MODE (x6) != E_TImode)
    5674              :     return -1;
    5675          532 :   x7 = XEXP (x6, 0);
    5676          532 :   operands[2] = x7;
    5677          532 :   if (!register_operand (operands[2], E_DImode))
    5678              :     return -1;
    5679          532 :   x8 = XEXP (x5, 1);
    5680          532 :   operands[4] = x8;
    5681          532 :   if (!const_0_to_255_operand (operands[4], E_QImode))
    5682              :     return -1;
    5683              :   return 0;
    5684              : }
    5685              : 
    5686              : int
    5687         4425 : pattern1712 (rtx x1)
    5688              : {
    5689         4425 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5690         4425 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5691         4425 :   rtx x10, x11;
    5692         4425 :   int res ATTRIBUTE_UNUSED;
    5693         4425 :   x2 = XVECEXP (x1, 0, 0);
    5694         4425 :   x3 = XEXP (x2, 1);
    5695         4425 :   x4 = XVECEXP (x3, 0, 1);
    5696         4425 :   operands[4] = x4;
    5697         4425 :   if (!const_int_operand (operands[4], E_SImode))
    5698              :     return -1;
    5699         4425 :   x5 = XEXP (x2, 0);
    5700         4425 :   if (!rtx_equal_p (x5, operands[0]))
    5701              :     return -1;
    5702         4425 :   x6 = XVECEXP (x1, 0, 1);
    5703         4425 :   x7 = XEXP (x6, 1);
    5704         4425 :   x8 = XEXP (x7, 0);
    5705         4425 :   if (!rtx_equal_p (x8, operands[1]))
    5706              :     return -1;
    5707         4425 :   x9 = XEXP (x7, 1);
    5708         4425 :   if (!rtx_equal_p (x9, operands[0]))
    5709              :     return -1;
    5710         4425 :   x10 = XEXP (x6, 0);
    5711         4425 :   if (!rtx_equal_p (x10, operands[1]))
    5712              :     return -1;
    5713         4425 :   x11 = PATTERN (peep2_next_insn (2));
    5714         4425 :   return pattern1546 (x11); /* [-1, 0] */
    5715              : }
    5716              : 
    5717              : int
    5718          448 : pattern1725 (rtx x1, machine_mode i1, machine_mode i2)
    5719              : {
    5720          448 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5721          448 :   rtx x2, x3;
    5722          448 :   int res ATTRIBUTE_UNUSED;
    5723          448 :   if (!register_operand (operands[0], i1)
    5724          413 :       || GET_MODE (x1) != i1
    5725          413 :       || !vsib_mem_operator (operands[6], i2)
    5726          861 :       || !register_operand (operands[4], i1))
    5727          296 :     return -1;
    5728          152 :   x2 = XVECEXP (x1, 0, 1);
    5729          152 :   x3 = XEXP (x2, 0);
    5730          152 :   switch (GET_MODE (x3))
    5731              :     {
    5732            0 :     case E_SImode:
    5733            0 :       return pattern1724 (
    5734            0 : E_SImode); /* [-1, 1] */
    5735              : 
    5736          152 :     case E_DImode:
    5737          152 :       res = pattern1724 (
    5738              : E_DImode);
    5739          152 :       if (res >= 0)
    5740           34 :         return res + 2; /* [2, 3] */
    5741              :       return -1;
    5742              : 
    5743              :     default:
    5744              :       return -1;
    5745              :     }
    5746              : }
    5747              : 
    5748              : int
    5749          829 : pattern1736 (rtx x1, machine_mode i1, machine_mode i2)
    5750              : {
    5751          829 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5752          829 :   int res ATTRIBUTE_UNUSED;
    5753          829 :   if (!register_operand (operands[6], i1)
    5754          829 :       || !register_operand (operands[2], i2)
    5755         1608 :       || !scratch_operand (operands[1], i1))
    5756           50 :     return -1;
    5757          779 :   switch (GET_MODE (x1))
    5758              :     {
    5759            0 :     case E_SImode:
    5760            0 :       if (!vsib_address_operand (operands[3], E_SImode))
    5761              :         return -1;
    5762              :       return 0;
    5763              : 
    5764          779 :     case E_DImode:
    5765          779 :       if (!vsib_address_operand (operands[3], E_DImode))
    5766              :         return -1;
    5767              :       return 1;
    5768              : 
    5769              :     default:
    5770              :       return -1;
    5771              :     }
    5772              : }
    5773              : 
    5774              : int
    5775          308 : pattern1745 (rtx x1, machine_mode i1, machine_mode i2)
    5776              : {
    5777          308 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5778          308 :   rtx x2, x3;
    5779          308 :   int res ATTRIBUTE_UNUSED;
    5780          308 :   if (!register_operand (operands[0], i2)
    5781          304 :       || GET_MODE (x1) != i2
    5782          304 :       || !register_operand (operands[6], E_QImode)
    5783          214 :       || !vsib_mem_operator (operands[5], i1)
    5784          522 :       || !scratch_operand (operands[1], E_QImode))
    5785           94 :     return -1;
    5786          214 :   x2 = XVECEXP (x1, 0, 2);
    5787          214 :   x3 = XEXP (x2, 0);
    5788          214 :   switch (GET_MODE (x3))
    5789              :     {
    5790            0 :     case E_SImode:
    5791            0 :       return pattern1744 (
    5792            0 : E_SImode); /* [-1, 1] */
    5793              : 
    5794          214 :     case E_DImode:
    5795          214 :       res = pattern1744 (
    5796              : E_DImode);
    5797          214 :       if (res >= 0)
    5798          208 :         return res + 2; /* [2, 3] */
    5799              :       return -1;
    5800              : 
    5801              :     default:
    5802              :       return -1;
    5803              :     }
    5804              : }
    5805              : 
    5806              : int
    5807          354 : pattern1757 (rtx x1, machine_mode i1)
    5808              : {
    5809          354 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5810          354 :   rtx x2, x3, x4, x5;
    5811          354 :   int res ATTRIBUTE_UNUSED;
    5812          354 :   if (!register_operand (operands[0], i1)
    5813          354 :       || GET_MODE (x1) != i1)
    5814              :     return -1;
    5815          346 :   x2 = XVECEXP (x1, 0, 0);
    5816          346 :   if (GET_MODE (x2) != i1)
    5817              :     return -1;
    5818          346 :   x3 = XEXP (x2, 0);
    5819          346 :   if (GET_MODE (x3) != i1)
    5820              :     return -1;
    5821          346 :   x4 = XEXP (x3, 0);
    5822          346 :   if (GET_MODE (x4) != i1)
    5823              :     return -1;
    5824          346 :   x5 = XEXP (x4, 0);
    5825          346 :   if (GET_MODE (x5) != i1
    5826          346 :       || !register_operand (operands[2], i1)
    5827          341 :       || !nonimmediate_operand (operands[1], i1)
    5828          341 :       || !register_operand (operands[3], i1)
    5829          686 :       || !const0_operand (operands[4], i1))
    5830            6 :     return -1;
    5831              :   return 0;
    5832              : }
    5833              : 
    5834              : int
    5835          616 : pattern1766 (rtx x1, machine_mode i1, machine_mode i2)
    5836              : {
    5837          616 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5838          616 :   rtx x2, x3;
    5839          616 :   int res ATTRIBUTE_UNUSED;
    5840          616 :   if (!register_operand (operands[0], i2)
    5841          612 :       || GET_MODE (x1) != i2
    5842          612 :       || !register_operand (operands[1], i2)
    5843          612 :       || !register_operand (operands[7], E_QImode)
    5844          574 :       || !vsib_mem_operator (operands[6], i1)
    5845         1190 :       || !scratch_operand (operands[2], E_QImode))
    5846           42 :     return -1;
    5847          574 :   x2 = XVECEXP (x1, 0, 2);
    5848          574 :   x3 = XEXP (x2, 0);
    5849          574 :   switch (GET_MODE (x3))
    5850              :     {
    5851            0 :     case E_SImode:
    5852            0 :       return pattern1765 (
    5853            0 : E_SImode); /* [-1, 1] */
    5854              : 
    5855          574 :     case E_DImode:
    5856          574 :       res = pattern1765 (
    5857              : E_DImode);
    5858          574 :       if (res >= 0)
    5859          543 :         return res + 2; /* [2, 3] */
    5860              :       return -1;
    5861              : 
    5862              :     default:
    5863              :       return -1;
    5864              :     }
    5865              : }
    5866              : 
    5867              : int
    5868          755 : pattern1779 (rtx x1, machine_mode i1, machine_mode i2)
    5869              : {
    5870          755 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5871          755 :   rtx x2, x3;
    5872          755 :   int res ATTRIBUTE_UNUSED;
    5873          755 :   if (!register_operand (operands[0], i1)
    5874          755 :       || GET_MODE (x1) != i1)
    5875              :     return -1;
    5876          688 :   x2 = XEXP (x1, 0);
    5877          688 :   if (GET_MODE (x2) != i1)
    5878              :     return -1;
    5879          688 :   x3 = XEXP (x2, 0);
    5880          688 :   if (GET_MODE (x3) != i2
    5881          688 :       || !register_operand (operands[1], i1)
    5882          688 :       || !nonimmediate_operand (operands[2], i1)
    5883          671 :       || !const_0_to_7_operand (operands[3], E_VOIDmode)
    5884          671 :       || !const_0_to_7_operand (operands[4], E_VOIDmode)
    5885          643 :       || !const_0_to_7_operand (operands[5], E_VOIDmode)
    5886          643 :       || !const_0_to_7_operand (operands[6], E_VOIDmode)
    5887          643 :       || !const_8_to_15_operand (operands[7], E_VOIDmode)
    5888          643 :       || !const_8_to_15_operand (operands[8], E_VOIDmode)
    5889          643 :       || !const_8_to_15_operand (operands[9], E_VOIDmode)
    5890          643 :       || !const_8_to_15_operand (operands[10], E_VOIDmode)
    5891         1331 :       || !nonimm_or_0_operand (operands[11], i1))
    5892           52 :     return -1;
    5893              :   return 0;
    5894              : }
    5895              : 
    5896              : int
    5897          813 : pattern1795 (machine_mode i1)
    5898              : {
    5899          813 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5900          813 :   int res ATTRIBUTE_UNUSED;
    5901          813 :   if (!vsib_address_operand (operands[0], i1))
    5902              :     return -1;
    5903          794 :   switch (GET_MODE (operands[2]))
    5904              :     {
    5905          400 :     case E_V16SImode:
    5906          400 :       return pattern1793 (
    5907              : E_HImode, 
    5908              : E_V16SFmode, 
    5909          400 : E_V16SImode); /* [-1, 0] */
    5910              : 
    5911          394 :     case E_V8DImode:
    5912          394 :       if (pattern1793 (
    5913              : E_QImode, 
    5914              : E_V8SFmode, 
    5915              : E_V8DImode) != 0)
    5916              :         return -1;
    5917              :       return 1;
    5918              : 
    5919              :     default:
    5920              :       return -1;
    5921              :     }
    5922              : }
    5923              : 
    5924              : int
    5925        24697 : pattern1803 (rtx x1, machine_mode i1)
    5926              : {
    5927        24697 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5928        24697 :   int res ATTRIBUTE_UNUSED;
    5929        24697 :   if (!register_operand (operands[1], i1)
    5930        24697 :       || !register_operand (operands[0], i1)
    5931        24697 :       || GET_MODE (x1) != i1
    5932        24697 :       || !register_operand (operands[3], i1)
    5933        49394 :       || !register_operand (operands[4], i1))
    5934         4708 :     return -1;
    5935              :   return 0;
    5936              : }
    5937              : 
    5938              : int
    5939          718 : pattern1809 (rtx x1, int i1, int i2, int i3, int i4)
    5940              : {
    5941          718 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5942          718 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    5943          718 :   int res ATTRIBUTE_UNUSED;
    5944          718 :   x2 = XVECEXP (x1, 0, 12);
    5945          718 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
    5946              :     return -1;
    5947          718 :   x3 = XVECEXP (x1, 0, 13);
    5948          718 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
    5949              :     return -1;
    5950          718 :   x4 = XVECEXP (x1, 0, 14);
    5951          718 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
    5952              :     return -1;
    5953          718 :   x5 = XVECEXP (x1, 0, 15);
    5954          718 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
    5955              :     return -1;
    5956          718 :   x6 = XVECEXP (x1, 0, 16);
    5957          718 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    5958              :     return -1;
    5959          718 :   x7 = XVECEXP (x1, 0, 17);
    5960          718 :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
    5961              :     return -1;
    5962          718 :   x8 = XVECEXP (x1, 0, 18);
    5963          718 :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
    5964              :     return -1;
    5965          718 :   x9 = XVECEXP (x1, 0, 19);
    5966          718 :   if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
    5967            0 :     return -1;
    5968              :   return 0;
    5969              : }
    5970              : 
    5971              : int
    5972         3552 : pattern1823 (rtx x1, machine_mode i1)
    5973              : {
    5974         3552 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5975         3552 :   rtx x2, x3, x4, x5, x6, x7;
    5976         3552 :   int res ATTRIBUTE_UNUSED;
    5977         3552 :   x2 = XVECEXP (x1, 0, 0);
    5978         3552 :   x3 = XEXP (x2, 1);
    5979         3552 :   x4 = XEXP (x3, 0);
    5980         3552 :   x5 = XEXP (x4, 0);
    5981         3552 :   if (GET_MODE (x5) != i1
    5982         3552 :       || !ix86_carry_flag_operator (operands[4], i1)
    5983         7104 :       || !nonimmediate_operand (operands[1], i1))
    5984            0 :     return -1;
    5985         3552 :   x6 = XVECEXP (x1, 0, 1);
    5986         3552 :   x7 = XEXP (x6, 1);
    5987         3552 :   return pattern1822 (x7, 
    5988         3552 : i1); /* [-1, 0] */
    5989              : }
    5990              : 
    5991              : int
    5992          190 : pattern1831 (rtx x1, int i1, int i2, int i3, int i4, int i5)
    5993              : {
    5994          190 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    5995          190 :   rtx x2, x3, x4, x5, x6;
    5996          190 :   int res ATTRIBUTE_UNUSED;
    5997          190 :   x2 = XVECEXP (x1, 0, 17);
    5998          190 :   if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
    5999              :     return -1;
    6000          190 :   x3 = XVECEXP (x1, 0, 18);
    6001          190 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
    6002              :     return -1;
    6003          190 :   x4 = XVECEXP (x1, 0, 19);
    6004          190 :   if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
    6005              :     return -1;
    6006          190 :   x5 = XVECEXP (x1, 0, 20);
    6007          190 :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
    6008              :     return -1;
    6009          190 :   x6 = XVECEXP (x1, 0, 21);
    6010          190 :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
    6011            0 :     return -1;
    6012              :   return 0;
    6013              : }
    6014              : 
    6015              : int
    6016          246 : pattern1842 (rtx x1, machine_mode i1)
    6017              : {
    6018          246 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6019          246 :   int res ATTRIBUTE_UNUSED;
    6020          246 :   if (!register_operand (operands[5], i1))
    6021              :     return -1;
    6022          110 :   switch (GET_MODE (x1))
    6023              :     {
    6024            0 :     case E_SImode:
    6025            0 :       if (!vsib_address_operand (operands[3], E_SImode))
    6026              :         return -1;
    6027              :       return 0;
    6028              : 
    6029          110 :     case E_DImode:
    6030          110 :       if (!vsib_address_operand (operands[3], E_DImode))
    6031              :         return -1;
    6032              :       return 1;
    6033              : 
    6034              :     default:
    6035              :       return -1;
    6036              :     }
    6037              : }
    6038              : 
    6039              : int
    6040         8805 : pattern1850 (rtx x1)
    6041              : {
    6042         8805 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6043         8805 :   rtx x2, x3, x4, x5;
    6044         8805 :   int res ATTRIBUTE_UNUSED;
    6045         8805 :   x2 = XEXP (x1, 1);
    6046         8805 :   if (GET_CODE (x2) != COMPARE)
    6047              :     return -1;
    6048         2697 :   x3 = XEXP (x2, 1);
    6049         2697 :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6050              :     return -1;
    6051          386 :   x4 = XEXP (x1, 0);
    6052          386 :   if (GET_CODE (x4) != REG
    6053          386 :       || REGNO (x4) != 17)
    6054              :     return -1;
    6055          386 :   x5 = XEXP (x2, 0);
    6056          386 :   if (!rtx_equal_p (x5, operands[0]))
    6057              :     return -1;
    6058              :   return 0;
    6059              : }
    6060              : 
    6061              : int
    6062        96545 : pattern1856 (rtx x1, machine_mode i1)
    6063              : {
    6064        96545 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6065        96545 :   rtx x2, x3, x4, x5;
    6066        96545 :   int res ATTRIBUTE_UNUSED;
    6067        96545 :   if (!register_operand (operands[2], i1)
    6068        96545 :       || !register_operand (operands[0], i1))
    6069            0 :     return -1;
    6070        96545 :   x2 = XVECEXP (x1, 0, 1);
    6071        96545 :   x3 = XEXP (x2, 1);
    6072        96545 :   if (GET_MODE (x3) != i1
    6073        96545 :       || !register_operand (operands[3], i1)
    6074        96545 :       || !register_operand (operands[5], i1)
    6075       186697 :       || !register_operand (operands[1], i1))
    6076         6393 :     return -1;
    6077        90152 :   x4 = XVECEXP (x1, 0, 2);
    6078        90152 :   x5 = XEXP (x4, 1);
    6079        90152 :   if (GET_MODE (x5) != i1
    6080        90152 :       || !register_operand (operands[4], i1))
    6081         1185 :     return -1;
    6082              :   return 0;
    6083              : }
    6084              : 
    6085              : int
    6086          194 : pattern1864 (machine_mode i1)
    6087              : {
    6088          194 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6089          194 :   int res ATTRIBUTE_UNUSED;
    6090          194 :   if (!vsib_address_operand (operands[2], i1))
    6091              :     return -1;
    6092          186 :   switch (GET_MODE (operands[3]))
    6093              :     {
    6094          106 :     case E_V8SImode:
    6095          106 :       if (!register_operand (operands[3], E_V8SImode)
    6096          106 :           || !register_operand (operands[4], E_V8SImode))
    6097           40 :         return -1;
    6098              :       return 0;
    6099              : 
    6100           80 :     case E_V4DImode:
    6101           80 :       if (!register_operand (operands[3], E_V4DImode)
    6102           80 :           || !register_operand (operands[4], E_V4SImode))
    6103           16 :         return -1;
    6104              :       return 1;
    6105              : 
    6106              :     default:
    6107              :       return -1;
    6108              :     }
    6109              : }
    6110              : 
    6111              : int
    6112        38138 : pattern1871 (rtx x1, machine_mode i1, machine_mode i2)
    6113              : {
    6114        38138 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6115        38138 :   rtx x2, x3, x4, x5, x6, x7, x8;
    6116        38138 :   int res ATTRIBUTE_UNUSED;
    6117        38138 :   if (!nonimmediate_operand (operands[1], i1))
    6118              :     return -1;
    6119        38138 :   x2 = XVECEXP (x1, 0, 0);
    6120        38138 :   x3 = XEXP (x2, 1);
    6121        38138 :   x4 = XEXP (x3, 1);
    6122        38138 :   if (GET_MODE (x4) != i2
    6123        38138 :       || !ix86_carry_flag_operator (operands[4], i2))
    6124            0 :     return -1;
    6125        38138 :   x5 = XEXP (x4, 1);
    6126        38138 :   if (GET_MODE (x5) != i2
    6127        38138 :       || !nonimmediate_operand (operands[2], i1)
    6128        74627 :       || !nonimmediate_operand (operands[0], i1))
    6129         1649 :     return -1;
    6130        36489 :   x6 = XVECEXP (x1, 0, 1);
    6131        36489 :   x7 = XEXP (x6, 1);
    6132        36489 :   if (GET_MODE (x7) != i1)
    6133              :     return -1;
    6134        36489 :   x8 = XEXP (x7, 0);
    6135        36489 :   if (GET_MODE (x8) != i1
    6136        36489 :       || !ix86_carry_flag_operator (operands[5], i1))
    6137            0 :     return -1;
    6138              :   return 0;
    6139              : }
    6140              : 
    6141              : int
    6142           38 : pattern1881 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
    6143              : {
    6144           38 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6145           38 :   rtx x2, x3, x4;
    6146           38 :   int res ATTRIBUTE_UNUSED;
    6147           38 :   if (!register_operand (operands[0], i2)
    6148           38 :       || GET_MODE (x1) != i2)
    6149              :     return -1;
    6150           36 :   x2 = XEXP (x1, 0);
    6151           36 :   if (GET_MODE (x2) != i1
    6152           36 :       || !register_operand (operands[2], i2)
    6153           36 :       || !vsib_mem_operator (operands[7], i3)
    6154           36 :       || !register_operand (operands[5], i2)
    6155           68 :       || !scratch_operand (operands[1], i1))
    6156            4 :     return -1;
    6157           32 :   x3 = XVECEXP (x2, 0, 1);
    6158           32 :   x4 = XEXP (x3, 0);
    6159           32 :   switch (GET_MODE (x4))
    6160              :     {
    6161            0 :     case E_SImode:
    6162            0 :       if (!vsib_address_operand (operands[3], E_SImode))
    6163              :         return -1;
    6164              :       return 0;
    6165              : 
    6166           32 :     case E_DImode:
    6167           32 :       if (!vsib_address_operand (operands[3], E_DImode))
    6168              :         return -1;
    6169              :       return 1;
    6170              : 
    6171              :     default:
    6172              :       return -1;
    6173              :     }
    6174              : }
    6175              : 
    6176              : int
    6177           24 : pattern1890 (rtx x1, machine_mode i1)
    6178              : {
    6179           24 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6180           24 :   rtx x2, x3, x4, x5, x6, x7, x8;
    6181           24 :   int res ATTRIBUTE_UNUSED;
    6182           24 :   if (!x86_64_general_operand (operands[1], i1))
    6183              :     return -1;
    6184           24 :   x2 = XVECEXP (x1, 0, 1);
    6185           24 :   x3 = XEXP (x2, 1);
    6186           24 :   if (XINT (x3, 1) != 112
    6187           24 :       || GET_MODE (x3) != i1)
    6188              :     return -1;
    6189           24 :   x4 = XVECEXP (x1, 0, 2);
    6190           24 :   x5 = XEXP (x4, 1);
    6191           24 :   if (GET_CODE (x5) != COMPARE
    6192           24 :       || GET_MODE (x5) != E_CCmode
    6193           24 :       || !memory_operand (operands[2], i1)
    6194           48 :       || !register_operand (operands[3], i1))
    6195            0 :     return -1;
    6196           24 :   x6 = XEXP (x4, 0);
    6197           24 :   if (GET_MODE (x6) != E_CCmode)
    6198              :     return -1;
    6199           24 :   x7 = XEXP (x5, 0);
    6200           24 :   if (!rtx_equal_p (x7, operands[2]))
    6201              :     return -1;
    6202           24 :   x8 = XEXP (x5, 1);
    6203           24 :   if (!rtx_equal_p (x8, operands[0])
    6204           24 :       || !register_operand (operands[5], i1)
    6205           48 :       || !x86_64_general_operand (operands[6], i1))
    6206            0 :     return -1;
    6207              :   return 0;
    6208              : }
    6209              : 
    6210              : int
    6211           17 : pattern1897 (rtx x1, machine_mode i1)
    6212              : {
    6213           17 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6214           17 :   rtx x2, x3, x4, x5, x6, x7;
    6215           17 :   int res ATTRIBUTE_UNUSED;
    6216           17 :   if (!register_operand (operands[4], E_SImode)
    6217           17 :       || GET_MODE (x1) != E_SImode
    6218           34 :       || !nonmemory_operand (operands[2], E_SImode))
    6219            0 :     return -1;
    6220           17 :   x2 = PATTERN (peep2_next_insn (3));
    6221           17 :   x3 = XEXP (x2, 1);
    6222           17 :   operands[5] = x3;
    6223           17 :   if (!register_operand (operands[5], i1))
    6224              :     return -1;
    6225           17 :   x4 = PATTERN (peep2_next_insn (4));
    6226           17 :   x5 = XEXP (x4, 1);
    6227           17 :   x6 = XEXP (x5, 0);
    6228           17 :   operands[6] = x6;
    6229           17 :   x7 = XEXP (x5, 1);
    6230           17 :   operands[7] = x7;
    6231           17 :   return 0;
    6232              : }
    6233              : 
    6234              : int
    6235          321 : pattern1905 (rtx x1, machine_mode i1, machine_mode i2)
    6236              : {
    6237          321 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6238          321 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6239          321 :   rtx x10, x11;
    6240          321 :   int res ATTRIBUTE_UNUSED;
    6241          321 :   x2 = XVECEXP (x1, 0, 0);
    6242          321 :   x3 = XEXP (x2, 1);
    6243          321 :   x4 = XEXP (x3, 0);
    6244          321 :   x5 = XEXP (x4, 0);
    6245          321 :   if (GET_MODE (x5) != i2
    6246          321 :       || !ix86_carry_flag_operator (operands[4], i2))
    6247            0 :     return -1;
    6248          321 :   x6 = XEXP (x5, 1);
    6249          321 :   if (GET_MODE (x6) != i2
    6250          321 :       || !nonimmediate_operand (operands[1], i1)
    6251          642 :       || !const_int_operand (operands[6], i2))
    6252            0 :     return -1;
    6253          321 :   x7 = XEXP (x3, 1);
    6254          321 :   if (GET_MODE (x7) != i2)
    6255              :     return -1;
    6256          321 :   x8 = XEXP (x7, 0);
    6257          321 :   if (GET_MODE (x8) != i1)
    6258              :     return -1;
    6259          321 :   x9 = XEXP (x8, 0);
    6260          321 :   if (GET_MODE (x9) != i1
    6261          321 :       || !ix86_carry_flag_operator (operands[5], i1))
    6262            0 :     return -1;
    6263          321 :   x10 = XVECEXP (x1, 0, 1);
    6264          321 :   x11 = XEXP (x10, 1);
    6265          321 :   return pattern1904 (x11, 
    6266          321 : i1); /* [-1, 0] */
    6267              : }
    6268              : 
    6269              : int
    6270         1546 : pattern1914 (rtx x1)
    6271              : {
    6272         1546 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6273         1546 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6274         1546 :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    6275         1546 :   int res ATTRIBUTE_UNUSED;
    6276         1546 :   x2 = XEXP (x1, 0);
    6277         1546 :   x3 = XEXP (x2, 0);
    6278         1546 :   x4 = XEXP (x3, 0);
    6279         1546 :   x5 = XEXP (x4, 0);
    6280         1546 :   x6 = XEXP (x5, 0);
    6281         1546 :   operands[1] = x6;
    6282         1546 :   if (!nonimmediate_operand (operands[1], E_V8HImode))
    6283              :     return -1;
    6284         1351 :   x7 = XEXP (x3, 1);
    6285         1351 :   x8 = XEXP (x7, 0);
    6286         1351 :   x9 = XEXP (x8, 0);
    6287         1351 :   operands[2] = x9;
    6288         1351 :   if (!nonimmediate_operand (operands[2], E_V8HImode))
    6289              :     return -1;
    6290         1169 :   x10 = XEXP (x1, 1);
    6291         1169 :   operands[3] = x10;
    6292         1169 :   if (!register_operand (operands[3], E_V4SImode))
    6293              :     return -1;
    6294         1157 :   x11 = XEXP (x2, 1);
    6295         1157 :   x12 = XEXP (x11, 0);
    6296         1157 :   x13 = XEXP (x12, 0);
    6297         1157 :   x14 = XEXP (x13, 0);
    6298         1157 :   if (!rtx_equal_p (x14, operands[1]))
    6299              :     return -1;
    6300         1157 :   x15 = XEXP (x11, 1);
    6301         1157 :   x16 = XEXP (x15, 0);
    6302         1157 :   x17 = XEXP (x16, 0);
    6303         1157 :   if (!rtx_equal_p (x17, operands[2]))
    6304              :     return -1;
    6305              :   return 0;
    6306              : }
    6307              : 
    6308              :  int
    6309        34148 : recog_5 (rtx x1 ATTRIBUTE_UNUSED,
    6310              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    6311              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    6312              : {
    6313        34148 :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6314        34148 :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6315        34148 :   rtx x10;
    6316        34148 :   int res ATTRIBUTE_UNUSED;
    6317        34148 :   x2 = XEXP (x1, 1);
    6318        34148 :   x3 = XEXP (x2, 0);
    6319        34148 :   if (GET_MODE (x3) != E_QImode)
    6320              :     return -1;
    6321        10007 :   x4 = XEXP (x1, 0);
    6322        10007 :   if (GET_MODE (x4) != E_CCCmode
    6323         8882 :       || GET_MODE (x2) != E_CCCmode)
    6324              :     return -1;
    6325         8882 :   x5 = XEXP (x3, 0);
    6326         8882 :   if (GET_MODE (x5) != E_QImode)
    6327              :     return -1;
    6328         8882 :   x6 = XEXP (x2, 1);
    6329         8882 :   if (GET_MODE (x6) != E_QImode)
    6330              :     return -1;
    6331         8882 :   switch (GET_CODE (x5))
    6332              :     {
    6333           39 :     case LTU:
    6334           39 :       x7 = XEXP (x5, 0);
    6335           39 :       if (GET_CODE (x7) != REG
    6336           39 :           || REGNO (x7) != 17
    6337           78 :           || GET_MODE (x7) != E_CCCmode)
    6338              :         return -1;
    6339            3 :       x8 = XEXP (x5, 1);
    6340            3 :       if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    6341            3 :           || GET_CODE (x6) != GEU)
    6342              :         return -1;
    6343            3 :       x9 = XEXP (x6, 0);
    6344            3 :       if (GET_CODE (x9) != REG
    6345            3 :           || REGNO (x9) != 17
    6346            6 :           || GET_MODE (x9) != E_CCCmode)
    6347              :         return -1;
    6348            3 :       x10 = XEXP (x6, 1);
    6349            3 :       if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6350              :         return -1;
    6351              :       return 68; /* *x86_cmc */
    6352              : 
    6353         8386 :     case GEU:
    6354         8386 :       x7 = XEXP (x5, 0);
    6355         8386 :       if (GET_CODE (x7) != REG
    6356         8386 :           || REGNO (x7) != 17)
    6357              :         return -1;
    6358         8053 :       x8 = XEXP (x5, 1);
    6359         8053 :       if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    6360         8053 :           || GET_CODE (x6) != LTU)
    6361              :         return -1;
    6362         8053 :       x9 = XEXP (x6, 0);
    6363         8053 :       if (GET_CODE (x9) != REG
    6364         8053 :           || REGNO (x9) != 17)
    6365              :         return -1;
    6366         8053 :       x10 = XEXP (x6, 1);
    6367         8053 :       if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6368              :         return -1;
    6369         8053 :       switch (GET_MODE (x7))
    6370              :         {
    6371          759 :         case E_CCmode:
    6372          759 :           if (GET_MODE (x9) != E_CCmode
    6373         1518 :               || !
    6374              : #line 10216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6375              : (ix86_pre_reload_split ()))
    6376              :             return -1;
    6377              :           return 555; /* *setcc_qi_addqi3_cconly_overflow_1_cc */
    6378              : 
    6379              :         case E_CCCmode:
    6380              :           if (GET_MODE (x9) != E_CCCmode
    6381              :               || !
    6382              : #line 10216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6383              : (ix86_pre_reload_split ()))
    6384              :             return -1;
    6385              :           return 556; /* *setcc_qi_addqi3_cconly_overflow_1_ccc */
    6386              : 
    6387              :         default:
    6388              :           return -1;
    6389              :         }
    6390              : 
    6391              :     default:
    6392              :       return -1;
    6393              :     }
    6394              : }
    6395              : 
    6396              :  int
    6397              : recog_11 (rtx x1 ATTRIBUTE_UNUSED,
    6398              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    6399              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    6400              : {
    6401              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6402              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    6403              :   rtx x10, x11;
    6404              :   int res ATTRIBUTE_UNUSED;
    6405              :   x2 = XEXP (x1, 1);
    6406              :   if (GET_MODE (x2) != E_CCFPmode)
    6407              :     return -1;
    6408              :   x3 = XVECEXP (x2, 0, 0);
    6409              :   if (GET_CODE (x3) != VEC_SELECT)
    6410              :     return -1;
    6411              :   x4 = XEXP (x3, 1);
    6412              :   if (GET_CODE (x4) != PARALLEL
    6413              :       || XVECLEN (x4, 0) != 1)
    6414              :     return -1;
    6415              :   x5 = XVECEXP (x4, 0, 0);
    6416              :   if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6417              :     return -1;
    6418              :   x6 = XVECEXP (x2, 0, 1);
    6419              :   if (GET_CODE (x6) != VEC_SELECT)
    6420              :     return -1;
    6421              :   x7 = XEXP (x6, 1);
    6422              :   if (GET_CODE (x7) != PARALLEL
    6423              :       || XVECLEN (x7, 0) != 1)
    6424              :     return -1;
    6425              :   x8 = XVECEXP (x7, 0, 0);
    6426              :   if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    6427              :     return -1;
    6428              :   x9 = XEXP (x1, 0);
    6429              :   if (GET_CODE (x9) != REG
    6430              :       || REGNO (x9) != 17
    6431              :       || GET_MODE (x9) != E_CCFPmode)
    6432              :     return -1;
    6433              :   x10 = XEXP (x3, 0);
    6434              :   operands[0] = x10;
    6435              :   x11 = XEXP (x6, 0);
    6436              :   operands[1] = x11;
    6437              :   switch (GET_MODE (x3))
    6438              :     {
    6439              :     case E_HFmode:
    6440              :       if (!register_operand (operands[0], E_V8HFmode)
    6441              :           || GET_MODE (x6) != E_HFmode
    6442              :           || !nonimmediate_operand (operands[1], E_V8HFmode)
    6443              :           || !(
    6444              : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6445              : (TARGET_AVX10_2) && 
    6446              : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6447              : (TARGET_AVX512FP16)))
    6448              :         return -1;
    6449              :       return 3739; /* avx10_2_comxhf */
    6450              : 
    6451              :     case E_SFmode:
    6452              :       if (!register_operand (operands[0], E_V4SFmode)
    6453              :           || GET_MODE (x6) != E_SFmode
    6454              :           || !nonimmediate_operand (operands[1], E_V4SFmode)
    6455              :           || !
    6456              : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6457              : (TARGET_AVX10_2))
    6458              :         return -1;
    6459              :       return 3743; /* avx10_2_comxsf */
    6460              : 
    6461              :     case E_DFmode:
    6462              :       if (!register_operand (operands[0], E_V2DFmode)
    6463              :           || GET_MODE (x6) != E_DFmode
    6464              :           || !nonimmediate_operand (operands[1], E_V2DFmode)
    6465              :           || !
    6466              : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6467              : (TARGET_AVX10_2))
    6468              :         return -1;
    6469              :       return 3747; /* avx10_2_comxdf */
    6470              : 
    6471              :     default:
    6472              :       return -1;
    6473              :     }
    6474              : }
    6475              : 
    6476              :  int
    6477              : recog_13 (rtx x1 ATTRIBUTE_UNUSED,
    6478              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    6479              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    6480              : {
    6481              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    6482              :   rtx x2, x3, x4, x5, x6;
    6483              :   int res ATTRIBUTE_UNUSED;
    6484              :   x2 = XEXP (x1, 1);
    6485              :   switch (XINT (x2, 1))
    6486              :     {
    6487              :     case 106:
    6488              :       if (GET_MODE (x2) != E_TImode)
    6489              :         return -1;
    6490              :       x3 = XEXP (x1, 0);
    6491              :       operands[0] = x3;
    6492              :       if (!push_operand (operands[0], E_TImode))
    6493              :         return -1;
    6494              :       x4 = XVECEXP (x2, 0, 0);
    6495              :       operands[1] = x4;
    6496              :       if (!register_operand (operands[1], E_DImode))
    6497              :         return -1;
    6498              :       x5 = XVECEXP (x2, 0, 1);
    6499              :       operands[2] = x5;
    6500              :       if (!register_operand (operands[2], E_DImode)
    6501              :           || !
    6502              : #line 3900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6503              : (TARGET_APX_PUSH2POP2))
    6504              :         return -1;
    6505              :       return 163; /* push2_di */
    6506              : 
    6507              :     case 41:
    6508              :       if (GET_MODE (x2) != E_CCCmode
    6509              :           || pattern254 (x1) != 0)
    6510              :         return -1;
    6511              :       x4 = XVECEXP (x2, 0, 0);
    6512              :       switch (GET_CODE (x4))
    6513              :         {
    6514              :         case LTU:
    6515              :           if (pattern724 (x4) != 0)
    6516              :             return -1;
    6517              :           x6 = XEXP (x4, 0);
    6518              :           switch (GET_MODE (x6))
    6519              :             {
    6520              :             case E_CCmode:
    6521              :               if (!
    6522              : #line 10247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6523              : (ix86_pre_reload_split ()))
    6524              :                 return -1;
    6525              :               return 560; /* *setcc_qi_negqi_ccc_2_cc */
    6526              : 
    6527              :             case E_CCCmode:
    6528              :               if (!
    6529              : #line 10247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6530              : (ix86_pre_reload_split ()))
    6531              :                 return -1;
    6532              :               return 561; /* *setcc_qi_negqi_ccc_2_ccc */
    6533              : 
    6534              :             default:
    6535              :               return -1;
    6536              :             }
    6537              : 
    6538              :         case REG:
    6539              :         case SUBREG:
    6540              :         case MEM:
    6541              :           if (pnum_clobbers == NULL)
    6542              :             return -1;
    6543              :           operands[1] = x4;
    6544              :           switch (GET_MODE (operands[1]))
    6545              :             {
    6546              :             case E_QImode:
    6547              :               if (!nonimmediate_operand (operands[1], E_QImode))
    6548              :                 return -1;
    6549              :               *pnum_clobbers = 1;
    6550              :               return 1016; /* *negqi_ccc_2 */
    6551              : 
    6552              :             case E_HImode:
    6553              :               if (!nonimmediate_operand (operands[1], E_HImode))
    6554              :                 return -1;
    6555              :               *pnum_clobbers = 1;
    6556              :               return 1017; /* *neghi_ccc_2 */
    6557              : 
    6558              :             case E_SImode:
    6559              :               if (!nonimmediate_operand (operands[1], E_SImode))
    6560              :                 return -1;
    6561              :               *pnum_clobbers = 1;
    6562              :               return 1018; /* *negsi_ccc_2 */
    6563              : 
    6564              :             case E_DImode:
    6565              :               if (!nonimmediate_operand (operands[1], E_DImode)
    6566              :                   || !
    6567              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6568              : (TARGET_64BIT))
    6569              :                 return -1;
    6570              :               *pnum_clobbers = 1;
    6571              :               return 1019; /* *negdi_ccc_2 */
    6572              : 
    6573              :             default:
    6574              :               return -1;
    6575              :             }
    6576              : 
    6577              :         default:
    6578              :           return -1;
    6579              :         }
    6580              : 
    6581              :     case 67:
    6582              :       if (pnum_clobbers == NULL
    6583              :           || GET_MODE (x2) != E_XFmode)
    6584              :         return -1;
    6585              :       x3 = XEXP (x1, 0);
    6586              :       operands[0] = x3;
    6587              :       if (!register_operand (operands[0], E_XFmode))
    6588              :         return -1;
    6589              :       x4 = XVECEXP (x2, 0, 0);
    6590              :       operands[2] = x4;
    6591              :       if (!register_operand (operands[2], E_XFmode))
    6592              :         return -1;
    6593              :       x5 = XVECEXP (x2, 0, 1);
    6594              :       operands[1] = x5;
    6595              :       if (!register_operand (operands[1], E_XFmode)
    6596              :           || !
    6597              : #line 24515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6598              : (TARGET_USE_FANCY_MATH_387
    6599              :    && flag_unsafe_math_optimizations))
    6600              :         return -1;
    6601              :       *pnum_clobbers = 1;
    6602              :       return 1755; /* atan2xf3 */
    6603              : 
    6604              :     case 68:
    6605              :       if (pnum_clobbers == NULL
    6606              :           || pattern165 (x1, 
    6607              : E_XFmode) != 0
    6608              :           || !
    6609              : #line 24818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6610              : (TARGET_USE_FANCY_MATH_387
    6611              :    && flag_unsafe_math_optimizations))
    6612              :         return -1;
    6613              :       *pnum_clobbers = 1;
    6614              :       return 1756; /* fyl2xxf3_i387 */
    6615              : 
    6616              :     case 69:
    6617              :       if (pnum_clobbers == NULL
    6618              :           || pattern165 (x1, 
    6619              : E_XFmode) != 0
    6620              :           || !
    6621              : #line 24915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6622              : (TARGET_USE_FANCY_MATH_387
    6623              :    && flag_unsafe_math_optimizations))
    6624              :         return -1;
    6625              :       *pnum_clobbers = 1;
    6626              :       return 1757; /* fyl2xp1xf3_i387 */
    6627              : 
    6628              :     case 59:
    6629              :       x3 = XEXP (x1, 0);
    6630              :       operands[0] = x3;
    6631              :       x4 = XVECEXP (x2, 0, 0);
    6632              :       operands[1] = x4;
    6633              :       x5 = XVECEXP (x2, 0, 1);
    6634              :       operands[2] = x5;
    6635              :       switch (GET_MODE (operands[0]))
    6636              :         {
    6637              :         case E_SFmode:
    6638              :           if (pattern64 (x2, 
    6639              : E_SFmode) != 0
    6640              :               || !
    6641              : #line 25224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6642              : (TARGET_AVX512F))
    6643              :             return -1;
    6644              :           return 1761; /* avx512f_scalefsf2 */
    6645              : 
    6646              :         case E_DFmode:
    6647              :           if (pattern64 (x2, 
    6648              : E_DFmode) != 0
    6649              :               || !
    6650              : #line 25224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6651              : (TARGET_AVX512F))
    6652              :             return -1;
    6653              :           return 1762; /* avx512f_scalefdf2 */
    6654              : 
    6655              :         default:
    6656              :           return -1;
    6657              :         }
    6658              : 
    6659              :     case 95:
    6660              :       x3 = XEXP (x1, 0);
    6661              :       operands[0] = x3;
    6662              :       x4 = XVECEXP (x2, 0, 0);
    6663              :       operands[1] = x4;
    6664              :       x5 = XVECEXP (x2, 0, 1);
    6665              :       operands[2] = x5;
    6666              :       if (!const_0_to_15_operand (operands[2], E_SImode))
    6667              :         return -1;
    6668              :       switch (GET_MODE (operands[0]))
    6669              :         {
    6670              :         case E_HFmode:
    6671              :           if (!register_operand (operands[0], E_HFmode)
    6672              :               || GET_MODE (x2) != E_HFmode
    6673              :               || !nonimmediate_operand (operands[1], E_HFmode)
    6674              :               || !(
    6675              : #line 25342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6676              : (TARGET_SSE4_1) && 
    6677              : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6678              : (TARGET_AVX512FP16)))
    6679              :             return -1;
    6680              :           return 1763; /* sse4_1_roundhf2 */
    6681              : 
    6682              :         case E_SFmode:
    6683              :           if (!register_operand (operands[0], E_SFmode)
    6684              :               || GET_MODE (x2) != E_SFmode
    6685              :               || !nonimmediate_operand (operands[1], E_SFmode)
    6686              :               || !
    6687              : #line 25342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6688              : (TARGET_SSE4_1))
    6689              :             return -1;
    6690              :           return 1764; /* sse4_1_roundsf2 */
    6691              : 
    6692              :         case E_DFmode:
    6693              :           if (!register_operand (operands[0], E_DFmode)
    6694              :               || GET_MODE (x2) != E_DFmode
    6695              :               || !nonimmediate_operand (operands[1], E_DFmode)
    6696              :               || !
    6697              : #line 25342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6698              : (TARGET_SSE4_1))
    6699              :             return -1;
    6700              :           return 1765; /* sse4_1_rounddf2 */
    6701              : 
    6702              :         default:
    6703              :           return -1;
    6704              :         }
    6705              : 
    6706              :     case 64:
    6707              :       switch (pattern65 (x1))
    6708              :         {
    6709              :         case 0:
    6710              :           if (!
    6711              : #line 27217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6712              : (TARGET_AVX512FP16))
    6713              :             return -1;
    6714              :           return 1855; /* *ieee_smaxhf3 */
    6715              : 
    6716              :         case 1:
    6717              :           if (!
    6718              : #line 27229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6719              : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
    6720              :             return -1;
    6721              :           return 1857; /* *ieee_smaxsf3 */
    6722              : 
    6723              :         case 2:
    6724              :           if (!
    6725              : #line 27229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6726              : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
    6727              :             return -1;
    6728              :           return 1859; /* *ieee_smaxdf3 */
    6729              : 
    6730              :         default:
    6731              :           return -1;
    6732              :         }
    6733              : 
    6734              :     case 63:
    6735              :       switch (pattern65 (x1))
    6736              :         {
    6737              :         case 0:
    6738              :           if (!
    6739              : #line 27217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6740              : (TARGET_AVX512FP16))
    6741              :             return -1;
    6742              :           return 1856; /* *ieee_sminhf3 */
    6743              : 
    6744              :         case 1:
    6745              :           if (!
    6746              : #line 27229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6747              : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
    6748              :             return -1;
    6749              :           return 1858; /* *ieee_sminsf3 */
    6750              : 
    6751              :         case 2:
    6752              :           if (!
    6753              : #line 27229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    6754              : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
    6755              :             return -1;
    6756              :           return 1860; /* *ieee_smindf3 */
    6757              : 
    6758              :         default:
    6759              :           return -1;
    6760              :         }
    6761              : 
    6762              :     case 114:
    6763              :       if (pattern66 (x1, 
    6764              : E_V2SFmode) != 0
    6765              :           || !
    6766              : #line 934 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    6767              : (TARGET_3DNOW))
    6768              :         return -1;
    6769              :       return 2116; /* mmx_rcpit1v2sf3 */
    6770              : 
    6771              :     case 115:
    6772              :       if (pattern66 (x1, 
    6773              : E_V2SFmode) != 0
    6774              :           || !
    6775              : #line 945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    6776              : (TARGET_3DNOW))
    6777              :         return -1;
    6778              :       return 2117; /* mmx_rcpit2v2sf3 */
    6779              : 
    6780              :     case 117:
    6781              :       if (pattern66 (x1, 
    6782              : E_V2SFmode) != 0
    6783              :           || !
    6784              : #line 982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    6785              : (TARGET_3DNOW))
    6786              :         return -1;
    6787              :       return 2119; /* mmx_rsqit1v2sf3 */
    6788              : 
    6789              :     case 58:
    6790              :       switch (pattern68 (x1))
    6791              :         {
    6792              :         case 0:
    6793              :           if (!
    6794              : #line 4820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    6795              : (TARGET_MMX || TARGET_MMX_WITH_SSE))
    6796              :             return -1;
    6797              :           return 2349; /* mmx_packuswb */
    6798              : 
    6799              :         case 1:
    6800              :           if (!
    6801              : #line 4859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    6802              : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
    6803              :             return -1;
    6804              :           return 2351; /* mmx_packusdw */
    6805              : 
    6806              :         default:
    6807              :           return -1;
    6808              :         }
    6809              : 
    6810              :     case 53:
    6811              :       x3 = XEXP (x1, 0);
    6812              :       operands[0] = x3;
    6813              :       x4 = XVECEXP (x2, 0, 0);
    6814              :       operands[1] = x4;
    6815              :       x5 = XVECEXP (x2, 0, 1);
    6816              :       operands[2] = x5;
    6817              :       if (!vector_operand (operands[2], E_V16QImode))
    6818              :         return -1;
    6819              :       switch (GET_MODE (operands[0]))
    6820              :         {
    6821              :         case E_V8QImode:
    6822              :           if (!register_operand (operands[0], E_V8QImode)
    6823              :               || GET_MODE (x2) != E_V8QImode
    6824              :               || !register_operand (operands[1], E_V8QImode)
    6825              :               || !
    6826              : #line 5517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    6827              : (TARGET_SSSE3 && TARGET_MMX_WITH_SSE))
    6828              :             return -1;
    6829              :           return 2386; /* mmx_pshufbv8qi3 */
    6830              : 
    6831              :         case E_V4QImode:
    6832              :           if (!register_operand (operands[0], E_V4QImode)
    6833              :               || GET_MODE (x2) != E_V4QImode
    6834              :               || !register_operand (operands[1], E_V4QImode)
    6835              :               || !
    6836              : #line 5535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    6837              : (TARGET_SSSE3))
    6838              :             return -1;
    6839              :           return 2387; /* mmx_pshufbv4qi3 */
    6840              : 
    6841              :         default:
    6842              :           return -1;
    6843              :         }
    6844              : 
    6845              :     case 57:
    6846              :       if (GET_MODE (x2) != E_V1DImode)
    6847              :         return -1;
    6848              :       x3 = XEXP (x1, 0);
    6849              :       operands[0] = x3;
    6850              :       if (!register_operand (operands[0], E_V1DImode))
    6851              :         return -1;
    6852              :       x4 = XVECEXP (x2, 0, 0);
    6853              :       operands[1] = x4;
    6854              :       if (!register_mmxmem_operand (operands[1], E_V8QImode))
    6855              :         return -1;
    6856              :       x5 = XVECEXP (x2, 0, 1);
    6857              :       operands[2] = x5;
    6858              :       if (!register_mmxmem_operand (operands[2], E_V8QImode)
    6859              :           || !
    6860              : #line 6505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    6861              : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && (TARGET_SSE || TARGET_3DNOW_A)
    6862              :    && ix86_binary_operator_ok (PLUS, V8QImode, operands)))
    6863              :         return -1;
    6864              :       return 2439; /* *mmx_psadbw */
    6865              : 
    6866              :     case 177:
    6867              :       if (pattern69 (x1) != 0)
    6868              :         return -1;
    6869              :       switch (pattern966 ())
    6870              :         {
    6871              :         case 0:
    6872              :           if (!(
    6873              : #line 2358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6874              : (TARGET_AVX512F) && 
    6875              : #line 2102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6876              : (TARGET_AVX512DQ)))
    6877              :             return -1;
    6878              :           return 2672; /* ktestqi */
    6879              : 
    6880              :         case 1:
    6881              :           if (!(
    6882              : #line 2358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6883              : (TARGET_AVX512F) && 
    6884              : #line 2102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6885              : (TARGET_AVX512DQ)))
    6886              :             return -1;
    6887              :           return 2673; /* ktesthi */
    6888              : 
    6889              :         case 2:
    6890              :           if (!(
    6891              : #line 2358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6892              : (TARGET_AVX512F) && 
    6893              : #line 2103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6894              : (TARGET_AVX512BW)))
    6895              :             return -1;
    6896              :           return 2674; /* ktestsi */
    6897              : 
    6898              :         case 3:
    6899              :           if (!(
    6900              : #line 2358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6901              : (TARGET_AVX512F) && 
    6902              : #line 2103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6903              : (TARGET_AVX512BW)))
    6904              :             return -1;
    6905              :           return 2675; /* ktestdi */
    6906              : 
    6907              :         default:
    6908              :           return -1;
    6909              :         }
    6910              : 
    6911              :     case 179:
    6912              :       return recog_9 (x1, insn, pnum_clobbers);
    6913              : 
    6914              :     case 62:
    6915              :       return recog_11 (x1, insn, pnum_clobbers);
    6916              : 
    6917              :     case 159:
    6918              :       switch (pattern71 (x1))
    6919              :         {
    6920              :         case 0:
    6921              :           if (!(
    6922              : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6923              : (TARGET_AVX512F) && 
    6924              : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6925              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    6926              :             return -1;
    6927              :           return 8157; /* avx512vl_testmv16qi3 */
    6928              : 
    6929              :         case 1:
    6930              :           if (!(
    6931              : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6932              : (TARGET_AVX512F) && 
    6933              : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6934              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    6935              :             return -1;
    6936              :           return 8161; /* avx512vl_testmv16hi3 */
    6937              : 
    6938              :         case 2:
    6939              :           if (!
    6940              : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6941              : (TARGET_AVX512F))
    6942              :             return -1;
    6943              :           return 8165; /* avx512f_testmv16si3 */
    6944              : 
    6945              :         case 3:
    6946              :           if (!(
    6947              : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6948              : (TARGET_AVX512F) && 
    6949              : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6950              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    6951              :             return -1;
    6952              :           return 8163; /* avx512vl_testmv8hi3 */
    6953              : 
    6954              :         case 4:
    6955              :           if (!(
    6956              : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6957              : (TARGET_AVX512F) && 
    6958              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6959              : (TARGET_AVX512VL)))
    6960              :             return -1;
    6961              :           return 8167; /* avx512vl_testmv8si3 */
    6962              : 
    6963              :         case 5:
    6964              :           if (!(
    6965              : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6966              : (TARGET_AVX512F) && 
    6967              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6968              : (TARGET_AVX512VL)))
    6969              :             return -1;
    6970              :           return 8169; /* avx512vl_testmv4si3 */
    6971              : 
    6972              :         case 6:
    6973              :           if (!
    6974              : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6975              : (TARGET_AVX512F))
    6976              :             return -1;
    6977              :           return 8171; /* avx512f_testmv8di3 */
    6978              : 
    6979              :         case 7:
    6980              :           if (!(
    6981              : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6982              : (TARGET_AVX512F) && 
    6983              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6984              : (TARGET_AVX512VL)))
    6985              :             return -1;
    6986              :           return 8173; /* avx512vl_testmv4di3 */
    6987              : 
    6988              :         case 8:
    6989              :           if (!(
    6990              : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6991              : (TARGET_AVX512F) && 
    6992              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    6993              : (TARGET_AVX512VL)))
    6994              :             return -1;
    6995              :           return 8175; /* avx512vl_testmv2di3 */
    6996              : 
    6997              :         default:
    6998              :           return -1;
    6999              :         }
    7000              : 
    7001              :     case 160:
    7002              :       switch (pattern71 (x1))
    7003              :         {
    7004              :         case 0:
    7005              :           if (!(
    7006              : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7007              : (TARGET_AVX512F) && 
    7008              : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7009              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    7010              :             return -1;
    7011              :           return 8181; /* avx512vl_testnmv16qi3 */
    7012              : 
    7013              :         case 1:
    7014              :           if (!(
    7015              : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7016              : (TARGET_AVX512F) && 
    7017              : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7018              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    7019              :             return -1;
    7020              :           return 8185; /* avx512vl_testnmv16hi3 */
    7021              : 
    7022              :         case 2:
    7023              :           if (!
    7024              : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7025              : (TARGET_AVX512F))
    7026              :             return -1;
    7027              :           return 8189; /* avx512f_testnmv16si3 */
    7028              : 
    7029              :         case 3:
    7030              :           if (!(
    7031              : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7032              : (TARGET_AVX512F) && 
    7033              : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7034              : (TARGET_AVX512VL && TARGET_AVX512BW)))
    7035              :             return -1;
    7036              :           return 8187; /* avx512vl_testnmv8hi3 */
    7037              : 
    7038              :         case 4:
    7039              :           if (!(
    7040              : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7041              : (TARGET_AVX512F) && 
    7042              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7043              : (TARGET_AVX512VL)))
    7044              :             return -1;
    7045              :           return 8191; /* avx512vl_testnmv8si3 */
    7046              : 
    7047              :         case 5:
    7048              :           if (!(
    7049              : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7050              : (TARGET_AVX512F) && 
    7051              : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7052              : (TARGET_AVX512VL)))
    7053              :             return -1;
    7054              :           return 8193; /* avx512vl_testnmv4si3 */
    7055              : 
    7056              :         case 6:
    7057              :           if (!
    7058              : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7059              : (TARGET_AVX512F))
    7060              :             return -1;
    7061              :           return 8195; /* avx512f_testnmv8di3 */
    7062              : 
    7063              :         case 7:
    7064              :           if (!(
    7065              : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7066              : (TARGET_AVX512F) && 
    7067              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7068              : (TARGET_AVX512VL)))
    7069              :             return -1;
    7070              :           return 8197; /* avx512vl_testnmv4di3 */
    7071              : 
    7072              :         case 8:
    7073              :           if (!(
    7074              : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7075              : (TARGET_AVX512F) && 
    7076              : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7077              : (TARGET_AVX512VL)))
    7078              :             return -1;
    7079              :           return 8199; /* avx512vl_testnmv2di3 */
    7080              : 
    7081              :         default:
    7082              :           return -1;
    7083              :         }
    7084              : 
    7085              :     case 121:
    7086              :       x3 = XEXP (x1, 0);
    7087              :       operands[0] = x3;
    7088              :       x4 = XVECEXP (x2, 0, 0);
    7089              :       operands[1] = x4;
    7090              :       x5 = XVECEXP (x2, 0, 1);
    7091              :       operands[2] = x5;
    7092              :       switch (GET_MODE (operands[0]))
    7093              :         {
    7094              :         case E_V8QImode:
    7095              :           if (pattern738 (x2, 
    7096              : E_V8QImode) != 0
    7097              :               || !
    7098              : #line 23556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7099              : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
    7100              :             return -1;
    7101              :           return 8681; /* ssse3_psignv8qi3 */
    7102              : 
    7103              :         case E_V4HImode:
    7104              :           if (pattern67 (x2, 
    7105              : E_V4HImode) != 0
    7106              :               || !
    7107              : #line 23556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7108              : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
    7109              :             return -1;
    7110              :           return 8682; /* ssse3_psignv4hi3 */
    7111              : 
    7112              :         case E_V2SImode:
    7113              :           if (pattern738 (x2, 
    7114              : E_V2SImode) != 0
    7115              :               || !
    7116              : #line 23556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7117              : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
    7118              :             return -1;
    7119              :           return 8683; /* ssse3_psignv2si3 */
    7120              : 
    7121              :         default:
    7122              :           return -1;
    7123              :         }
    7124              : 
    7125              :     case 149:
    7126              :       if (pattern69 (x1) != 0)
    7127              :         return -1;
    7128              :       switch (GET_MODE (operands[0]))
    7129              :         {
    7130              :         case E_V8SFmode:
    7131              :           if (!register_operand (operands[0], E_V8SFmode)
    7132              :               || !nonimmediate_operand (operands[1], E_V8SFmode)
    7133              :               || !
    7134              : #line 25887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7135              : (TARGET_AVX))
    7136              :             return -1;
    7137              :           return 8980; /* avx_vtestps256 */
    7138              : 
    7139              :         case E_V4SFmode:
    7140              :           if (!register_operand (operands[0], E_V4SFmode)
    7141              :               || !nonimmediate_operand (operands[1], E_V4SFmode)
    7142              :               || !
    7143              : #line 25887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7144              : (TARGET_AVX))
    7145              :             return -1;
    7146              :           return 8981; /* avx_vtestps */
    7147              : 
    7148              :         case E_V4DFmode:
    7149              :           if (!register_operand (operands[0], E_V4DFmode)
    7150              :               || !nonimmediate_operand (operands[1], E_V4DFmode)
    7151              :               || !
    7152              : #line 25887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7153              : (TARGET_AVX))
    7154              :             return -1;
    7155              :           return 8982; /* avx_vtestpd256 */
    7156              : 
    7157              :         case E_V2DFmode:
    7158              :           if (!register_operand (operands[0], E_V2DFmode)
    7159              :               || !nonimmediate_operand (operands[1], E_V2DFmode)
    7160              :               || !(
    7161              : #line 25887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7162              : (TARGET_AVX) && 
    7163              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7164              : (TARGET_SSE2)))
    7165              :             return -1;
    7166              :           return 8983; /* avx_vtestpd */
    7167              : 
    7168              :         default:
    7169              :           return -1;
    7170              :         }
    7171              : 
    7172              :     case 131:
    7173              :       return recog_10 (x1, insn, pnum_clobbers);
    7174              : 
    7175              :     case 151:
    7176              :       if (GET_MODE (x2) != E_V4HImode)
    7177              :         return -1;
    7178              :       x3 = XEXP (x1, 0);
    7179              :       operands[0] = x3;
    7180              :       if (!memory_operand (operands[0], E_V4HImode))
    7181              :         return -1;
    7182              :       x4 = XVECEXP (x2, 0, 0);
    7183              :       operands[1] = x4;
    7184              :       if (!register_operand (operands[1], E_V4SFmode))
    7185              :         return -1;
    7186              :       x5 = XVECEXP (x2, 0, 1);
    7187              :       operands[2] = x5;
    7188              :       if (!const_0_to_255_operand (operands[2], E_SImode)
    7189              :           || !
    7190              : #line 29857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7191              : (TARGET_F16C || TARGET_AVX512VL))
    7192              :         return -1;
    7193              :       return 9732; /* *vcvtps2ph_store */
    7194              : 
    7195              :     case 194:
    7196              :       x3 = XEXP (x1, 0);
    7197              :       operands[0] = x3;
    7198              :       x4 = XVECEXP (x2, 0, 0);
    7199              :       operands[1] = x4;
    7200              :       x5 = XVECEXP (x2, 0, 1);
    7201              :       operands[2] = x5;
    7202              :       if (!const_0_to_255_operand (operands[2], E_VOIDmode))
    7203              :         return -1;
    7204              :       switch (GET_MODE (operands[0]))
    7205              :         {
    7206              :         case E_HImode:
    7207              :           switch (pattern653 (x2, 
    7208              : E_HImode))
    7209              :             {
    7210              :             case 0:
    7211              :               if (!(
    7212              : #line 30555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7213              : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V16HFmode)) && 
    7214              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7215              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
    7216              :                 return -1;
    7217              :               return 10057; /* avx512dq_fpclassv16hf */
    7218              : 
    7219              :             case 1:
    7220              :               if (!
    7221              : #line 30555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7222              : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V16SFmode)))
    7223              :                 return -1;
    7224              :               return 10061; /* avx512dq_fpclassv16sf */
    7225              : 
    7226              :             default:
    7227              :               return -1;
    7228              :             }
    7229              : 
    7230              :         case E_QImode:
    7231              :           if (!register_operand (operands[0], E_QImode)
    7232              :               || GET_MODE (x2) != E_QImode)
    7233              :             return -1;
    7234              :           switch (GET_MODE (operands[1]))
    7235              :             {
    7236              :             case E_V8HFmode:
    7237              :               if (!vector_operand (operands[1], E_V8HFmode)
    7238              :                   || !(
    7239              : #line 30555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7240              : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V8HFmode)) && 
    7241              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7242              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
    7243              :                 return -1;
    7244              :               return 10059; /* avx512dq_fpclassv8hf */
    7245              : 
    7246              :             case E_V8SFmode:
    7247              :               if (!vector_operand (operands[1], E_V8SFmode)
    7248              :                   || !(
    7249              : #line 30555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7250              : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V8SFmode)) && 
    7251              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7252              : (TARGET_AVX512VL)))
    7253              :                 return -1;
    7254              :               return 10063; /* avx512dq_fpclassv8sf */
    7255              : 
    7256              :             case E_V4SFmode:
    7257              :               if (!vector_operand (operands[1], E_V4SFmode)
    7258              :                   || !(
    7259              : #line 30555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7260              : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V4SFmode)) && 
    7261              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7262              : (TARGET_AVX512VL)))
    7263              :                 return -1;
    7264              :               return 10065; /* avx512dq_fpclassv4sf */
    7265              : 
    7266              :             case E_V8DFmode:
    7267              :               if (!vector_operand (operands[1], E_V8DFmode)
    7268              :                   || !
    7269              : #line 30555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7270              : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V8DFmode)))
    7271              :                 return -1;
    7272              :               return 10067; /* avx512dq_fpclassv8df */
    7273              : 
    7274              :             case E_V4DFmode:
    7275              :               if (!vector_operand (operands[1], E_V4DFmode)
    7276              :                   || !(
    7277              : #line 30555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7278              : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V4DFmode)) && 
    7279              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7280              : (TARGET_AVX512VL)))
    7281              :                 return -1;
    7282              :               return 10069; /* avx512dq_fpclassv4df */
    7283              : 
    7284              :             case E_V2DFmode:
    7285              :               if (!vector_operand (operands[1], E_V2DFmode)
    7286              :                   || !(
    7287              : #line 30555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7288              : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V2DFmode)) && 
    7289              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7290              : (TARGET_AVX512VL)))
    7291              :                 return -1;
    7292              :               return 10071; /* avx512dq_fpclassv2df */
    7293              : 
    7294              :             default:
    7295              :               return -1;
    7296              :             }
    7297              : 
    7298              :         default:
    7299              :           return -1;
    7300              :         }
    7301              : 
    7302              :     case 215:
    7303              :       if (GET_MODE (x2) != E_HImode)
    7304              :         return -1;
    7305              :       x3 = XEXP (x1, 0);
    7306              :       operands[0] = x3;
    7307              :       if (!register_operand (operands[0], E_HImode))
    7308              :         return -1;
    7309              :       x4 = XVECEXP (x2, 0, 0);
    7310              :       operands[1] = x4;
    7311              :       if (!register_operand (operands[1], E_V16QImode))
    7312              :         return -1;
    7313              :       x5 = XVECEXP (x2, 0, 1);
    7314              :       operands[2] = x5;
    7315              :       if (!nonimmediate_operand (operands[2], E_V16QImode)
    7316              :           || !(
    7317              : #line 31638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7318              : (TARGET_AVX512BITALG) && 
    7319              : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7320              : (TARGET_AVX512VL)))
    7321              :         return -1;
    7322              :       return 10399; /* avx512vl_vpshufbitqmbv16qi */
    7323              : 
    7324              :     case 216:
    7325              :       x3 = XEXP (x1, 0);
    7326              :       operands[0] = x3;
    7327              :       x4 = XVECEXP (x2, 0, 0);
    7328              :       operands[1] = x4;
    7329              :       x5 = XVECEXP (x2, 0, 1);
    7330              :       operands[2] = x5;
    7331              :       switch (GET_MODE (operands[0]))
    7332              :         {
    7333              :         case E_P2QImode:
    7334              :           if (!register_operand (operands[0], E_P2QImode)
    7335              :               || GET_MODE (x2) != E_P2QImode)
    7336              :             return -1;
    7337              :           switch (GET_MODE (operands[1]))
    7338              :             {
    7339              :             case E_V8DImode:
    7340              :               if (!register_operand (operands[1], E_V8DImode)
    7341              :                   || !vector_operand (operands[2], E_V8DImode)
    7342              :                   || !
    7343              : #line 31677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7344              : (TARGET_AVX512VP2INTERSECT))
    7345              :                 return -1;
    7346              :               return 10405; /* avx512vp2intersect_2intersectv8di */
    7347              : 
    7348              :             case E_V4DImode:
    7349              :               if (!register_operand (operands[1], E_V4DImode)
    7350              :                   || !vector_operand (operands[2], E_V4DImode)
    7351              :                   || !(
    7352              : #line 31677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7353              : (TARGET_AVX512VP2INTERSECT) && 
    7354              : #line 31644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7355              : (TARGET_AVX512VL)))
    7356              :                 return -1;
    7357              :               return 10406; /* avx512vp2intersect_2intersectv4di */
    7358              : 
    7359              :             case E_V2DImode:
    7360              :               if (!register_operand (operands[1], E_V2DImode)
    7361              :                   || !vector_operand (operands[2], E_V2DImode)
    7362              :                   || !(
    7363              : #line 31677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7364              : (TARGET_AVX512VP2INTERSECT) && 
    7365              : #line 31644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7366              : (TARGET_AVX512VL)))
    7367              :                 return -1;
    7368              :               return 10407; /* avx512vp2intersect_2intersectv2di */
    7369              : 
    7370              :             case E_V8SImode:
    7371              :               if (!register_operand (operands[1], E_V8SImode)
    7372              :                   || !vector_operand (operands[2], E_V8SImode)
    7373              :                   || !(
    7374              : #line 31677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7375              : (TARGET_AVX512VP2INTERSECT) && 
    7376              : #line 31645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7377              : (TARGET_AVX512VL)))
    7378              :                 return -1;
    7379              :               return 10408; /* avx512vp2intersect_2intersectv8si */
    7380              : 
    7381              :             case E_V4SImode:
    7382              :               if (!register_operand (operands[1], E_V4SImode)
    7383              :                   || !vector_operand (operands[2], E_V4SImode)
    7384              :                   || !(
    7385              : #line 31677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7386              : (TARGET_AVX512VP2INTERSECT) && 
    7387              : #line 31645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7388              : (TARGET_AVX512VL)))
    7389              :                 return -1;
    7390              :               return 10409; /* avx512vp2intersect_2intersectv4si */
    7391              : 
    7392              :             default:
    7393              :               return -1;
    7394              :             }
    7395              : 
    7396              :         case E_P2HImode:
    7397              :           if (pattern739 (x2, 
    7398              : E_V16SImode, 
    7399              : E_P2HImode) != 0
    7400              :               || !
    7401              : #line 31686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7402              : (TARGET_AVX512VP2INTERSECT))
    7403              :             return -1;
    7404              :           return 10410; /* avx512vp2intersect_2intersectv16si */
    7405              : 
    7406              :         default:
    7407              :           return -1;
    7408              :         }
    7409              : 
    7410              :     case 263:
    7411              :       x3 = XEXP (x1, 0);
    7412              :       operands[0] = x3;
    7413              :       x4 = XVECEXP (x2, 0, 0);
    7414              :       operands[1] = x4;
    7415              :       x5 = XVECEXP (x2, 0, 1);
    7416              :       operands[2] = x5;
    7417              :       if (!const_0_to_255_operand (operands[2], E_VOIDmode))
    7418              :         return -1;
    7419              :       switch (GET_MODE (operands[0]))
    7420              :         {
    7421              :         case E_HImode:
    7422              :           if (!register_operand (operands[0], E_HImode)
    7423              :               || GET_MODE (x2) != E_HImode
    7424              :               || !nonimmediate_operand (operands[1], E_V16BFmode)
    7425              :               || !
    7426              : #line 33156 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7427              : (TARGET_AVX10_2))
    7428              :             return -1;
    7429              :           return 10793; /* avx10_2_fpclassbf16_v16bf */
    7430              : 
    7431              :         case E_QImode:
    7432              :           if (!register_operand (operands[0], E_QImode)
    7433              :               || GET_MODE (x2) != E_QImode
    7434              :               || !nonimmediate_operand (operands[1], E_V8BFmode)
    7435              :               || !
    7436              : #line 33156 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7437              : (TARGET_AVX10_2))
    7438              :             return -1;
    7439              :           return 10795; /* avx10_2_fpclassbf16_v8bf */
    7440              : 
    7441              :         default:
    7442              :           return -1;
    7443              :         }
    7444              : 
    7445              :     case 292:
    7446              :       x3 = XEXP (x1, 0);
    7447              :       operands[0] = x3;
    7448              :       x4 = XVECEXP (x2, 0, 0);
    7449              :       operands[1] = x4;
    7450              :       x5 = XVECEXP (x2, 0, 1);
    7451              :       operands[2] = x5;
    7452              :       if (!const_int_operand (operands[2], E_SImode))
    7453              :         return -1;
    7454              :       switch (GET_MODE (operands[0]))
    7455              :         {
    7456              :         case E_QImode:
    7457              :           if (!memory_operand (operands[0], E_QImode)
    7458              :               || GET_MODE (x2) != E_QImode
    7459              :               || !nonmemory_operand (operands[1], E_QImode))
    7460              :             return -1;
    7461              :           return 11064; /* atomic_storeqi_1 */
    7462              : 
    7463              :         case E_HImode:
    7464              :           if (!memory_operand (operands[0], E_HImode)
    7465              :               || GET_MODE (x2) != E_HImode
    7466              :               || !nonmemory_operand (operands[1], E_HImode))
    7467              :             return -1;
    7468              :           return 11065; /* atomic_storehi_1 */
    7469              : 
    7470              :         default:
    7471              :           return -1;
    7472              :         }
    7473              : 
    7474              :     default:
    7475              :       return -1;
    7476              :     }
    7477              : }
    7478              : 
    7479              :  int
    7480              : recog_39 (rtx x1 ATTRIBUTE_UNUSED,
    7481              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    7482              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    7483              : {
    7484              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    7485              :   rtx x2, x3;
    7486              :   int res ATTRIBUTE_UNUSED;
    7487              :   x2 = XEXP (x1, 1);
    7488              :   x3 = XEXP (x2, 1);
    7489              :   operands[2] = x3;
    7490              :   switch (GET_MODE (operands[0]))
    7491              :     {
    7492              :     case E_TImode:
    7493              :       if (pnum_clobbers == NULL
    7494              :           || pattern745 (x2, 
    7495              : E_TImode) != 0)
    7496              :         return -1;
    7497              :       if ((
    7498              : #line 13632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7499              : (TARGET_BMI) && 
    7500              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7501              : (TARGET_64BIT)))
    7502              :         {
    7503              :           *pnum_clobbers = 1;
    7504              :           return 838; /* *andnti3_doubleword_bmi */
    7505              :         }
    7506              :       if (!(
    7507              : #line 13650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7508              : (!TARGET_BMI
    7509              :    && ix86_pre_reload_split ()) && 
    7510              : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7511              : (TARGET_64BIT)))
    7512              :         return -1;
    7513              :       *pnum_clobbers = 1;
    7514              :       return 840; /* *andnti3_doubleword */
    7515              : 
    7516              :     case E_QImode:
    7517              :       if (pnum_clobbers == NULL
    7518              :           || pattern621 (x2, 
    7519              : E_QImode) != 0
    7520              :           || !
    7521              : #line 13682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7522              : (TARGET_BMI || TARGET_AVX512BW))
    7523              :         return -1;
    7524              :       *pnum_clobbers = 1;
    7525              :       return 843; /* *andnqi_1 */
    7526              : 
    7527              :     case E_HImode:
    7528              :       if (pnum_clobbers == NULL
    7529              :           || pattern621 (x2, 
    7530              : E_HImode) != 0
    7531              :           || !
    7532              : #line 13682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7533              : (TARGET_BMI || TARGET_AVX512BW))
    7534              :         return -1;
    7535              :       *pnum_clobbers = 1;
    7536              :       return 844; /* *andnhi_1 */
    7537              : 
    7538              :     case E_V2SFmode:
    7539              :       if (pattern621 (x2, 
    7540              : E_V2SFmode) != 0
    7541              :           || !
    7542              : #line 1366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7543              : (TARGET_MMX_WITH_SSE))
    7544              :         return -1;
    7545              :       return 2132; /* *mmx_andnotv2sf3 */
    7546              : 
    7547              :     case E_V2BFmode:
    7548              :       if (pattern621 (x2, 
    7549              : E_V2BFmode) != 0
    7550              :           || !
    7551              : #line 2592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7552              : (TARGET_SSE))
    7553              :         return -1;
    7554              :       return 2163; /* *mmx_andnotv2bf3 */
    7555              : 
    7556              :     case E_V4BFmode:
    7557              :       if (pattern621 (x2, 
    7558              : E_V4BFmode) != 0
    7559              :           || !(
    7560              : #line 2592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7561              : (TARGET_SSE) && 
    7562              : #line 2248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7563              : (TARGET_MMX_WITH_SSE)))
    7564              :         return -1;
    7565              :       return 2164; /* *mmx_andnotv4bf3 */
    7566              : 
    7567              :     case E_V2HFmode:
    7568              :       if (pattern621 (x2, 
    7569              : E_V2HFmode) != 0
    7570              :           || !
    7571              : #line 2592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7572              : (TARGET_SSE))
    7573              :         return -1;
    7574              :       return 2165; /* *mmx_andnotv2hf3 */
    7575              : 
    7576              :     case E_V4HFmode:
    7577              :       if (pattern621 (x2, 
    7578              : E_V4HFmode) != 0
    7579              :           || !(
    7580              : #line 2592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7581              : (TARGET_SSE) && 
    7582              : #line 2249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7583              : (TARGET_MMX_WITH_SSE)))
    7584              :         return -1;
    7585              :       return 2166; /* *mmx_andnotv4hf3 */
    7586              : 
    7587              :     case E_V8QImode:
    7588              :       if (pattern622 (x2, 
    7589              : E_V8QImode) != 0
    7590              :           || !
    7591              : #line 4620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7592              : (TARGET_MMX || TARGET_MMX_WITH_SSE))
    7593              :         return -1;
    7594              :       return 2324; /* mmx_andnotv8qi3 */
    7595              : 
    7596              :     case E_V4HImode:
    7597              :       if (pattern622 (x2, 
    7598              : E_V4HImode) != 0
    7599              :           || !
    7600              : #line 4620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7601              : (TARGET_MMX || TARGET_MMX_WITH_SSE))
    7602              :         return -1;
    7603              :       return 2325; /* mmx_andnotv4hi3 */
    7604              : 
    7605              :     case E_V2SImode:
    7606              :       if (pattern622 (x2, 
    7607              : E_V2SImode) != 0
    7608              :           || !
    7609              : #line 4620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7610              : (TARGET_MMX || TARGET_MMX_WITH_SSE))
    7611              :         return -1;
    7612              :       return 2326; /* mmx_andnotv2si3 */
    7613              : 
    7614              :     case E_V4QImode:
    7615              :       if (pnum_clobbers == NULL
    7616              :           || pattern621 (x2, 
    7617              : E_V4QImode) != 0)
    7618              :         return -1;
    7619              :       *pnum_clobbers = 1;
    7620              :       return 2327; /* *andnotv4qi3 */
    7621              : 
    7622              :     case E_V2QImode:
    7623              :       if (pnum_clobbers == NULL
    7624              :           || pattern621 (x2, 
    7625              : E_V2QImode) != 0)
    7626              :         return -1;
    7627              :       *pnum_clobbers = 1;
    7628              :       return 2328; /* *andnotv2qi3 */
    7629              : 
    7630              :     case E_V2HImode:
    7631              :       if (pnum_clobbers == NULL
    7632              :           || pattern621 (x2, 
    7633              : E_V2HImode) != 0)
    7634              :         return -1;
    7635              :       *pnum_clobbers = 1;
    7636              :       return 2329; /* *andnotv2hi3 */
    7637              : 
    7638              :     case E_BFmode:
    7639              :       if (pattern621 (x2, 
    7640              : E_BFmode) != 0
    7641              :           || !
    7642              : #line 5886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7643              : (TARGET_SSE))
    7644              :         return -1;
    7645              :       return 3848; /* *andnotbf3 */
    7646              : 
    7647              :     case E_HFmode:
    7648              :       if (pattern621 (x2, 
    7649              : E_HFmode) != 0
    7650              :           || !
    7651              : #line 5886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7652              : (TARGET_SSE))
    7653              :         return -1;
    7654              :       return 3849; /* *andnothf3 */
    7655              : 
    7656              :     case E_SFmode:
    7657              :       if (pattern621 (x2, 
    7658              : E_SFmode) != 0
    7659              :           || !
    7660              : #line 5886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7661              : (TARGET_SSE))
    7662              :         return -1;
    7663              :       return 3850; /* *andnotsf3 */
    7664              : 
    7665              :     case E_DFmode:
    7666              :       if (pattern621 (x2, 
    7667              : E_DFmode) != 0
    7668              :           || !(
    7669              : #line 5886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7670              : (TARGET_SSE) && 
    7671              : #line 1353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7672              : (TARGET_SSE2)))
    7673              :         return -1;
    7674              :       return 3851; /* *andnotdf3 */
    7675              : 
    7676              :     case E_TFmode:
    7677              :       if (pattern623 (x2, 
    7678              : E_TFmode) != 0
    7679              :           || !
    7680              : #line 5956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    7681              : (TARGET_SSE))
    7682              :         return -1;
    7683              :       return 3852; /* *andnottf3 */
    7684              : 
    7685              :     default:
    7686              :       return -1;
    7687              :     }
    7688              : }
    7689              : 
    7690              :  int
    7691              : recog_45 (rtx x1 ATTRIBUTE_UNUSED,
    7692              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    7693              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    7694              : {
    7695              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    7696              :   rtx x2, x3, x4;
    7697              :   int res ATTRIBUTE_UNUSED;
    7698              :   x2 = XEXP (x1, 0);
    7699              :   operands[0] = x2;
    7700              :   x3 = XEXP (x1, 1);
    7701              :   x4 = XEXP (x3, 0);
    7702              :   operands[1] = x4;
    7703              :   switch (GET_MODE (operands[0]))
    7704              :     {
    7705              :     case E_TImode:
    7706              :       if (pattern266 (x3, pnum_clobbers, 
    7707              : E_TImode) != 0
    7708              :           || !(
    7709              : #line 14945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7710              : (TARGET_CMOVE
    7711              :    && ix86_pre_reload_split ()) && 
    7712              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7713              : (TARGET_64BIT)))
    7714              :         return -1;
    7715              :       *pnum_clobbers = 1;
    7716              :       return 1028; /* *absti2_doubleword */
    7717              : 
    7718              :     case E_QImode:
    7719              :       if (pattern266 (x3, pnum_clobbers, 
    7720              : E_QImode) != 0
    7721              :           || !
    7722              : #line 15032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7723              : (TARGET_CMOVE
    7724              :    && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
    7725              :    && ix86_pre_reload_split ()))
    7726              :         return -1;
    7727              :       *pnum_clobbers = 1;
    7728              :       return 1031; /* *absqi2_1 */
    7729              : 
    7730              :     case E_HImode:
    7731              :       if (pattern266 (x3, pnum_clobbers, 
    7732              : E_HImode) != 0
    7733              :           || !
    7734              : #line 15032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7735              : (TARGET_CMOVE
    7736              :    && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
    7737              :    && ix86_pre_reload_split ()))
    7738              :         return -1;
    7739              :       *pnum_clobbers = 1;
    7740              :       return 1032; /* *abshi2_1 */
    7741              : 
    7742              :     case E_SFmode:
    7743              :       if (!register_operand (operands[0], E_SFmode)
    7744              :           || GET_MODE (x3) != E_SFmode
    7745              :           || !register_operand (operands[1], E_SFmode))
    7746              :         return -1;
    7747              :       if (pnum_clobbers != NULL
    7748              :           && 
    7749              : #line 15155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7750              : (TARGET_80387 && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
    7751              :         {
    7752              :           *pnum_clobbers = 1;
    7753              :           return 1042; /* *abssf2_i387_1 */
    7754              :         }
    7755              :       if (!
    7756              : #line 15277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7757              : (TARGET_80387 && reload_completed))
    7758              :         return -1;
    7759              :       return 1056; /* *abssf2_i387 */
    7760              : 
    7761              :     case E_DFmode:
    7762              :       if (!register_operand (operands[0], E_DFmode)
    7763              :           || GET_MODE (x3) != E_DFmode
    7764              :           || !register_operand (operands[1], E_DFmode))
    7765              :         return -1;
    7766              :       if (pnum_clobbers != NULL
    7767              :           && 
    7768              : #line 15155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7769              : (TARGET_80387 && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
    7770              :         {
    7771              :           *pnum_clobbers = 1;
    7772              :           return 1044; /* *absdf2_i387_1 */
    7773              :         }
    7774              :       if (!
    7775              : #line 15277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7776              : (TARGET_80387 && reload_completed))
    7777              :         return -1;
    7778              :       return 1058; /* *absdf2_i387 */
    7779              : 
    7780              :     case E_XFmode:
    7781              :       if (!register_operand (operands[0], E_XFmode)
    7782              :           || GET_MODE (x3) != E_XFmode
    7783              :           || !register_operand (operands[1], E_XFmode))
    7784              :         return -1;
    7785              :       if (pnum_clobbers != NULL
    7786              :           && 
    7787              : #line 15155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7788              : (TARGET_80387 && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)))
    7789              :         {
    7790              :           *pnum_clobbers = 1;
    7791              :           return 1046; /* *absxf2_i387_1 */
    7792              :         }
    7793              :       if (!
    7794              : #line 15277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7795              : (TARGET_80387 && reload_completed))
    7796              :         return -1;
    7797              :       return 1060; /* *absxf2_i387 */
    7798              : 
    7799              :     case E_V8QImode:
    7800              :       if (!register_operand (operands[0], E_V8QImode)
    7801              :           || GET_MODE (x3) != E_V8QImode
    7802              :           || !register_mmxmem_operand (operands[1], E_V8QImode)
    7803              :           || !
    7804              : #line 3842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7805              : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
    7806              :         return -1;
    7807              :       return 2248; /* ssse3_absv8qi2 */
    7808              : 
    7809              :     case E_V4HImode:
    7810              :       if (!register_operand (operands[0], E_V4HImode)
    7811              :           || GET_MODE (x3) != E_V4HImode
    7812              :           || !register_mmxmem_operand (operands[1], E_V4HImode)
    7813              :           || !
    7814              : #line 3842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7815              : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
    7816              :         return -1;
    7817              :       return 2249; /* ssse3_absv4hi2 */
    7818              : 
    7819              :     case E_V2SImode:
    7820              :       if (!register_operand (operands[0], E_V2SImode)
    7821              :           || GET_MODE (x3) != E_V2SImode
    7822              :           || !register_mmxmem_operand (operands[1], E_V2SImode)
    7823              :           || !
    7824              : #line 3842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7825              : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
    7826              :         return -1;
    7827              :       return 2250; /* ssse3_absv2si2 */
    7828              : 
    7829              :     case E_V4QImode:
    7830              :       if (!register_operand (operands[0], E_V4QImode)
    7831              :           || GET_MODE (x3) != E_V4QImode
    7832              :           || !register_operand (operands[1], E_V4QImode)
    7833              :           || !
    7834              : #line 3863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7835              : (TARGET_SSSE3))
    7836              :         return -1;
    7837              :       return 2251; /* absv4qi2 */
    7838              : 
    7839              :     case E_V2QImode:
    7840              :       if (!register_operand (operands[0], E_V2QImode)
    7841              :           || GET_MODE (x3) != E_V2QImode
    7842              :           || !register_operand (operands[1], E_V2QImode)
    7843              :           || !
    7844              : #line 3863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7845              : (TARGET_SSSE3))
    7846              :         return -1;
    7847              :       return 2252; /* absv2qi2 */
    7848              : 
    7849              :     case E_V2HImode:
    7850              :       if (!register_operand (operands[0], E_V2HImode)
    7851              :           || GET_MODE (x3) != E_V2HImode
    7852              :           || !register_operand (operands[1], E_V2HImode)
    7853              :           || !
    7854              : #line 3863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7855              : (TARGET_SSSE3))
    7856              :         return -1;
    7857              :       return 2253; /* absv2hi2 */
    7858              : 
    7859              :     default:
    7860              :       return -1;
    7861              :     }
    7862              : }
    7863              : 
    7864              :  int
    7865              : recog_49 (rtx x1 ATTRIBUTE_UNUSED,
    7866              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    7867              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    7868              : {
    7869              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    7870              :   rtx x2, x3, x4, x5, x6, x7;
    7871              :   int res ATTRIBUTE_UNUSED;
    7872              :   x2 = XEXP (x1, 1);
    7873              :   x3 = XEXP (x2, 0);
    7874              :   switch (GET_CODE (x3))
    7875              :     {
    7876              :     case ZERO_EXTRACT:
    7877              :       if (pnum_clobbers == NULL)
    7878              :         return -1;
    7879              :       x4 = XEXP (x3, 1);
    7880              :       if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    7881              :         return -1;
    7882              :       x5 = XEXP (x2, 1);
    7883              :       if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
    7884              :           || !register_operand (operands[0], E_QImode)
    7885              :           || GET_MODE (x2) != E_QImode)
    7886              :         return -1;
    7887              :       x6 = XEXP (x3, 0);
    7888              :       operands[1] = x6;
    7889              :       x7 = XEXP (x3, 2);
    7890              :       operands[2] = x7;
    7891              :       if (!register_operand (operands[2], E_QImode))
    7892              :         return -1;
    7893              :       switch (GET_MODE (x3))
    7894              :         {
    7895              :         case E_SImode:
    7896              :           if (!register_operand (operands[1], E_SImode)
    7897              :               || !
    7898              : #line 19744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7899              : (TARGET_USE_BT && ix86_pre_reload_split ()))
    7900              :             return -1;
    7901              :           *pnum_clobbers = 1;
    7902              :           return 1472; /* *btsi_setncqi_2 */
    7903              : 
    7904              :         case E_DImode:
    7905              :           if (!register_operand (operands[1], E_DImode)
    7906              :               || !(
    7907              : #line 19744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7908              : (TARGET_USE_BT && ix86_pre_reload_split ()) && 
    7909              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    7910              : (TARGET_64BIT)))
    7911              :             return -1;
    7912              :           *pnum_clobbers = 1;
    7913              :           return 1473; /* *btdi_setncqi_2 */
    7914              : 
    7915              :         default:
    7916              :           return -1;
    7917              :         }
    7918              : 
    7919              :     case REG:
    7920              :     case SUBREG:
    7921              :     case MEM:
    7922              :       operands[1] = x3;
    7923              :       x5 = XEXP (x2, 1);
    7924              :       operands[2] = x5;
    7925              :       switch (GET_MODE (operands[0]))
    7926              :         {
    7927              :         case E_V8QImode:
    7928              :           if (pattern6 (x2, 
    7929              : E_V8QImode) != 0
    7930              :               || !
    7931              : #line 4169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7932              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7933              :    && ix86_binary_operator_ok (EQ, V8QImode, operands)))
    7934              :             return -1;
    7935              :           return 2273; /* *mmx_eqv8qi3 */
    7936              : 
    7937              :         case E_V4HImode:
    7938              :           if (pattern6 (x2, 
    7939              : E_V4HImode) != 0
    7940              :               || !
    7941              : #line 4169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7942              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7943              :    && ix86_binary_operator_ok (EQ, V4HImode, operands)))
    7944              :             return -1;
    7945              :           return 2274; /* *mmx_eqv4hi3 */
    7946              : 
    7947              :         case E_V2SImode:
    7948              :           if (pattern6 (x2, 
    7949              : E_V2SImode) != 0
    7950              :               || !
    7951              : #line 4169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7952              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    7953              :    && ix86_binary_operator_ok (EQ, V2SImode, operands)))
    7954              :             return -1;
    7955              :           return 2275; /* *mmx_eqv2si3 */
    7956              : 
    7957              :         case E_V4QImode:
    7958              :           if (pattern5 (x2, 
    7959              : E_V4QImode) != 0
    7960              :               || !
    7961              : #line 4185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7962              : (TARGET_SSE2))
    7963              :             return -1;
    7964              :           return 2276; /* *eqv4qi3 */
    7965              : 
    7966              :         case E_V2QImode:
    7967              :           if (pattern5 (x2, 
    7968              : E_V2QImode) != 0
    7969              :               || !
    7970              : #line 4185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7971              : (TARGET_SSE2))
    7972              :             return -1;
    7973              :           return 2277; /* *eqv2qi3 */
    7974              : 
    7975              :         case E_V2HImode:
    7976              :           if (pattern5 (x2, 
    7977              : E_V2HImode) != 0
    7978              :               || !
    7979              : #line 4185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    7980              : (TARGET_SSE2))
    7981              :             return -1;
    7982              :           return 2278; /* *eqv2hi3 */
    7983              : 
    7984              :         default:
    7985              :           return -1;
    7986              :         }
    7987              : 
    7988              :     default:
    7989              :       return -1;
    7990              :     }
    7991              : }
    7992              : 
    7993              :  int
    7994              : recog_52 (rtx x1 ATTRIBUTE_UNUSED,
    7995              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    7996              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    7997              : {
    7998              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    7999              :   rtx x2, x3, x4, x5;
    8000              :   int res ATTRIBUTE_UNUSED;
    8001              :   x2 = XEXP (x1, 0);
    8002              :   operands[0] = x2;
    8003              :   x3 = XEXP (x1, 1);
    8004              :   switch (GET_CODE (x3))
    8005              :     {
    8006              :     case NE:
    8007              :     case EQ:
    8008              :     case GE:
    8009              :     case GT:
    8010              :     case LE:
    8011              :     case LT:
    8012              :       res = recog_51 (x1, insn, pnum_clobbers);
    8013              :       if (res >= 0)
    8014              :         return res;
    8015              :       break;
    8016              : 
    8017              :     default:
    8018              :       break;
    8019              :     }
    8020              :   operands[3] = x3;
    8021              :   x4 = XEXP (x3, 0);
    8022              :   operands[1] = x4;
    8023              :   x5 = XEXP (x3, 1);
    8024              :   operands[2] = x5;
    8025              :   switch (GET_MODE (operands[0]))
    8026              :     {
    8027              :     case E_SFmode:
    8028              :       if (pattern750 (
    8029              : E_SFmode) != 0
    8030              :           || !
    8031              : #line 20047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8032              : (SSE_FLOAT_MODE_P (SFmode)))
    8033              :         return -1;
    8034              :       return 1487; /* setcc_sf_sse */
    8035              : 
    8036              :     case E_DFmode:
    8037              :       if (pattern750 (
    8038              : E_DFmode) != 0
    8039              :           || !
    8040              : #line 20047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8041              : (SSE_FLOAT_MODE_P (DFmode)))
    8042              :         return -1;
    8043              :       return 1488; /* setcc_df_sse */
    8044              : 
    8045              :     default:
    8046              :       return -1;
    8047              :     }
    8048              : }
    8049              : 
    8050              :  int
    8051              : recog_56 (rtx x1 ATTRIBUTE_UNUSED,
    8052              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8053              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8054              : {
    8055              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8056              :   rtx x2;
    8057              :   int res ATTRIBUTE_UNUSED;
    8058              :   switch (pattern88 (x1, pnum_clobbers))
    8059              :     {
    8060              :     case 0:
    8061              :       switch (GET_MODE (operands[0]))
    8062              :         {
    8063              :         case E_TImode:
    8064              :           x2 = XEXP (x1, 1);
    8065              :           if (pattern79 (x2, pnum_clobbers) != 0
    8066              :               || !(
    8067              : #line 6516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8068              : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)) && 
    8069              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8070              : (TARGET_64BIT)))
    8071              :             return -1;
    8072              :           *pnum_clobbers = 1;
    8073              :           return 271; /* *addti3_doubleword */
    8074              : 
    8075              :         case E_HImode:
    8076              :           x2 = XEXP (x1, 1);
    8077              :           if (pattern80 (x2, 
    8078              : E_HImode) != 0)
    8079              :             return -1;
    8080              :           if (
    8081              : #line 6864 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8082              : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
    8083              :   && TARGET_APX_NF))
    8084              :             return 301; /* *addhi_1_nf */
    8085              :           if (pnum_clobbers == NULL
    8086              :               || !
    8087              : #line 6864 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8088              : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
    8089              :   && true))
    8090              :             return -1;
    8091              :           *pnum_clobbers = 1;
    8092              :           return 302; /* *addhi_1 */
    8093              : 
    8094              :         case E_QImode:
    8095              :           x2 = XEXP (x1, 1);
    8096              :           if (pattern80 (x2, 
    8097              : E_QImode) != 0)
    8098              :             return -1;
    8099              :           if (
    8100              : #line 6921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8101              : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
    8102              :   && TARGET_APX_NF))
    8103              :             return 303; /* *addqi_1_nf */
    8104              :           if (pnum_clobbers == NULL
    8105              :               || !
    8106              : #line 6921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8107              : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
    8108              :   && true))
    8109              :             return -1;
    8110              :           *pnum_clobbers = 1;
    8111              :           return 304; /* *addqi_1 */
    8112              : 
    8113              :         case E_HFmode:
    8114              :           x2 = XEXP (x1, 1);
    8115              :           if (pattern3 (x2, 
    8116              : E_HFmode) != 0
    8117              :               || !
    8118              : #line 23833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8119              : (TARGET_AVX512FP16
    8120              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8121              :             return -1;
    8122              :           return 1710; /* *addhf */
    8123              : 
    8124              :         case E_V8QImode:
    8125              :           x2 = XEXP (x1, 1);
    8126              :           if (pattern6 (x2, 
    8127              : E_V8QImode) != 0
    8128              :               || !
    8129              : #line 3239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8130              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8131              :    && ix86_binary_operator_ok (PLUS, V8QImode, operands)))
    8132              :             return -1;
    8133              :           return 2180; /* *mmx_addv8qi3 */
    8134              : 
    8135              :         case E_V4HImode:
    8136              :           x2 = XEXP (x1, 1);
    8137              :           if (pattern6 (x2, 
    8138              : E_V4HImode) != 0
    8139              :               || !
    8140              : #line 3239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8141              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8142              :    && ix86_binary_operator_ok (PLUS, V4HImode, operands)))
    8143              :             return -1;
    8144              :           return 2182; /* *mmx_addv4hi3 */
    8145              : 
    8146              :         case E_V2SImode:
    8147              :           x2 = XEXP (x1, 1);
    8148              :           if (pattern6 (x2, 
    8149              : E_V2SImode) != 0
    8150              :               || !
    8151              : #line 3239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8152              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8153              :    && ix86_binary_operator_ok (PLUS, V2SImode, operands)))
    8154              :             return -1;
    8155              :           return 2184; /* *mmx_addv2si3 */
    8156              : 
    8157              :         case E_V1DImode:
    8158              :           x2 = XEXP (x1, 1);
    8159              :           if (pattern6 (x2, 
    8160              : E_V1DImode) != 0
    8161              :               || !(
    8162              : #line 3239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8163              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8164              :    && ix86_binary_operator_ok (PLUS, V1DImode, operands)) && 
    8165              : #line 50 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8166              : (TARGET_SSE2)))
    8167              :             return -1;
    8168              :           return 2186; /* *mmx_addv1di3 */
    8169              : 
    8170              :         case E_V4QImode:
    8171              :           x2 = XEXP (x1, 1);
    8172              :           if (pattern5 (x2, 
    8173              : E_V4QImode) != 0
    8174              :               || !
    8175              : #line 3255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8176              : (TARGET_SSE2))
    8177              :             return -1;
    8178              :           return 2188; /* addv4qi3 */
    8179              : 
    8180              :         case E_V2HImode:
    8181              :           x2 = XEXP (x1, 1);
    8182              :           if (pattern5 (x2, 
    8183              : E_V2HImode) != 0
    8184              :               || !
    8185              : #line 3255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8186              : (TARGET_SSE2))
    8187              :             return -1;
    8188              :           return 2190; /* addv2hi3 */
    8189              : 
    8190              :         case E_V2QImode:
    8191              :           if (pnum_clobbers == NULL)
    8192              :             return -1;
    8193              :           x2 = XEXP (x1, 1);
    8194              :           if (pattern5 (x2, 
    8195              : E_V2QImode) != 0
    8196              :               || !
    8197              : #line 3269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8198              : (!TARGET_PARTIAL_REG_STALL || optimize_size || TARGET_SSE2))
    8199              :             return -1;
    8200              :           *pnum_clobbers = 1;
    8201              :           return 2192; /* addv2qi3 */
    8202              : 
    8203              :         default:
    8204              :           return -1;
    8205              :         }
    8206              : 
    8207              :     case 1:
    8208              :       if (!
    8209              : #line 6997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8210              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    8211              :         return -1;
    8212              :       *pnum_clobbers = 1;
    8213              :       return 305; /* *addqi_1_slp */
    8214              : 
    8215              :     case 2:
    8216              :       if (!
    8217              : #line 6997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8218              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    8219              :         return -1;
    8220              :       *pnum_clobbers = 1;
    8221              :       return 306; /* *addhi_1_slp */
    8222              : 
    8223              :     default:
    8224              :       return -1;
    8225              :     }
    8226              : }
    8227              : 
    8228              :  int
    8229              : recog_64 (rtx x1 ATTRIBUTE_UNUSED,
    8230              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8231              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8232              : {
    8233              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8234              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    8235              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    8236              :   int res ATTRIBUTE_UNUSED;
    8237              :   x2 = XEXP (x1, 0);
    8238              :   operands[0] = x2;
    8239              :   x3 = XEXP (x1, 1);
    8240              :   x4 = XEXP (x3, 0);
    8241              :   switch (GET_CODE (x4))
    8242              :     {
    8243              :     case PLUS:
    8244              :       if (pattern102 (x3, 
    8245              : E_V2SFmode, 
    8246              : E_SFmode) != 0)
    8247              :         return -1;
    8248              :       x5 = XEXP (x3, 1);
    8249              :       x6 = XEXP (x5, 0);
    8250              :       x7 = XEXP (x6, 0);
    8251              :       operands[2] = x7;
    8252              :       if (!nonimmediate_operand (operands[2], E_V2SFmode)
    8253              :           || pattern1879 (x3) != 0
    8254              :           || !
    8255              : #line 1018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8256              : (TARGET_3DNOW
    8257              :    && INTVAL (operands[3]) != INTVAL (operands[4])
    8258              :    && INTVAL (operands[5]) != INTVAL (operands[6])))
    8259              :         return -1;
    8260              :       return 2120; /* *mmx_haddv2sf3 */
    8261              : 
    8262              :     case MINUS:
    8263              :       if (pattern103 (x4, 
    8264              : E_SFmode) != 0
    8265              :           || !register_operand (operands[0], E_V2SFmode)
    8266              :           || GET_MODE (x3) != E_V2SFmode)
    8267              :         return -1;
    8268              :       x8 = XEXP (x4, 0);
    8269              :       x9 = XEXP (x8, 0);
    8270              :       operands[1] = x9;
    8271              :       if (!register_operand (operands[1], E_V2SFmode))
    8272              :         return -1;
    8273              :       x5 = XEXP (x3, 1);
    8274              :       if (GET_MODE (x5) != E_SFmode)
    8275              :         return -1;
    8276              :       x10 = XEXP (x4, 1);
    8277              :       x11 = XEXP (x10, 0);
    8278              :       if (!rtx_equal_p (x11, operands[1]))
    8279              :         return -1;
    8280              :       switch (GET_CODE (x5))
    8281              :         {
    8282              :         case MINUS:
    8283              :           if (pattern1565 (x5, 
    8284              : E_SFmode) != 0)
    8285              :             return -1;
    8286              :           x6 = XEXP (x5, 0);
    8287              :           x7 = XEXP (x6, 0);
    8288              :           operands[2] = x7;
    8289              :           if (!nonimmediate_operand (operands[2], E_V2SFmode))
    8290              :             return -1;
    8291              :           x12 = XEXP (x5, 1);
    8292              :           x13 = XEXP (x12, 0);
    8293              :           if (!rtx_equal_p (x13, operands[2])
    8294              :               || !
    8295              : #line 1066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8296              : (TARGET_3DNOW_A))
    8297              :             return -1;
    8298              :           return 2122; /* mmx_hsubv2sf3 */
    8299              : 
    8300              :         case PLUS:
    8301              :           x6 = XEXP (x5, 0);
    8302              :           if (GET_CODE (x6) != VEC_SELECT
    8303              :               || GET_MODE (x6) != E_SFmode)
    8304              :             return -1;
    8305              :           x14 = XEXP (x6, 1);
    8306              :           if (GET_CODE (x14) != PARALLEL
    8307              :               || XVECLEN (x14, 0) != 1)
    8308              :             return -1;
    8309              :           x12 = XEXP (x5, 1);
    8310              :           if (GET_CODE (x12) != VEC_SELECT
    8311              :               || GET_MODE (x12) != E_SFmode)
    8312              :             return -1;
    8313              :           x15 = XEXP (x12, 1);
    8314              :           if (GET_CODE (x15) != PARALLEL
    8315              :               || XVECLEN (x15, 0) != 1)
    8316              :             return -1;
    8317              :           x7 = XEXP (x6, 0);
    8318              :           operands[2] = x7;
    8319              :           if (!nonimmediate_operand (operands[2], E_V2SFmode))
    8320              :             return -1;
    8321              :           x16 = XVECEXP (x14, 0, 0);
    8322              :           operands[3] = x16;
    8323              :           if (!const_0_to_1_operand (operands[3], E_SImode))
    8324              :             return -1;
    8325              :           x17 = XVECEXP (x15, 0, 0);
    8326              :           operands[4] = x17;
    8327              :           if (!const_0_to_1_operand (operands[4], E_SImode))
    8328              :             return -1;
    8329              :           x13 = XEXP (x12, 0);
    8330              :           if (!rtx_equal_p (x13, operands[2])
    8331              :               || !
    8332              : #line 1128 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8333              : (TARGET_3DNOW_A
    8334              :    && INTVAL (operands[3]) != INTVAL (operands[4])))
    8335              :             return -1;
    8336              :           return 2124; /* *mmx_haddsubv2sf3 */
    8337              : 
    8338              :         default:
    8339              :           return -1;
    8340              :         }
    8341              : 
    8342              :     case REG:
    8343              :     case SUBREG:
    8344              :     case MEM:
    8345              :       operands[1] = x4;
    8346              :       x5 = XEXP (x3, 1);
    8347              :       operands[2] = x5;
    8348              :       switch (GET_MODE (operands[0]))
    8349              :         {
    8350              :         case E_V2SFmode:
    8351              :           if (!register_operand (operands[0], E_V2SFmode)
    8352              :               || GET_MODE (x3) != E_V2SFmode
    8353              :               || !nonimmediate_operand (operands[1], E_SFmode))
    8354              :             return -1;
    8355              :           if (nonimm_or_0_operand (operands[2], E_SFmode))
    8356              :             {
    8357              :               if (
    8358              : #line 1778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8359              : (TARGET_MMX && !TARGET_SSE))
    8360              :                 return 2148; /* *mmx_concatv2sf */
    8361              :               if (
    8362              : #line 12082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8363              : (TARGET_SSE4_1 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8364              :                 return 5299; /* *vec_concatv2sf_sse4_1 */
    8365              :             }
    8366              :           if (!reg_or_0_operand (operands[2], E_SFmode)
    8367              :               || !
    8368              : #line 12146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8369              : (TARGET_SSE))
    8370              :             return -1;
    8371              :           return 5300; /* *vec_concatv2sf_sse */
    8372              : 
    8373              :         case E_V2SImode:
    8374              :           if (!register_operand (operands[0], E_V2SImode)
    8375              :               || GET_MODE (x3) != E_V2SImode
    8376              :               || !nonimmediate_operand (operands[1], E_SImode))
    8377              :             return -1;
    8378              :           if (nonimm_or_0_operand (operands[2], E_SImode))
    8379              :             {
    8380              :               if (
    8381              : #line 5729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8382              : (TARGET_MMX && !TARGET_SSE))
    8383              :                 return 2404; /* *mmx_concatv2si */
    8384              :               if (
    8385              : #line 21845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8386              : (TARGET_SSE4_1 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8387              :                 return 8523; /* *vec_concatv2si_sse4_1 */
    8388              :             }
    8389              :           if (!reg_or_0_operand (operands[2], E_SImode)
    8390              :               || !
    8391              : #line 21894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8392              : (TARGET_SSE && !TARGET_SSE4_1))
    8393              :             return -1;
    8394              :           return 8524; /* *vec_concatv2si */
    8395              : 
    8396              :         default:
    8397              :           return -1;
    8398              :         }
    8399              : 
    8400              :     case SS_TRUNCATE:
    8401              :       x5 = XEXP (x3, 1);
    8402              :       if (GET_CODE (x5) != SS_TRUNCATE)
    8403              :         return -1;
    8404              :       switch (pattern271 (x3))
    8405              :         {
    8406              :         case 0:
    8407              :           if (!
    8408              : #line 4799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8409              : (TARGET_MMX || TARGET_MMX_WITH_SSE))
    8410              :             return -1;
    8411              :           return 2348; /* mmx_packsswb */
    8412              : 
    8413              :         case 1:
    8414              :           if (!
    8415              : #line 4840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8416              : (TARGET_MMX || TARGET_MMX_WITH_SSE))
    8417              :             return -1;
    8418              :           return 2350; /* mmx_packssdw */
    8419              : 
    8420              :         default:
    8421              :           return -1;
    8422              :         }
    8423              : 
    8424              :     default:
    8425              :       return -1;
    8426              :     }
    8427              : }
    8428              : 
    8429              :  int
    8430              : recog_70 (rtx x1 ATTRIBUTE_UNUSED,
    8431              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8432              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8433              : {
    8434              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8435              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    8436              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
    8437              :   rtx x18, x19;
    8438              :   int res ATTRIBUTE_UNUSED;
    8439              :   x2 = XEXP (x1, 0);
    8440              :   operands[0] = x2;
    8441              :   x3 = XEXP (x1, 1);
    8442              :   x4 = XEXP (x3, 0);
    8443              :   switch (GET_CODE (x4))
    8444              :     {
    8445              :     case LSHIFTRT:
    8446              :       x5 = XEXP (x4, 1);
    8447              :       if (GET_CODE (x5) != CONST_INT)
    8448              :         return -1;
    8449              :       x6 = XEXP (x4, 0);
    8450              :       switch (GET_CODE (x6))
    8451              :         {
    8452              :         case MULT:
    8453              :           if (XWINT (x5, 0) != 16L)
    8454              :             return -1;
    8455              :           x7 = XEXP (x6, 0);
    8456              :           switch (GET_CODE (x7))
    8457              :             {
    8458              :             case SIGN_EXTEND:
    8459              :               switch (pattern755 (x3, 
    8460              : SIGN_EXTEND))
    8461              :                 {
    8462              :                 case 0:
    8463              :                   if (!
    8464              : #line 3475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8465              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8466              :    && ix86_binary_operator_ok (MULT, V4HImode, operands)))
    8467              :                     return -1;
    8468              :                   return 2217; /* *mmx_smulv4hi3_highpart */
    8469              : 
    8470              :                 case 1:
    8471              :                   if (!
    8472              : #line 3544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8473              : (TARGET_SSE2))
    8474              :                     return -1;
    8475              :                   return 2219; /* smulv2hi3_highpart */
    8476              : 
    8477              :                 default:
    8478              :                   return -1;
    8479              :                 }
    8480              : 
    8481              :             case ZERO_EXTEND:
    8482              :               switch (pattern755 (x3, 
    8483              : ZERO_EXTEND))
    8484              :                 {
    8485              :                 case 0:
    8486              :                   if (!
    8487              : #line 3510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8488              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8489              :    && (TARGET_SSE || TARGET_3DNOW_A)
    8490              :    && ix86_binary_operator_ok (MULT, V4HImode, operands)))
    8491              :                     return -1;
    8492              :                   return 2218; /* *mmx_umulv4hi3_highpart */
    8493              : 
    8494              :                 case 1:
    8495              :                   if (!
    8496              : #line 3544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8497              : (TARGET_SSE2))
    8498              :                     return -1;
    8499              :                   return 2220; /* umulv2hi3_highpart */
    8500              : 
    8501              :                 default:
    8502              :                   return -1;
    8503              :                 }
    8504              : 
    8505              :             default:
    8506              :               return -1;
    8507              :             }
    8508              : 
    8509              :         case PLUS:
    8510              :           x7 = XEXP (x6, 0);
    8511              :           switch (GET_CODE (x7))
    8512              :             {
    8513              :             case MULT:
    8514              :               if (GET_MODE (x7) != E_V4SImode)
    8515              :                 return -1;
    8516              :               x8 = XEXP (x7, 0);
    8517              :               if (GET_CODE (x8) != SIGN_EXTEND
    8518              :                   || GET_MODE (x8) != E_V4SImode)
    8519              :                 return -1;
    8520              :               x9 = XEXP (x7, 1);
    8521              :               if (GET_CODE (x9) != SIGN_EXTEND
    8522              :                   || GET_MODE (x9) != E_V4SImode)
    8523              :                 return -1;
    8524              :               x10 = XEXP (x6, 1);
    8525              :               if (GET_CODE (x10) != CONST_VECTOR
    8526              :                   || XVECLEN (x10, 0) != 4
    8527              :                   || GET_MODE (x10) != E_V4SImode)
    8528              :                 return -1;
    8529              :               x11 = XVECEXP (x10, 0, 0);
    8530              :               if (GET_CODE (x11) != CONST_INT
    8531              :                   || XWINT (x11, 0) != 32768L)
    8532              :                 return -1;
    8533              :               x12 = XVECEXP (x10, 0, 1);
    8534              :               if (GET_CODE (x12) != CONST_INT
    8535              :                   || XWINT (x12, 0) != 32768L)
    8536              :                 return -1;
    8537              :               x13 = XVECEXP (x10, 0, 2);
    8538              :               if (GET_CODE (x13) != CONST_INT
    8539              :                   || XWINT (x13, 0) != 32768L)
    8540              :                 return -1;
    8541              :               x14 = XVECEXP (x10, 0, 3);
    8542              :               if (GET_CODE (x14) != CONST_INT
    8543              :                   || XWINT (x14, 0) != 32768L
    8544              :                   || XWINT (x5, 0) != 16L
    8545              :                   || !register_operand (operands[0], E_V4HImode)
    8546              :                   || GET_MODE (x3) != E_V4HImode
    8547              :                   || GET_MODE (x4) != E_V4SImode
    8548              :                   || GET_MODE (x6) != E_V4SImode)
    8549              :                 return -1;
    8550              :               x15 = XEXP (x8, 0);
    8551              :               operands[1] = x15;
    8552              :               if (!nonimmediate_operand (operands[1], E_V4HImode))
    8553              :                 return -1;
    8554              :               x16 = XEXP (x9, 0);
    8555              :               operands[2] = x16;
    8556              :               if (!nonimmediate_operand (operands[2], E_V4HImode)
    8557              :                   || !
    8558              : #line 3633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8559              : (TARGET_3DNOW && ix86_binary_operator_ok (MULT, V4HImode, operands)))
    8560              :                 return -1;
    8561              :               return 2222; /* *mmx_pmulhrwv4hi3 */
    8562              : 
    8563              :             case PLUS:
    8564              :               x8 = XEXP (x7, 0);
    8565              :               if (GET_CODE (x8) != ZERO_EXTEND)
    8566              :                 return -1;
    8567              :               x9 = XEXP (x7, 1);
    8568              :               if (GET_CODE (x9) != ZERO_EXTEND)
    8569              :                 return -1;
    8570              :               x10 = XEXP (x6, 1);
    8571              :               if (GET_CODE (x10) != CONST_VECTOR
    8572              :                   || XWINT (x5, 0) != 1L)
    8573              :                 return -1;
    8574              :               x15 = XEXP (x8, 0);
    8575              :               operands[1] = x15;
    8576              :               x16 = XEXP (x9, 0);
    8577              :               operands[2] = x16;
    8578              :               switch (XVECLEN (x10, 0))
    8579              :                 {
    8580              :                 case 8:
    8581              :                   if (pattern1370 (x10, 
    8582              : E_V8HImode) != 0
    8583              :                       || pattern1652 (x3, 
    8584              : E_V8QImode, 
    8585              : E_V8HImode) != 0
    8586              :                       || !
    8587              : #line 6360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8588              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8589              :    && (TARGET_SSE || TARGET_3DNOW)
    8590              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8591              :                     return -1;
    8592              :                   return 2434; /* *mmx_uavgv8qi3 */
    8593              : 
    8594              :                 case 4:
    8595              :                   x11 = XVECEXP (x10, 0, 0);
    8596              :                   if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    8597              :                     return -1;
    8598              :                   x12 = XVECEXP (x10, 0, 1);
    8599              :                   if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    8600              :                     return -1;
    8601              :                   x13 = XVECEXP (x10, 0, 2);
    8602              :                   if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    8603              :                     return -1;
    8604              :                   x14 = XVECEXP (x10, 0, 3);
    8605              :                   if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    8606              :                     return -1;
    8607              :                   switch (GET_MODE (operands[0]))
    8608              :                     {
    8609              :                     case E_V4HImode:
    8610              :                       if (pattern1652 (x3, 
    8611              : E_V4HImode, 
    8612              : E_V4SImode) != 0
    8613              :                           || GET_MODE (x10) != E_V4SImode
    8614              :                           || !
    8615              : #line 6404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8616              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8617              :    && (TARGET_SSE || TARGET_3DNOW_A)
    8618              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8619              :                         return -1;
    8620              :                       return 2435; /* *mmx_uavgv4hi3 */
    8621              : 
    8622              :                     case E_V4QImode:
    8623              :                       if (pattern1548 (x3, 
    8624              : E_V4HImode, 
    8625              : E_V4QImode) != 0
    8626              :                           || !
    8627              : #line 6444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8628              : (TARGET_SSE2))
    8629              :                         return -1;
    8630              :                       return 2436; /* uavgv4qi3_ceil */
    8631              : 
    8632              :                     default:
    8633              :                       return -1;
    8634              :                     }
    8635              : 
    8636              :                 case 2:
    8637              :                   x11 = XVECEXP (x10, 0, 0);
    8638              :                   if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    8639              :                     return -1;
    8640              :                   x12 = XVECEXP (x10, 0, 1);
    8641              :                   if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    8642              :                     return -1;
    8643              :                   switch (GET_MODE (operands[0]))
    8644              :                     {
    8645              :                     case E_V2QImode:
    8646              :                       if (pattern1548 (x3, 
    8647              : E_V2HImode, 
    8648              : E_V2QImode) != 0
    8649              :                           || !
    8650              : #line 6464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8651              : (TARGET_SSE2))
    8652              :                         return -1;
    8653              :                       return 2437; /* uavgv2qi3_ceil */
    8654              : 
    8655              :                     case E_V2HImode:
    8656              :                       if (pattern1548 (x3, 
    8657              : E_V2SImode, 
    8658              : E_V2HImode) != 0
    8659              :                           || !
    8660              : #line 6484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8661              : (TARGET_SSE2))
    8662              :                         return -1;
    8663              :                       return 2438; /* uavgv2hi3_ceil */
    8664              : 
    8665              :                     default:
    8666              :                       return -1;
    8667              :                     }
    8668              : 
    8669              :                 default:
    8670              :                   return -1;
    8671              :                 }
    8672              : 
    8673              :             case LSHIFTRT:
    8674              :               if (pattern627 (x7) != 0
    8675              :                   || XWINT (x5, 0) != 1L)
    8676              :                 return -1;
    8677              :               x8 = XEXP (x7, 0);
    8678              :               x15 = XEXP (x8, 0);
    8679              :               x17 = XEXP (x15, 0);
    8680              :               operands[1] = x17;
    8681              :               x18 = XEXP (x8, 1);
    8682              :               x19 = XEXP (x18, 0);
    8683              :               operands[2] = x19;
    8684              :               x10 = XEXP (x6, 1);
    8685              :               operands[3] = x10;
    8686              :               switch (GET_MODE (operands[0]))
    8687              :                 {
    8688              :                 case E_V4HImode:
    8689              :                   if (pattern1523 (x3, 
    8690              : E_V4SImode, 
    8691              : E_V4HImode) != 0
    8692              :                       || !register_mmxmem_operand (operands[1], E_V4HImode)
    8693              :                       || GET_MODE (x18) != E_V4SImode
    8694              :                       || !register_mmxmem_operand (operands[2], E_V4HImode)
    8695              :                       || !const1_operand (operands[3], E_V4HImode)
    8696              :                       || !
    8697              : #line 23410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8698              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    8699              :    && TARGET_SSSE3
    8700              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8701              :                     return -1;
    8702              :                   return 8666; /* *ssse3_pmulhrswv4hi3 */
    8703              : 
    8704              :                 case E_V2HImode:
    8705              :                   if (pattern1523 (x3, 
    8706              : E_V2SImode, 
    8707              : E_V2HImode) != 0
    8708              :                       || !register_operand (operands[1], E_V2HImode)
    8709              :                       || GET_MODE (x18) != E_V2SImode
    8710              :                       || !register_operand (operands[2], E_V2HImode)
    8711              :                       || !const1_operand (operands[3], E_V2HImode)
    8712              :                       || !
    8713              : #line 23455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8714              : (TARGET_SSSE3
    8715              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8716              :                     return -1;
    8717              :                   return 8667; /* *smulhrsv2hi3 */
    8718              : 
    8719              :                 default:
    8720              :                   return -1;
    8721              :                 }
    8722              : 
    8723              :             default:
    8724              :               return -1;
    8725              :             }
    8726              : 
    8727              :         default:
    8728              :           return -1;
    8729              :         }
    8730              : 
    8731              :     case REG:
    8732              :     case SUBREG:
    8733              :       operands[1] = x4;
    8734              :       switch (GET_MODE (operands[0]))
    8735              :         {
    8736              :         case E_V4QImode:
    8737              :           if (GET_MODE (x3) != E_V4QImode)
    8738              :             return -1;
    8739              :           if (register_operand (operands[0], E_V4QImode)
    8740              :               && register_operand (operands[1], E_V4HImode)
    8741              :               && (
    8742              : #line 5172 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8743              : (TARGET_AVX512VL && TARGET_AVX512BW) && 
    8744              : #line 73 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8745              : (TARGET_MMX_WITH_SSE)))
    8746              :             return 2368; /* avx512vl_truncv4hiv4qi2 */
    8747              :           if (!memory_operand (operands[0], E_V4QImode))
    8748              :             return -1;
    8749              :           switch (GET_MODE (operands[1]))
    8750              :             {
    8751              :             case E_V4SImode:
    8752              :               if (!register_operand (operands[1], E_V4SImode)
    8753              :                   || !
    8754              : #line 15820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8755              : (TARGET_AVX512VL))
    8756              :                 return -1;
    8757              :               return 7347; /* *avx512vl_truncatev4siv4qi2_store_1 */
    8758              : 
    8759              :             case E_V4DImode:
    8760              :               if (!register_operand (operands[1], E_V4DImode)
    8761              :                   || !
    8762              : #line 15820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8763              : (TARGET_AVX512VL))
    8764              :                 return -1;
    8765              :               return 7350; /* *avx512vl_truncatev4div4qi2_store_1 */
    8766              : 
    8767              :             default:
    8768              :               return -1;
    8769              :             }
    8770              : 
    8771              :         case E_V2QImode:
    8772              :           if (GET_MODE (x3) != E_V2QImode)
    8773              :             return -1;
    8774              :           if (register_operand (operands[0], E_V2QImode))
    8775              :             {
    8776              :               switch (GET_MODE (operands[1]))
    8777              :                 {
    8778              :                 case E_V2HImode:
    8779              :                   if (register_operand (operands[1], E_V2HImode)
    8780              :                       && 
    8781              : #line 5172 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8782              : (TARGET_AVX512VL && TARGET_AVX512BW))
    8783              :                     return 2369; /* avx512vl_truncv2hiv2qi2 */
    8784              :                   break;
    8785              : 
    8786              :                 case E_V2SImode:
    8787              :                   if (register_operand (operands[1], E_V2SImode)
    8788              :                       && 
    8789              : #line 5198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8790              : (TARGET_AVX512VL && TARGET_MMX_WITH_SSE))
    8791              :                     return 2370; /* avx512vl_truncv2siv2qi2 */
    8792              :                   break;
    8793              : 
    8794              :                 default:
    8795              :                   break;
    8796              :                 }
    8797              :             }
    8798              :           if (!memory_operand (operands[0], E_V2QImode)
    8799              :               || !register_operand (operands[1], E_V2DImode)
    8800              :               || !
    8801              : #line 15725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8802              : (TARGET_AVX512VL))
    8803              :             return -1;
    8804              :           return 7332; /* *avx512vl_truncatev2div2qi2_store_1 */
    8805              : 
    8806              :         case E_V2HImode:
    8807              :           if (GET_MODE (x3) != E_V2HImode)
    8808              :             return -1;
    8809              :           if (register_operand (operands[0], E_V2HImode)
    8810              :               && register_operand (operands[1], E_V2SImode)
    8811              :               && 
    8812              : #line 5198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    8813              : (TARGET_AVX512VL && TARGET_MMX_WITH_SSE))
    8814              :             return 2371; /* avx512vl_truncv2siv2hi2 */
    8815              :           if (!memory_operand (operands[0], E_V2HImode)
    8816              :               || !register_operand (operands[1], E_V2DImode)
    8817              :               || !
    8818              : #line 16171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8819              : (TARGET_AVX512VL))
    8820              :             return -1;
    8821              :           return 7447; /* *avx512vl_truncatev2div2hi2_store_1 */
    8822              : 
    8823              :         case E_V8QImode:
    8824              :           switch (pattern10 (x3))
    8825              :             {
    8826              :             case 0:
    8827              :               if (!(
    8828              : #line 15918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8829              : (TARGET_AVX512VL) && 
    8830              : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8831              : (TARGET_AVX512BW)))
    8832              :                 return -1;
    8833              :               return 7377; /* *avx512vl_truncatev8hiv8qi2_store_1 */
    8834              : 
    8835              :             case 1:
    8836              :               if (!
    8837              : #line 15918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8838              : (TARGET_AVX512VL))
    8839              :                 return -1;
    8840              :               return 7380; /* *avx512vl_truncatev8siv8qi2_store_1 */
    8841              : 
    8842              :             case 2:
    8843              :               if (!
    8844              : #line 16434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8845              : (TARGET_AVX512F))
    8846              :                 return -1;
    8847              :               return 7484; /* *avx512f_truncatev8div16qi2_store_1 */
    8848              : 
    8849              :             default:
    8850              :               return -1;
    8851              :             }
    8852              : 
    8853              :         case E_V4HImode:
    8854              :           switch (pattern9 (x3, 
    8855              : E_V4HImode))
    8856              :             {
    8857              :             case 0:
    8858              :               if (!
    8859              : #line 16080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8860              : (TARGET_AVX512VL))
    8861              :                 return -1;
    8862              :               return 7417; /* *avx512vl_truncatev4siv4hi2_store_1 */
    8863              : 
    8864              :             case 1:
    8865              :               if (!
    8866              : #line 16080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8867              : (TARGET_AVX512VL))
    8868              :                 return -1;
    8869              :               return 7420; /* *avx512vl_truncatev4div4hi2_store_1 */
    8870              : 
    8871              :             default:
    8872              :               return -1;
    8873              :             }
    8874              : 
    8875              :         case E_V2SImode:
    8876              :           if (!memory_operand (operands[0], E_V2SImode)
    8877              :               || GET_MODE (x3) != E_V2SImode
    8878              :               || !register_operand (operands[1], E_V2DImode)
    8879              :               || !
    8880              : #line 16321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    8881              : (TARGET_AVX512VL))
    8882              :             return -1;
    8883              :           return 7466; /* *avx512vl_truncatev2div2si2_store_1 */
    8884              : 
    8885              :         default:
    8886              :           return -1;
    8887              :         }
    8888              : 
    8889              :     default:
    8890              :       return -1;
    8891              :     }
    8892              : }
    8893              : 
    8894              :  int
    8895              : recog_79 (rtx x1 ATTRIBUTE_UNUSED,
    8896              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    8897              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    8898              : {
    8899              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    8900              :   rtx x2, x3, x4, x5, x6;
    8901              :   int res ATTRIBUTE_UNUSED;
    8902              :   x2 = XEXP (x1, 1);
    8903              :   x3 = XEXP (x2, 0);
    8904              :   x4 = XEXP (x3, 0);
    8905              :   switch (GET_CODE (x4))
    8906              :     {
    8907              :     case REG:
    8908              :     case SUBREG:
    8909              :     case MEM:
    8910              :       switch (pattern115 (x2, pnum_clobbers))
    8911              :         {
    8912              :         case 0:
    8913              :           if (
    8914              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8915              : (TARGET_APX_NDD && TARGET_APX_NF
    8916              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8917              :             return 877; /* *xorqi_1_zextsi_nf */
    8918              :           if (pnum_clobbers == NULL
    8919              :               || !
    8920              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8921              : (TARGET_APX_NDD && true
    8922              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8923              :             return -1;
    8924              :           *pnum_clobbers = 1;
    8925              :           return 878; /* *xorqi_1_zextsi */
    8926              : 
    8927              :         case 1:
    8928              :           if (
    8929              : #line 14049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8930              : (TARGET_APX_NDD && TARGET_APX_NF
    8931              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8932              :             return 885; /* *xorhi_1_zextsi_nf */
    8933              :           if (pnum_clobbers == NULL
    8934              :               || !
    8935              : #line 14049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8936              : (TARGET_APX_NDD && true
    8937              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8938              :             return -1;
    8939              :           *pnum_clobbers = 1;
    8940              :           return 886; /* *xorhi_1_zextsi */
    8941              : 
    8942              :         case 2:
    8943              :           if (
    8944              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8945              : (TARGET_APX_NDD && TARGET_APX_NF
    8946              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8947              :             return 881; /* *xorqi_1_zextdi_nf */
    8948              :           if (pnum_clobbers == NULL
    8949              :               || !
    8950              : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8951              : (TARGET_APX_NDD && true
    8952              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8953              :             return -1;
    8954              :           *pnum_clobbers = 1;
    8955              :           return 882; /* *xorqi_1_zextdi */
    8956              : 
    8957              :         case 3:
    8958              :           if (
    8959              : #line 14049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8960              : (TARGET_APX_NDD && TARGET_APX_NF
    8961              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8962              :             return 889; /* *xorhi_1_zextdi_nf */
    8963              :           if (pnum_clobbers == NULL
    8964              :               || !
    8965              : #line 14049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8966              : (TARGET_APX_NDD && true
    8967              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    8968              :             return -1;
    8969              :           *pnum_clobbers = 1;
    8970              :           return 890; /* *xorhi_1_zextdi */
    8971              : 
    8972              :         case 4:
    8973              :           if (!
    8974              : #line 14065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8975              : (TARGET_64BIT
    8976              :    && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
    8977              :             return -1;
    8978              :           *pnum_clobbers = 1;
    8979              :           return 892; /* *xorsi_1_zext */
    8980              : 
    8981              :         default:
    8982              :           return -1;
    8983              :         }
    8984              : 
    8985              :     case MINUS:
    8986              :       if (pnum_clobbers == NULL
    8987              :           || pattern442 (x3) != 0
    8988              :           || !register_operand (operands[0], E_DImode)
    8989              :           || GET_MODE (x2) != E_DImode
    8990              :           || GET_MODE (x3) != E_SImode)
    8991              :         return -1;
    8992              :       x5 = XEXP (x4, 1);
    8993              :       x6 = XEXP (x5, 0);
    8994              :       operands[1] = x6;
    8995              :       if (!nonimmediate_operand (operands[1], E_SImode)
    8996              :           || !
    8997              : #line 21705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    8998              : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
    8999              :         return -1;
    9000              :       *pnum_clobbers = 1;
    9001              :       return 1565; /* *bsru_2 */
    9002              : 
    9003              :     default:
    9004              :       return -1;
    9005              :     }
    9006              : }
    9007              : 
    9008              :  int
    9009              : recog_82 (rtx x1 ATTRIBUTE_UNUSED,
    9010              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9011              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9012              : {
    9013              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9014              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    9015              :   rtx x10, x11;
    9016              :   int res ATTRIBUTE_UNUSED;
    9017              :   x2 = XEXP (x1, 1);
    9018              :   x3 = XEXP (x2, 0);
    9019              :   x4 = XEXP (x3, 1);
    9020              :   x5 = XEXP (x4, 0);
    9021              :   operands[2] = x5;
    9022              :   x6 = XEXP (x3, 0);
    9023              :   if (!rtx_equal_p (x6, operands[0]))
    9024              :     return -1;
    9025              :   x7 = XEXP (x2, 1);
    9026              :   x8 = XEXP (x7, 0);
    9027              :   x9 = XEXP (x8, 1);
    9028              :   x10 = XEXP (x9, 1);
    9029              :   x11 = XEXP (x10, 0);
    9030              :   if (!rtx_equal_p (x11, operands[2]))
    9031              :     return -1;
    9032              :   if (
    9033              : #line 15739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9034              : (TARGET_64BIT && TARGET_APX_NF))
    9035              :     return 1094; /* x86_64_shld_nf */
    9036              :   if (pnum_clobbers == NULL
    9037              :       || !
    9038              : #line 15739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9039              : (TARGET_64BIT && true))
    9040              :     return -1;
    9041              :   *pnum_clobbers = 1;
    9042              :   return 1095; /* x86_64_shld */
    9043              : }
    9044              : 
    9045              :  int
    9046              : recog_84 (rtx x1 ATTRIBUTE_UNUSED,
    9047              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9048              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9049              : {
    9050              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9051              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
    9052              :   rtx x10, x11, x12, x13, x14, x15;
    9053              :   int res ATTRIBUTE_UNUSED;
    9054              :   x2 = XEXP (x1, 1);
    9055              :   x3 = XEXP (x2, 0);
    9056              :   x4 = XEXP (x3, 0);
    9057              :   switch (GET_CODE (x4))
    9058              :     {
    9059              :     case REG:
    9060              :     case SUBREG:
    9061              :     case MEM:
    9062              :       x5 = XEXP (x3, 1);
    9063              :       switch (GET_CODE (x5))
    9064              :         {
    9065              :         case CONST_INT:
    9066              :         case CONST_WIDE_INT:
    9067              :         case CONST_POLY_INT:
    9068              :         case CONST_FIXED:
    9069              :         case CONST_DOUBLE:
    9070              :         case CONST_VECTOR:
    9071              :         case CONST:
    9072              :         case REG:
    9073              :         case SUBREG:
    9074              :         case LABEL_REF:
    9075              :         case SYMBOL_REF:
    9076              :         case HIGH:
    9077              :           x6 = XEXP (x2, 1);
    9078              :           switch (GET_CODE (x6))
    9079              :             {
    9080              :             case CONST_INT:
    9081              :             case CONST_WIDE_INT:
    9082              :               operands[3] = x6;
    9083              :               operands[1] = x4;
    9084              :               operands[2] = x5;
    9085              :               switch (GET_MODE (operands[0]))
    9086              :                 {
    9087              :                 case E_SImode:
    9088              :                   if (pattern614 (x2, 
    9089              : E_SImode) != 0
    9090              :                       || !
    9091              : #line 8072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9092              : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
    9093              :    < (HOST_WIDE_INT_1U << INTVAL (operands[2]))))
    9094              :                     return -1;
    9095              :                   return 380; /* *leasi_general_4 */
    9096              : 
    9097              :                 case E_DImode:
    9098              :                   if (GET_MODE (x2) != E_DImode
    9099              :                       || GET_MODE (x3) != E_DImode)
    9100              :                     return -1;
    9101              :                   if (register_operand (operands[0], E_DImode)
    9102              :                       && register_no_SP_operand (operands[1], E_DImode)
    9103              :                       && const_0_to_3_operand (operands[2], E_VOIDmode)
    9104              :                       && const_int_operand (operands[3], E_VOIDmode)
    9105              :                       && (
    9106              : #line 8072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9107              : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
    9108              :    < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) && 
    9109              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9110              : (TARGET_64BIT)))
    9111              :                     return 382; /* *leadi_general_4 */
    9112              :                   if (!nonimmediate_operand (operands[0], E_DImode)
    9113              :                       || !register_operand (operands[1], E_DImode)
    9114              :                       || !const_int_operand (operands[2], E_QImode)
    9115              :                       || !const_scalar_int_operand (operands[3], E_DImode)
    9116              :                       || !(
    9117              : #line 14473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9118              : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT / 2
    9119              :    && (DImode == DImode
    9120              :        ? CONST_INT_P (operands[3])
    9121              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
    9122              :        : CONST_INT_P (operands[3])
    9123              :        ? INTVAL (operands[3]) >= 0
    9124              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
    9125              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
    9126              :    && !(CONST_INT_P (operands[3])
    9127              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
    9128              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
    9129              :                                                                      0)),
    9130              :                                         VOIDmode))) && 
    9131              : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9132              : (!TARGET_64BIT)))
    9133              :                     return -1;
    9134              :                   return 961; /* *concatsidi3_5 */
    9135              : 
    9136              :                 default:
    9137              :                   return -1;
    9138              :                 }
    9139              : 
    9140              :             case ZERO_EXTEND:
    9141              :               if (GET_MODE (x6) != E_DImode
    9142              :                   || !nonimmediate_operand (operands[0], E_DImode)
    9143              :                   || GET_MODE (x2) != E_DImode
    9144              :                   || GET_MODE (x3) != E_DImode)
    9145              :                 return -1;
    9146              :               operands[1] = x4;
    9147              :               if (!register_operand (operands[1], E_DImode))
    9148              :                 return -1;
    9149              :               operands[2] = x5;
    9150              :               if (!const_int_operand (operands[2], E_QImode))
    9151              :                 return -1;
    9152              :               x7 = XEXP (x6, 0);
    9153              :               operands[3] = x7;
    9154              :               if (!nonimmediate_operand (operands[3], E_SImode)
    9155              :                   || !(
    9156              : #line 14396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9157              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
    9158              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9159              : (!TARGET_64BIT)))
    9160              :                 return -1;
    9161              :               return 925; /* *concatsidi3_1 */
    9162              : 
    9163              :             case SUBREG:
    9164              :               switch (pattern444 (x2, 
    9165              : LSHIFTRT))
    9166              :                 {
    9167              :                 case 0:
    9168              :                   operands[2] = x5;
    9169              :                   if (pattern1371 (x2) == 0)
    9170              :                     {
    9171              :                       if (
    9172              : #line 15775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9173              : (TARGET_64BIT
    9174              :    && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
    9175              :    && TARGET_APX_NF))
    9176              :                         return 1098; /* x86_64_shld_1_nf */
    9177              :                       if (pnum_clobbers != NULL
    9178              :                           && 
    9179              : #line 15775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9180              : (TARGET_64BIT
    9181              :    && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
    9182              :    && true))
    9183              :                         {
    9184              :                           *pnum_clobbers = 1;
    9185              :                           return 1099; /* x86_64_shld_1 */
    9186              :                         }
    9187              :                     }
    9188              :                   operands[3] = x5;
    9189              :                   if (pattern1372 (x2) != 0)
    9190              :                     return -1;
    9191              :                   if (
    9192              : #line 15797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9193              : (TARGET_APX_NDD
    9194              :    && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
    9195              :    && TARGET_APX_NF))
    9196              :                     return 1100; /* x86_64_shld_ndd_1_nf */
    9197              :                   if (pnum_clobbers == NULL
    9198              :                       || !
    9199              : #line 15797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9200              : (TARGET_APX_NDD
    9201              :    && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
    9202              :    && true))
    9203              :                     return -1;
    9204              :                   *pnum_clobbers = 1;
    9205              :                   return 1101; /* x86_64_shld_ndd_1 */
    9206              : 
    9207              :                 case 1:
    9208              :                   operands[2] = x5;
    9209              :                   if (pattern1373 (x2) == 0)
    9210              :                     {
    9211              :                       if (
    9212              : #line 16007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9213              : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
    9214              :   && TARGET_APX_NF))
    9215              :                         return 1110; /* x86_shld_1_nf */
    9216              :                       if (pnum_clobbers != NULL
    9217              :                           && 
    9218              : #line 16007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9219              : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
    9220              :   && true))
    9221              :                         {
    9222              :                           *pnum_clobbers = 1;
    9223              :                           return 1111; /* x86_shld_1 */
    9224              :                         }
    9225              :                     }
    9226              :                   operands[3] = x5;
    9227              :                   if (pattern1374 (x2) != 0)
    9228              :                     return -1;
    9229              :                   if (
    9230              : #line 16029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9231              : (TARGET_APX_NDD 
    9232              :    && INTVAL (operands[4]) == 32 - INTVAL (operands[3])
    9233              :    && TARGET_APX_NF))
    9234              :                     return 1112; /* x86_shld_ndd_1_nf */
    9235              :                   if (pnum_clobbers == NULL
    9236              :                       || !
    9237              : #line 16029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9238              : (TARGET_APX_NDD 
    9239              :    && INTVAL (operands[4]) == 32 - INTVAL (operands[3])
    9240              :    && true))
    9241              :                     return -1;
    9242              :                   *pnum_clobbers = 1;
    9243              :                   return 1113; /* x86_shld_ndd_1 */
    9244              : 
    9245              :                 default:
    9246              :                   return -1;
    9247              :                 }
    9248              : 
    9249              :             case LSHIFTRT:
    9250              :               switch (pattern447 (x2, pnum_clobbers))
    9251              :                 {
    9252              :                 case 0:
    9253              :                   if (
    9254              : #line 15813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9255              : (TARGET_64BIT && TARGET_APX_NF
    9256              :    && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
    9257              :    && ix86_pre_reload_split ()))
    9258              :                     return 1102; /* *x86_64_shld_shrd_1_nozext_nf */
    9259              :                   if (pnum_clobbers == NULL
    9260              :                       || !
    9261              : #line 15869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9262              : (TARGET_64BIT
    9263              :    && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
    9264              :    && ix86_pre_reload_split ()))
    9265              :                     return -1;
    9266              :                   *pnum_clobbers = 1;
    9267              :                   return 1103; /* *x86_64_shld_shrd_1_nozext */
    9268              : 
    9269              :                 case 1:
    9270              :                   if (
    9271              : #line 16045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9272              : (TARGET_APX_NF
    9273              :    && INTVAL (operands[3]) == 32 - INTVAL (operands[2])
    9274              :    && ix86_pre_reload_split ()))
    9275              :                     return 1114; /* *x86_shld_shrd_1_nozext_nf */
    9276              :                   if (pnum_clobbers == NULL
    9277              :                       || !
    9278              : #line 16101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9279              : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
    9280              :    && ix86_pre_reload_split ()))
    9281              :                     return -1;
    9282              :                   *pnum_clobbers = 1;
    9283              :                   return 1115; /* *x86_shld_shrd_1_nozext */
    9284              : 
    9285              :                 case 2:
    9286              :                   x7 = XEXP (x6, 0);
    9287              :                   operands[1] = x7;
    9288              :                   if (nonimmediate_operand (operands[0], E_DImode))
    9289              :                     {
    9290              :                       operands[2] = x5;
    9291              :                       if (rtx_equal_p (x4, operands[0]))
    9292              :                         {
    9293              :                           x8 = XEXP (x6, 1);
    9294              :                           x9 = XEXP (x8, 1);
    9295              :                           if (rtx_equal_p (x9, operands[2])
    9296              :                               && 
    9297              : #line 15922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9298              : (TARGET_64BIT && ix86_pre_reload_split ()))
    9299              :                             {
    9300              :                               *pnum_clobbers = 1;
    9301              :                               return 1104; /* *x86_64_shld_2 */
    9302              :                             }
    9303              :                         }
    9304              :                     }
    9305              :                   operands[2] = x7;
    9306              :                   if (!register_operand (operands[0], E_DImode))
    9307              :                     return -1;
    9308              :                   operands[1] = x4;
    9309              :                   if (!nonimmediate_operand (operands[1], E_DImode))
    9310              :                     return -1;
    9311              :                   operands[3] = x5;
    9312              :                   x8 = XEXP (x6, 1);
    9313              :                   x9 = XEXP (x8, 1);
    9314              :                   if (!rtx_equal_p (x9, operands[3])
    9315              :                       || !
    9316              : #line 15943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9317              : (TARGET_APX_NDD
    9318              :    && ix86_pre_reload_split ()))
    9319              :                     return -1;
    9320              :                   *pnum_clobbers = 1;
    9321              :                   return 1105; /* *x86_64_shld_ndd_2 */
    9322              : 
    9323              :                 case 3:
    9324              :                   x7 = XEXP (x6, 0);
    9325              :                   operands[1] = x7;
    9326              :                   if (nonimmediate_operand (operands[0], E_SImode))
    9327              :                     {
    9328              :                       operands[2] = x5;
    9329              :                       if (rtx_equal_p (x4, operands[0]))
    9330              :                         {
    9331              :                           x8 = XEXP (x6, 1);
    9332              :                           x9 = XEXP (x8, 1);
    9333              :                           if (rtx_equal_p (x9, operands[2])
    9334              :                               && 
    9335              : #line 16153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9336              : (TARGET_64BIT && ix86_pre_reload_split ()))
    9337              :                             {
    9338              :                               *pnum_clobbers = 1;
    9339              :                               return 1116; /* *x86_shld_2 */
    9340              :                             }
    9341              :                         }
    9342              :                     }
    9343              :                   operands[2] = x7;
    9344              :                   if (!register_operand (operands[0], E_SImode))
    9345              :                     return -1;
    9346              :                   operands[1] = x4;
    9347              :                   if (!nonimmediate_operand (operands[1], E_SImode))
    9348              :                     return -1;
    9349              :                   operands[3] = x5;
    9350              :                   x8 = XEXP (x6, 1);
    9351              :                   x9 = XEXP (x8, 1);
    9352              :                   if (!rtx_equal_p (x9, operands[3])
    9353              :                       || !
    9354              : #line 16174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9355              : (TARGET_APX_NDD
    9356              :    && ix86_pre_reload_split ()))
    9357              :                     return -1;
    9358              :                   *pnum_clobbers = 1;
    9359              :                   return 1117; /* *x86_shld_ndd_2 */
    9360              : 
    9361              :                 default:
    9362              :                   return -1;
    9363              :                 }
    9364              : 
    9365              :             default:
    9366              :               return -1;
    9367              :             }
    9368              : 
    9369              :         case AND:
    9370              :           switch (pattern289 (x2, 
    9371              : LSHIFTRT))
    9372              :             {
    9373              :             case 0:
    9374              :               x6 = XEXP (x2, 1);
    9375              :               x7 = XEXP (x6, 0);
    9376              :               x10 = XEXP (x7, 0);
    9377              :               x11 = XEXP (x10, 0);
    9378              :               operands[1] = x11;
    9379              :               if (nonimmediate_operand (operands[0], E_DImode))
    9380              :                 {
    9381              :                   res = recog_82 (x1, insn, pnum_clobbers);
    9382              :                   if (res >= 0)
    9383              :                     return res;
    9384              :                 }
    9385              :               operands[2] = x11;
    9386              :               if (!register_operand (operands[0], E_DImode))
    9387              :                 return -1;
    9388              :               operands[1] = x4;
    9389              :               if (!nonimmediate_operand (operands[1], E_DImode))
    9390              :                 return -1;
    9391              :               x12 = XEXP (x5, 0);
    9392              :               operands[3] = x12;
    9393              :               x13 = XEXP (x7, 1);
    9394              :               x14 = XEXP (x13, 1);
    9395              :               x15 = XEXP (x14, 0);
    9396              :               if (!rtx_equal_p (x15, operands[3]))
    9397              :                 return -1;
    9398              :               if (
    9399              : #line 15760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9400              : (TARGET_APX_NDD && TARGET_APX_NF))
    9401              :                 return 1096; /* x86_64_shld_ndd_nf */
    9402              :               if (pnum_clobbers == NULL
    9403              :                   || !
    9404              : #line 15760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9405              : (TARGET_APX_NDD && true))
    9406              :                 return -1;
    9407              :               *pnum_clobbers = 1;
    9408              :               return 1097; /* x86_64_shld_ndd */
    9409              : 
    9410              :             case 1:
    9411              :               if (!nonimmediate_operand (operands[0], E_SImode)
    9412              :                   || pattern288 (x2, 
    9413              : E_SImode, 
    9414              : E_DImode) != 0)
    9415              :                 return -1;
    9416              :               x6 = XEXP (x2, 1);
    9417              :               x7 = XEXP (x6, 0);
    9418              :               x10 = XEXP (x7, 0);
    9419              :               x11 = XEXP (x10, 0);
    9420              :               operands[1] = x11;
    9421              :               x12 = XEXP (x5, 0);
    9422              :               operands[2] = x12;
    9423              :               if (rtx_equal_p (x4, operands[0]))
    9424              :                 {
    9425              :                   x13 = XEXP (x7, 1);
    9426              :                   x14 = XEXP (x13, 1);
    9427              :                   x15 = XEXP (x14, 0);
    9428              :                   if (rtx_equal_p (x15, operands[2]))
    9429              :                     {
    9430              :                       if (
    9431              : #line 15969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9432              : (TARGET_APX_NF))
    9433              :                         return 1106; /* x86_shld_nf */
    9434              :                       if (pnum_clobbers != NULL)
    9435              :                         {
    9436              :                           *pnum_clobbers = 1;
    9437              :                           return 1107; /* x86_shld */
    9438              :                         }
    9439              :                     }
    9440              :                 }
    9441              :               operands[2] = x11;
    9442              :               operands[1] = x4;
    9443              :               if (!nonimmediate_operand (operands[1], E_SImode))
    9444              :                 return -1;
    9445              :               operands[3] = x12;
    9446              :               x13 = XEXP (x7, 1);
    9447              :               x14 = XEXP (x13, 1);
    9448              :               x15 = XEXP (x14, 0);
    9449              :               if (!rtx_equal_p (x15, operands[3]))
    9450              :                 return -1;
    9451              :               if (
    9452              : #line 15991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9453              : (TARGET_APX_NDD && TARGET_APX_NF))
    9454              :                 return 1108; /* x86_shld_ndd_nf */
    9455              :               if (pnum_clobbers == NULL
    9456              :                   || !
    9457              : #line 15991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9458              : (TARGET_APX_NDD && true))
    9459              :                 return -1;
    9460              :               *pnum_clobbers = 1;
    9461              :               return 1109; /* x86_shld_ndd */
    9462              : 
    9463              :             default:
    9464              :               return -1;
    9465              :             }
    9466              : 
    9467              :         default:
    9468              :           return -1;
    9469              :         }
    9470              : 
    9471              :     case SIGN_EXTEND:
    9472              :       switch (pattern260 (x2, 
    9473              : E_SImode, 
    9474              : E_DImode))
    9475              :         {
    9476              :         case 0:
    9477              :           if (!(
    9478              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9479              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
    9480              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9481              : (!TARGET_64BIT)))
    9482              :             return -1;
    9483              :           return 937; /* *concatsidi3_3 */
    9484              : 
    9485              :         case 1:
    9486              :           if (!(
    9487              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9488              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
    9489              :    && (DImode == DImode
    9490              :        ? CONST_INT_P (operands[3])
    9491              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
    9492              :        : CONST_INT_P (operands[3])
    9493              :        ? INTVAL (operands[3]) >= 0
    9494              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
    9495              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
    9496              :    && !(CONST_INT_P (operands[3])
    9497              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
    9498              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
    9499              :                                                                      0)),
    9500              :                                         VOIDmode))) && 
    9501              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9502              : (!TARGET_64BIT)))
    9503              :             return -1;
    9504              :           return 967; /* *concatsidi3_6 */
    9505              : 
    9506              :         default:
    9507              :           return -1;
    9508              :         }
    9509              : 
    9510              :     case ZERO_EXTEND:
    9511              :       switch (pattern260 (x2, 
    9512              : E_SImode, 
    9513              : E_DImode))
    9514              :         {
    9515              :         case 0:
    9516              :           if (!(
    9517              : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9518              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) && 
    9519              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9520              : (!TARGET_64BIT)))
    9521              :             return -1;
    9522              :           return 940; /* *concatsidi3_3 */
    9523              : 
    9524              :         case 1:
    9525              :           if (!(
    9526              : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9527              : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
    9528              :    && (DImode == DImode
    9529              :        ? CONST_INT_P (operands[3])
    9530              :          && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
    9531              :        : CONST_INT_P (operands[3])
    9532              :        ? INTVAL (operands[3]) >= 0
    9533              :        : CONST_WIDE_INT_NUNITS (operands[3]) == 2
    9534              :          && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
    9535              :    && !(CONST_INT_P (operands[3])
    9536              :         ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
    9537              :         : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
    9538              :                                                                      0)),
    9539              :                                         VOIDmode))) && 
    9540              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9541              : (!TARGET_64BIT)))
    9542              :             return -1;
    9543              :           return 970; /* *concatsidi3_6 */
    9544              : 
    9545              :         default:
    9546              :           return -1;
    9547              :         }
    9548              : 
    9549              :     case CONST_INT:
    9550              :       switch (pattern287 (x2, pnum_clobbers))
    9551              :         {
    9552              :         case 0:
    9553              :           x5 = XEXP (x3, 1);
    9554              :           operands[2] = x5;
    9555              :           if (register_operand (operands[2], E_QImode))
    9556              :             {
    9557              :               switch (pattern759 (x2))
    9558              :                 {
    9559              :                 case 0:
    9560              :                   if (
    9561              : #line 19165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9562              : (TARGET_USE_BT))
    9563              :                     {
    9564              :                       *pnum_clobbers = 1;
    9565              :                       return 1423; /* *btssi */
    9566              :                     }
    9567              :                   break;
    9568              : 
    9569              :                 case 1:
    9570              :                   if ((
    9571              : #line 19165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9572              : (TARGET_USE_BT) && 
    9573              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9574              : (TARGET_64BIT)))
    9575              :                     {
    9576              :                       *pnum_clobbers = 1;
    9577              :                       return 1425; /* *btsdi */
    9578              :                     }
    9579              :                   break;
    9580              : 
    9581              :                 default:
    9582              :                   break;
    9583              :                 }
    9584              :             }
    9585              :           if (GET_CODE (x5) != SUBREG)
    9586              :             return -1;
    9587              :           switch (pattern768 (x2))
    9588              :             {
    9589              :             case 0:
    9590              :               if (!
    9591              : #line 19184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9592              : (TARGET_USE_BT
    9593              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
    9594              :       == GET_MODE_BITSIZE (SImode)-1
    9595              :    && ix86_pre_reload_split ()))
    9596              :                 return -1;
    9597              :               *pnum_clobbers = 1;
    9598              :               return 1427; /* *btssi_mask */
    9599              : 
    9600              :             case 1:
    9601              :               if (!(
    9602              : #line 19184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9603              : (TARGET_USE_BT
    9604              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
    9605              :       == GET_MODE_BITSIZE (DImode)-1
    9606              :    && ix86_pre_reload_split ()) && 
    9607              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9608              : (TARGET_64BIT)))
    9609              :                 return -1;
    9610              :               *pnum_clobbers = 1;
    9611              :               return 1429; /* *btsdi_mask */
    9612              : 
    9613              :             default:
    9614              :               return -1;
    9615              :             }
    9616              : 
    9617              :         case 1:
    9618              :           if (!
    9619              : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9620              : (TARGET_USE_BT
    9621              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
    9622              :       == GET_MODE_BITSIZE (SImode)-1
    9623              :    && ix86_pre_reload_split ()))
    9624              :             return -1;
    9625              :           *pnum_clobbers = 1;
    9626              :           return 1431; /* *btssi_mask_1 */
    9627              : 
    9628              :         case 2:
    9629              :           if (!(
    9630              : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9631              : (TARGET_USE_BT
    9632              :    && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
    9633              :       == GET_MODE_BITSIZE (DImode)-1
    9634              :    && ix86_pre_reload_split ()) && 
    9635              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9636              : (TARGET_64BIT)))
    9637              :             return -1;
    9638              :           *pnum_clobbers = 1;
    9639              :           return 1433; /* *btsdi_mask_1 */
    9640              : 
    9641              :         default:
    9642              :           return -1;
    9643              :         }
    9644              : 
    9645              :     default:
    9646              :       return -1;
    9647              :     }
    9648              : }
    9649              : 
    9650              :  int
    9651              : recog_103 (rtx x1 ATTRIBUTE_UNUSED,
    9652              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9653              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9654              : {
    9655              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9656              :   rtx x2;
    9657              :   int res ATTRIBUTE_UNUSED;
    9658              :   switch (GET_MODE (operands[0]))
    9659              :     {
    9660              :     case E_DImode:
    9661              :       if (pnum_clobbers != NULL)
    9662              :         {
    9663              :           x2 = XEXP (x1, 1);
    9664              :           if (pattern858 (x2, 
    9665              : E_DImode, 
    9666              : E_QImode) == 0
    9667              :               && 
    9668              : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9669              : (!TARGET_64BIT))
    9670              :             {
    9671              :               *pnum_clobbers = 1;
    9672              :               return 1163; /* ashrdi3_doubleword */
    9673              :             }
    9674              :         }
    9675              :       x2 = XEXP (x1, 1);
    9676              :       if (GET_MODE (x2) != E_DImode
    9677              :           || !nonimmediate_operand (operands[1], E_DImode))
    9678              :         return -1;
    9679              :       if (nonimmediate_operand (operands[0], E_DImode)
    9680              :           && const_int_operand (operands[2], E_QImode))
    9681              :         {
    9682              :           if ((
    9683              : #line 17580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9684              : (INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)-1
    9685              :    && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
    9686              :    && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
    9687              :    && TARGET_APX_NF) && 
    9688              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9689              : (TARGET_64BIT)))
    9690              :             return 1200; /* ashrdi3_cvt_nf */
    9691              :           if (pnum_clobbers != NULL
    9692              :               && (
    9693              : #line 17580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9694              : (INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)-1
    9695              :    && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
    9696              :    && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
    9697              :    && true) && 
    9698              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9699              : (TARGET_64BIT)))
    9700              :             {
    9701              :               *pnum_clobbers = 1;
    9702              :               return 1201; /* ashrdi3_cvt */
    9703              :             }
    9704              :         }
    9705              :       if (register_operand (operands[0], E_DImode)
    9706              :           && register_operand (operands[2], E_DImode)
    9707              :           && (
    9708              : #line 17649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9709              : (TARGET_BMI2) && 
    9710              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9711              : (TARGET_64BIT)))
    9712              :         return 1206; /* *bmi2_ashrdi3_1 */
    9713              :       if (!nonimmediate_operand (operands[0], E_DImode)
    9714              :           || !nonmemory_operand (operands[2], E_QImode))
    9715              :         return -1;
    9716              :       if ((
    9717              : #line 17659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9718              : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
    9719              :    && TARGET_APX_NF) && 
    9720              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9721              : (TARGET_64BIT)))
    9722              :         return 1209; /* *ashrdi3_1_nf */
    9723              :       if (pnum_clobbers == NULL
    9724              :           || !(
    9725              : #line 17659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9726              : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
    9727              :    && true) && 
    9728              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9729              : (TARGET_64BIT)))
    9730              :         return -1;
    9731              :       *pnum_clobbers = 1;
    9732              :       return 1210; /* *ashrdi3_1 */
    9733              : 
    9734              :     case E_SImode:
    9735              :       x2 = XEXP (x1, 1);
    9736              :       if (pattern635 (x2, 
    9737              : E_SImode) != 0)
    9738              :         return -1;
    9739              :       if (
    9740              : #line 17659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9741              : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
    9742              :    && TARGET_APX_NF))
    9743              :         return 1207; /* *ashrsi3_1_nf */
    9744              :       if (pnum_clobbers == NULL
    9745              :           || !
    9746              : #line 17659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9747              : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
    9748              :    && true))
    9749              :         return -1;
    9750              :       *pnum_clobbers = 1;
    9751              :       return 1208; /* *ashrsi3_1 */
    9752              : 
    9753              :     default:
    9754              :       return -1;
    9755              :     }
    9756              : }
    9757              : 
    9758              :  int
    9759              : recog_108 (rtx x1 ATTRIBUTE_UNUSED,
    9760              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9761              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9762              : {
    9763              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9764              :   rtx x2, x3, x4, x5, x6, x7, x8;
    9765              :   int res ATTRIBUTE_UNUSED;
    9766              :   x2 = XEXP (x1, 0);
    9767              :   if (GET_CODE (x2) == SUBREG
    9768              :       && known_eq (SUBREG_BYTE (x2), 0))
    9769              :     {
    9770              :       x3 = XEXP (x2, 0);
    9771              :       operands[0] = x3;
    9772              :       if (register_operand (operands[0], E_QImode))
    9773              :         {
    9774              :           x4 = XEXP (x1, 1);
    9775              :           x5 = XEXP (x4, 2);
    9776              :           operands[2] = x5;
    9777              :           if (register_operand (operands[2], E_QImode))
    9778              :             {
    9779              :               switch (GET_MODE (x2))
    9780              :                 {
    9781              :                 case E_SImode:
    9782              :                   if (GET_MODE (x4) == E_SImode
    9783              :                       && register_operand (operands[1], E_SImode)
    9784              :                       && 
    9785              : #line 19684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9786              : (TARGET_USE_BT && ix86_pre_reload_split ()))
    9787              :                     {
    9788              :                       *pnum_clobbers = 1;
    9789              :                       return 1466; /* *btsi_setcqi */
    9790              :                     }
    9791              :                   break;
    9792              : 
    9793              :                 case E_DImode:
    9794              :                   if (GET_MODE (x4) == E_DImode
    9795              :                       && register_operand (operands[1], E_DImode)
    9796              :                       && (
    9797              : #line 19684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9798              : (TARGET_USE_BT && ix86_pre_reload_split ()) && 
    9799              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9800              : (TARGET_64BIT)))
    9801              :                     {
    9802              :                       *pnum_clobbers = 1;
    9803              :                       return 1467; /* *btdi_setcqi */
    9804              :                     }
    9805              :                   break;
    9806              : 
    9807              :                 default:
    9808              :                   break;
    9809              :                 }
    9810              :             }
    9811              :         }
    9812              :     }
    9813              :   x4 = XEXP (x1, 1);
    9814              :   x5 = XEXP (x4, 2);
    9815              :   if (GET_CODE (x5) != SUBREG
    9816              :       || maybe_ne (SUBREG_BYTE (x5), 0)
    9817              :       || GET_MODE (x5) != E_QImode)
    9818              :     return -1;
    9819              :   x6 = XEXP (x5, 0);
    9820              :   if (GET_CODE (x6) != AND)
    9821              :     return -1;
    9822              :   operands[0] = x2;
    9823              :   x7 = XEXP (x6, 0);
    9824              :   operands[2] = x7;
    9825              :   x8 = XEXP (x6, 1);
    9826              :   operands[3] = x8;
    9827              :   if (!const_int_operand (operands[3], E_VOIDmode))
    9828              :     return -1;
    9829              :   switch (GET_MODE (operands[0]))
    9830              :     {
    9831              :     case E_SImode:
    9832              :       if (pattern1465 (x4, 
    9833              : E_SImode) != 0
    9834              :           || !
    9835              : #line 19765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9836              : (TARGET_USE_BT
    9837              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
    9838              :       == GET_MODE_BITSIZE (SImode)-1
    9839              :    && ix86_pre_reload_split ()))
    9840              :         return -1;
    9841              :       *pnum_clobbers = 1;
    9842              :       return 1474; /* *btsi_setcsi_mask */
    9843              : 
    9844              :     case E_DImode:
    9845              :       if (pattern1465 (x4, 
    9846              : E_DImode) != 0
    9847              :           || !(
    9848              : #line 19765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9849              : (TARGET_USE_BT
    9850              :    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
    9851              :       == GET_MODE_BITSIZE (DImode)-1
    9852              :    && ix86_pre_reload_split ()) && 
    9853              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9854              : (TARGET_64BIT)))
    9855              :         return -1;
    9856              :       *pnum_clobbers = 1;
    9857              :       return 1475; /* *btdi_setcdi_mask */
    9858              : 
    9859              :     default:
    9860              :       return -1;
    9861              :     }
    9862              : }
    9863              : 
    9864              :  int
    9865              : recog_109 (rtx x1 ATTRIBUTE_UNUSED,
    9866              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9867              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9868              : {
    9869              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9870              :   rtx x2, x3, x4, x5, x6;
    9871              :   int res ATTRIBUTE_UNUSED;
    9872              :   if (pnum_clobbers == NULL)
    9873              :     return -1;
    9874              :   x2 = XEXP (x1, 1);
    9875              :   x3 = XEXP (x2, 1);
    9876              :   if (GET_CODE (x3) != CONST_INT)
    9877              :     return -1;
    9878              :   x4 = XEXP (x2, 0);
    9879              :   operands[1] = x4;
    9880              :   if (XWINT (x3, 0) == 1L)
    9881              :     {
    9882              :       res = recog_108 (x1, insn, pnum_clobbers);
    9883              :       if (res >= 0)
    9884              :         return res;
    9885              :     }
    9886              :   x5 = XEXP (x1, 0);
    9887              :   operands[0] = x5;
    9888              :   operands[2] = x3;
    9889              :   if (!const_0_to_255_operand (operands[2], E_QImode))
    9890              :     return -1;
    9891              :   x6 = XEXP (x2, 2);
    9892              :   operands[3] = x6;
    9893              :   if (!const_0_to_255_operand (operands[3], E_QImode))
    9894              :     return -1;
    9895              :   switch (pattern132 (x2))
    9896              :     {
    9897              :     case 0:
    9898              :       if (!
    9899              : #line 22526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9900              : (TARGET_TBM))
    9901              :         return -1;
    9902              :       *pnum_clobbers = 1;
    9903              :       return 1638; /* tbm_bextri_si */
    9904              : 
    9905              :     case 1:
    9906              :       if (!(
    9907              : #line 22526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9908              : (TARGET_TBM) && 
    9909              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9910              : (TARGET_64BIT)))
    9911              :         return -1;
    9912              :       *pnum_clobbers = 1;
    9913              :       return 1639; /* tbm_bextri_di */
    9914              : 
    9915              :     default:
    9916              :       return -1;
    9917              :     }
    9918              : }
    9919              : 
    9920              :  int
    9921              : recog_111 (rtx x1 ATTRIBUTE_UNUSED,
    9922              :         rtx_insn *insn ATTRIBUTE_UNUSED,
    9923              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
    9924              : {
    9925              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
    9926              :   rtx x2, x3, x4, x5;
    9927              :   int res ATTRIBUTE_UNUSED;
    9928              :   x2 = XEXP (x1, 1);
    9929              :   if (GET_MODE (x2) != E_SImode)
    9930              :     return -1;
    9931              :   x3 = XEXP (x1, 0);
    9932              :   operands[0] = x3;
    9933              :   if (!register_operand (operands[0], E_SImode))
    9934              :     return -1;
    9935              :   x4 = XVECEXP (x2, 0, 0);
    9936              :   switch (GET_CODE (x4))
    9937              :     {
    9938              :     case REG:
    9939              :     case SUBREG:
    9940              :       operands[1] = x4;
    9941              :       switch (GET_MODE (operands[1]))
    9942              :         {
    9943              :         case E_DFmode:
    9944              :           if (register_operand (operands[1], E_DFmode)
    9945              :               && 
    9946              : #line 25869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
    9947              : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
    9948              :             return 1793; /* movmsk_df */
    9949              :           break;
    9950              : 
    9951              :         case E_V8QImode:
    9952              :           if (register_operand (operands[1], E_V8QImode)
    9953              :               && 
    9954              : #line 6851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
    9955              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
    9956              :    && (TARGET_SSE || TARGET_3DNOW_A)))
    9957              :             return 2440; /* mmx_pmovmskb */
    9958              :           break;
    9959              : 
    9960              :         case E_V8SFmode:
    9961              :           if (register_operand (operands[1], E_V8SFmode)
    9962              :               && (
    9963              : #line 22286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9964              : (TARGET_SSE) && 
    9965              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9966              : (TARGET_AVX)))
    9967              :             return 8552; /* avx_movmskps256 */
    9968              :           break;
    9969              : 
    9970              :         case E_V4SFmode:
    9971              :           if (register_operand (operands[1], E_V4SFmode)
    9972              :               && 
    9973              : #line 22286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9974              : (TARGET_SSE))
    9975              :             return 8553; /* sse_movmskps */
    9976              :           break;
    9977              : 
    9978              :         case E_V4DFmode:
    9979              :           if (register_operand (operands[1], E_V4DFmode)
    9980              :               && (
    9981              : #line 22286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9982              : (TARGET_SSE) && 
    9983              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9984              : (TARGET_AVX)))
    9985              :             return 8554; /* avx_movmskpd256 */
    9986              :           break;
    9987              : 
    9988              :         case E_V2DFmode:
    9989              :           if (register_operand (operands[1], E_V2DFmode)
    9990              :               && (
    9991              : #line 22286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9992              : (TARGET_SSE) && 
    9993              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
    9994              : (TARGET_SSE2)))
    9995              :             return 8555; /* sse2_movmskpd */
    9996              :           break;
    9997              : 
    9998              :         case E_V32QImode:
    9999              :           if (register_operand (operands[1], E_V32QImode)
   10000              :               && (
   10001              : #line 22436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10002              : (TARGET_SSE2) && 
   10003              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10004              : (TARGET_AVX2)))
   10005              :             return 8600; /* avx2_pmovmskb */
   10006              :           break;
   10007              : 
   10008              :         case E_V16QImode:
   10009              :           if (register_operand (operands[1], E_V16QImode)
   10010              :               && 
   10011              : #line 22436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10012              : (TARGET_SSE2))
   10013              :             return 8601; /* sse2_pmovmskb */
   10014              :           break;
   10015              : 
   10016              :         default:
   10017              :           break;
   10018              :         }
   10019              :       if (GET_CODE (x4) != SUBREG
   10020              :           || maybe_ne (SUBREG_BYTE (x4), 0))
   10021              :         return -1;
   10022              :       x5 = XEXP (x4, 0);
   10023              :       switch (GET_CODE (x5))
   10024              :         {
   10025              :         case VEC_MERGE:
   10026              :           switch (pattern1106 (x4))
   10027              :             {
   10028              :             case 0:
   10029              :               if (!(
   10030              : #line 22337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10031              : (TARGET_SSE) && 
   10032              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10033              : (TARGET_AVX)))
   10034              :                 return -1;
   10035              :               return 8568; /* *avx_movmskps256_lt_avx512 */
   10036              : 
   10037              :             case 1:
   10038              :               if (!
   10039              : #line 22337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10040              : (TARGET_SSE))
   10041              :                 return -1;
   10042              :               return 8569; /* *sse_movmskps_lt_avx512 */
   10043              : 
   10044              :             case 2:
   10045              :               if (!(
   10046              : #line 22337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10047              : (TARGET_SSE) && 
   10048              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10049              : (TARGET_AVX)))
   10050              :                 return -1;
   10051              :               return 8570; /* *avx_movmskpd256_lt_avx512 */
   10052              : 
   10053              :             case 3:
   10054              :               if (!(
   10055              : #line 22337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10056              : (TARGET_SSE) && 
   10057              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10058              : (TARGET_SSE2)))
   10059              :                 return -1;
   10060              :               return 8571; /* *sse2_movmskpd_lt_avx512 */
   10061              : 
   10062              :             default:
   10063              :               return -1;
   10064              :             }
   10065              : 
   10066              :         case ASHIFTRT:
   10067              :           switch (pattern1107 (x4))
   10068              :             {
   10069              :             case 0:
   10070              :               if (!(
   10071              : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10072              : (TARGET_SSE) && 
   10073              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10074              : (TARGET_AVX)))
   10075              :                 return -1;
   10076              :               return 8588; /* *avx_movmskps256_shift */
   10077              : 
   10078              :             case 1:
   10079              :               if (!
   10080              : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10081              : (TARGET_SSE))
   10082              :                 return -1;
   10083              :               return 8589; /* *sse_movmskps_shift */
   10084              : 
   10085              :             case 2:
   10086              :               if (!(
   10087              : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10088              : (TARGET_SSE) && 
   10089              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10090              : (TARGET_AVX)))
   10091              :                 return -1;
   10092              :               return 8590; /* *avx_movmskpd256_shift */
   10093              : 
   10094              :             case 3:
   10095              :               if (!(
   10096              : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10097              : (TARGET_SSE) && 
   10098              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10099              : (TARGET_SSE2)))
   10100              :                 return -1;
   10101              :               return 8591; /* *sse2_movmskpd_shift */
   10102              : 
   10103              :             default:
   10104              :               return -1;
   10105              :             }
   10106              : 
   10107              :         default:
   10108              :           return -1;
   10109              :         }
   10110              : 
   10111              :     case LT:
   10112              :       switch (pattern769 (x4))
   10113              :         {
   10114              :         case 0:
   10115              :           if (!(
   10116              : #line 22313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10117              : (TARGET_SSE) && 
   10118              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10119              : (TARGET_AVX)))
   10120              :             return -1;
   10121              :           return 8564; /* *avx_movmskps256_lt */
   10122              : 
   10123              :         case 1:
   10124              :           if (!
   10125              : #line 22313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10126              : (TARGET_SSE))
   10127              :             return -1;
   10128              :           return 8565; /* *sse_movmskps_lt */
   10129              : 
   10130              :         case 2:
   10131              :           if (!(
   10132              : #line 22313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10133              : (TARGET_SSE) && 
   10134              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10135              : (TARGET_AVX)))
   10136              :             return -1;
   10137              :           return 8566; /* *avx_movmskpd256_lt */
   10138              : 
   10139              :         case 3:
   10140              :           if (!(
   10141              : #line 22313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10142              : (TARGET_SSE) && 
   10143              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10144              : (TARGET_SSE2)))
   10145              :             return -1;
   10146              :           return 8567; /* *sse2_movmskpd_lt */
   10147              : 
   10148              :         case 4:
   10149              :           if (!(
   10150              : #line 22565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10151              : (TARGET_SSE2) && 
   10152              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10153              : (TARGET_AVX2)))
   10154              :             return -1;
   10155              :           return 8606; /* *avx2_pmovmskb_lt */
   10156              : 
   10157              :         case 5:
   10158              :           if (!
   10159              : #line 22565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10160              : (TARGET_SSE2))
   10161              :             return -1;
   10162              :           return 8607; /* *sse2_pmovmskb_lt */
   10163              : 
   10164              :         default:
   10165              :           return -1;
   10166              :         }
   10167              : 
   10168              :     case VEC_MERGE:
   10169              :       switch (pattern771 (x4))
   10170              :         {
   10171              :         case 0:
   10172              :           if (!(
   10173              : #line 22593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10174              : (TARGET_SSE2) && 
   10175              : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10176              : (TARGET_AVX2)))
   10177              :             return -1;
   10178              :           return 8608; /* *avx2_pmovmskb_lt_avx512 */
   10179              : 
   10180              :         case 1:
   10181              :           if (!
   10182              : #line 22593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10183              : (TARGET_SSE2))
   10184              :             return -1;
   10185              :           return 8609; /* *sse2_pmovmskb_lt_avx512 */
   10186              : 
   10187              :         case 2:
   10188              :           if (!
   10189              : #line 22721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10190              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   10191              :             return -1;
   10192              :           return 8617; /* *pmovsk_kmask_v16qi_avx512 */
   10193              : 
   10194              :         case 3:
   10195              :           if (!
   10196              : #line 22735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10197              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   10198              :             return -1;
   10199              :           return 8618; /* *pmovsk_mask_v32qi_avx512 */
   10200              : 
   10201              :         default:
   10202              :           return -1;
   10203              :         }
   10204              : 
   10205              :     default:
   10206              :       return -1;
   10207              :     }
   10208              : }
   10209              : 
   10210              :  int
   10211              : recog_125 (rtx x1 ATTRIBUTE_UNUSED,
   10212              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10213              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10214              : {
   10215              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10216              :   rtx x2, x3, x4, x5, x6;
   10217              :   int res ATTRIBUTE_UNUSED;
   10218              :   x2 = XEXP (x1, 1);
   10219              :   x3 = XEXP (x2, 0);
   10220              :   x4 = XVECEXP (x3, 0, 0);
   10221              :   operands[1] = x4;
   10222              :   x5 = XEXP (x2, 2);
   10223              :   switch (GET_CODE (x5))
   10224              :     {
   10225              :     case REG:
   10226              :     case SUBREG:
   10227              :       operands[3] = x5;
   10228              :       switch (GET_MODE (operands[0]))
   10229              :         {
   10230              :         case E_V16SImode:
   10231              :           if (pattern1003 (x2, 
   10232              : E_V16SImode, 
   10233              : E_HImode) != 0
   10234              :               || !
   10235              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10236              : (TARGET_AVX512F))
   10237              :             return -1;
   10238              :           return 2505; /* *avx512f_loadv16si_mask */
   10239              : 
   10240              :         case E_V8SImode:
   10241              :           if (pattern1003 (x2, 
   10242              : E_V8SImode, 
   10243              : E_QImode) != 0
   10244              :               || !(
   10245              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10246              : (TARGET_AVX512F) && 
   10247              : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10248              : (TARGET_AVX512VL)))
   10249              :             return -1;
   10250              :           return 2506; /* *avx512vl_loadv8si_mask */
   10251              : 
   10252              :         case E_V4SImode:
   10253              :           if (pattern1003 (x2, 
   10254              : E_V4SImode, 
   10255              : E_QImode) != 0
   10256              :               || !(
   10257              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10258              : (TARGET_AVX512F) && 
   10259              : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10260              : (TARGET_AVX512VL)))
   10261              :             return -1;
   10262              :           return 2507; /* *avx512vl_loadv4si_mask */
   10263              : 
   10264              :         case E_V8DImode:
   10265              :           if (pattern1003 (x2, 
   10266              : E_V8DImode, 
   10267              : E_QImode) != 0
   10268              :               || !
   10269              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10270              : (TARGET_AVX512F))
   10271              :             return -1;
   10272              :           return 2508; /* *avx512f_loadv8di_mask */
   10273              : 
   10274              :         case E_V4DImode:
   10275              :           if (pattern1003 (x2, 
   10276              : E_V4DImode, 
   10277              : E_QImode) != 0
   10278              :               || !(
   10279              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10280              : (TARGET_AVX512F) && 
   10281              : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10282              : (TARGET_AVX512VL)))
   10283              :             return -1;
   10284              :           return 2509; /* *avx512vl_loadv4di_mask */
   10285              : 
   10286              :         case E_V2DImode:
   10287              :           if (pattern1003 (x2, 
   10288              : E_V2DImode, 
   10289              : E_QImode) != 0
   10290              :               || !(
   10291              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10292              : (TARGET_AVX512F) && 
   10293              : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10294              : (TARGET_AVX512VL)))
   10295              :             return -1;
   10296              :           return 2510; /* *avx512vl_loadv2di_mask */
   10297              : 
   10298              :         case E_V16SFmode:
   10299              :           if (pattern1003 (x2, 
   10300              : E_V16SFmode, 
   10301              : E_HImode) != 0
   10302              :               || !
   10303              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10304              : (TARGET_AVX512F))
   10305              :             return -1;
   10306              :           return 2511; /* *avx512f_loadv16sf_mask */
   10307              : 
   10308              :         case E_V8SFmode:
   10309              :           if (pattern1003 (x2, 
   10310              : E_V8SFmode, 
   10311              : E_QImode) != 0
   10312              :               || !(
   10313              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10314              : (TARGET_AVX512F) && 
   10315              : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10316              : (TARGET_AVX512VL)))
   10317              :             return -1;
   10318              :           return 2512; /* *avx512vl_loadv8sf_mask */
   10319              : 
   10320              :         case E_V4SFmode:
   10321              :           if (pattern1003 (x2, 
   10322              : E_V4SFmode, 
   10323              : E_QImode) != 0
   10324              :               || !(
   10325              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10326              : (TARGET_AVX512F) && 
   10327              : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10328              : (TARGET_AVX512VL)))
   10329              :             return -1;
   10330              :           return 2513; /* *avx512vl_loadv4sf_mask */
   10331              : 
   10332              :         case E_V8DFmode:
   10333              :           if (pattern1003 (x2, 
   10334              : E_V8DFmode, 
   10335              : E_QImode) != 0
   10336              :               || !
   10337              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10338              : (TARGET_AVX512F))
   10339              :             return -1;
   10340              :           return 2514; /* *avx512f_loadv8df_mask */
   10341              : 
   10342              :         case E_V4DFmode:
   10343              :           if (pattern1003 (x2, 
   10344              : E_V4DFmode, 
   10345              : E_QImode) != 0
   10346              :               || !(
   10347              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10348              : (TARGET_AVX512F) && 
   10349              : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10350              : (TARGET_AVX512VL)))
   10351              :             return -1;
   10352              :           return 2515; /* *avx512vl_loadv4df_mask */
   10353              : 
   10354              :         case E_V2DFmode:
   10355              :           if (pattern1003 (x2, 
   10356              : E_V2DFmode, 
   10357              : E_QImode) != 0
   10358              :               || !(
   10359              : #line 1595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10360              : (TARGET_AVX512F) && 
   10361              : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10362              : (TARGET_AVX512VL)))
   10363              :             return -1;
   10364              :           return 2516; /* *avx512vl_loadv2df_mask */
   10365              : 
   10366              :         case E_V64QImode:
   10367              :           if (pattern1003 (x2, 
   10368              : E_V64QImode, 
   10369              : E_DImode) != 0
   10370              :               || !
   10371              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10372              : (TARGET_AVX512BW))
   10373              :             return -1;
   10374              :           return 2535; /* *avx512bw_loadv64qi_mask */
   10375              : 
   10376              :         case E_V16QImode:
   10377              :           if (pattern1003 (x2, 
   10378              : E_V16QImode, 
   10379              : E_HImode) != 0
   10380              :               || !(
   10381              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10382              : (TARGET_AVX512BW) && 
   10383              : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10384              : (TARGET_AVX512VL)))
   10385              :             return -1;
   10386              :           return 2536; /* *avx512vl_loadv16qi_mask */
   10387              : 
   10388              :         case E_V32QImode:
   10389              :           if (pattern1003 (x2, 
   10390              : E_V32QImode, 
   10391              : E_SImode) != 0
   10392              :               || !(
   10393              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10394              : (TARGET_AVX512BW) && 
   10395              : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10396              : (TARGET_AVX512VL)))
   10397              :             return -1;
   10398              :           return 2537; /* *avx512vl_loadv32qi_mask */
   10399              : 
   10400              :         case E_V32HImode:
   10401              :           if (pattern1003 (x2, 
   10402              : E_V32HImode, 
   10403              : E_SImode) != 0
   10404              :               || !
   10405              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10406              : (TARGET_AVX512BW))
   10407              :             return -1;
   10408              :           return 2538; /* *avx512bw_loadv32hi_mask */
   10409              : 
   10410              :         case E_V16HImode:
   10411              :           if (pattern1003 (x2, 
   10412              : E_V16HImode, 
   10413              : E_HImode) != 0
   10414              :               || !(
   10415              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10416              : (TARGET_AVX512BW) && 
   10417              : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10418              : (TARGET_AVX512VL)))
   10419              :             return -1;
   10420              :           return 2539; /* *avx512vl_loadv16hi_mask */
   10421              : 
   10422              :         case E_V8HImode:
   10423              :           if (pattern1003 (x2, 
   10424              : E_V8HImode, 
   10425              : E_QImode) != 0
   10426              :               || !(
   10427              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10428              : (TARGET_AVX512BW) && 
   10429              : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10430              : (TARGET_AVX512VL)))
   10431              :             return -1;
   10432              :           return 2540; /* *avx512vl_loadv8hi_mask */
   10433              : 
   10434              :         case E_V32HFmode:
   10435              :           if (pattern1003 (x2, 
   10436              : E_V32HFmode, 
   10437              : E_SImode) != 0
   10438              :               || !
   10439              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10440              : (TARGET_AVX512BW))
   10441              :             return -1;
   10442              :           return 2541; /* *avx512bw_loadv32hf_mask */
   10443              : 
   10444              :         case E_V16HFmode:
   10445              :           if (pattern1003 (x2, 
   10446              : E_V16HFmode, 
   10447              : E_HImode) != 0
   10448              :               || !(
   10449              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10450              : (TARGET_AVX512BW) && 
   10451              : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10452              : (TARGET_AVX512VL)))
   10453              :             return -1;
   10454              :           return 2542; /* *avx512vl_loadv16hf_mask */
   10455              : 
   10456              :         case E_V8HFmode:
   10457              :           if (pattern1003 (x2, 
   10458              : E_V8HFmode, 
   10459              : E_QImode) != 0
   10460              :               || !(
   10461              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10462              : (TARGET_AVX512BW) && 
   10463              : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10464              : (TARGET_AVX512VL)))
   10465              :             return -1;
   10466              :           return 2543; /* *avx512fp16_loadv8hf_mask */
   10467              : 
   10468              :         case E_V32BFmode:
   10469              :           if (pattern1003 (x2, 
   10470              : E_V32BFmode, 
   10471              : E_SImode) != 0
   10472              :               || !
   10473              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10474              : (TARGET_AVX512BW))
   10475              :             return -1;
   10476              :           return 2544; /* *avx512bw_loadv32bf_mask */
   10477              : 
   10478              :         case E_V16BFmode:
   10479              :           if (pattern1003 (x2, 
   10480              : E_V16BFmode, 
   10481              : E_HImode) != 0
   10482              :               || !(
   10483              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10484              : (TARGET_AVX512BW) && 
   10485              : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10486              : (TARGET_AVX512VL)))
   10487              :             return -1;
   10488              :           return 2545; /* *avx512vl_loadv16bf_mask */
   10489              : 
   10490              :         case E_V8BFmode:
   10491              :           if (pattern1003 (x2, 
   10492              : E_V8BFmode, 
   10493              : E_QImode) != 0
   10494              :               || !(
   10495              : #line 1692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10496              : (TARGET_AVX512BW) && 
   10497              : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10498              : (TARGET_AVX512VL)))
   10499              :             return -1;
   10500              :           return 2546; /* *avx512vl_loadv8bf_mask */
   10501              : 
   10502              :         default:
   10503              :           return -1;
   10504              :         }
   10505              : 
   10506              :     case AND:
   10507              :       if (GET_MODE (x5) != E_QImode)
   10508              :         return -1;
   10509              :       x6 = XEXP (x5, 1);
   10510              :       if (GET_CODE (x6) != CONST_INT)
   10511              :         return -1;
   10512              :       switch (pattern1111 (x2))
   10513              :         {
   10514              :         case 0:
   10515              :           if (!(
   10516              : #line 1636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10517              : (TARGET_AVX512F) && 
   10518              : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10519              : (TARGET_AVX512VL)))
   10520              :             return -1;
   10521              :           return 2529; /* *avx512vl_loadv4sfmask_and15 */
   10522              : 
   10523              :         case 1:
   10524              :           if (!(
   10525              : #line 1636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10526              : (TARGET_AVX512F) && 
   10527              : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10528              : (TARGET_AVX512VL)))
   10529              :             return -1;
   10530              :           return 2530; /* *avx512vl_loadv4dfmask_and15 */
   10531              : 
   10532              :         case 2:
   10533              :           if (!(
   10534              : #line 1636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10535              : (TARGET_AVX512F) && 
   10536              : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10537              : (TARGET_AVX512VL)))
   10538              :             return -1;
   10539              :           return 2531; /* *avx512vl_loadv4simask_and15 */
   10540              : 
   10541              :         case 3:
   10542              :           if (!(
   10543              : #line 1636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10544              : (TARGET_AVX512F) && 
   10545              : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10546              : (TARGET_AVX512VL)))
   10547              :             return -1;
   10548              :           return 2532; /* *avx512vl_loadv4dimask_and15 */
   10549              : 
   10550              :         case 4:
   10551              :           if (!(
   10552              : #line 1655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10553              : (TARGET_AVX512F) && 
   10554              : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10555              : (TARGET_AVX512VL)))
   10556              :             return -1;
   10557              :           return 2533; /* *avx512vl_loadv2dfmask_and3 */
   10558              : 
   10559              :         case 5:
   10560              :           if (!(
   10561              : #line 1655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10562              : (TARGET_AVX512F) && 
   10563              : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10564              : (TARGET_AVX512VL)))
   10565              :             return -1;
   10566              :           return 2534; /* *avx512vl_loadv2dimask_and3 */
   10567              : 
   10568              :         default:
   10569              :           return -1;
   10570              :         }
   10571              : 
   10572              :     default:
   10573              :       return -1;
   10574              :     }
   10575              : }
   10576              : 
   10577              :  int
   10578              : recog_131 (rtx x1 ATTRIBUTE_UNUSED,
   10579              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10580              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10581              : {
   10582              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10583              :   rtx x2, x3, x4, x5;
   10584              :   int res ATTRIBUTE_UNUSED;
   10585              :   x2 = XEXP (x1, 1);
   10586              :   x3 = XEXP (x2, 0);
   10587              :   x4 = XVECEXP (x3, 0, 0);
   10588              :   operands[1] = x4;
   10589              :   x5 = XEXP (x2, 2);
   10590              :   operands[3] = x5;
   10591              :   switch (GET_MODE (operands[0]))
   10592              :     {
   10593              :     case E_V32HFmode:
   10594              :       if (pattern1001 (x2, 
   10595              : E_V32HFmode, 
   10596              : E_SImode) != 0
   10597              :           || !(
   10598              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10599              : (TARGET_AVX512F) && (
   10600              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10601              : (TARGET_AVX512F) && 
   10602              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10603              : (TARGET_AVX512FP16))))
   10604              :         return -1;
   10605              :       return 7057; /* avx512bw_getexpv32hf_mask */
   10606              : 
   10607              :     case E_V16HFmode:
   10608              :       if (pattern1001 (x2, 
   10609              : E_V16HFmode, 
   10610              : E_HImode) != 0
   10611              :           || !(
   10612              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10613              : (TARGET_AVX512F) && (
   10614              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10615              : (TARGET_AVX512F) && 
   10616              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10617              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   10618              :         return -1;
   10619              :       return 7061; /* avx512vl_getexpv16hf_mask */
   10620              : 
   10621              :     case E_V8HFmode:
   10622              :       if (pattern1001 (x2, 
   10623              : E_V8HFmode, 
   10624              : E_QImode) != 0
   10625              :           || !(
   10626              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10627              : (TARGET_AVX512F) && (
   10628              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10629              : (TARGET_AVX512F) && 
   10630              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10631              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   10632              :         return -1;
   10633              :       return 7065; /* avx512fp16_getexpv8hf_mask */
   10634              : 
   10635              :     case E_V16SFmode:
   10636              :       if (pattern1001 (x2, 
   10637              : E_V16SFmode, 
   10638              : E_HImode) != 0
   10639              :           || !
   10640              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10641              : (TARGET_AVX512F))
   10642              :         return -1;
   10643              :       return 7069; /* avx512f_getexpv16sf_mask */
   10644              : 
   10645              :     case E_V8SFmode:
   10646              :       if (pattern1001 (x2, 
   10647              : E_V8SFmode, 
   10648              : E_QImode) != 0
   10649              :           || !(
   10650              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10651              : (TARGET_AVX512F) && (
   10652              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10653              : (TARGET_AVX512F) && 
   10654              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10655              : (TARGET_AVX512VL))))
   10656              :         return -1;
   10657              :       return 7073; /* avx512vl_getexpv8sf_mask */
   10658              : 
   10659              :     case E_V4SFmode:
   10660              :       if (pattern1001 (x2, 
   10661              : E_V4SFmode, 
   10662              : E_QImode) != 0
   10663              :           || !(
   10664              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10665              : (TARGET_AVX512F) && (
   10666              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10667              : (TARGET_AVX512F) && 
   10668              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10669              : (TARGET_AVX512VL))))
   10670              :         return -1;
   10671              :       return 7077; /* avx512vl_getexpv4sf_mask */
   10672              : 
   10673              :     case E_V8DFmode:
   10674              :       if (pattern1001 (x2, 
   10675              : E_V8DFmode, 
   10676              : E_QImode) != 0
   10677              :           || !
   10678              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10679              : (TARGET_AVX512F))
   10680              :         return -1;
   10681              :       return 7081; /* avx512f_getexpv8df_mask */
   10682              : 
   10683              :     case E_V4DFmode:
   10684              :       if (pattern1001 (x2, 
   10685              : E_V4DFmode, 
   10686              : E_QImode) != 0
   10687              :           || !(
   10688              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10689              : (TARGET_AVX512F) && (
   10690              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10691              : (TARGET_AVX512F) && 
   10692              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10693              : (TARGET_AVX512VL))))
   10694              :         return -1;
   10695              :       return 7085; /* avx512vl_getexpv4df_mask */
   10696              : 
   10697              :     case E_V2DFmode:
   10698              :       if (pattern1001 (x2, 
   10699              : E_V2DFmode, 
   10700              : E_QImode) != 0
   10701              :           || !(
   10702              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10703              : (TARGET_AVX512F) && (
   10704              : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10705              : (TARGET_AVX512F) && 
   10706              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10707              : (TARGET_AVX512VL))))
   10708              :         return -1;
   10709              :       return 7089; /* avx512vl_getexpv2df_mask */
   10710              : 
   10711              :     case E_V32BFmode:
   10712              :       if (pattern638 (x2, 
   10713              : E_V32BFmode, 
   10714              : E_SImode) != 0
   10715              :           || !(
   10716              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10717              : (TARGET_AVX512F) && 
   10718              : #line 33126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10719              : (TARGET_AVX10_2)))
   10720              :         return -1;
   10721              :       return 10768; /* avx10_2_getexpbf16_v32bf_mask */
   10722              : 
   10723              :     case E_V16BFmode:
   10724              :       if (pattern638 (x2, 
   10725              : E_V16BFmode, 
   10726              : E_HImode) != 0
   10727              :           || !(
   10728              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10729              : (TARGET_AVX512F) && 
   10730              : #line 33126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10731              : (TARGET_AVX10_2)))
   10732              :         return -1;
   10733              :       return 10770; /* avx10_2_getexpbf16_v16bf_mask */
   10734              : 
   10735              :     case E_V8BFmode:
   10736              :       if (pattern638 (x2, 
   10737              : E_V8BFmode, 
   10738              : E_QImode) != 0
   10739              :           || !(
   10740              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   10741              : (TARGET_AVX512F) && 
   10742              : #line 33126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10743              : (TARGET_AVX10_2)))
   10744              :         return -1;
   10745              :       return 10772; /* avx10_2_getexpbf16_v8bf_mask */
   10746              : 
   10747              :     default:
   10748              :       return -1;
   10749              :     }
   10750              : }
   10751              : 
   10752              :  int
   10753              : recog_139 (rtx x1 ATTRIBUTE_UNUSED,
   10754              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10755              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10756              : {
   10757              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10758              :   rtx x2;
   10759              :   int res ATTRIBUTE_UNUSED;
   10760              :   x2 = XEXP (x1, 1);
   10761              :   switch (pattern485 (x2))
   10762              :     {
   10763              :     case 0:
   10764              :       if (!
   10765              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10766              : (TARGET_AVX512VBMI2))
   10767              :         return -1;
   10768              :       return 10328; /* vpshldv_v32hi_mask */
   10769              : 
   10770              :     case 1:
   10771              :       if (!
   10772              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10773              : (TARGET_AVX512VBMI2))
   10774              :         return -1;
   10775              :       return 10329; /* vpshldv_v16si_mask */
   10776              : 
   10777              :     case 2:
   10778              :       if (!
   10779              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10780              : (TARGET_AVX512VBMI2))
   10781              :         return -1;
   10782              :       return 10330; /* vpshldv_v8di_mask */
   10783              : 
   10784              :     case 3:
   10785              :       if (!(
   10786              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10787              : (TARGET_AVX512VBMI2) && 
   10788              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10789              : (TARGET_AVX512VL)))
   10790              :         return -1;
   10791              :       return 10331; /* vpshldv_v16hi_mask */
   10792              : 
   10793              :     case 4:
   10794              :       if (!(
   10795              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10796              : (TARGET_AVX512VBMI2) && 
   10797              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10798              : (TARGET_AVX512VL)))
   10799              :         return -1;
   10800              :       return 10332; /* vpshldv_v8si_mask */
   10801              : 
   10802              :     case 5:
   10803              :       if (!(
   10804              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10805              : (TARGET_AVX512VBMI2) && 
   10806              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10807              : (TARGET_AVX512VL)))
   10808              :         return -1;
   10809              :       return 10333; /* vpshldv_v4di_mask */
   10810              : 
   10811              :     case 6:
   10812              :       if (!(
   10813              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10814              : (TARGET_AVX512VBMI2) && 
   10815              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10816              : (TARGET_AVX512VL)))
   10817              :         return -1;
   10818              :       return 10334; /* vpshldv_v8hi_mask */
   10819              : 
   10820              :     case 7:
   10821              :       if (!(
   10822              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10823              : (TARGET_AVX512VBMI2) && 
   10824              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10825              : (TARGET_AVX512VL)))
   10826              :         return -1;
   10827              :       return 10335; /* vpshldv_v4si_mask */
   10828              : 
   10829              :     case 8:
   10830              :       if (!(
   10831              : #line 31191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10832              : (TARGET_AVX512VBMI2) && 
   10833              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10834              : (TARGET_AVX512VL)))
   10835              :         return -1;
   10836              :       return 10336; /* vpshldv_v2di_mask */
   10837              : 
   10838              :     case 9:
   10839              :       if (!
   10840              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10841              : (TARGET_AVX512VBMI2))
   10842              :         return -1;
   10843              :       return 10337; /* vpshldv_v32hi_maskz_1 */
   10844              : 
   10845              :     case 10:
   10846              :       if (!
   10847              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10848              : (TARGET_AVX512VBMI2))
   10849              :         return -1;
   10850              :       return 10338; /* vpshldv_v16si_maskz_1 */
   10851              : 
   10852              :     case 11:
   10853              :       if (!
   10854              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10855              : (TARGET_AVX512VBMI2))
   10856              :         return -1;
   10857              :       return 10339; /* vpshldv_v8di_maskz_1 */
   10858              : 
   10859              :     case 12:
   10860              :       if (!(
   10861              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10862              : (TARGET_AVX512VBMI2) && 
   10863              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10864              : (TARGET_AVX512VL)))
   10865              :         return -1;
   10866              :       return 10340; /* vpshldv_v16hi_maskz_1 */
   10867              : 
   10868              :     case 13:
   10869              :       if (!(
   10870              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10871              : (TARGET_AVX512VBMI2) && 
   10872              : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10873              : (TARGET_AVX512VL)))
   10874              :         return -1;
   10875              :       return 10341; /* vpshldv_v8si_maskz_1 */
   10876              : 
   10877              :     case 14:
   10878              :       if (!(
   10879              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10880              : (TARGET_AVX512VBMI2) && 
   10881              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10882              : (TARGET_AVX512VL)))
   10883              :         return -1;
   10884              :       return 10342; /* vpshldv_v4di_maskz_1 */
   10885              : 
   10886              :     case 15:
   10887              :       if (!(
   10888              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10889              : (TARGET_AVX512VBMI2) && 
   10890              : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10891              : (TARGET_AVX512VL)))
   10892              :         return -1;
   10893              :       return 10343; /* vpshldv_v8hi_maskz_1 */
   10894              : 
   10895              :     case 16:
   10896              :       if (!(
   10897              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10898              : (TARGET_AVX512VBMI2) && 
   10899              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10900              : (TARGET_AVX512VL)))
   10901              :         return -1;
   10902              :       return 10344; /* vpshldv_v4si_maskz_1 */
   10903              : 
   10904              :     case 17:
   10905              :       if (!(
   10906              : #line 31221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10907              : (TARGET_AVX512VBMI2) && 
   10908              : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10909              : (TARGET_AVX512VL)))
   10910              :         return -1;
   10911              :       return 10345; /* vpshldv_v2di_maskz_1 */
   10912              : 
   10913              :     default:
   10914              :       return -1;
   10915              :     }
   10916              : }
   10917              : 
   10918              :  int
   10919              : recog_143 (rtx x1 ATTRIBUTE_UNUSED,
   10920              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   10921              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   10922              : {
   10923              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   10924              :   rtx x2, x3, x4, x5, x6, x7, x8;
   10925              :   int res ATTRIBUTE_UNUSED;
   10926              :   x2 = XEXP (x1, 1);
   10927              :   x3 = XEXP (x2, 0);
   10928              :   x4 = XVECEXP (x3, 0, 0);
   10929              :   operands[1] = x4;
   10930              :   x5 = XVECEXP (x3, 0, 1);
   10931              :   operands[2] = x5;
   10932              :   x6 = XVECEXP (x3, 0, 2);
   10933              :   operands[3] = x6;
   10934              :   x7 = XEXP (x2, 1);
   10935              :   switch (GET_CODE (x7))
   10936              :     {
   10937              :     case REG:
   10938              :     case SUBREG:
   10939              :       if (!rtx_equal_p (x7, operands[1]))
   10940              :         return -1;
   10941              :       x8 = XEXP (x2, 2);
   10942              :       operands[4] = x8;
   10943              :       switch (GET_MODE (operands[0]))
   10944              :         {
   10945              :         case E_V16SFmode:
   10946              :           if (pattern482 (x2, 
   10947              : E_V16SFmode, 
   10948              : E_HImode) != 0
   10949              :               || !
   10950              : #line 32768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10951              : (TARGET_AVX10_2))
   10952              :             return -1;
   10953              :           return 10653; /* vdpphps_v16sf_mask */
   10954              : 
   10955              :         case E_V8SFmode:
   10956              :           if (pattern482 (x2, 
   10957              : E_V8SFmode, 
   10958              : E_QImode) != 0
   10959              :               || !(
   10960              : #line 32768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10961              : (TARGET_AVX10_2) && 
   10962              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10963              : (TARGET_AVX512VL)))
   10964              :             return -1;
   10965              :           return 10654; /* vdpphps_v8sf_mask */
   10966              : 
   10967              :         case E_V4SFmode:
   10968              :           if (pattern482 (x2, 
   10969              : E_V4SFmode, 
   10970              : E_QImode) != 0
   10971              :               || !(
   10972              : #line 32768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10973              : (TARGET_AVX10_2) && 
   10974              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10975              : (TARGET_AVX512VL)))
   10976              :             return -1;
   10977              :           return 10655; /* vdpphps_v4sf_mask */
   10978              : 
   10979              :         default:
   10980              :           return -1;
   10981              :         }
   10982              : 
   10983              :     case CONST_INT:
   10984              :     case CONST_DOUBLE:
   10985              :     case CONST_VECTOR:
   10986              :       operands[4] = x7;
   10987              :       x8 = XEXP (x2, 2);
   10988              :       operands[5] = x8;
   10989              :       switch (GET_MODE (operands[0]))
   10990              :         {
   10991              :         case E_V16SFmode:
   10992              :           if (pattern484 (x2, 
   10993              : E_V16SFmode, 
   10994              : E_HImode) != 0
   10995              :               || !
   10996              : #line 32795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   10997              : (TARGET_AVX10_2))
   10998              :             return -1;
   10999              :           return 10656; /* vdpphps_v16sf_maskz_1 */
   11000              : 
   11001              :         case E_V8SFmode:
   11002              :           if (pattern484 (x2, 
   11003              : E_V8SFmode, 
   11004              : E_QImode) != 0
   11005              :               || !(
   11006              : #line 32795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11007              : (TARGET_AVX10_2) && 
   11008              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11009              : (TARGET_AVX512VL)))
   11010              :             return -1;
   11011              :           return 10657; /* vdpphps_v8sf_maskz_1 */
   11012              : 
   11013              :         case E_V4SFmode:
   11014              :           if (pattern484 (x2, 
   11015              : E_V4SFmode, 
   11016              : E_QImode) != 0
   11017              :               || !(
   11018              : #line 32795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11019              : (TARGET_AVX10_2) && 
   11020              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11021              : (TARGET_AVX512VL)))
   11022              :             return -1;
   11023              :           return 10658; /* vdpphps_v4sf_maskz_1 */
   11024              : 
   11025              :         default:
   11026              :           return -1;
   11027              :         }
   11028              : 
   11029              :     default:
   11030              :       return -1;
   11031              :     }
   11032              : }
   11033              : 
   11034              :  int
   11035              : recog_150 (rtx x1 ATTRIBUTE_UNUSED,
   11036              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   11037              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   11038              : {
   11039              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   11040              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   11041              :   rtx x10, x11, x12, x13;
   11042              :   int res ATTRIBUTE_UNUSED;
   11043              :   x2 = XEXP (x1, 1);
   11044              :   x3 = XEXP (x2, 2);
   11045              :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   11046              :     return -1;
   11047              :   x4 = XEXP (x2, 0);
   11048              :   x5 = XEXP (x4, 2);
   11049              :   if (!register_operand (x5, E_QImode))
   11050              :     return -1;
   11051              :   x6 = XEXP (x4, 0);
   11052              :   x7 = XEXP (x6, 0);
   11053              :   switch (GET_CODE (x7))
   11054              :     {
   11055              :     case REG:
   11056              :     case SUBREG:
   11057              :     case MEM:
   11058              :       operands[1] = x7;
   11059              :       x8 = XEXP (x6, 1);
   11060              :       operands[2] = x8;
   11061              :       x9 = XEXP (x6, 2);
   11062              :       switch (GET_CODE (x9))
   11063              :         {
   11064              :         case REG:
   11065              :         case SUBREG:
   11066              :         case MEM:
   11067              :           operands[3] = x9;
   11068              :           switch (pattern1224 (x2))
   11069              :             {
   11070              :             case 0:
   11071              :               if (pattern1471 (x2, 
   11072              : E_V8HFmode) != 0)
   11073              :                 return -1;
   11074              :               x10 = XEXP (x4, 1);
   11075              :               if (rtx_equal_p (x10, operands[1]))
   11076              :                 {
   11077              :                   x11 = XEXP (x2, 1);
   11078              :                   if (rtx_equal_p (x11, operands[1])
   11079              :                       && (
   11080              : #line 7018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11081              : (TARGET_AVX512F) && 
   11082              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11083              : (TARGET_AVX512FP16)))
   11084              :                     return 4281; /* avx512f_vmfmadd_v8hf_mask */
   11085              :                 }
   11086              :               if (!rtx_equal_p (x10, operands[3]))
   11087              :                 return -1;
   11088              :               x11 = XEXP (x2, 1);
   11089              :               if (!rtx_equal_p (x11, operands[3])
   11090              :                   || !(
   11091              : #line 7038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11092              : (TARGET_AVX512F) && 
   11093              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11094              : (TARGET_AVX512FP16)))
   11095              :                 return -1;
   11096              :               return 4287; /* avx512f_vmfmadd_v8hf_mask3 */
   11097              : 
   11098              :             case 1:
   11099              :               if (pattern1471 (x2, 
   11100              : E_V4SFmode) != 0)
   11101              :                 return -1;
   11102              :               x10 = XEXP (x4, 1);
   11103              :               if (rtx_equal_p (x10, operands[1]))
   11104              :                 {
   11105              :                   x11 = XEXP (x2, 1);
   11106              :                   if (rtx_equal_p (x11, operands[1])
   11107              :                       && 
   11108              : #line 7018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11109              : (TARGET_AVX512F))
   11110              :                     return 4283; /* avx512f_vmfmadd_v4sf_mask */
   11111              :                 }
   11112              :               if (!rtx_equal_p (x10, operands[3]))
   11113              :                 return -1;
   11114              :               x11 = XEXP (x2, 1);
   11115              :               if (!rtx_equal_p (x11, operands[3])
   11116              :                   || !
   11117              : #line 7038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11118              : (TARGET_AVX512F))
   11119              :                 return -1;
   11120              :               return 4289; /* avx512f_vmfmadd_v4sf_mask3 */
   11121              : 
   11122              :             case 2:
   11123              :               if (pattern1471 (x2, 
   11124              : E_V2DFmode) != 0)
   11125              :                 return -1;
   11126              :               x10 = XEXP (x4, 1);
   11127              :               if (rtx_equal_p (x10, operands[1]))
   11128              :                 {
   11129              :                   x11 = XEXP (x2, 1);
   11130              :                   if (rtx_equal_p (x11, operands[1])
   11131              :                       && (
   11132              : #line 7018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11133              : (TARGET_AVX512F) && 
   11134              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11135              : (TARGET_SSE2)))
   11136              :                     return 4285; /* avx512f_vmfmadd_v2df_mask */
   11137              :                 }
   11138              :               if (!rtx_equal_p (x10, operands[3]))
   11139              :                 return -1;
   11140              :               x11 = XEXP (x2, 1);
   11141              :               if (!rtx_equal_p (x11, operands[3])
   11142              :                   || !(
   11143              : #line 7038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11144              : (TARGET_AVX512F) && 
   11145              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11146              : (TARGET_SSE2)))
   11147              :                 return -1;
   11148              :               return 4291; /* avx512f_vmfmadd_v2df_mask3 */
   11149              : 
   11150              :             case 3:
   11151              :               if (pattern1552 (x2, 
   11152              : E_V8HFmode) != 0
   11153              :                   || !(
   11154              : #line 7070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11155              : (TARGET_AVX512F) && 
   11156              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11157              : (TARGET_AVX512FP16)))
   11158              :                 return -1;
   11159              :               return 4293; /* avx512f_vmfmadd_v8hf_maskz_1 */
   11160              : 
   11161              :             case 4:
   11162              :               if (pattern1552 (x2, 
   11163              : E_V4SFmode) != 0
   11164              :                   || !
   11165              : #line 7070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11166              : (TARGET_AVX512F))
   11167              :                 return -1;
   11168              :               return 4295; /* avx512f_vmfmadd_v4sf_maskz_1 */
   11169              : 
   11170              :             case 5:
   11171              :               if (pattern1552 (x2, 
   11172              : E_V2DFmode) != 0
   11173              :                   || !(
   11174              : #line 7070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11175              : (TARGET_AVX512F) && 
   11176              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11177              : (TARGET_SSE2)))
   11178              :                 return -1;
   11179              :               return 4297; /* avx512f_vmfmadd_v2df_maskz_1 */
   11180              : 
   11181              :             default:
   11182              :               return -1;
   11183              :             }
   11184              : 
   11185              :         case NEG:
   11186              :           x12 = XEXP (x9, 0);
   11187              :           operands[3] = x12;
   11188              :           switch (pattern1224 (x2))
   11189              :             {
   11190              :             case 0:
   11191              :               if (pattern1472 (x2, 
   11192              : E_V8HFmode) != 0)
   11193              :                 return -1;
   11194              :               x10 = XEXP (x4, 1);
   11195              :               if (rtx_equal_p (x10, operands[1]))
   11196              :                 {
   11197              :                   x11 = XEXP (x2, 1);
   11198              :                   if (rtx_equal_p (x11, operands[1])
   11199              :                       && (
   11200              : #line 7091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11201              : (TARGET_AVX512F) && 
   11202              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11203              : (TARGET_AVX512FP16)))
   11204              :                     return 4299; /* *avx512f_vmfmsub_v8hf_mask */
   11205              :                 }
   11206              :               if (!rtx_equal_p (x10, operands[3]))
   11207              :                 return -1;
   11208              :               x11 = XEXP (x2, 1);
   11209              :               if (!rtx_equal_p (x11, operands[3])
   11210              :                   || !(
   11211              : #line 7112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11212              : (TARGET_AVX512F) && 
   11213              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11214              : (TARGET_AVX512FP16)))
   11215              :                 return -1;
   11216              :               return 4305; /* avx512f_vmfmsub_v8hf_mask3 */
   11217              : 
   11218              :             case 1:
   11219              :               if (pattern1472 (x2, 
   11220              : E_V4SFmode) != 0)
   11221              :                 return -1;
   11222              :               x10 = XEXP (x4, 1);
   11223              :               if (rtx_equal_p (x10, operands[1]))
   11224              :                 {
   11225              :                   x11 = XEXP (x2, 1);
   11226              :                   if (rtx_equal_p (x11, operands[1])
   11227              :                       && 
   11228              : #line 7091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11229              : (TARGET_AVX512F))
   11230              :                     return 4301; /* *avx512f_vmfmsub_v4sf_mask */
   11231              :                 }
   11232              :               if (!rtx_equal_p (x10, operands[3]))
   11233              :                 return -1;
   11234              :               x11 = XEXP (x2, 1);
   11235              :               if (!rtx_equal_p (x11, operands[3])
   11236              :                   || !
   11237              : #line 7112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11238              : (TARGET_AVX512F))
   11239              :                 return -1;
   11240              :               return 4307; /* avx512f_vmfmsub_v4sf_mask3 */
   11241              : 
   11242              :             case 2:
   11243              :               if (pattern1472 (x2, 
   11244              : E_V2DFmode) != 0)
   11245              :                 return -1;
   11246              :               x10 = XEXP (x4, 1);
   11247              :               if (rtx_equal_p (x10, operands[1]))
   11248              :                 {
   11249              :                   x11 = XEXP (x2, 1);
   11250              :                   if (rtx_equal_p (x11, operands[1])
   11251              :                       && (
   11252              : #line 7091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11253              : (TARGET_AVX512F) && 
   11254              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11255              : (TARGET_SSE2)))
   11256              :                     return 4303; /* *avx512f_vmfmsub_v2df_mask */
   11257              :                 }
   11258              :               if (!rtx_equal_p (x10, operands[3]))
   11259              :                 return -1;
   11260              :               x11 = XEXP (x2, 1);
   11261              :               if (!rtx_equal_p (x11, operands[3])
   11262              :                   || !(
   11263              : #line 7112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11264              : (TARGET_AVX512F) && 
   11265              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11266              : (TARGET_SSE2)))
   11267              :                 return -1;
   11268              :               return 4309; /* avx512f_vmfmsub_v2df_mask3 */
   11269              : 
   11270              :             case 3:
   11271              :               if (pattern1553 (x2, 
   11272              : E_V8HFmode) != 0
   11273              :                   || !(
   11274              : #line 7131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11275              : (TARGET_AVX512F) && 
   11276              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11277              : (TARGET_AVX512FP16)))
   11278              :                 return -1;
   11279              :               return 4311; /* *avx512f_vmfmsub_v8hf_maskz_1 */
   11280              : 
   11281              :             case 4:
   11282              :               if (pattern1553 (x2, 
   11283              : E_V4SFmode) != 0
   11284              :                   || !
   11285              : #line 7131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11286              : (TARGET_AVX512F))
   11287              :                 return -1;
   11288              :               return 4313; /* *avx512f_vmfmsub_v4sf_maskz_1 */
   11289              : 
   11290              :             case 5:
   11291              :               if (pattern1553 (x2, 
   11292              : E_V2DFmode) != 0
   11293              :                   || !(
   11294              : #line 7131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11295              : (TARGET_AVX512F) && 
   11296              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11297              : (TARGET_SSE2)))
   11298              :                 return -1;
   11299              :               return 4315; /* *avx512f_vmfmsub_v2df_maskz_1 */
   11300              : 
   11301              :             default:
   11302              :               return -1;
   11303              :             }
   11304              : 
   11305              :         default:
   11306              :           return -1;
   11307              :         }
   11308              : 
   11309              :     case NEG:
   11310              :       x9 = XEXP (x6, 2);
   11311              :       switch (GET_CODE (x9))
   11312              :         {
   11313              :         case REG:
   11314              :         case SUBREG:
   11315              :         case MEM:
   11316              :           operands[3] = x9;
   11317              :           switch (pattern1009 (x2))
   11318              :             {
   11319              :             case 0:
   11320              :               x8 = XEXP (x6, 1);
   11321              :               operands[2] = x8;
   11322              :               x13 = XEXP (x7, 0);
   11323              :               operands[1] = x13;
   11324              :               if (nonimmediate_operand (operands[3], E_V8HFmode))
   11325              :                 {
   11326              :                   x10 = XEXP (x4, 1);
   11327              :                   if (rtx_equal_p (x10, operands[1]))
   11328              :                     {
   11329              :                       x11 = XEXP (x2, 1);
   11330              :                       if (rtx_equal_p (x11, operands[1])
   11331              :                           && (
   11332              : #line 7152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11333              : (TARGET_AVX512F) && 
   11334              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11335              : (TARGET_AVX512FP16)))
   11336              :                         return 4317; /* avx512f_vmfnmadd_v8hf_mask */
   11337              :                     }
   11338              :                 }
   11339              :               operands[1] = x8;
   11340              :               operands[2] = x13;
   11341              :               if (!nonimmediate_operand (operands[3], E_V8HFmode))
   11342              :                 return -1;
   11343              :               x10 = XEXP (x4, 1);
   11344              :               if (!rtx_equal_p (x10, operands[3]))
   11345              :                 return -1;
   11346              :               x11 = XEXP (x2, 1);
   11347              :               if (!rtx_equal_p (x11, operands[3])
   11348              :                   || !(
   11349              : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11350              : (TARGET_AVX512F) && 
   11351              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11352              : (TARGET_AVX512FP16)))
   11353              :                 return -1;
   11354              :               return 4323; /* avx512f_vmfnmadd_v8hf_mask3 */
   11355              : 
   11356              :             case 1:
   11357              :               x8 = XEXP (x6, 1);
   11358              :               operands[2] = x8;
   11359              :               x13 = XEXP (x7, 0);
   11360              :               operands[1] = x13;
   11361              :               if (nonimmediate_operand (operands[3], E_V4SFmode))
   11362              :                 {
   11363              :                   x10 = XEXP (x4, 1);
   11364              :                   if (rtx_equal_p (x10, operands[1]))
   11365              :                     {
   11366              :                       x11 = XEXP (x2, 1);
   11367              :                       if (rtx_equal_p (x11, operands[1])
   11368              :                           && 
   11369              : #line 7152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11370              : (TARGET_AVX512F))
   11371              :                         return 4319; /* avx512f_vmfnmadd_v4sf_mask */
   11372              :                     }
   11373              :                 }
   11374              :               operands[1] = x8;
   11375              :               operands[2] = x13;
   11376              :               if (!nonimmediate_operand (operands[3], E_V4SFmode))
   11377              :                 return -1;
   11378              :               x10 = XEXP (x4, 1);
   11379              :               if (!rtx_equal_p (x10, operands[3]))
   11380              :                 return -1;
   11381              :               x11 = XEXP (x2, 1);
   11382              :               if (!rtx_equal_p (x11, operands[3])
   11383              :                   || !
   11384              : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11385              : (TARGET_AVX512F))
   11386              :                 return -1;
   11387              :               return 4325; /* avx512f_vmfnmadd_v4sf_mask3 */
   11388              : 
   11389              :             case 2:
   11390              :               x8 = XEXP (x6, 1);
   11391              :               operands[2] = x8;
   11392              :               x13 = XEXP (x7, 0);
   11393              :               operands[1] = x13;
   11394              :               if (nonimmediate_operand (operands[3], E_V2DFmode))
   11395              :                 {
   11396              :                   x10 = XEXP (x4, 1);
   11397              :                   if (rtx_equal_p (x10, operands[1]))
   11398              :                     {
   11399              :                       x11 = XEXP (x2, 1);
   11400              :                       if (rtx_equal_p (x11, operands[1])
   11401              :                           && (
   11402              : #line 7152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11403              : (TARGET_AVX512F) && 
   11404              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11405              : (TARGET_SSE2)))
   11406              :                         return 4321; /* avx512f_vmfnmadd_v2df_mask */
   11407              :                     }
   11408              :                 }
   11409              :               operands[1] = x8;
   11410              :               operands[2] = x13;
   11411              :               if (!nonimmediate_operand (operands[3], E_V2DFmode))
   11412              :                 return -1;
   11413              :               x10 = XEXP (x4, 1);
   11414              :               if (!rtx_equal_p (x10, operands[3]))
   11415              :                 return -1;
   11416              :               x11 = XEXP (x2, 1);
   11417              :               if (!rtx_equal_p (x11, operands[3])
   11418              :                   || !(
   11419              : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11420              : (TARGET_AVX512F) && 
   11421              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11422              : (TARGET_SSE2)))
   11423              :                 return -1;
   11424              :               return 4327; /* avx512f_vmfnmadd_v2df_mask3 */
   11425              : 
   11426              :             case 3:
   11427              :               if (pattern1554 (x2, 
   11428              : E_V8HFmode) != 0
   11429              :                   || !(
   11430              : #line 7206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11431              : (TARGET_AVX512F) && 
   11432              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11433              : (TARGET_AVX512FP16)))
   11434              :                 return -1;
   11435              :               return 4329; /* avx512f_vmfnmadd_v8hf_maskz_1 */
   11436              : 
   11437              :             case 4:
   11438              :               if (pattern1554 (x2, 
   11439              : E_V4SFmode) != 0
   11440              :                   || !
   11441              : #line 7206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11442              : (TARGET_AVX512F))
   11443              :                 return -1;
   11444              :               return 4331; /* avx512f_vmfnmadd_v4sf_maskz_1 */
   11445              : 
   11446              :             case 5:
   11447              :               if (pattern1554 (x2, 
   11448              : E_V2DFmode) != 0
   11449              :                   || !(
   11450              : #line 7206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11451              : (TARGET_AVX512F) && 
   11452              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11453              : (TARGET_SSE2)))
   11454              :                 return -1;
   11455              :               return 4333; /* avx512f_vmfnmadd_v2df_maskz_1 */
   11456              : 
   11457              :             default:
   11458              :               return -1;
   11459              :             }
   11460              : 
   11461              :         case NEG:
   11462              :           x12 = XEXP (x9, 0);
   11463              :           operands[3] = x12;
   11464              :           switch (pattern1009 (x2))
   11465              :             {
   11466              :             case 0:
   11467              :               x8 = XEXP (x6, 1);
   11468              :               operands[2] = x8;
   11469              :               if (pattern1716 (x2, 
   11470              : E_V8HFmode) == 0
   11471              :                   && (
   11472              : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11473              : (TARGET_AVX512F) && 
   11474              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11475              : (TARGET_AVX512FP16)))
   11476              :                 return 4335; /* *avx512f_vmfnmsub_v8hf_mask */
   11477              :               operands[1] = x8;
   11478              :               if (pattern1717 (x2, 
   11479              : E_V8HFmode) != 0
   11480              :                   || !(
   11481              : #line 7250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11482              : (TARGET_AVX512F) && 
   11483              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11484              : (TARGET_AVX512FP16)))
   11485              :                 return -1;
   11486              :               return 4341; /* *avx512f_vmfnmsub_v8hf_mask3 */
   11487              : 
   11488              :             case 1:
   11489              :               x8 = XEXP (x6, 1);
   11490              :               operands[2] = x8;
   11491              :               if (pattern1716 (x2, 
   11492              : E_V4SFmode) == 0
   11493              :                   && 
   11494              : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11495              : (TARGET_AVX512F))
   11496              :                 return 4337; /* *avx512f_vmfnmsub_v4sf_mask */
   11497              :               operands[1] = x8;
   11498              :               if (pattern1717 (x2, 
   11499              : E_V4SFmode) != 0
   11500              :                   || !
   11501              : #line 7250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11502              : (TARGET_AVX512F))
   11503              :                 return -1;
   11504              :               return 4343; /* *avx512f_vmfnmsub_v4sf_mask3 */
   11505              : 
   11506              :             case 2:
   11507              :               x8 = XEXP (x6, 1);
   11508              :               operands[2] = x8;
   11509              :               if (pattern1716 (x2, 
   11510              : E_V2DFmode) == 0
   11511              :                   && (
   11512              : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11513              : (TARGET_AVX512F) && 
   11514              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11515              : (TARGET_SSE2)))
   11516              :                 return 4339; /* *avx512f_vmfnmsub_v2df_mask */
   11517              :               operands[1] = x8;
   11518              :               if (pattern1717 (x2, 
   11519              : E_V2DFmode) != 0
   11520              :                   || !(
   11521              : #line 7250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11522              : (TARGET_AVX512F) && 
   11523              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11524              : (TARGET_SSE2)))
   11525              :                 return -1;
   11526              :               return 4345; /* *avx512f_vmfnmsub_v2df_mask3 */
   11527              : 
   11528              :             case 3:
   11529              :               if (pattern1555 (x2, 
   11530              : E_V8HFmode) != 0
   11531              :                   || !(
   11532              : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11533              : (TARGET_AVX512F) && 
   11534              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11535              : (TARGET_AVX512FP16)))
   11536              :                 return -1;
   11537              :               return 4347; /* *avx512f_vmfnmsub_v8hf_maskz_1 */
   11538              : 
   11539              :             case 4:
   11540              :               if (pattern1555 (x2, 
   11541              : E_V4SFmode) != 0
   11542              :                   || !
   11543              : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11544              : (TARGET_AVX512F))
   11545              :                 return -1;
   11546              :               return 4349; /* *avx512f_vmfnmsub_v4sf_maskz_1 */
   11547              : 
   11548              :             case 5:
   11549              :               if (pattern1555 (x2, 
   11550              : E_V2DFmode) != 0
   11551              :                   || !(
   11552              : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11553              : (TARGET_AVX512F) && 
   11554              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11555              : (TARGET_SSE2)))
   11556              :                 return -1;
   11557              :               return 4351; /* *avx512f_vmfnmsub_v2df_maskz_1 */
   11558              : 
   11559              :             default:
   11560              :               return -1;
   11561              :             }
   11562              : 
   11563              :         default:
   11564              :           return -1;
   11565              :         }
   11566              : 
   11567              :     default:
   11568              :       return -1;
   11569              :     }
   11570              : }
   11571              : 
   11572              :  int
   11573              : recog_162 (rtx x1 ATTRIBUTE_UNUSED,
   11574              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   11575              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   11576              : {
   11577              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   11578              :   rtx x2, x3;
   11579              :   int res ATTRIBUTE_UNUSED;
   11580              :   x2 = XEXP (x1, 1);
   11581              :   switch (pattern649 (x2))
   11582              :     {
   11583              :     case 0:
   11584              :       if (pattern1390 (x2, 
   11585              : E_V32HFmode, 
   11586              : E_SImode) != 0
   11587              :           || !(
   11588              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11589              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1) && 
   11590              : #line 6276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11591              : (TARGET_AVX512FP16)))
   11592              :         return -1;
   11593              :       return 3939; /* fma_fmsub_v32hf_maskz_1 */
   11594              : 
   11595              :     case 1:
   11596              :       if (pattern1390 (x2, 
   11597              : E_V16HFmode, 
   11598              : E_HImode) != 0
   11599              :           || !(
   11600              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11601              : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
   11602              : #line 6277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11603              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   11604              :         return -1;
   11605              :       return 3943; /* fma_fmsub_v16hf_maskz_1 */
   11606              : 
   11607              :     case 2:
   11608              :       if (pattern1390 (x2, 
   11609              : E_V8HFmode, 
   11610              : E_QImode) != 0
   11611              :           || !(
   11612              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11613              : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
   11614              : #line 6278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11615              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   11616              :         return -1;
   11617              :       return 3945; /* fma_fmsub_v8hf_maskz_1 */
   11618              : 
   11619              :     case 3:
   11620              :       if (pattern1390 (x2, 
   11621              : E_V16SFmode, 
   11622              : E_HImode) != 0
   11623              :           || !
   11624              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11625              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
   11626              :         return -1;
   11627              :       return 3949; /* fma_fmsub_v16sf_maskz_1 */
   11628              : 
   11629              :     case 4:
   11630              :       if (pattern1390 (x2, 
   11631              : E_V8SFmode, 
   11632              : E_QImode) != 0
   11633              :           || !(
   11634              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11635              : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
   11636              : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11637              : (TARGET_AVX512VL)))
   11638              :         return -1;
   11639              :       return 3953; /* fma_fmsub_v8sf_maskz_1 */
   11640              : 
   11641              :     case 5:
   11642              :       if (pattern1390 (x2, 
   11643              : E_V4SFmode, 
   11644              : E_QImode) != 0
   11645              :           || !(
   11646              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11647              : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
   11648              : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11649              : (TARGET_AVX512VL)))
   11650              :         return -1;
   11651              :       return 3955; /* fma_fmsub_v4sf_maskz_1 */
   11652              : 
   11653              :     case 6:
   11654              :       if (pattern1390 (x2, 
   11655              : E_V8DFmode, 
   11656              : E_QImode) != 0
   11657              :           || !
   11658              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11659              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
   11660              :         return -1;
   11661              :       return 3958; /* fma_fmsub_v8df_maskz_1 */
   11662              : 
   11663              :     case 7:
   11664              :       if (pattern1390 (x2, 
   11665              : E_V4DFmode, 
   11666              : E_QImode) != 0
   11667              :           || !(
   11668              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11669              : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
   11670              : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11671              : (TARGET_AVX512VL)))
   11672              :         return -1;
   11673              :       return 3962; /* fma_fmsub_v4df_maskz_1 */
   11674              : 
   11675              :     case 8:
   11676              :       if (pattern1390 (x2, 
   11677              : E_V2DFmode, 
   11678              : E_QImode) != 0
   11679              :           || !(
   11680              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11681              : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
   11682              : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11683              : (TARGET_AVX512VL)))
   11684              :         return -1;
   11685              :       return 3964; /* fma_fmsub_v2df_maskz_1 */
   11686              : 
   11687              :     case 9:
   11688              :       if (pattern1392 (x2, 
   11689              : E_SImode, 
   11690              : E_V32BFmode) != 0
   11691              :           || !
   11692              : #line 32984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11693              : (TARGET_AVX10_2))
   11694              :         return -1;
   11695              :       return 10726; /* avx10_2_fmsubbf16_v32bf_maskz_1 */
   11696              : 
   11697              :     case 10:
   11698              :       if (pattern1392 (x2, 
   11699              : E_HImode, 
   11700              : E_V16BFmode) != 0
   11701              :           || !
   11702              : #line 32984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11703              : (TARGET_AVX10_2))
   11704              :         return -1;
   11705              :       return 10728; /* avx10_2_fmsubbf16_v16bf_maskz_1 */
   11706              : 
   11707              :     case 11:
   11708              :       if (pattern1392 (x2, 
   11709              : E_QImode, 
   11710              : E_V8BFmode) != 0
   11711              :           || !
   11712              : #line 32984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11713              : (TARGET_AVX10_2))
   11714              :         return -1;
   11715              :       return 10730; /* avx10_2_fmsubbf16_v8bf_maskz_1 */
   11716              : 
   11717              :     case 12:
   11718              :       if (pattern1394 (x2, 
   11719              : E_V4SFmode) != 0
   11720              :           || !
   11721              : #line 7318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11722              : (TARGET_FMA4))
   11723              :         return -1;
   11724              :       return 4355; /* *fma4i_vmfmsub_v4sf */
   11725              : 
   11726              :     case 13:
   11727              :       if (pattern1394 (x2, 
   11728              : E_V2DFmode) != 0
   11729              :           || !(
   11730              : #line 7318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11731              : (TARGET_FMA4) && 
   11732              : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11733              : (TARGET_SSE2)))
   11734              :         return -1;
   11735              :       return 4356; /* *fma4i_vmfmsub_v2df */
   11736              : 
   11737              :     case 14:
   11738              :       if (pattern1298 (x2, 
   11739              : E_V32HFmode, 
   11740              : E_SImode) != 0)
   11741              :         return -1;
   11742              :       if (nonimmediate_operand (operands[1], E_V32HFmode)
   11743              :           && vector_operand (operands[3], E_V32HFmode))
   11744              :         {
   11745              :           x3 = XEXP (x2, 1);
   11746              :           if (rtx_equal_p (x3, operands[1])
   11747              :               && (
   11748              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11749              : (TARGET_AVX512F) && 
   11750              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11751              : (TARGET_AVX512FP16)))
   11752              :             return 3965; /* avx512bw_fmsub_v32hf_mask */
   11753              :         }
   11754              :       if (!vector_operand (operands[1], E_V32HFmode)
   11755              :           || !nonimmediate_operand (operands[3], E_V32HFmode))
   11756              :         return -1;
   11757              :       x3 = XEXP (x2, 1);
   11758              :       if (!rtx_equal_p (x3, operands[3])
   11759              :           || !(
   11760              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11761              : (TARGET_AVX512F && 1) && 
   11762              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11763              : (TARGET_AVX512FP16)))
   11764              :         return -1;
   11765              :       return 3983; /* avx512bw_fmsub_v32hf_mask3 */
   11766              : 
   11767              :     case 15:
   11768              :       if (pattern1298 (x2, 
   11769              : E_V16HFmode, 
   11770              : E_HImode) != 0)
   11771              :         return -1;
   11772              :       if (nonimmediate_operand (operands[1], E_V16HFmode)
   11773              :           && vector_operand (operands[3], E_V16HFmode))
   11774              :         {
   11775              :           x3 = XEXP (x2, 1);
   11776              :           if (rtx_equal_p (x3, operands[1])
   11777              :               && (
   11778              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11779              : (TARGET_AVX512F) && 
   11780              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11781              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   11782              :             return 3967; /* avx512vl_fmsub_v16hf_mask */
   11783              :         }
   11784              :       if (!vector_operand (operands[1], E_V16HFmode)
   11785              :           || !nonimmediate_operand (operands[3], E_V16HFmode))
   11786              :         return -1;
   11787              :       x3 = XEXP (x2, 1);
   11788              :       if (!rtx_equal_p (x3, operands[3])
   11789              :           || !(
   11790              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11791              : (TARGET_AVX512F && 1) && 
   11792              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11793              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   11794              :         return -1;
   11795              :       return 3985; /* avx512vl_fmsub_v16hf_mask3 */
   11796              : 
   11797              :     case 16:
   11798              :       if (pattern1298 (x2, 
   11799              : E_V8HFmode, 
   11800              : E_QImode) != 0)
   11801              :         return -1;
   11802              :       if (nonimmediate_operand (operands[1], E_V8HFmode)
   11803              :           && vector_operand (operands[3], E_V8HFmode))
   11804              :         {
   11805              :           x3 = XEXP (x2, 1);
   11806              :           if (rtx_equal_p (x3, operands[1])
   11807              :               && (
   11808              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11809              : (TARGET_AVX512F) && 
   11810              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11811              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   11812              :             return 3969; /* avx512fp16_fmsub_v8hf_mask */
   11813              :         }
   11814              :       if (!vector_operand (operands[1], E_V8HFmode)
   11815              :           || !nonimmediate_operand (operands[3], E_V8HFmode))
   11816              :         return -1;
   11817              :       x3 = XEXP (x2, 1);
   11818              :       if (!rtx_equal_p (x3, operands[3])
   11819              :           || !(
   11820              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11821              : (TARGET_AVX512F && 1) && 
   11822              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11823              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   11824              :         return -1;
   11825              :       return 3986; /* avx512fp16_fmsub_v8hf_mask3 */
   11826              : 
   11827              :     case 17:
   11828              :       if (pattern1298 (x2, 
   11829              : E_V16SFmode, 
   11830              : E_HImode) != 0)
   11831              :         return -1;
   11832              :       if (nonimmediate_operand (operands[1], E_V16SFmode)
   11833              :           && vector_operand (operands[3], E_V16SFmode))
   11834              :         {
   11835              :           x3 = XEXP (x2, 1);
   11836              :           if (rtx_equal_p (x3, operands[1])
   11837              :               && 
   11838              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11839              : (TARGET_AVX512F))
   11840              :             return 3971; /* avx512f_fmsub_v16sf_mask */
   11841              :         }
   11842              :       if (!vector_operand (operands[1], E_V16SFmode)
   11843              :           || !nonimmediate_operand (operands[3], E_V16SFmode))
   11844              :         return -1;
   11845              :       x3 = XEXP (x2, 1);
   11846              :       if (!rtx_equal_p (x3, operands[3])
   11847              :           || !
   11848              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11849              : (TARGET_AVX512F && 1))
   11850              :         return -1;
   11851              :       return 3987; /* avx512f_fmsub_v16sf_mask3 */
   11852              : 
   11853              :     case 18:
   11854              :       if (pattern1298 (x2, 
   11855              : E_V8SFmode, 
   11856              : E_QImode) != 0)
   11857              :         return -1;
   11858              :       if (nonimmediate_operand (operands[1], E_V8SFmode)
   11859              :           && vector_operand (operands[3], E_V8SFmode))
   11860              :         {
   11861              :           x3 = XEXP (x2, 1);
   11862              :           if (rtx_equal_p (x3, operands[1])
   11863              :               && (
   11864              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11865              : (TARGET_AVX512F) && 
   11866              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11867              : (TARGET_AVX512VL)))
   11868              :             return 3973; /* avx512vl_fmsub_v8sf_mask */
   11869              :         }
   11870              :       if (!vector_operand (operands[1], E_V8SFmode)
   11871              :           || !nonimmediate_operand (operands[3], E_V8SFmode))
   11872              :         return -1;
   11873              :       x3 = XEXP (x2, 1);
   11874              :       if (!rtx_equal_p (x3, operands[3])
   11875              :           || !(
   11876              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11877              : (TARGET_AVX512F && 1) && 
   11878              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11879              : (TARGET_AVX512VL)))
   11880              :         return -1;
   11881              :       return 3989; /* avx512vl_fmsub_v8sf_mask3 */
   11882              : 
   11883              :     case 19:
   11884              :       if (pattern1298 (x2, 
   11885              : E_V4SFmode, 
   11886              : E_QImode) != 0)
   11887              :         return -1;
   11888              :       if (nonimmediate_operand (operands[1], E_V4SFmode)
   11889              :           && vector_operand (operands[3], E_V4SFmode))
   11890              :         {
   11891              :           x3 = XEXP (x2, 1);
   11892              :           if (rtx_equal_p (x3, operands[1])
   11893              :               && (
   11894              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11895              : (TARGET_AVX512F) && 
   11896              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11897              : (TARGET_AVX512VL)))
   11898              :             return 3975; /* avx512vl_fmsub_v4sf_mask */
   11899              :         }
   11900              :       if (!vector_operand (operands[1], E_V4SFmode)
   11901              :           || !nonimmediate_operand (operands[3], E_V4SFmode))
   11902              :         return -1;
   11903              :       x3 = XEXP (x2, 1);
   11904              :       if (!rtx_equal_p (x3, operands[3])
   11905              :           || !(
   11906              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11907              : (TARGET_AVX512F && 1) && 
   11908              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11909              : (TARGET_AVX512VL)))
   11910              :         return -1;
   11911              :       return 3990; /* avx512vl_fmsub_v4sf_mask3 */
   11912              : 
   11913              :     case 20:
   11914              :       if (pattern1298 (x2, 
   11915              : E_V8DFmode, 
   11916              : E_QImode) != 0)
   11917              :         return -1;
   11918              :       if (nonimmediate_operand (operands[1], E_V8DFmode)
   11919              :           && vector_operand (operands[3], E_V8DFmode))
   11920              :         {
   11921              :           x3 = XEXP (x2, 1);
   11922              :           if (rtx_equal_p (x3, operands[1])
   11923              :               && 
   11924              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11925              : (TARGET_AVX512F))
   11926              :             return 3977; /* avx512f_fmsub_v8df_mask */
   11927              :         }
   11928              :       if (!vector_operand (operands[1], E_V8DFmode)
   11929              :           || !nonimmediate_operand (operands[3], E_V8DFmode))
   11930              :         return -1;
   11931              :       x3 = XEXP (x2, 1);
   11932              :       if (!rtx_equal_p (x3, operands[3])
   11933              :           || !
   11934              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11935              : (TARGET_AVX512F && 1))
   11936              :         return -1;
   11937              :       return 3991; /* avx512f_fmsub_v8df_mask3 */
   11938              : 
   11939              :     case 21:
   11940              :       if (pattern1298 (x2, 
   11941              : E_V4DFmode, 
   11942              : E_QImode) != 0)
   11943              :         return -1;
   11944              :       if (nonimmediate_operand (operands[1], E_V4DFmode)
   11945              :           && vector_operand (operands[3], E_V4DFmode))
   11946              :         {
   11947              :           x3 = XEXP (x2, 1);
   11948              :           if (rtx_equal_p (x3, operands[1])
   11949              :               && (
   11950              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11951              : (TARGET_AVX512F) && 
   11952              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11953              : (TARGET_AVX512VL)))
   11954              :             return 3979; /* avx512vl_fmsub_v4df_mask */
   11955              :         }
   11956              :       if (!vector_operand (operands[1], E_V4DFmode)
   11957              :           || !nonimmediate_operand (operands[3], E_V4DFmode))
   11958              :         return -1;
   11959              :       x3 = XEXP (x2, 1);
   11960              :       if (!rtx_equal_p (x3, operands[3])
   11961              :           || !(
   11962              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11963              : (TARGET_AVX512F && 1) && 
   11964              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11965              : (TARGET_AVX512VL)))
   11966              :         return -1;
   11967              :       return 3993; /* avx512vl_fmsub_v4df_mask3 */
   11968              : 
   11969              :     case 22:
   11970              :       if (pattern1298 (x2, 
   11971              : E_V2DFmode, 
   11972              : E_QImode) != 0)
   11973              :         return -1;
   11974              :       if (nonimmediate_operand (operands[1], E_V2DFmode)
   11975              :           && vector_operand (operands[3], E_V2DFmode))
   11976              :         {
   11977              :           x3 = XEXP (x2, 1);
   11978              :           if (rtx_equal_p (x3, operands[1])
   11979              :               && (
   11980              : #line 6435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11981              : (TARGET_AVX512F) && 
   11982              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11983              : (TARGET_AVX512VL)))
   11984              :             return 3981; /* avx512vl_fmsub_v2df_mask */
   11985              :         }
   11986              :       if (!vector_operand (operands[1], E_V2DFmode)
   11987              :           || !nonimmediate_operand (operands[3], E_V2DFmode))
   11988              :         return -1;
   11989              :       x3 = XEXP (x2, 1);
   11990              :       if (!rtx_equal_p (x3, operands[3])
   11991              :           || !(
   11992              : #line 6453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11993              : (TARGET_AVX512F && 1) && 
   11994              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   11995              : (TARGET_AVX512VL)))
   11996              :         return -1;
   11997              :       return 3994; /* avx512vl_fmsub_v2df_mask3 */
   11998              : 
   11999              :     case 23:
   12000              :       if (pattern1300 (x2, 
   12001              : E_SImode, 
   12002              : E_V32BFmode) != 0)
   12003              :         return -1;
   12004              :       x3 = XEXP (x2, 1);
   12005              :       if (rtx_equal_p (x3, operands[1])
   12006              :           && 
   12007              : #line 33003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12008              : (TARGET_AVX10_2))
   12009              :         return 10731; /* avx10_2_fmsubbf16_v32bf_mask */
   12010              :       if (!rtx_equal_p (x3, operands[3])
   12011              :           || !
   12012              : #line 33021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12013              : (TARGET_AVX10_2))
   12014              :         return -1;
   12015              :       return 10734; /* avx10_2_fmsubbf16_v32bf_mask3 */
   12016              : 
   12017              :     case 24:
   12018              :       if (pattern1300 (x2, 
   12019              : E_HImode, 
   12020              : E_V16BFmode) != 0)
   12021              :         return -1;
   12022              :       x3 = XEXP (x2, 1);
   12023              :       if (rtx_equal_p (x3, operands[1])
   12024              :           && 
   12025              : #line 33003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12026              : (TARGET_AVX10_2))
   12027              :         return 10732; /* avx10_2_fmsubbf16_v16bf_mask */
   12028              :       if (!rtx_equal_p (x3, operands[3])
   12029              :           || !
   12030              : #line 33021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12031              : (TARGET_AVX10_2))
   12032              :         return -1;
   12033              :       return 10735; /* avx10_2_fmsubbf16_v16bf_mask3 */
   12034              : 
   12035              :     case 25:
   12036              :       if (pattern1300 (x2, 
   12037              : E_QImode, 
   12038              : E_V8BFmode) != 0)
   12039              :         return -1;
   12040              :       x3 = XEXP (x2, 1);
   12041              :       if (rtx_equal_p (x3, operands[1])
   12042              :           && 
   12043              : #line 33003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12044              : (TARGET_AVX10_2))
   12045              :         return 10733; /* avx10_2_fmsubbf16_v8bf_mask */
   12046              :       if (!rtx_equal_p (x3, operands[3])
   12047              :           || !
   12048              : #line 33021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12049              : (TARGET_AVX10_2))
   12050              :         return -1;
   12051              :       return 10736; /* avx10_2_fmsubbf16_v8bf_mask3 */
   12052              : 
   12053              :     case 26:
   12054              :       if (pattern1395 (x2, 
   12055              : E_V8HFmode) != 0
   12056              :           || !(
   12057              : #line 6961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12058              : (TARGET_FMA || TARGET_AVX512F) && 
   12059              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12060              : (TARGET_AVX512FP16)))
   12061              :         return -1;
   12062              :       return 4263; /* *fmai_fmsub_v8hf */
   12063              : 
   12064              :     case 27:
   12065              :       if (pattern1395 (x2, 
   12066              : E_V4SFmode) != 0
   12067              :           || !
   12068              : #line 6961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12069              : (TARGET_FMA || TARGET_AVX512F))
   12070              :         return -1;
   12071              :       return 4265; /* *fmai_fmsub_v4sf */
   12072              : 
   12073              :     case 28:
   12074              :       if (pattern1395 (x2, 
   12075              : E_V2DFmode) != 0
   12076              :           || !(
   12077              : #line 6961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12078              : (TARGET_FMA || TARGET_AVX512F) && 
   12079              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12080              : (TARGET_SSE2)))
   12081              :         return -1;
   12082              :       return 4267; /* *fmai_fmsub_v2df */
   12083              : 
   12084              :     default:
   12085              :       return -1;
   12086              :     }
   12087              : }
   12088              : 
   12089              :  int
   12090              : recog_167 (rtx x1 ATTRIBUTE_UNUSED,
   12091              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12092              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12093              : {
   12094              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12095              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   12096              :   rtx x10, x11, x12;
   12097              :   int res ATTRIBUTE_UNUSED;
   12098              :   x2 = XEXP (x1, 1);
   12099              :   x3 = XEXP (x2, 0);
   12100              :   x4 = XEXP (x3, 1);
   12101              :   x5 = XVECEXP (x4, 0, 2);
   12102              :   if (GET_CODE (x5) != CONST_INT)
   12103              :     return -1;
   12104              :   x6 = XVECEXP (x4, 0, 3);
   12105              :   if (GET_CODE (x6) != CONST_INT)
   12106              :     return -1;
   12107              :   x7 = XEXP (x2, 2);
   12108              :   if (!register_operand (x7, E_QImode))
   12109              :     return -1;
   12110              :   x8 = XVECEXP (x4, 0, 0);
   12111              :   switch (XWINT (x8, 0))
   12112              :     {
   12113              :     case 2L:
   12114              :       x9 = XVECEXP (x4, 0, 1);
   12115              :       if (XWINT (x9, 0) != 6L
   12116              :           || XWINT (x5, 0) != 3L
   12117              :           || XWINT (x6, 0) != 7L)
   12118              :         return -1;
   12119              :       x10 = XEXP (x3, 0);
   12120              :       x11 = XEXP (x10, 1);
   12121              :       operands[2] = x11;
   12122              :       x12 = XEXP (x2, 1);
   12123              :       operands[3] = x12;
   12124              :       operands[4] = x7;
   12125              :       switch (GET_MODE (operands[0]))
   12126              :         {
   12127              :         case E_V4SFmode:
   12128              :           if (pattern1594 (x2, 
   12129              : E_V4SFmode, 
   12130              : E_V8SFmode) != 0
   12131              :               || !(
   12132              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12133              : (TARGET_AVX512F) && 
   12134              : #line 11546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12135              : (TARGET_SSE && TARGET_AVX512VL)))
   12136              :             return -1;
   12137              :           return 5264; /* vec_interleave_highv4sf_mask */
   12138              : 
   12139              :         case E_V4SImode:
   12140              :           if (pattern1594 (x2, 
   12141              : E_V4SImode, 
   12142              : E_V8SImode) != 0
   12143              :               || !(
   12144              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12145              : (TARGET_AVX512F) && 
   12146              : #line 20097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12147              : (TARGET_SSE2 && TARGET_AVX512VL)))
   12148              :             return -1;
   12149              :           return 8416; /* vec_interleave_highv4si_mask */
   12150              : 
   12151              :         default:
   12152              :           return -1;
   12153              :         }
   12154              : 
   12155              :     case 0L:
   12156              :       x9 = XVECEXP (x4, 0, 1);
   12157              :       switch (XWINT (x9, 0))
   12158              :         {
   12159              :         case 4L:
   12160              :           switch (XWINT (x5, 0))
   12161              :             {
   12162              :             case 1L:
   12163              :               if (XWINT (x6, 0) != 5L)
   12164              :                 return -1;
   12165              :               x10 = XEXP (x3, 0);
   12166              :               x11 = XEXP (x10, 1);
   12167              :               operands[2] = x11;
   12168              :               x12 = XEXP (x2, 1);
   12169              :               operands[3] = x12;
   12170              :               operands[4] = x7;
   12171              :               switch (GET_MODE (operands[0]))
   12172              :                 {
   12173              :                 case E_V4SFmode:
   12174              :                   if (pattern1593 (x2, 
   12175              : E_V4SFmode, 
   12176              : E_V8SFmode) != 0
   12177              :                       || !
   12178              : #line 11603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12179              : (TARGET_AVX512VL))
   12180              :                     return -1;
   12181              :                   return 5269; /* unpcklps128_mask */
   12182              : 
   12183              :                 case E_V4SImode:
   12184              :                   if (pattern1594 (x2, 
   12185              : E_V4SImode, 
   12186              : E_V8SImode) != 0
   12187              :                       || !(
   12188              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12189              : (TARGET_AVX512F) && 
   12190              : #line 20151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12191              : (TARGET_SSE2 && TARGET_AVX512VL)))
   12192              :                     return -1;
   12193              :                   return 8422; /* vec_interleave_lowv4si_mask */
   12194              : 
   12195              :                 default:
   12196              :                   return -1;
   12197              :                 }
   12198              : 
   12199              :             case 2L:
   12200              :               if (XWINT (x6, 0) != 6L)
   12201              :                 return -1;
   12202              :               switch (GET_MODE (operands[0]))
   12203              :                 {
   12204              :                 case E_V4DFmode:
   12205              :                   if (pattern1656 (x2, 
   12206              : E_V4DFmode, 
   12207              : E_V8DFmode) != 0)
   12208              :                     return -1;
   12209              :                   x12 = XEXP (x2, 1);
   12210              :                   operands[2] = x12;
   12211              :                   if (nonimmediate_operand (operands[1], E_V4DFmode))
   12212              :                     {
   12213              :                       operands[3] = x7;
   12214              :                       x10 = XEXP (x3, 0);
   12215              :                       x11 = XEXP (x10, 1);
   12216              :                       if (rtx_equal_p (x11, operands[1])
   12217              :                           && (
   12218              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12219              : (TARGET_AVX512F) && 
   12220              : #line 13794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12221              : (TARGET_AVX && TARGET_AVX512VL)))
   12222              :                         return 5424; /* avx_movddup256_mask */
   12223              :                     }
   12224              :                   operands[3] = x12;
   12225              :                   if (!register_operand (operands[1], E_V4DFmode))
   12226              :                     return -1;
   12227              :                   x10 = XEXP (x3, 0);
   12228              :                   x11 = XEXP (x10, 1);
   12229              :                   operands[2] = x11;
   12230              :                   if (!nonimmediate_operand (operands[2], E_V4DFmode))
   12231              :                     return -1;
   12232              :                   operands[4] = x7;
   12233              :                   if (!(
   12234              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12235              : (TARGET_AVX512F) && 
   12236              : #line 13808 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12237              : (TARGET_AVX && TARGET_AVX512VL)))
   12238              :                     return -1;
   12239              :                   return 5426; /* avx_unpcklpd256_mask */
   12240              : 
   12241              :                 case E_V4DImode:
   12242              :                   if (pattern1657 (x2, 
   12243              : E_V4DImode, 
   12244              : E_V8DImode) != 0
   12245              :                       || !(
   12246              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12247              : (TARGET_AVX512F) && 
   12248              : #line 14840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12249              : (TARGET_AVX2 && TARGET_AVX512VL)))
   12250              :                     return -1;
   12251              :                   return 7239; /* avx2_interleave_lowv4di_mask */
   12252              : 
   12253              :                 default:
   12254              :                   return -1;
   12255              :                 }
   12256              : 
   12257              :             default:
   12258              :               return -1;
   12259              :             }
   12260              : 
   12261              :         case 0L:
   12262              :           if (XWINT (x5, 0) != 6L
   12263              :               || XWINT (x6, 0) != 6L
   12264              :               || pattern1592 (x2) != 0
   12265              :               || !(
   12266              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12267              : (TARGET_AVX512F) && 
   12268              : #line 11741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12269              : (TARGET_SSE3 && TARGET_AVX512VL)))
   12270              :             return -1;
   12271              :           return 5280; /* sse3_movsldup_mask */
   12272              : 
   12273              :         default:
   12274              :           return -1;
   12275              :         }
   12276              : 
   12277              :     case 1L:
   12278              :       if (XWINT (x6, 0) != 7L)
   12279              :         return -1;
   12280              :       x9 = XVECEXP (x4, 0, 1);
   12281              :       switch (XWINT (x9, 0))
   12282              :         {
   12283              :         case 1L:
   12284              :           if (XWINT (x5, 0) != 7L
   12285              :               || pattern1592 (x2) != 0
   12286              :               || !(
   12287              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12288              : (TARGET_AVX512F) && 
   12289              : #line 11688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12290              : (TARGET_SSE3 && TARGET_AVX512VL)))
   12291              :             return -1;
   12292              :           return 5274; /* sse3_movshdup_mask */
   12293              : 
   12294              :         case 5L:
   12295              :           if (XWINT (x5, 0) != 3L)
   12296              :             return -1;
   12297              :           x10 = XEXP (x3, 0);
   12298              :           x11 = XEXP (x10, 1);
   12299              :           operands[2] = x11;
   12300              :           x12 = XEXP (x2, 1);
   12301              :           operands[3] = x12;
   12302              :           operands[4] = x7;
   12303              :           switch (GET_MODE (operands[0]))
   12304              :             {
   12305              :             case E_V4DFmode:
   12306              :               if (pattern1593 (x2, 
   12307              : E_V4DFmode, 
   12308              : E_V8DFmode) != 0
   12309              :                   || !(
   12310              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12311              : (TARGET_AVX512F) && 
   12312              : #line 13664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12313              : (TARGET_AVX && TARGET_AVX512VL)))
   12314              :                 return -1;
   12315              :               return 5416; /* avx_unpckhpd256_mask */
   12316              : 
   12317              :             case E_V4DImode:
   12318              :               if (pattern1593 (x2, 
   12319              : E_V4DImode, 
   12320              : E_V8DImode) != 0
   12321              :                   || !(
   12322              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12323              : (TARGET_AVX512F) && 
   12324              : #line 14790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12325              : (TARGET_AVX2 && TARGET_AVX512VL)))
   12326              :                 return -1;
   12327              :               return 7233; /* avx2_interleave_highv4di_mask */
   12328              : 
   12329              :             default:
   12330              :               return -1;
   12331              :             }
   12332              : 
   12333              :         default:
   12334              :           return -1;
   12335              :         }
   12336              : 
   12337              :     default:
   12338              :       return -1;
   12339              :     }
   12340              : }
   12341              : 
   12342              :  int
   12343              : recog_173 (rtx x1 ATTRIBUTE_UNUSED,
   12344              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12345              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12346              : {
   12347              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12348              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   12349              :   rtx x10;
   12350              :   int res ATTRIBUTE_UNUSED;
   12351              :   x2 = XEXP (x1, 1);
   12352              :   x3 = XEXP (x2, 0);
   12353              :   x4 = XEXP (x3, 1);
   12354              :   x5 = XVECEXP (x4, 0, 0);
   12355              :   if (GET_CODE (x5) != CONST_INT)
   12356              :     return -1;
   12357              :   operands[2] = x5;
   12358              :   res = recog_172 (x1, insn, pnum_clobbers);
   12359              :   if (res >= 0)
   12360              :     return res;
   12361              :   x6 = XVECEXP (x4, 0, 1);
   12362              :   if (GET_CODE (x6) != CONST_INT)
   12363              :     return -1;
   12364              :   x7 = XVECEXP (x4, 0, 2);
   12365              :   if (GET_CODE (x7) != CONST_INT)
   12366              :     return -1;
   12367              :   x8 = XVECEXP (x4, 0, 3);
   12368              :   if (GET_CODE (x8) != CONST_INT)
   12369              :     return -1;
   12370              :   x9 = XEXP (x2, 1);
   12371              :   operands[2] = x9;
   12372              :   x10 = XEXP (x2, 2);
   12373              :   operands[3] = x10;
   12374              :   if (!register_operand (operands[3], E_QImode))
   12375              :     return -1;
   12376              :   switch (XWINT (x5, 0))
   12377              :     {
   12378              :     case 0L:
   12379              :       if (XWINT (x6, 0) != 1L
   12380              :           || XWINT (x7, 0) != 2L
   12381              :           || XWINT (x8, 0) != 3L)
   12382              :         return -1;
   12383              :       switch (GET_MODE (operands[0]))
   12384              :         {
   12385              :         case E_V4DFmode:
   12386              :           if (!nonimmediate_operand (operands[0], E_V4DFmode)
   12387              :               || pattern1557 (x2, 
   12388              : E_V4DFmode, 
   12389              : E_V8DFmode) != 0
   12390              :               || !
   12391              : #line 12947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12392              : (TARGET_AVX512F
   12393              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12394              :             return -1;
   12395              :           return 5357; /* vec_extract_lo_v8df_mask */
   12396              : 
   12397              :         case E_V4DImode:
   12398              :           if (!nonimmediate_operand (operands[0], E_V4DImode)
   12399              :               || pattern1557 (x2, 
   12400              : E_V4DImode, 
   12401              : E_V8DImode) != 0
   12402              :               || !
   12403              : #line 12947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12404              : (TARGET_AVX512F
   12405              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12406              :             return -1;
   12407              :           return 5358; /* vec_extract_lo_v8di_mask */
   12408              : 
   12409              :         case E_V4SImode:
   12410              :           if (!nonimmediate_operand (operands[0], E_V4SImode)
   12411              :               || pattern1557 (x2, 
   12412              : E_V4SImode, 
   12413              : E_V8SImode) != 0
   12414              :               || !
   12415              : #line 13281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12416              : (TARGET_AVX512VL
   12417              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12418              :             return -1;
   12419              :           return 5381; /* vec_extract_lo_v8si_mask */
   12420              : 
   12421              :         case E_V4SFmode:
   12422              :           if (!nonimmediate_operand (operands[0], E_V4SFmode)
   12423              :               || pattern1557 (x2, 
   12424              : E_V4SFmode, 
   12425              : E_V8SFmode) != 0
   12426              :               || !
   12427              : #line 13281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12428              : (TARGET_AVX512VL
   12429              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12430              :             return -1;
   12431              :           return 5382; /* vec_extract_lo_v8sf_mask */
   12432              : 
   12433              :         default:
   12434              :           return -1;
   12435              :         }
   12436              : 
   12437              :     case 4L:
   12438              :       if (XWINT (x6, 0) != 5L
   12439              :           || XWINT (x7, 0) != 6L
   12440              :           || XWINT (x8, 0) != 7L)
   12441              :         return -1;
   12442              :       switch (GET_MODE (operands[0]))
   12443              :         {
   12444              :         case E_V4DFmode:
   12445              :           if (!nonimmediate_operand (operands[0], E_V4DFmode)
   12446              :               || pattern1557 (x2, 
   12447              : E_V4DFmode, 
   12448              : E_V8DFmode) != 0
   12449              :               || !
   12450              : #line 12984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12451              : (TARGET_AVX512F
   12452              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12453              :             return -1;
   12454              :           return 5361; /* vec_extract_hi_v8df_mask */
   12455              : 
   12456              :         case E_V4DImode:
   12457              :           if (!nonimmediate_operand (operands[0], E_V4DImode)
   12458              :               || pattern1557 (x2, 
   12459              : E_V4DImode, 
   12460              : E_V8DImode) != 0
   12461              :               || !
   12462              : #line 12984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12463              : (TARGET_AVX512F
   12464              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12465              :             return -1;
   12466              :           return 5362; /* vec_extract_hi_v8di_mask */
   12467              : 
   12468              :         case E_V4SImode:
   12469              :           if (!register_operand (operands[0], E_V4SImode)
   12470              :               || pattern1557 (x2, 
   12471              : E_V4SImode, 
   12472              : E_V8SImode) != 0
   12473              :               || !
   12474              : #line 13313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12475              : (TARGET_AVX512VL
   12476              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12477              :             return -1;
   12478              :           return 5385; /* vec_extract_hi_v8si_mask */
   12479              : 
   12480              :         case E_V4SFmode:
   12481              :           if (!register_operand (operands[0], E_V4SFmode)
   12482              :               || pattern1557 (x2, 
   12483              : E_V4SFmode, 
   12484              : E_V8SFmode) != 0
   12485              :               || !
   12486              : #line 13313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12487              : (TARGET_AVX512VL
   12488              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
   12489              :             return -1;
   12490              :           return 5386; /* vec_extract_hi_v8sf_mask */
   12491              : 
   12492              :         default:
   12493              :           return -1;
   12494              :         }
   12495              : 
   12496              :     default:
   12497              :       return -1;
   12498              :     }
   12499              : }
   12500              : 
   12501              :  int
   12502              : recog_185 (rtx x1 ATTRIBUTE_UNUSED,
   12503              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   12504              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   12505              : {
   12506              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   12507              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   12508              :   rtx x10, x11, x12, x13, x14, x15;
   12509              :   int res ATTRIBUTE_UNUSED;
   12510              :   x2 = XEXP (x1, 1);
   12511              :   x3 = XEXP (x2, 0);
   12512              :   x4 = XEXP (x3, 0);
   12513              :   switch (GET_CODE (x4))
   12514              :     {
   12515              :     case REG:
   12516              :     case SUBREG:
   12517              :       x5 = XEXP (x3, 1);
   12518              :       switch (GET_CODE (x5))
   12519              :         {
   12520              :         case CONST_INT:
   12521              :         case CONST_DOUBLE:
   12522              :         case CONST_VECTOR:
   12523              :         case REG:
   12524              :         case SUBREG:
   12525              :         case MEM:
   12526              :           operands[3] = x5;
   12527              :           x6 = XEXP (x2, 2);
   12528              :           if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12529              :             return -1;
   12530              :           operands[2] = x4;
   12531              :           x7 = XEXP (x3, 2);
   12532              :           operands[4] = x7;
   12533              :           if (!register_operand (operands[4], E_QImode))
   12534              :             return -1;
   12535              :           x8 = XEXP (x2, 1);
   12536              :           operands[1] = x8;
   12537              :           switch (GET_MODE (operands[0]))
   12538              :             {
   12539              :             case E_V8HFmode:
   12540              :               if (pattern1286 (x2, 
   12541              : E_V8HFmode) != 0
   12542              :                   || !(
   12543              : #line 1717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12544              : (TARGET_AVX512F) && 
   12545              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12546              : (TARGET_AVX512FP16)))
   12547              :                 return -1;
   12548              :               return 2559; /* avx512f_movhf_mask */
   12549              : 
   12550              :             case E_V4SFmode:
   12551              :               if (pattern1286 (x2, 
   12552              : E_V4SFmode) != 0
   12553              :                   || !
   12554              : #line 1717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12555              : (TARGET_AVX512F))
   12556              :                 return -1;
   12557              :               return 2560; /* avx512f_movsf_mask */
   12558              : 
   12559              :             case E_V2DFmode:
   12560              :               if (pattern1286 (x2, 
   12561              : E_V2DFmode) != 0
   12562              :                   || !(
   12563              : #line 1717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12564              : (TARGET_AVX512F) && 
   12565              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12566              : (TARGET_SSE2)))
   12567              :                 return -1;
   12568              :               return 2561; /* avx512f_movdf_mask */
   12569              : 
   12570              :             default:
   12571              :               return -1;
   12572              :             }
   12573              : 
   12574              :         case VEC_DUPLICATE:
   12575              :           operands[1] = x4;
   12576              :           x9 = XEXP (x5, 0);
   12577              :           operands[2] = x9;
   12578              :           x7 = XEXP (x3, 2);
   12579              :           operands[3] = x7;
   12580              :           if (!const_int_operand (operands[3], E_SImode))
   12581              :             return -1;
   12582              :           x8 = XEXP (x2, 1);
   12583              :           operands[4] = x8;
   12584              :           x6 = XEXP (x2, 2);
   12585              :           operands[5] = x6;
   12586              :           switch (GET_MODE (operands[0]))
   12587              :             {
   12588              :             case E_V8DFmode:
   12589              :               if (pattern1287 (x2, 
   12590              : E_V8DFmode, 
   12591              : E_V2DFmode, 
   12592              : E_QImode) != 0
   12593              :                   || !(
   12594              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12595              : (TARGET_AVX512F) && (
   12596              : #line 20377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12597              : (TARGET_AVX512F) && 
   12598              : #line 12722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12599              : (TARGET_AVX512DQ))))
   12600              :                 return -1;
   12601              :               return 8434; /* avx512dq_vinsertf64x2_1_mask */
   12602              : 
   12603              :             case E_V8DImode:
   12604              :               if (pattern1287 (x2, 
   12605              : E_V8DImode, 
   12606              : E_V2DImode, 
   12607              : E_QImode) != 0
   12608              :                   || !(
   12609              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12610              : (TARGET_AVX512F) && (
   12611              : #line 20377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12612              : (TARGET_AVX512F) && 
   12613              : #line 12722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12614              : (TARGET_AVX512DQ))))
   12615              :                 return -1;
   12616              :               return 8436; /* avx512dq_vinserti64x2_1_mask */
   12617              : 
   12618              :             case E_V16SFmode:
   12619              :               if (pattern1287 (x2, 
   12620              : E_V16SFmode, 
   12621              : E_V4SFmode, 
   12622              : E_HImode) != 0
   12623              :                   || !
   12624              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12625              : (TARGET_AVX512F))
   12626              :                 return -1;
   12627              :               return 8438; /* avx512f_vinsertf32x4_1_mask */
   12628              : 
   12629              :             case E_V16SImode:
   12630              :               if (pattern1287 (x2, 
   12631              : E_V16SImode, 
   12632              : E_V4SImode, 
   12633              : E_HImode) != 0
   12634              :                   || !
   12635              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12636              : (TARGET_AVX512F))
   12637              :                 return -1;
   12638              :               return 8440; /* avx512f_vinserti32x4_1_mask */
   12639              : 
   12640              :             default:
   12641              :               return -1;
   12642              :             }
   12643              : 
   12644              :         default:
   12645              :           return -1;
   12646              :         }
   12647              : 
   12648              :     case VEC_DUPLICATE:
   12649              :       x10 = XEXP (x4, 0);
   12650              :       switch (GET_CODE (x10))
   12651              :         {
   12652              :         case SUBREG:
   12653              :         case MEM:
   12654              :           operands[1] = x10;
   12655              :           x6 = XEXP (x2, 2);
   12656              :           if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12657              :             return -1;
   12658              :           x5 = XEXP (x3, 1);
   12659              :           operands[2] = x5;
   12660              :           x7 = XEXP (x3, 2);
   12661              :           operands[3] = x7;
   12662              :           if (!register_operand (operands[3], E_QImode))
   12663              :             return -1;
   12664              :           x8 = XEXP (x2, 1);
   12665              :           operands[4] = x8;
   12666              :           switch (GET_MODE (operands[0]))
   12667              :             {
   12668              :             case E_V8HFmode:
   12669              :               if (pattern1288 (x2, 
   12670              : E_V8HFmode, 
   12671              : E_HFmode) != 0
   12672              :                   || !(
   12673              : #line 1746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12674              : (TARGET_AVX512F) && 
   12675              : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   12676              : (TARGET_AVX512FP16)))
   12677              :                 return -1;
   12678              :               return 2562; /* *avx512f_loadhf_mask */
   12679              : 
   12680              :             case E_V4SFmode:
   12681              :               if (pattern1288 (x2, 
   12682              : E_V4SFmode, 
   12683              : E_SFmode) != 0
   12684              :                   || !
   12685              : #line 1746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12686              : (TARGET_AVX512F))
   12687              :                 return -1;
   12688              :               return 2563; /* *avx512f_loadsf_mask */
   12689              : 
   12690              :             case E_V2DFmode:
   12691              :               if (pattern1288 (x2, 
   12692              : E_V2DFmode, 
   12693              : E_DFmode) != 0
   12694              :                   || !
   12695              : #line 1746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12696              : (TARGET_AVX512F))
   12697              :                 return -1;
   12698              :               return 2564; /* *avx512f_loaddf_mask */
   12699              : 
   12700              :             default:
   12701              :               return -1;
   12702              :             }
   12703              : 
   12704              :         case SQRT:
   12705              :           x6 = XEXP (x2, 2);
   12706              :           if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12707              :             return -1;
   12708              :           x11 = XEXP (x10, 0);
   12709              :           operands[1] = x11;
   12710              :           x5 = XEXP (x3, 1);
   12711              :           operands[3] = x5;
   12712              :           x7 = XEXP (x3, 2);
   12713              :           operands[4] = x7;
   12714              :           if (!register_operand (operands[4], E_QImode))
   12715              :             return -1;
   12716              :           x8 = XEXP (x2, 1);
   12717              :           operands[2] = x8;
   12718              :           switch (GET_MODE (operands[0]))
   12719              :             {
   12720              :             case E_V8HFmode:
   12721              :               if (pattern1289 (x2, 
   12722              : E_V8HFmode, 
   12723              : E_HFmode) != 0
   12724              :                   || !(
   12725              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12726              : (TARGET_AVX512F) && (
   12727              : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12728              : (TARGET_SSE) && 
   12729              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12730              : (TARGET_AVX512FP16))))
   12731              :                 return -1;
   12732              :               return 3004; /* *avx512fp16_vmsqrtv8hf2_mask */
   12733              : 
   12734              :             case E_V4SFmode:
   12735              :               if (pattern1289 (x2, 
   12736              : E_V4SFmode, 
   12737              : E_SFmode) != 0
   12738              :                   || !(
   12739              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12740              : (TARGET_AVX512F) && 
   12741              : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12742              : (TARGET_SSE)))
   12743              :                 return -1;
   12744              :               return 3008; /* *sse_vmsqrtv4sf2_mask */
   12745              : 
   12746              :             case E_V2DFmode:
   12747              :               if (pattern1289 (x2, 
   12748              : E_V2DFmode, 
   12749              : E_DFmode) != 0
   12750              :                   || !(
   12751              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12752              : (TARGET_AVX512F) && (
   12753              : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12754              : (TARGET_SSE) && 
   12755              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12756              : (TARGET_SSE2))))
   12757              :                 return -1;
   12758              :               return 3012; /* *sse2_vmsqrtv2df2_mask */
   12759              : 
   12760              :             default:
   12761              :               return -1;
   12762              :             }
   12763              : 
   12764              :         case UNSPEC:
   12765              :           if (XVECLEN (x10, 0) != 1
   12766              :               || XINT (x10, 1) != 56
   12767              :               || GET_MODE (x10) != E_HFmode)
   12768              :             return -1;
   12769              :           x6 = XEXP (x2, 2);
   12770              :           if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   12771              :               || pattern1007 (x2, 
   12772              : E_V8HFmode) != 0)
   12773              :             return -1;
   12774              :           x12 = XVECEXP (x10, 0, 0);
   12775              :           operands[1] = x12;
   12776              :           if (!nonimmediate_operand (operands[1], E_HFmode))
   12777              :             return -1;
   12778              :           x5 = XEXP (x3, 1);
   12779              :           operands[3] = x5;
   12780              :           if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
   12781              :             return -1;
   12782              :           x7 = XEXP (x3, 2);
   12783              :           operands[4] = x7;
   12784              :           if (!register_operand (operands[4], E_QImode))
   12785              :             return -1;
   12786              :           x8 = XEXP (x2, 1);
   12787              :           operands[2] = x8;
   12788              :           if (!register_operand (operands[2], E_V8HFmode)
   12789              :               || !(
   12790              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12791              : (TARGET_AVX512F) && 
   12792              : #line 3274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12793              : (TARGET_AVX512FP16)))
   12794              :             return -1;
   12795              :           return 3043; /* *avx512fp16_vmrsqrtv8hf2 */
   12796              : 
   12797              :         case FLOAT_EXTEND:
   12798              :           x6 = XEXP (x2, 2);
   12799              :           if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   12800              :             return -1;
   12801              :           x5 = XEXP (x3, 1);
   12802              :           operands[3] = x5;
   12803              :           x7 = XEXP (x3, 2);
   12804              :           operands[4] = x7;
   12805              :           if (!register_operand (operands[4], E_QImode))
   12806              :             return -1;
   12807              :           x8 = XEXP (x2, 1);
   12808              :           operands[2] = x8;
   12809              :           x11 = XEXP (x10, 0);
   12810              :           switch (GET_CODE (x11))
   12811              :             {
   12812              :             case VEC_SELECT:
   12813              :               if (GET_MODE (x11) != E_HFmode)
   12814              :                 return -1;
   12815              :               x13 = XEXP (x11, 1);
   12816              :               if (GET_CODE (x13) != PARALLEL
   12817              :                   || XVECLEN (x13, 0) != 1)
   12818              :                 return -1;
   12819              :               x14 = XVECEXP (x13, 0, 0);
   12820              :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   12821              :                 return -1;
   12822              :               x15 = XEXP (x11, 0);
   12823              :               operands[1] = x15;
   12824              :               if (!register_operand (operands[1], E_V8HFmode))
   12825              :                 return -1;
   12826              :               switch (GET_MODE (operands[0]))
   12827              :                 {
   12828              :                 case E_V2DFmode:
   12829              :                   if (pattern1470 (x2, 
   12830              : E_V2DFmode, 
   12831              : E_DFmode) != 0
   12832              :                       || !(
   12833              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12834              : (TARGET_AVX512F) && 
   12835              : #line 8632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12836              : (TARGET_AVX512FP16)))
   12837              :                     return -1;
   12838              :                   return 4801; /* avx512fp16_vcvtsh2sd_mask */
   12839              : 
   12840              :                 case E_V4SFmode:
   12841              :                   if (pattern1470 (x2, 
   12842              : E_V4SFmode, 
   12843              : E_SFmode) != 0
   12844              :                       || !(
   12845              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12846              : (TARGET_AVX512F) && 
   12847              : #line 8632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12848              : (TARGET_AVX512FP16)))
   12849              :                     return -1;
   12850              :                   return 4805; /* avx512fp16_vcvtsh2ss_mask */
   12851              : 
   12852              :                 default:
   12853              :                   return -1;
   12854              :                 }
   12855              : 
   12856              :             case SUBREG:
   12857              :             case MEM:
   12858              :               operands[1] = x11;
   12859              :               if (!memory_operand (operands[1], E_HFmode))
   12860              :                 return -1;
   12861              :               switch (GET_MODE (operands[0]))
   12862              :                 {
   12863              :                 case E_V2DFmode:
   12864              :                   if (pattern1470 (x2, 
   12865              : E_V2DFmode, 
   12866              : E_DFmode) != 0
   12867              :                       || !(
   12868              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12869              : (TARGET_AVX512F) && 
   12870              : #line 8646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12871              : (TARGET_AVX512FP16)))
   12872              :                     return -1;
   12873              :                   return 4809; /* avx512fp16_vcvtsh2sd_mask_mem */
   12874              : 
   12875              :                 case E_V4SFmode:
   12876              :                   if (pattern1470 (x2, 
   12877              : E_V4SFmode, 
   12878              : E_SFmode) != 0
   12879              :                       || !(
   12880              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12881              : (TARGET_AVX512F) && 
   12882              : #line 8646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12883              : (TARGET_AVX512FP16)))
   12884              :                     return -1;
   12885              :                   return 4811; /* avx512fp16_vcvtsh2ss_mask_mem */
   12886              : 
   12887              :                 default:
   12888              :                   return -1;
   12889              :                 }
   12890              : 
   12891              :             default:
   12892              :               return -1;
   12893              :             }
   12894              : 
   12895              :         case FLOAT_TRUNCATE:
   12896              :           x11 = XEXP (x10, 0);
   12897              :           switch (GET_CODE (x11))
   12898              :             {
   12899              :             case VEC_SELECT:
   12900              :               x13 = XEXP (x11, 1);
   12901              :               if (GET_CODE (x13) != PARALLEL
   12902              :                   || XVECLEN (x13, 0) != 1)
   12903              :                 return -1;
   12904              :               x14 = XVECEXP (x13, 0, 0);
   12905              :               if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   12906              :                 return -1;
   12907              :               x6 = XEXP (x2, 2);
   12908              :               if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   12909              :                   || pattern893 (x2, 
   12910              : E_HFmode, 
   12911              : E_V8HFmode) != 0)
   12912              :                 return -1;
   12913              :               x15 = XEXP (x11, 0);
   12914              :               operands[1] = x15;
   12915              :               x5 = XEXP (x3, 1);
   12916              :               operands[3] = x5;
   12917              :               if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
   12918              :                 return -1;
   12919              :               x7 = XEXP (x3, 2);
   12920              :               operands[4] = x7;
   12921              :               if (!register_operand (operands[4], E_QImode))
   12922              :                 return -1;
   12923              :               x8 = XEXP (x2, 1);
   12924              :               operands[2] = x8;
   12925              :               if (!register_operand (operands[2], E_V8HFmode))
   12926              :                 return -1;
   12927              :               switch (GET_MODE (x11))
   12928              :                 {
   12929              :                 case E_DFmode:
   12930              :                   if (!register_operand (operands[1], E_V2DFmode)
   12931              :                       || !(
   12932              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12933              : (TARGET_AVX512F) && 
   12934              : #line 8662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12935              : (TARGET_AVX512FP16)))
   12936              :                     return -1;
   12937              :                   return 4814; /* avx512fp16_vcvtsd2sh_mask */
   12938              : 
   12939              :                 case E_SFmode:
   12940              :                   if (!register_operand (operands[1], E_V4SFmode)
   12941              :                       || !(
   12942              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12943              : (TARGET_AVX512F) && 
   12944              : #line 8662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12945              : (TARGET_AVX512FP16)))
   12946              :                     return -1;
   12947              :                   return 4818; /* avx512fp16_vcvtss2sh_mask */
   12948              : 
   12949              :                 default:
   12950              :                   return -1;
   12951              :                 }
   12952              : 
   12953              :             case REG:
   12954              :             case SUBREG:
   12955              :             case MEM:
   12956              :               x7 = XEXP (x3, 2);
   12957              :               switch (GET_CODE (x7))
   12958              :                 {
   12959              :                 case REG:
   12960              :                 case SUBREG:
   12961              :                   operands[4] = x7;
   12962              :                   if (!register_operand (operands[4], E_QImode))
   12963              :                     return -1;
   12964              :                   x6 = XEXP (x2, 2);
   12965              :                   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   12966              :                       || pattern893 (x2, 
   12967              : E_HFmode, 
   12968              : E_V8HFmode) != 0)
   12969              :                     return -1;
   12970              :                   operands[1] = x11;
   12971              :                   x5 = XEXP (x3, 1);
   12972              :                   operands[3] = x5;
   12973              :                   if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
   12974              :                     return -1;
   12975              :                   x8 = XEXP (x2, 1);
   12976              :                   operands[2] = x8;
   12977              :                   if (!register_operand (operands[2], E_V8HFmode))
   12978              :                     return -1;
   12979              :                   switch (GET_MODE (operands[1]))
   12980              :                     {
   12981              :                     case E_SFmode:
   12982              :                       if (!memory_operand (operands[1], E_SFmode)
   12983              :                           || !(
   12984              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12985              : (TARGET_AVX512F) && 
   12986              : #line 8676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12987              : (TARGET_AVX512FP16)))
   12988              :                         return -1;
   12989              :                       return 4821; /* avx512fp16_vcvtss2sh_mask_mem */
   12990              : 
   12991              :                     case E_DFmode:
   12992              :                       if (!memory_operand (operands[1], E_DFmode)
   12993              :                           || !(
   12994              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   12995              : (TARGET_AVX512F) && 
   12996              : #line 8676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   12997              : (TARGET_AVX512FP16)))
   12998              :                         return -1;
   12999              :                       return 4823; /* avx512fp16_vcvtsd2sh_mask_mem */
   13000              : 
   13001              :                     default:
   13002              :                       return -1;
   13003              :                     }
   13004              : 
   13005              :                 case CONST_INT:
   13006              :                   if (XWINT (x7, 0) != 1L
   13007              :                       || pattern893 (x2, 
   13008              : E_V2SFmode, 
   13009              : E_V4SFmode) != 0
   13010              :                       || pattern1381 (x2, 
   13011              : E_V4SFmode, 
   13012              : E_V2DFmode) != 0
   13013              :                       || !(
   13014              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13015              : (TARGET_AVX512F) && 
   13016              : #line 10333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13017              : (TARGET_SSE2)))
   13018              :                     return -1;
   13019              :                   return 5182; /* sse2_cvtsd2ss_mask */
   13020              : 
   13021              :                 default:
   13022              :                   return -1;
   13023              :                 }
   13024              : 
   13025              :             default:
   13026              :               return -1;
   13027              :             }
   13028              : 
   13029              :         default:
   13030              :           return -1;
   13031              :         }
   13032              : 
   13033              :     case PLUS:
   13034              :       switch (pattern309 (x2))
   13035              :         {
   13036              :         case 0:
   13037              :           if (!(
   13038              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13039              : (TARGET_AVX512F) && (
   13040              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13041              : (TARGET_SSE) && 
   13042              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13043              : (TARGET_AVX512FP16))))
   13044              :             return -1;
   13045              :           return 2825; /* avx512fp16_vmaddv8hf3_mask */
   13046              : 
   13047              :         case 1:
   13048              :           if (!(
   13049              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13050              : (TARGET_AVX512F) && 
   13051              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13052              : (TARGET_SSE)))
   13053              :             return -1;
   13054              :           return 2833; /* sse_vmaddv4sf3_mask */
   13055              : 
   13056              :         case 2:
   13057              :           if (!(
   13058              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13059              : (TARGET_AVX512F) && (
   13060              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13061              : (TARGET_SSE) && 
   13062              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13063              : (TARGET_SSE2))))
   13064              :             return -1;
   13065              :           return 2841; /* sse2_vmaddv2df3_mask */
   13066              : 
   13067              :         default:
   13068              :           return -1;
   13069              :         }
   13070              : 
   13071              :     case MINUS:
   13072              :       switch (pattern309 (x2))
   13073              :         {
   13074              :         case 0:
   13075              :           if (!(
   13076              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13077              : (TARGET_AVX512F) && (
   13078              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13079              : (TARGET_SSE) && 
   13080              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13081              : (TARGET_AVX512FP16))))
   13082              :             return -1;
   13083              :           return 2829; /* avx512fp16_vmsubv8hf3_mask */
   13084              : 
   13085              :         case 1:
   13086              :           if (!(
   13087              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13088              : (TARGET_AVX512F) && 
   13089              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13090              : (TARGET_SSE)))
   13091              :             return -1;
   13092              :           return 2837; /* sse_vmsubv4sf3_mask */
   13093              : 
   13094              :         case 2:
   13095              :           if (!(
   13096              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13097              : (TARGET_AVX512F) && (
   13098              : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13099              : (TARGET_SSE) && 
   13100              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13101              : (TARGET_SSE2))))
   13102              :             return -1;
   13103              :           return 2845; /* sse2_vmsubv2df3_mask */
   13104              : 
   13105              :         default:
   13106              :           return -1;
   13107              :         }
   13108              : 
   13109              :     case MULT:
   13110              :       switch (pattern309 (x2))
   13111              :         {
   13112              :         case 0:
   13113              :           if (!(
   13114              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13115              : (TARGET_AVX512F) && (
   13116              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13117              : (TARGET_SSE) && 
   13118              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13119              : (TARGET_AVX512FP16))))
   13120              :             return -1;
   13121              :           return 2891; /* avx512fp16_vmmulv8hf3_mask */
   13122              : 
   13123              :         case 1:
   13124              :           if (!(
   13125              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13126              : (TARGET_AVX512F) && 
   13127              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13128              : (TARGET_SSE)))
   13129              :             return -1;
   13130              :           return 2899; /* sse_vmmulv4sf3_mask */
   13131              : 
   13132              :         case 2:
   13133              :           if (!(
   13134              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13135              : (TARGET_AVX512F) && (
   13136              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13137              : (TARGET_SSE) && 
   13138              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13139              : (TARGET_SSE2))))
   13140              :             return -1;
   13141              :           return 2907; /* sse2_vmmulv2df3_mask */
   13142              : 
   13143              :         default:
   13144              :           return -1;
   13145              :         }
   13146              : 
   13147              :     case DIV:
   13148              :       switch (pattern309 (x2))
   13149              :         {
   13150              :         case 0:
   13151              :           if (!(
   13152              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13153              : (TARGET_AVX512F) && (
   13154              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13155              : (TARGET_SSE) && 
   13156              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13157              : (TARGET_AVX512FP16))))
   13158              :             return -1;
   13159              :           return 2895; /* avx512fp16_vmdivv8hf3_mask */
   13160              : 
   13161              :         case 1:
   13162              :           if (!(
   13163              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13164              : (TARGET_AVX512F) && 
   13165              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13166              : (TARGET_SSE)))
   13167              :             return -1;
   13168              :           return 2903; /* sse_vmdivv4sf3_mask */
   13169              : 
   13170              :         case 2:
   13171              :           if (!(
   13172              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13173              : (TARGET_AVX512F) && (
   13174              : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13175              : (TARGET_SSE) && 
   13176              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13177              : (TARGET_SSE2))))
   13178              :             return -1;
   13179              :           return 2911; /* sse2_vmdivv2df3_mask */
   13180              : 
   13181              :         default:
   13182              :           return -1;
   13183              :         }
   13184              : 
   13185              :     case UNSPEC:
   13186              :       return recog_151 (x1, insn, pnum_clobbers);
   13187              : 
   13188              :     case SQRT:
   13189              :       x6 = XEXP (x2, 2);
   13190              :       if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   13191              :         return -1;
   13192              :       x10 = XEXP (x4, 0);
   13193              :       operands[1] = x10;
   13194              :       x5 = XEXP (x3, 1);
   13195              :       operands[3] = x5;
   13196              :       x7 = XEXP (x3, 2);
   13197              :       operands[4] = x7;
   13198              :       if (!register_operand (operands[4], E_QImode))
   13199              :         return -1;
   13200              :       x8 = XEXP (x2, 1);
   13201              :       operands[2] = x8;
   13202              :       switch (GET_MODE (operands[0]))
   13203              :         {
   13204              :         case E_V8HFmode:
   13205              :           if (pattern1223 (x2, 
   13206              : E_V8HFmode) != 0
   13207              :               || !(
   13208              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13209              : (TARGET_AVX512F) && (
   13210              : #line 3106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13211              : (TARGET_SSE) && 
   13212              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13213              : (TARGET_AVX512FP16))))
   13214              :             return -1;
   13215              :           return 2992; /* avx512fp16_vmsqrtv8hf2_mask */
   13216              : 
   13217              :         case E_V4SFmode:
   13218              :           if (pattern1223 (x2, 
   13219              : E_V4SFmode) != 0
   13220              :               || !(
   13221              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13222              : (TARGET_AVX512F) && 
   13223              : #line 3106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13224              : (TARGET_SSE)))
   13225              :             return -1;
   13226              :           return 2996; /* sse_vmsqrtv4sf2_mask */
   13227              : 
   13228              :         case E_V2DFmode:
   13229              :           if (pattern1223 (x2, 
   13230              : E_V2DFmode) != 0
   13231              :               || !(
   13232              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13233              : (TARGET_AVX512F) && (
   13234              : #line 3106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13235              : (TARGET_SSE) && 
   13236              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13237              : (TARGET_SSE2))))
   13238              :             return -1;
   13239              :           return 3000; /* sse2_vmsqrtv2df2_mask */
   13240              : 
   13241              :         default:
   13242              :           return -1;
   13243              :         }
   13244              : 
   13245              :     case SMAX:
   13246              :       switch (pattern309 (x2))
   13247              :         {
   13248              :         case 0:
   13249              :           if (!(
   13250              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13251              : (TARGET_AVX512F) && (
   13252              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13253              : (TARGET_SSE) && 
   13254              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13255              : (TARGET_AVX512FP16))))
   13256              :             return -1;
   13257              :           return 3168; /* *avx512fp16_vmsmaxv8hf3_mask */
   13258              : 
   13259              :         case 1:
   13260              :           if (!(
   13261              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13262              : (TARGET_AVX512F) && 
   13263              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13264              : (TARGET_SSE)))
   13265              :             return -1;
   13266              :           return 3176; /* *sse_vmsmaxv4sf3_mask */
   13267              : 
   13268              :         case 2:
   13269              :           if (!(
   13270              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13271              : (TARGET_AVX512F) && (
   13272              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13273              : (TARGET_SSE) && 
   13274              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13275              : (TARGET_SSE2))))
   13276              :             return -1;
   13277              :           return 3184; /* *sse2_vmsmaxv2df3_mask */
   13278              : 
   13279              :         default:
   13280              :           return -1;
   13281              :         }
   13282              : 
   13283              :     case SMIN:
   13284              :       switch (pattern309 (x2))
   13285              :         {
   13286              :         case 0:
   13287              :           if (!(
   13288              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13289              : (TARGET_AVX512F) && (
   13290              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13291              : (TARGET_SSE) && 
   13292              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13293              : (TARGET_AVX512FP16))))
   13294              :             return -1;
   13295              :           return 3172; /* *avx512fp16_vmsminv8hf3_mask */
   13296              : 
   13297              :         case 1:
   13298              :           if (!(
   13299              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13300              : (TARGET_AVX512F) && 
   13301              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13302              : (TARGET_SSE)))
   13303              :             return -1;
   13304              :           return 3180; /* *sse_vmsminv4sf3_mask */
   13305              : 
   13306              :         case 2:
   13307              :           if (!(
   13308              : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13309              : (TARGET_AVX512F) && (
   13310              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13311              : (TARGET_SSE) && 
   13312              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13313              : (TARGET_SSE2))))
   13314              :             return -1;
   13315              :           return 3188; /* *sse2_vmsminv2df3_mask */
   13316              : 
   13317              :         default:
   13318              :           return -1;
   13319              :         }
   13320              : 
   13321              :     case FMA:
   13322              :       return recog_150 (x1, insn, pnum_clobbers);
   13323              : 
   13324              :     case FLOAT_EXTEND:
   13325              :       if (pattern310 (x4, 
   13326              : 1, 
   13327              : E_V2SFmode, 
   13328              : E_V2DFmode) != 0)
   13329              :         return -1;
   13330              :       x7 = XEXP (x3, 2);
   13331              :       if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   13332              :           || !register_operand (operands[0], E_V2DFmode)
   13333              :           || GET_MODE (x2) != E_V2DFmode
   13334              :           || GET_MODE (x3) != E_V2DFmode
   13335              :           || pattern1381 (x2, 
   13336              : E_V2DFmode, 
   13337              : E_V4SFmode) != 0
   13338              :           || !(
   13339              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13340              : (TARGET_AVX512F) && 
   13341              : #line 10377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13342              : (TARGET_SSE2)))
   13343              :         return -1;
   13344              :       return 5187; /* sse2_cvtss2sd_mask */
   13345              : 
   13346              :     default:
   13347              :       return -1;
   13348              :     }
   13349              : }
   13350              : 
   13351              :  int
   13352              : recog_201 (rtx x1 ATTRIBUTE_UNUSED,
   13353              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   13354              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   13355              : {
   13356              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   13357              :   rtx x2;
   13358              :   int res ATTRIBUTE_UNUSED;
   13359              :   x2 = XEXP (x1, 1);
   13360              :   switch (pattern139 (x2))
   13361              :     {
   13362              :     case 0:
   13363              :       if (!(
   13364              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13365              : (TARGET_AVX512F) && (
   13366              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13367              : (TARGET_SSE
   13368              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13369              :    && (64 == 64 || TARGET_AVX512VL)
   13370              :    && 1) && 
   13371              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13372              : (TARGET_AVX512FP16))))
   13373              :         return -1;
   13374              :       return 3050; /* *sminv32hf3_mask */
   13375              : 
   13376              :     case 1:
   13377              :       if (!(
   13378              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13379              : (TARGET_AVX512F) && (
   13380              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13381              : (TARGET_SSE
   13382              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13383              :    && (32 == 64 || TARGET_AVX512VL)
   13384              :    && 1) && 
   13385              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13386              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   13387              :         return -1;
   13388              :       return 3055; /* *sminv16hf3_mask */
   13389              : 
   13390              :     case 2:
   13391              :       if (!(
   13392              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13393              : (TARGET_AVX512F) && (
   13394              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13395              : (TARGET_SSE
   13396              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13397              :    && (16 == 64 || TARGET_AVX512VL)
   13398              :    && 1) && 
   13399              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13400              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   13401              :         return -1;
   13402              :       return 3059; /* *sminv8hf3_mask */
   13403              : 
   13404              :     case 3:
   13405              :       if (!(
   13406              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13407              : (TARGET_AVX512F) && (
   13408              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13409              : (TARGET_SSE
   13410              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13411              :    && (64 == 64 || TARGET_AVX512VL)
   13412              :    && 1) && 
   13413              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13414              : (TARGET_AVX512F))))
   13415              :         return -1;
   13416              :       return 3066; /* *sminv16sf3_mask */
   13417              : 
   13418              :     case 4:
   13419              :       if (!(
   13420              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13421              : (TARGET_AVX512F) && (
   13422              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13423              : (TARGET_SSE
   13424              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13425              :    && (32 == 64 || TARGET_AVX512VL)
   13426              :    && 1) && 
   13427              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13428              : (TARGET_AVX))))
   13429              :         return -1;
   13430              :       return 3071; /* *sminv8sf3_mask */
   13431              : 
   13432              :     case 5:
   13433              :       if (!(
   13434              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13435              : (TARGET_AVX512F) && 
   13436              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13437              : (TARGET_SSE
   13438              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13439              :    && (16 == 64 || TARGET_AVX512VL)
   13440              :    && 1)))
   13441              :         return -1;
   13442              :       return 3075; /* *sminv4sf3_mask */
   13443              : 
   13444              :     case 6:
   13445              :       if (!(
   13446              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13447              : (TARGET_AVX512F) && (
   13448              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13449              : (TARGET_SSE
   13450              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13451              :    && (64 == 64 || TARGET_AVX512VL)
   13452              :    && 1) && 
   13453              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13454              : (TARGET_AVX512F))))
   13455              :         return -1;
   13456              :       return 3082; /* *sminv8df3_mask */
   13457              : 
   13458              :     case 7:
   13459              :       if (!(
   13460              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13461              : (TARGET_AVX512F) && (
   13462              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13463              : (TARGET_SSE
   13464              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13465              :    && (32 == 64 || TARGET_AVX512VL)
   13466              :    && 1) && 
   13467              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13468              : (TARGET_AVX))))
   13469              :         return -1;
   13470              :       return 3087; /* *sminv4df3_mask */
   13471              : 
   13472              :     case 8:
   13473              :       if (!(
   13474              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13475              : (TARGET_AVX512F) && (
   13476              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13477              : (TARGET_SSE
   13478              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   13479              :    && (16 == 64 || TARGET_AVX512VL)
   13480              :    && 1) && 
   13481              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13482              : (TARGET_SSE2))))
   13483              :         return -1;
   13484              :       return 3091; /* *sminv2df3_mask */
   13485              : 
   13486              :     case 9:
   13487              :       if (!(
   13488              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13489              : (TARGET_AVX512F) && 
   13490              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13491              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   13492              :         return -1;
   13493              :       return 7809; /* *avx512f_sminv16si3_mask */
   13494              : 
   13495              :     case 10:
   13496              :       if (!(
   13497              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13498              : (TARGET_AVX512F) && (
   13499              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13500              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13501              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13502              : (TARGET_AVX512VL))))
   13503              :         return -1;
   13504              :       return 7817; /* *avx512f_sminv8si3_mask */
   13505              : 
   13506              :     case 11:
   13507              :       if (nonimmediate_operand (operands[1], E_V4SImode)
   13508              :           && nonimmediate_operand (operands[2], E_V4SImode)
   13509              :           && (
   13510              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13511              : (TARGET_AVX512F) && (
   13512              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13513              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13514              : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13515              : (TARGET_AVX512VL))))
   13516              :         return 7825; /* *avx512f_sminv4si3_mask */
   13517              :       if (!vector_operand (operands[1], E_V4SImode)
   13518              :           || !vector_operand (operands[2], E_V4SImode)
   13519              :           || !(
   13520              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13521              : (TARGET_AVX512F) && 
   13522              : #line 18136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13523              : (TARGET_SSE4_1
   13524              :    && (16 == 64 || TARGET_AVX512VL)
   13525              :    && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   13526              :         return -1;
   13527              :       return 7909; /* *sse4_1_sminv4si3_mask */
   13528              : 
   13529              :     case 12:
   13530              :       if (!(
   13531              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13532              : (TARGET_AVX512F) && 
   13533              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13534              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   13535              :         return -1;
   13536              :       return 7833; /* *avx512f_sminv8di3_mask */
   13537              : 
   13538              :     case 13:
   13539              :       if (!(
   13540              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13541              : (TARGET_AVX512F) && (
   13542              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13543              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13544              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13545              : (TARGET_AVX512VL))))
   13546              :         return -1;
   13547              :       return 7841; /* *avx512f_sminv4di3_mask */
   13548              : 
   13549              :     case 14:
   13550              :       if (!(
   13551              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13552              : (TARGET_AVX512F) && (
   13553              : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13554              : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13555              : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13556              : (TARGET_AVX512VL))))
   13557              :         return -1;
   13558              :       return 7849; /* *avx512f_sminv2di3_mask */
   13559              : 
   13560              :     case 15:
   13561              :       if (!(
   13562              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13563              : (TARGET_AVX512F) && 
   13564              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13565              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   13566              :         return -1;
   13567              :       return 7857; /* *avx512bw_sminv64qi3_mask */
   13568              : 
   13569              :     case 16:
   13570              :       if (nonimmediate_operand (operands[1], E_V16QImode)
   13571              :           && nonimmediate_operand (operands[2], E_V16QImode)
   13572              :           && (
   13573              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13574              : (TARGET_AVX512F) && (
   13575              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13576              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13577              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13578              : (TARGET_AVX512VL))))
   13579              :         return 7865; /* *avx512bw_sminv16qi3_mask */
   13580              :       if (!vector_operand (operands[1], E_V16QImode)
   13581              :           || !vector_operand (operands[2], E_V16QImode)
   13582              :           || !(
   13583              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13584              : (TARGET_AVX512F) && 
   13585              : #line 18136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13586              : (TARGET_SSE4_1
   13587              :    && (16 == 64 || TARGET_AVX512VL)
   13588              :    && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   13589              :         return -1;
   13590              :       return 7905; /* *sse4_1_sminv16qi3_mask */
   13591              : 
   13592              :     case 17:
   13593              :       if (!(
   13594              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13595              : (TARGET_AVX512F) && (
   13596              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13597              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13598              : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13599              : (TARGET_AVX512VL))))
   13600              :         return -1;
   13601              :       return 7873; /* *avx512bw_sminv32qi3_mask */
   13602              : 
   13603              :     case 18:
   13604              :       if (!(
   13605              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13606              : (TARGET_AVX512F) && 
   13607              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13608              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
   13609              :         return -1;
   13610              :       return 7881; /* *avx512bw_sminv32hi3_mask */
   13611              : 
   13612              :     case 19:
   13613              :       if (!(
   13614              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13615              : (TARGET_AVX512F) && (
   13616              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13617              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13618              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13619              : (TARGET_AVX512VL))))
   13620              :         return -1;
   13621              :       return 7889; /* *avx512bw_sminv16hi3_mask */
   13622              : 
   13623              :     case 20:
   13624              :       if (!(
   13625              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13626              : (TARGET_AVX512F) && (
   13627              : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13628              : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   13629              : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13630              : (TARGET_AVX512VL))))
   13631              :         return -1;
   13632              :       return 7897; /* *avx512bw_sminv8hi3_mask */
   13633              : 
   13634              :     case 21:
   13635              :       if (!(
   13636              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13637              : (TARGET_AVX512F) && 
   13638              : #line 32821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13639              : (TARGET_AVX10_2)))
   13640              :         return -1;
   13641              :       return 10668; /* avx10_2_sminbf16_v32bf_mask */
   13642              : 
   13643              :     case 22:
   13644              :       if (!(
   13645              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13646              : (TARGET_AVX512F) && 
   13647              : #line 32821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13648              : (TARGET_AVX10_2)))
   13649              :         return -1;
   13650              :       return 10672; /* avx10_2_sminbf16_v16bf_mask */
   13651              : 
   13652              :     case 23:
   13653              :       if (!(
   13654              : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13655              : (TARGET_AVX512F) && 
   13656              : #line 32821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13657              : (TARGET_AVX10_2)))
   13658              :         return -1;
   13659              :       return 10676; /* avx10_2_sminbf16_v8bf_mask */
   13660              : 
   13661              :     case 24:
   13662              :       if (!(
   13663              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13664              : (TARGET_SSE) && 
   13665              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13666              : (TARGET_AVX512FP16)))
   13667              :         return -1;
   13668              :       return 3171; /* *avx512fp16_vmsminv8hf3 */
   13669              : 
   13670              :     case 25:
   13671              :       if (!
   13672              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13673              : (TARGET_SSE))
   13674              :         return -1;
   13675              :       return 3179; /* *sse_vmsminv4sf3 */
   13676              : 
   13677              :     case 26:
   13678              :       if (!(
   13679              : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13680              : (TARGET_SSE) && 
   13681              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13682              : (TARGET_SSE2)))
   13683              :         return -1;
   13684              :       return 3187; /* *sse2_vmsminv2df3 */
   13685              : 
   13686              :     default:
   13687              :       return -1;
   13688              :     }
   13689              : }
   13690              : 
   13691              :  int
   13692              : recog_213 (rtx x1 ATTRIBUTE_UNUSED,
   13693              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   13694              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   13695              : {
   13696              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   13697              :   rtx x2, x3;
   13698              :   int res ATTRIBUTE_UNUSED;
   13699              :   x2 = XEXP (x1, 1);
   13700              :   x3 = XVECEXP (x2, 0, 0);
   13701              :   operands[1] = x3;
   13702              :   switch (GET_MODE (operands[0]))
   13703              :     {
   13704              :     case E_V8HImode:
   13705              :       if (!register_operand (operands[0], E_V8HImode)
   13706              :           || GET_MODE (x2) != E_V8HImode
   13707              :           || !vector_operand (operands[1], E_V8HFmode)
   13708              :           || !(
   13709              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13710              : (TARGET_AVX512FP16) && 
   13711              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13712              : (TARGET_AVX512VL)))
   13713              :         return -1;
   13714              :       return 4607; /* unspec_avx512fp16_fixuns_truncv8hi2 */
   13715              : 
   13716              :     case E_V16HImode:
   13717              :       if (!register_operand (operands[0], E_V16HImode)
   13718              :           || GET_MODE (x2) != E_V16HImode
   13719              :           || !vector_operand (operands[1], E_V16HFmode)
   13720              :           || !(
   13721              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13722              : (TARGET_AVX512FP16) && 
   13723              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13724              : (TARGET_AVX512VL)))
   13725              :         return -1;
   13726              :       return 4615; /* unspec_avx512fp16_fixuns_truncv16hi2 */
   13727              : 
   13728              :     case E_V32HImode:
   13729              :       if (!register_operand (operands[0], E_V32HImode)
   13730              :           || GET_MODE (x2) != E_V32HImode
   13731              :           || !vector_operand (operands[1], E_V32HFmode)
   13732              :           || !
   13733              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13734              : (TARGET_AVX512FP16))
   13735              :         return -1;
   13736              :       return 4623; /* unspec_avx512fp16_fixuns_truncv32hi2 */
   13737              : 
   13738              :     case E_V8SImode:
   13739              :       if (!register_operand (operands[0], E_V8SImode)
   13740              :           || GET_MODE (x2) != E_V8SImode)
   13741              :         return -1;
   13742              :       switch (GET_MODE (operands[1]))
   13743              :         {
   13744              :         case E_V8HFmode:
   13745              :           if (!vector_operand (operands[1], E_V8HFmode)
   13746              :               || !(
   13747              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13748              : (TARGET_AVX512FP16) && 
   13749              : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13750              : (TARGET_AVX512VL)))
   13751              :             return -1;
   13752              :           return 4631; /* unspec_avx512fp16_fixuns_truncv8si2 */
   13753              : 
   13754              :         case E_V8DFmode:
   13755              :           if (!vector_operand (operands[1], E_V8DFmode)
   13756              :               || !
   13757              : #line 9890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13758              : (TARGET_AVX512F))
   13759              :             return -1;
   13760              :           return 5062; /* unspec_fixuns_truncv8dfv8si2 */
   13761              : 
   13762              :         case E_V8SFmode:
   13763              :           if (!nonimmediate_operand (operands[1], E_V8SFmode)
   13764              :               || !(
   13765              : #line 10233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13766              : (TARGET_AVX512VL) && 
   13767              : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13768              : (TARGET_AVX)))
   13769              :             return -1;
   13770              :           return 5167; /* *unspec_fixuns_truncv8sfv8si2 */
   13771              : 
   13772              :         default:
   13773              :           return -1;
   13774              :         }
   13775              : 
   13776              :     case E_V16SImode:
   13777              :       switch (pattern653 (x2, 
   13778              : E_V16SImode))
   13779              :         {
   13780              :         case 0:
   13781              :           if (!
   13782              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13783              : (TARGET_AVX512FP16))
   13784              :             return -1;
   13785              :           return 4639; /* unspec_avx512fp16_fixuns_truncv16si2 */
   13786              : 
   13787              :         case 1:
   13788              :           if (!
   13789              : #line 9097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13790              : (TARGET_AVX512F))
   13791              :             return -1;
   13792              :           return 4913; /* unspec_fixuns_truncv16sfv16si2 */
   13793              : 
   13794              :         default:
   13795              :           return -1;
   13796              :         }
   13797              : 
   13798              :     case E_V8DImode:
   13799              :       switch (pattern654 (x2))
   13800              :         {
   13801              :         case 0:
   13802              :           if (!
   13803              : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13804              : (TARGET_AVX512FP16))
   13805              :             return -1;
   13806              :           return 4647; /* unspec_avx512fp16_fixuns_truncv8di2 */
   13807              : 
   13808              :         case 1:
   13809              :           if (!
   13810              : #line 10019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13811              : (TARGET_AVX512DQ && 1))
   13812              :             return -1;
   13813              :           return 5091; /* unspec_fixuns_truncv8dfv8di2 */
   13814              : 
   13815              :         case 2:
   13816              :           if (!
   13817              : #line 10062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13818              : (TARGET_AVX512DQ && 1))
   13819              :             return -1;
   13820              :           return 5139; /* unspec_fixuns_truncv8sfv8di2 */
   13821              : 
   13822              :         default:
   13823              :           return -1;
   13824              :         }
   13825              : 
   13826              :     case E_V4SImode:
   13827              :       if (!register_operand (operands[0], E_V4SImode)
   13828              :           || GET_MODE (x2) != E_V4SImode)
   13829              :         return -1;
   13830              :       switch (GET_MODE (operands[1]))
   13831              :         {
   13832              :         case E_V8HFmode:
   13833              :           if (!register_operand (operands[1], E_V8HFmode)
   13834              :               || !
   13835              : #line 8240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13836              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   13837              :             return -1;
   13838              :           return 4701; /* unspec_avx512fp16_fixuns_truncv4si2 */
   13839              : 
   13840              :         case E_V4DFmode:
   13841              :           if (!nonimmediate_operand (operands[1], E_V4DFmode)
   13842              :               || !
   13843              : #line 9999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13844              : (TARGET_AVX512VL && TARGET_AVX512F))
   13845              :             return -1;
   13846              :           return 5083; /* unspec_fixuns_truncv4dfv4si2 */
   13847              : 
   13848              :         case E_V4SFmode:
   13849              :           if (!nonimmediate_operand (operands[1], E_V4SFmode)
   13850              :               || !
   13851              : #line 10233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13852              : (TARGET_AVX512VL))
   13853              :             return -1;
   13854              :           return 5169; /* *unspec_fixuns_truncv4sfv4si2 */
   13855              : 
   13856              :         default:
   13857              :           return -1;
   13858              :         }
   13859              : 
   13860              :     case E_V4DImode:
   13861              :       switch (pattern655 (x2))
   13862              :         {
   13863              :         case 0:
   13864              :           if (!
   13865              : #line 8240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13866              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   13867              :             return -1;
   13868              :           return 4705; /* unspec_avx512fp16_fixuns_truncv4di2 */
   13869              : 
   13870              :         case 1:
   13871              :           if (!(
   13872              : #line 10019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13873              : (TARGET_AVX512DQ && 1) && 
   13874              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13875              : (TARGET_AVX512VL)))
   13876              :             return -1;
   13877              :           return 5097; /* unspec_fixuns_truncv4dfv4di2 */
   13878              : 
   13879              :         case 2:
   13880              :           if (!(
   13881              : #line 10062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13882              : (TARGET_AVX512DQ && 1) && 
   13883              : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13884              : (TARGET_AVX512VL)))
   13885              :             return -1;
   13886              :           return 5145; /* unspec_fixuns_truncv4sfv4di2 */
   13887              : 
   13888              :         default:
   13889              :           return -1;
   13890              :         }
   13891              : 
   13892              :     case E_V2DImode:
   13893              :       switch (pattern656 (x2))
   13894              :         {
   13895              :         case 0:
   13896              :           if (!
   13897              : #line 8290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13898              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   13899              :             return -1;
   13900              :           return 4725; /* unspec_avx512fp16_fixuns_truncv2di2 */
   13901              : 
   13902              :         case 1:
   13903              :           if (!(
   13904              : #line 10019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13905              : (TARGET_AVX512DQ && 1) && 
   13906              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13907              : (TARGET_AVX512VL)))
   13908              :             return -1;
   13909              :           return 5101; /* unspec_fixuns_truncv2dfv2di2 */
   13910              : 
   13911              :         case 2:
   13912              :           if (!
   13913              : #line 10083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13914              : (TARGET_AVX512DQ && TARGET_AVX512VL))
   13915              :             return -1;
   13916              :           return 5161; /* unspec_avx512dq_fixuns_truncv2sfv2di2 */
   13917              : 
   13918              :         default:
   13919              :           return -1;
   13920              :         }
   13921              : 
   13922              :     default:
   13923              :       return -1;
   13924              :     }
   13925              : }
   13926              : 
   13927              :  int
   13928              : recog_228 (rtx x1 ATTRIBUTE_UNUSED,
   13929              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   13930              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   13931              : {
   13932              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   13933              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   13934              :   rtx x10, x11, x12;
   13935              :   int res ATTRIBUTE_UNUSED;
   13936              :   x2 = XEXP (x1, 1);
   13937              :   x3 = XVECEXP (x2, 0, 0);
   13938              :   x4 = XEXP (x3, 0);
   13939              :   x5 = XEXP (x4, 1);
   13940              :   operands[2] = x5;
   13941              :   x6 = XVECEXP (x2, 0, 1);
   13942              :   if (!const_4_or_8_to_11_operand (x6, E_SImode))
   13943              :     return -1;
   13944              :   x7 = XEXP (x4, 0);
   13945              :   switch (GET_CODE (x7))
   13946              :     {
   13947              :     case REG:
   13948              :     case SUBREG:
   13949              :     case MEM:
   13950              :       return recog_226 (x1, insn, pnum_clobbers);
   13951              : 
   13952              :     case NEG:
   13953              :       x8 = XEXP (x7, 0);
   13954              :       operands[1] = x8;
   13955              :       x9 = XEXP (x4, 2);
   13956              :       switch (GET_CODE (x9))
   13957              :         {
   13958              :         case REG:
   13959              :         case SUBREG:
   13960              :         case MEM:
   13961              :           operands[3] = x9;
   13962              :           x10 = XEXP (x3, 1);
   13963              :           switch (GET_CODE (x10))
   13964              :             {
   13965              :             case CONST_INT:
   13966              :             case CONST_DOUBLE:
   13967              :             case CONST_VECTOR:
   13968              :               operands[4] = x10;
   13969              :               x11 = XEXP (x3, 2);
   13970              :               operands[5] = x11;
   13971              :               operands[6] = x6;
   13972              :               switch (GET_MODE (operands[0]))
   13973              :                 {
   13974              :                 case E_V32HFmode:
   13975              :                   if (pattern1608 (x2, 
   13976              : E_SImode, 
   13977              : E_V32HFmode) != 0
   13978              :                       || !(
   13979              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13980              : (TARGET_AVX512F) && (
   13981              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13982              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
   13983              :                                                               || V32HFmode == V8DFmode
   13984              :                                                               || V32HFmode == V8DImode
   13985              :                                                               || V32HFmode == V16SImode
   13986              :                                                               || V32HFmode == V32HFmode)) && 
   13987              : #line 6276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   13988              : (TARGET_AVX512FP16))))
   13989              :                     return -1;
   13990              :                   return 4004; /* fma_fnmadd_v32hf_maskz_1_round */
   13991              : 
   13992              :                 case E_V16SFmode:
   13993              :                   if (pattern1608 (x2, 
   13994              : E_HImode, 
   13995              : E_V16SFmode) != 0
   13996              :                       || !(
   13997              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   13998              : (TARGET_AVX512F) && 
   13999              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14000              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
   14001              :                                                               || V16SFmode == V8DFmode
   14002              :                                                               || V16SFmode == V8DImode
   14003              :                                                               || V16SFmode == V16SImode
   14004              :                                                               || V16SFmode == V32HFmode))))
   14005              :                     return -1;
   14006              :                   return 4014; /* fma_fnmadd_v16sf_maskz_1_round */
   14007              : 
   14008              :                 case E_V8DFmode:
   14009              :                   if (pattern1608 (x2, 
   14010              : E_QImode, 
   14011              : E_V8DFmode) != 0
   14012              :                       || !(
   14013              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14014              : (TARGET_AVX512F) && 
   14015              : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14016              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
   14017              :                                                               || V8DFmode == V8DFmode
   14018              :                                                               || V8DFmode == V8DImode
   14019              :                                                               || V8DFmode == V16SImode
   14020              :                                                               || V8DFmode == V32HFmode))))
   14021              :                     return -1;
   14022              :                   return 4023; /* fma_fnmadd_v8df_maskz_1_round */
   14023              : 
   14024              :                 default:
   14025              :                   return -1;
   14026              :                 }
   14027              : 
   14028              :             case REG:
   14029              :             case SUBREG:
   14030              :             case MEM:
   14031              :               x11 = XEXP (x3, 2);
   14032              :               switch (GET_CODE (x11))
   14033              :                 {
   14034              :                 case REG:
   14035              :                 case SUBREG:
   14036              :                   operands[4] = x11;
   14037              :                   operands[5] = x6;
   14038              :                   switch (GET_MODE (operands[0]))
   14039              :                     {
   14040              :                     case E_V32HFmode:
   14041              :                       if (pattern1609 (x2, 
   14042              : E_SImode, 
   14043              : E_V32HFmode) != 0)
   14044              :                         return -1;
   14045              :                       if (nonimmediate_operand (operands[1], E_V32HFmode)
   14046              :                           && register_operand (operands[3], E_V32HFmode)
   14047              :                           && rtx_equal_p (x10, operands[1])
   14048              :                           && (
   14049              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14050              : (TARGET_AVX512F) && (
   14051              : #line 6541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14052              : (TARGET_AVX512F && (V32HFmode == V16SFmode
   14053              :                                                               || V32HFmode == V8DFmode
   14054              :                                                               || V32HFmode == V8DImode
   14055              :                                                               || V32HFmode == V16SImode
   14056              :                                                               || V32HFmode == V32HFmode)) && 
   14057              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14058              : (TARGET_AVX512FP16))))
   14059              :                         return 4029; /* avx512bw_fnmadd_v32hf_mask_round */
   14060              :                       if (!register_operand (operands[1], E_V32HFmode)
   14061              :                           || !nonimmediate_operand (operands[3], E_V32HFmode)
   14062              :                           || !rtx_equal_p (x10, operands[3])
   14063              :                           || !(
   14064              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14065              : (TARGET_AVX512F) && (
   14066              : #line 6559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14067              : (TARGET_AVX512F && (V32HFmode == V16SFmode
   14068              :                                                               || V32HFmode == V8DFmode
   14069              :                                                               || V32HFmode == V8DImode
   14070              :                                                               || V32HFmode == V16SImode
   14071              :                                                               || V32HFmode == V32HFmode)) && 
   14072              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14073              : (TARGET_AVX512FP16))))
   14074              :                         return -1;
   14075              :                       return 4041; /* avx512bw_fnmadd_v32hf_mask3_round */
   14076              : 
   14077              :                     case E_V16SFmode:
   14078              :                       if (pattern1609 (x2, 
   14079              : E_HImode, 
   14080              : E_V16SFmode) != 0)
   14081              :                         return -1;
   14082              :                       if (nonimmediate_operand (operands[1], E_V16SFmode)
   14083              :                           && register_operand (operands[3], E_V16SFmode)
   14084              :                           && rtx_equal_p (x10, operands[1])
   14085              :                           && (
   14086              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14087              : (TARGET_AVX512F) && 
   14088              : #line 6541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14089              : (TARGET_AVX512F && (V16SFmode == V16SFmode
   14090              :                                                               || V16SFmode == V8DFmode
   14091              :                                                               || V16SFmode == V8DImode
   14092              :                                                               || V16SFmode == V16SImode
   14093              :                                                               || V16SFmode == V32HFmode))))
   14094              :                         return 4033; /* avx512f_fnmadd_v16sf_mask_round */
   14095              :                       if (!register_operand (operands[1], E_V16SFmode)
   14096              :                           || !nonimmediate_operand (operands[3], E_V16SFmode)
   14097              :                           || !rtx_equal_p (x10, operands[3])
   14098              :                           || !(
   14099              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14100              : (TARGET_AVX512F) && 
   14101              : #line 6559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14102              : (TARGET_AVX512F && (V16SFmode == V16SFmode
   14103              :                                                               || V16SFmode == V8DFmode
   14104              :                                                               || V16SFmode == V8DImode
   14105              :                                                               || V16SFmode == V16SImode
   14106              :                                                               || V16SFmode == V32HFmode))))
   14107              :                         return -1;
   14108              :                       return 4045; /* avx512f_fnmadd_v16sf_mask3_round */
   14109              : 
   14110              :                     case E_V8DFmode:
   14111              :                       if (pattern1609 (x2, 
   14112              : E_QImode, 
   14113              : E_V8DFmode) != 0)
   14114              :                         return -1;
   14115              :                       if (nonimmediate_operand (operands[1], E_V8DFmode)
   14116              :                           && register_operand (operands[3], E_V8DFmode)
   14117              :                           && rtx_equal_p (x10, operands[1])
   14118              :                           && (
   14119              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14120              : (TARGET_AVX512F) && 
   14121              : #line 6541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14122              : (TARGET_AVX512F && (V8DFmode == V16SFmode
   14123              :                                                               || V8DFmode == V8DFmode
   14124              :                                                               || V8DFmode == V8DImode
   14125              :                                                               || V8DFmode == V16SImode
   14126              :                                                               || V8DFmode == V32HFmode))))
   14127              :                         return 4037; /* avx512f_fnmadd_v8df_mask_round */
   14128              :                       if (!register_operand (operands[1], E_V8DFmode)
   14129              :                           || !nonimmediate_operand (operands[3], E_V8DFmode)
   14130              :                           || !rtx_equal_p (x10, operands[3])
   14131              :                           || !(
   14132              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14133              : (TARGET_AVX512F) && 
   14134              : #line 6559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14135              : (TARGET_AVX512F && (V8DFmode == V16SFmode
   14136              :                                                               || V8DFmode == V8DFmode
   14137              :                                                               || V8DFmode == V8DImode
   14138              :                                                               || V8DFmode == V16SImode
   14139              :                                                               || V8DFmode == V32HFmode))))
   14140              :                         return -1;
   14141              :                       return 4049; /* avx512f_fnmadd_v8df_mask3_round */
   14142              : 
   14143              :                     default:
   14144              :                       return -1;
   14145              :                     }
   14146              : 
   14147              :                 case CONST_INT:
   14148              :                   if (XWINT (x11, 0) != 1L)
   14149              :                     return -1;
   14150              :                   operands[4] = x6;
   14151              :                   if (!rtx_equal_p (x10, operands[1]))
   14152              :                     return -1;
   14153              :                   switch (GET_MODE (operands[0]))
   14154              :                     {
   14155              :                     case E_V8HFmode:
   14156              :                       if (pattern1668 (x2, 
   14157              : E_V8HFmode) != 0
   14158              :                           || !(
   14159              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14160              : (TARGET_AVX512F) && (
   14161              : #line 6979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14162              : (TARGET_FMA || TARGET_AVX512F) && 
   14163              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14164              : (TARGET_AVX512FP16))))
   14165              :                         return -1;
   14166              :                       return 4270; /* *fmai_fnmadd_v8hf_round */
   14167              : 
   14168              :                     case E_V4SFmode:
   14169              :                       if (pattern1668 (x2, 
   14170              : E_V4SFmode) != 0
   14171              :                           || !(
   14172              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14173              : (TARGET_AVX512F) && 
   14174              : #line 6979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14175              : (TARGET_FMA || TARGET_AVX512F)))
   14176              :                         return -1;
   14177              :                       return 4272; /* *fmai_fnmadd_v4sf_round */
   14178              : 
   14179              :                     case E_V2DFmode:
   14180              :                       if (pattern1668 (x2, 
   14181              : E_V2DFmode) != 0
   14182              :                           || !(
   14183              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14184              : (TARGET_AVX512F) && (
   14185              : #line 6979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14186              : (TARGET_FMA || TARGET_AVX512F) && 
   14187              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14188              : (TARGET_SSE2))))
   14189              :                         return -1;
   14190              :                       return 4274; /* *fmai_fnmadd_v2df_round */
   14191              : 
   14192              :                     default:
   14193              :                       return -1;
   14194              :                     }
   14195              : 
   14196              :                 default:
   14197              :                   return -1;
   14198              :                 }
   14199              : 
   14200              :             default:
   14201              :               return -1;
   14202              :             }
   14203              : 
   14204              :         case NEG:
   14205              :           x12 = XEXP (x9, 0);
   14206              :           operands[3] = x12;
   14207              :           x10 = XEXP (x3, 1);
   14208              :           switch (GET_CODE (x10))
   14209              :             {
   14210              :             case CONST_INT:
   14211              :             case CONST_DOUBLE:
   14212              :             case CONST_VECTOR:
   14213              :               operands[4] = x10;
   14214              :               x11 = XEXP (x3, 2);
   14215              :               operands[5] = x11;
   14216              :               operands[6] = x6;
   14217              :               switch (GET_MODE (operands[0]))
   14218              :                 {
   14219              :                 case E_V4SFmode:
   14220              :                   if (pattern1610 (x2, 
   14221              : E_V4SFmode) != 0
   14222              :                       || !(
   14223              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14224              : (TARGET_AVX512F) && 
   14225              : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14226              : (TARGET_FMA || TARGET_FMA4)))
   14227              :                     return -1;
   14228              :                   return 4059; /* *fma_fnmsub_v4sf */
   14229              : 
   14230              :                 case E_V2DFmode:
   14231              :                   if (pattern1610 (x2, 
   14232              : E_V2DFmode) != 0
   14233              :                       || !(
   14234              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14235              : (TARGET_AVX512F) && 
   14236              : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14237              : (TARGET_FMA || TARGET_FMA4)))
   14238              :                     return -1;
   14239              :                   return 4063; /* *fma_fnmsub_v2df */
   14240              : 
   14241              :                 case E_V8SFmode:
   14242              :                   if (pattern1610 (x2, 
   14243              : E_V8SFmode) != 0
   14244              :                       || !(
   14245              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14246              : (TARGET_AVX512F) && 
   14247              : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14248              : (TARGET_FMA || TARGET_FMA4)))
   14249              :                     return -1;
   14250              :                   return 4067; /* *fma_fnmsub_v8sf */
   14251              : 
   14252              :                 case E_V4DFmode:
   14253              :                   if (pattern1610 (x2, 
   14254              : E_V4DFmode) != 0
   14255              :                       || !(
   14256              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14257              : (TARGET_AVX512F) && 
   14258              : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14259              : (TARGET_FMA || TARGET_FMA4)))
   14260              :                     return -1;
   14261              :                   return 4071; /* *fma_fnmsub_v4df */
   14262              : 
   14263              :                 case E_V32HFmode:
   14264              :                   if (pattern1611 (x2, 
   14265              : E_SImode, 
   14266              : E_V32HFmode) != 0
   14267              :                       || !(
   14268              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14269              : (TARGET_AVX512F) && (
   14270              : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14271              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
   14272              :                                                               || V32HFmode == V8DFmode
   14273              :                                                               || V32HFmode == V8DImode
   14274              :                                                               || V32HFmode == V16SImode
   14275              :                                                               || V32HFmode == V32HFmode)) && 
   14276              : #line 6276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14277              : (TARGET_AVX512FP16))))
   14278              :                     return -1;
   14279              :                   return 4075; /* fma_fnmsub_v32hf_maskz_1_round */
   14280              : 
   14281              :                 case E_V16SFmode:
   14282              :                   if (pattern1611 (x2, 
   14283              : E_HImode, 
   14284              : E_V16SFmode) != 0
   14285              :                       || !(
   14286              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14287              : (TARGET_AVX512F) && 
   14288              : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14289              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
   14290              :                                                               || V16SFmode == V8DFmode
   14291              :                                                               || V16SFmode == V8DImode
   14292              :                                                               || V16SFmode == V16SImode
   14293              :                                                               || V16SFmode == V32HFmode))))
   14294              :                     return -1;
   14295              :                   return 4085; /* fma_fnmsub_v16sf_maskz_1_round */
   14296              : 
   14297              :                 case E_V8DFmode:
   14298              :                   if (pattern1611 (x2, 
   14299              : E_QImode, 
   14300              : E_V8DFmode) != 0
   14301              :                       || !(
   14302              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14303              : (TARGET_AVX512F) && 
   14304              : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14305              : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
   14306              :                                                               || V8DFmode == V8DFmode
   14307              :                                                               || V8DFmode == V8DImode
   14308              :                                                               || V8DFmode == V16SImode
   14309              :                                                               || V8DFmode == V32HFmode))))
   14310              :                     return -1;
   14311              :                   return 4094; /* fma_fnmsub_v8df_maskz_1_round */
   14312              : 
   14313              :                 default:
   14314              :                   return -1;
   14315              :                 }
   14316              : 
   14317              :             case REG:
   14318              :             case SUBREG:
   14319              :             case MEM:
   14320              :               switch (pattern1419 (x2))
   14321              :                 {
   14322              :                 case 0:
   14323              :                   if (pattern1612 (x2, 
   14324              : E_SImode, 
   14325              : E_V32HFmode) != 0)
   14326              :                     return -1;
   14327              :                   if (nonimmediate_operand (operands[1], E_V32HFmode)
   14328              :                       && register_operand (operands[3], E_V32HFmode)
   14329              :                       && rtx_equal_p (x10, operands[1])
   14330              :                       && (
   14331              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14332              : (TARGET_AVX512F) && (
   14333              : #line 6651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14334              : (TARGET_AVX512F && (V32HFmode == V16SFmode
   14335              :                                                               || V32HFmode == V8DFmode
   14336              :                                                               || V32HFmode == V8DImode
   14337              :                                                               || V32HFmode == V16SImode
   14338              :                                                               || V32HFmode == V32HFmode)) && 
   14339              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14340              : (TARGET_AVX512FP16))))
   14341              :                     return 4100; /* avx512bw_fnmsub_v32hf_mask_round */
   14342              :                   if (!register_operand (operands[1], E_V32HFmode)
   14343              :                       || !nonimmediate_operand (operands[3], E_V32HFmode)
   14344              :                       || !rtx_equal_p (x10, operands[3])
   14345              :                       || !(
   14346              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14347              : (TARGET_AVX512F) && (
   14348              : #line 6670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14349              : (TARGET_AVX512F) && 
   14350              : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14351              : (TARGET_AVX512FP16))))
   14352              :                     return -1;
   14353              :                   return 4112; /* avx512bw_fnmsub_v32hf_mask3_round */
   14354              : 
   14355              :                 case 1:
   14356              :                   if (pattern1612 (x2, 
   14357              : E_HImode, 
   14358              : E_V16SFmode) != 0)
   14359              :                     return -1;
   14360              :                   if (nonimmediate_operand (operands[1], E_V16SFmode)
   14361              :                       && register_operand (operands[3], E_V16SFmode)
   14362              :                       && rtx_equal_p (x10, operands[1])
   14363              :                       && (
   14364              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14365              : (TARGET_AVX512F) && 
   14366              : #line 6651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14367              : (TARGET_AVX512F && (V16SFmode == V16SFmode
   14368              :                                                               || V16SFmode == V8DFmode
   14369              :                                                               || V16SFmode == V8DImode
   14370              :                                                               || V16SFmode == V16SImode
   14371              :                                                               || V16SFmode == V32HFmode))))
   14372              :                     return 4104; /* avx512f_fnmsub_v16sf_mask_round */
   14373              :                   if (!register_operand (operands[1], E_V16SFmode)
   14374              :                       || !nonimmediate_operand (operands[3], E_V16SFmode)
   14375              :                       || !rtx_equal_p (x10, operands[3])
   14376              :                       || !
   14377              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14378              : (TARGET_AVX512F))
   14379              :                     return -1;
   14380              :                   return 4118; /* avx512f_fnmsub_v16sf_mask3_round */
   14381              : 
   14382              :                 case 2:
   14383              :                   if (pattern1612 (x2, 
   14384              : E_QImode, 
   14385              : E_V8DFmode) != 0)
   14386              :                     return -1;
   14387              :                   if (nonimmediate_operand (operands[1], E_V8DFmode)
   14388              :                       && register_operand (operands[3], E_V8DFmode)
   14389              :                       && rtx_equal_p (x10, operands[1])
   14390              :                       && (
   14391              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14392              : (TARGET_AVX512F) && 
   14393              : #line 6651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14394              : (TARGET_AVX512F && (V8DFmode == V16SFmode
   14395              :                                                               || V8DFmode == V8DFmode
   14396              :                                                               || V8DFmode == V8DImode
   14397              :                                                               || V8DFmode == V16SImode
   14398              :                                                               || V8DFmode == V32HFmode))))
   14399              :                     return 4108; /* avx512f_fnmsub_v8df_mask_round */
   14400              :                   if (!register_operand (operands[1], E_V8DFmode)
   14401              :                       || !nonimmediate_operand (operands[3], E_V8DFmode)
   14402              :                       || !rtx_equal_p (x10, operands[3])
   14403              :                       || !
   14404              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14405              : (TARGET_AVX512F))
   14406              :                     return -1;
   14407              :                   return 4124; /* avx512f_fnmsub_v8df_mask3_round */
   14408              : 
   14409              :                 case 3:
   14410              :                   if (pattern1613 (x2, 
   14411              : E_V16HFmode, 
   14412              : E_HImode) != 0
   14413              :                       || !(
   14414              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14415              : (TARGET_AVX512F) && (
   14416              : #line 6670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14417              : (TARGET_AVX512F) && 
   14418              : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14419              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14420              :                     return -1;
   14421              :                   return 4114; /* avx512vl_fnmsub_v16hf_mask3_round */
   14422              : 
   14423              :                 case 4:
   14424              :                   if (pattern1613 (x2, 
   14425              : E_V8HFmode, 
   14426              : E_QImode) != 0
   14427              :                       || !(
   14428              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14429              : (TARGET_AVX512F) && (
   14430              : #line 6670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14431              : (TARGET_AVX512F) && 
   14432              : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14433              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14434              :                     return -1;
   14435              :                   return 4116; /* avx512fp16_fnmsub_v8hf_mask3_round */
   14436              : 
   14437              :                 case 5:
   14438              :                   if (pattern1613 (x2, 
   14439              : E_V8SFmode, 
   14440              : E_QImode) != 0
   14441              :                       || !(
   14442              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14443              : (TARGET_AVX512F) && (
   14444              : #line 6670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14445              : (TARGET_AVX512F) && 
   14446              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14447              : (TARGET_AVX512VL))))
   14448              :                     return -1;
   14449              :                   return 4120; /* avx512vl_fnmsub_v8sf_mask3_round */
   14450              : 
   14451              :                 case 6:
   14452              :                   if (pattern1613 (x2, 
   14453              : E_V4SFmode, 
   14454              : E_QImode) != 0
   14455              :                       || !(
   14456              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14457              : (TARGET_AVX512F) && (
   14458              : #line 6670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14459              : (TARGET_AVX512F) && 
   14460              : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14461              : (TARGET_AVX512VL))))
   14462              :                     return -1;
   14463              :                   return 4122; /* avx512vl_fnmsub_v4sf_mask3_round */
   14464              : 
   14465              :                 case 7:
   14466              :                   if (pattern1613 (x2, 
   14467              : E_V4DFmode, 
   14468              : E_QImode) != 0
   14469              :                       || !(
   14470              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14471              : (TARGET_AVX512F) && (
   14472              : #line 6670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14473              : (TARGET_AVX512F) && 
   14474              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14475              : (TARGET_AVX512VL))))
   14476              :                     return -1;
   14477              :                   return 4126; /* avx512vl_fnmsub_v4df_mask3_round */
   14478              : 
   14479              :                 case 8:
   14480              :                   if (pattern1613 (x2, 
   14481              : E_V2DFmode, 
   14482              : E_QImode) != 0
   14483              :                       || !(
   14484              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14485              : (TARGET_AVX512F) && (
   14486              : #line 6670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14487              : (TARGET_AVX512F) && 
   14488              : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14489              : (TARGET_AVX512VL))))
   14490              :                     return -1;
   14491              :                   return 4128; /* avx512vl_fnmsub_v2df_mask3_round */
   14492              : 
   14493              :                 case 9:
   14494              :                   if (pattern1669 (x2, 
   14495              : E_V8HFmode) != 0
   14496              :                       || !(
   14497              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14498              : (TARGET_AVX512F) && (
   14499              : #line 6998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14500              : (TARGET_FMA || TARGET_AVX512F) && 
   14501              : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14502              : (TARGET_AVX512FP16))))
   14503              :                     return -1;
   14504              :                   return 4276; /* *fmai_fnmsub_v8hf_round */
   14505              : 
   14506              :                 case 10:
   14507              :                   if (pattern1669 (x2, 
   14508              : E_V4SFmode) != 0
   14509              :                       || !(
   14510              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14511              : (TARGET_AVX512F) && 
   14512              : #line 6998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14513              : (TARGET_FMA || TARGET_AVX512F)))
   14514              :                     return -1;
   14515              :                   return 4278; /* *fmai_fnmsub_v4sf_round */
   14516              : 
   14517              :                 case 11:
   14518              :                   if (pattern1669 (x2, 
   14519              : E_V2DFmode) != 0
   14520              :                       || !(
   14521              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14522              : (TARGET_AVX512F) && (
   14523              : #line 6998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14524              : (TARGET_FMA || TARGET_AVX512F) && 
   14525              : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14526              : (TARGET_SSE2))))
   14527              :                     return -1;
   14528              :                   return 4280; /* *fmai_fnmsub_v2df_round */
   14529              : 
   14530              :                 default:
   14531              :                   return -1;
   14532              :                 }
   14533              : 
   14534              :             default:
   14535              :               return -1;
   14536              :             }
   14537              : 
   14538              :         default:
   14539              :           return -1;
   14540              :         }
   14541              : 
   14542              :     default:
   14543              :       return -1;
   14544              :     }
   14545              : }
   14546              : 
   14547              :  int
   14548              : recog_235 (rtx x1 ATTRIBUTE_UNUSED,
   14549              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   14550              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   14551              : {
   14552              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   14553              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   14554              :   int res ATTRIBUTE_UNUSED;
   14555              :   x2 = XEXP (x1, 0);
   14556              :   operands[0] = x2;
   14557              :   x3 = XEXP (x1, 1);
   14558              :   x4 = XVECEXP (x3, 0, 0);
   14559              :   switch (GET_CODE (x4))
   14560              :     {
   14561              :     case PLUS:
   14562              :       switch (pattern492 (x3))
   14563              :         {
   14564              :         case 0:
   14565              :           if (!(
   14566              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14567              : (TARGET_AVX512F) && (
   14568              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14569              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V32HFmode, operands)
   14570              :    && 1 && (V32HFmode == V16SFmode
   14571              :                                                               || V32HFmode == V8DFmode
   14572              :                                                               || V32HFmode == V8DImode
   14573              :                                                               || V32HFmode == V16SImode
   14574              :                                                               || V32HFmode == V32HFmode)) && 
   14575              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14576              : (TARGET_AVX512FP16))))
   14577              :             return -1;
   14578              :           return 2746; /* *addv32hf3_round */
   14579              : 
   14580              :         case 1:
   14581              :           if (!(
   14582              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14583              : (TARGET_AVX512F) && (
   14584              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14585              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16HFmode, operands)
   14586              :    && 1 && (V16HFmode == V16SFmode
   14587              :                                                               || V16HFmode == V8DFmode
   14588              :                                                               || V16HFmode == V8DImode
   14589              :                                                               || V16HFmode == V16SImode
   14590              :                                                               || V16HFmode == V32HFmode)) && 
   14591              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14592              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14593              :             return -1;
   14594              :           return 2754; /* *addv16hf3_round */
   14595              : 
   14596              :         case 2:
   14597              :           if (!(
   14598              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14599              : (TARGET_AVX512F) && (
   14600              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14601              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8HFmode, operands)
   14602              :    && 1 && (V8HFmode == V16SFmode
   14603              :                                                               || V8HFmode == V8DFmode
   14604              :                                                               || V8HFmode == V8DImode
   14605              :                                                               || V8HFmode == V16SImode
   14606              :                                                               || V8HFmode == V32HFmode)) && 
   14607              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14608              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14609              :             return -1;
   14610              :           return 2762; /* *addv8hf3_round */
   14611              : 
   14612              :         case 3:
   14613              :           if (!(
   14614              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14615              : (TARGET_AVX512F) && (
   14616              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14617              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16SFmode, operands)
   14618              :    && 1 && (V16SFmode == V16SFmode
   14619              :                                                               || V16SFmode == V8DFmode
   14620              :                                                               || V16SFmode == V8DImode
   14621              :                                                               || V16SFmode == V16SImode
   14622              :                                                               || V16SFmode == V32HFmode)) && 
   14623              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14624              : (TARGET_AVX512F))))
   14625              :             return -1;
   14626              :           return 2770; /* *addv16sf3_round */
   14627              : 
   14628              :         case 4:
   14629              :           if (!(
   14630              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14631              : (TARGET_AVX512F) && (
   14632              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14633              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8SFmode, operands)
   14634              :    && 1 && (V8SFmode == V16SFmode
   14635              :                                                               || V8SFmode == V8DFmode
   14636              :                                                               || V8SFmode == V8DImode
   14637              :                                                               || V8SFmode == V16SImode
   14638              :                                                               || V8SFmode == V32HFmode)) && 
   14639              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14640              : (TARGET_AVX))))
   14641              :             return -1;
   14642              :           return 2778; /* *addv8sf3_round */
   14643              : 
   14644              :         case 5:
   14645              :           if (!(
   14646              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14647              : (TARGET_AVX512F) && 
   14648              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14649              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4SFmode, operands)
   14650              :    && 1 && (V4SFmode == V16SFmode
   14651              :                                                               || V4SFmode == V8DFmode
   14652              :                                                               || V4SFmode == V8DImode
   14653              :                                                               || V4SFmode == V16SImode
   14654              :                                                               || V4SFmode == V32HFmode))))
   14655              :             return -1;
   14656              :           return 2786; /* *addv4sf3_round */
   14657              : 
   14658              :         case 6:
   14659              :           if (!(
   14660              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14661              : (TARGET_AVX512F) && (
   14662              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14663              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8DFmode, operands)
   14664              :    && 1 && (V8DFmode == V16SFmode
   14665              :                                                               || V8DFmode == V8DFmode
   14666              :                                                               || V8DFmode == V8DImode
   14667              :                                                               || V8DFmode == V16SImode
   14668              :                                                               || V8DFmode == V32HFmode)) && 
   14669              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14670              : (TARGET_AVX512F))))
   14671              :             return -1;
   14672              :           return 2794; /* *addv8df3_round */
   14673              : 
   14674              :         case 7:
   14675              :           if (!(
   14676              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14677              : (TARGET_AVX512F) && (
   14678              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14679              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4DFmode, operands)
   14680              :    && 1 && (V4DFmode == V16SFmode
   14681              :                                                               || V4DFmode == V8DFmode
   14682              :                                                               || V4DFmode == V8DImode
   14683              :                                                               || V4DFmode == V16SImode
   14684              :                                                               || V4DFmode == V32HFmode)) && 
   14685              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14686              : (TARGET_AVX))))
   14687              :             return -1;
   14688              :           return 2802; /* *addv4df3_round */
   14689              : 
   14690              :         case 8:
   14691              :           if (!(
   14692              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14693              : (TARGET_AVX512F) && (
   14694              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14695              : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V2DFmode, operands)
   14696              :    && 1 && (V2DFmode == V16SFmode
   14697              :                                                               || V2DFmode == V8DFmode
   14698              :                                                               || V2DFmode == V8DImode
   14699              :                                                               || V2DFmode == V16SImode
   14700              :                                                               || V2DFmode == V32HFmode)) && 
   14701              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14702              : (TARGET_SSE2))))
   14703              :             return -1;
   14704              :           return 2810; /* *addv2df3_round */
   14705              : 
   14706              :         default:
   14707              :           return -1;
   14708              :         }
   14709              : 
   14710              :     case VEC_MERGE:
   14711              :       return recog_232 (x1, insn, pnum_clobbers);
   14712              : 
   14713              :     case MINUS:
   14714              :       switch (pattern492 (x3))
   14715              :         {
   14716              :         case 0:
   14717              :           if (!(
   14718              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14719              : (TARGET_AVX512F) && (
   14720              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14721              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V32HFmode, operands)
   14722              :    && 1 && (V32HFmode == V16SFmode
   14723              :                                                               || V32HFmode == V8DFmode
   14724              :                                                               || V32HFmode == V8DImode
   14725              :                                                               || V32HFmode == V16SImode
   14726              :                                                               || V32HFmode == V32HFmode)) && 
   14727              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14728              : (TARGET_AVX512FP16))))
   14729              :             return -1;
   14730              :           return 2750; /* *subv32hf3_round */
   14731              : 
   14732              :         case 1:
   14733              :           if (!(
   14734              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14735              : (TARGET_AVX512F) && (
   14736              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14737              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16HFmode, operands)
   14738              :    && 1 && (V16HFmode == V16SFmode
   14739              :                                                               || V16HFmode == V8DFmode
   14740              :                                                               || V16HFmode == V8DImode
   14741              :                                                               || V16HFmode == V16SImode
   14742              :                                                               || V16HFmode == V32HFmode)) && 
   14743              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14744              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14745              :             return -1;
   14746              :           return 2758; /* *subv16hf3_round */
   14747              : 
   14748              :         case 2:
   14749              :           if (!(
   14750              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14751              : (TARGET_AVX512F) && (
   14752              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14753              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8HFmode, operands)
   14754              :    && 1 && (V8HFmode == V16SFmode
   14755              :                                                               || V8HFmode == V8DFmode
   14756              :                                                               || V8HFmode == V8DImode
   14757              :                                                               || V8HFmode == V16SImode
   14758              :                                                               || V8HFmode == V32HFmode)) && 
   14759              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14760              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14761              :             return -1;
   14762              :           return 2766; /* *subv8hf3_round */
   14763              : 
   14764              :         case 3:
   14765              :           if (!(
   14766              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14767              : (TARGET_AVX512F) && (
   14768              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14769              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16SFmode, operands)
   14770              :    && 1 && (V16SFmode == V16SFmode
   14771              :                                                               || V16SFmode == V8DFmode
   14772              :                                                               || V16SFmode == V8DImode
   14773              :                                                               || V16SFmode == V16SImode
   14774              :                                                               || V16SFmode == V32HFmode)) && 
   14775              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14776              : (TARGET_AVX512F))))
   14777              :             return -1;
   14778              :           return 2774; /* *subv16sf3_round */
   14779              : 
   14780              :         case 4:
   14781              :           if (!(
   14782              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14783              : (TARGET_AVX512F) && (
   14784              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14785              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8SFmode, operands)
   14786              :    && 1 && (V8SFmode == V16SFmode
   14787              :                                                               || V8SFmode == V8DFmode
   14788              :                                                               || V8SFmode == V8DImode
   14789              :                                                               || V8SFmode == V16SImode
   14790              :                                                               || V8SFmode == V32HFmode)) && 
   14791              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14792              : (TARGET_AVX))))
   14793              :             return -1;
   14794              :           return 2782; /* *subv8sf3_round */
   14795              : 
   14796              :         case 5:
   14797              :           if (!(
   14798              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14799              : (TARGET_AVX512F) && 
   14800              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14801              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4SFmode, operands)
   14802              :    && 1 && (V4SFmode == V16SFmode
   14803              :                                                               || V4SFmode == V8DFmode
   14804              :                                                               || V4SFmode == V8DImode
   14805              :                                                               || V4SFmode == V16SImode
   14806              :                                                               || V4SFmode == V32HFmode))))
   14807              :             return -1;
   14808              :           return 2790; /* *subv4sf3_round */
   14809              : 
   14810              :         case 6:
   14811              :           if (!(
   14812              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14813              : (TARGET_AVX512F) && (
   14814              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14815              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8DFmode, operands)
   14816              :    && 1 && (V8DFmode == V16SFmode
   14817              :                                                               || V8DFmode == V8DFmode
   14818              :                                                               || V8DFmode == V8DImode
   14819              :                                                               || V8DFmode == V16SImode
   14820              :                                                               || V8DFmode == V32HFmode)) && 
   14821              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14822              : (TARGET_AVX512F))))
   14823              :             return -1;
   14824              :           return 2798; /* *subv8df3_round */
   14825              : 
   14826              :         case 7:
   14827              :           if (!(
   14828              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14829              : (TARGET_AVX512F) && (
   14830              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14831              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4DFmode, operands)
   14832              :    && 1 && (V4DFmode == V16SFmode
   14833              :                                                               || V4DFmode == V8DFmode
   14834              :                                                               || V4DFmode == V8DImode
   14835              :                                                               || V4DFmode == V16SImode
   14836              :                                                               || V4DFmode == V32HFmode)) && 
   14837              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14838              : (TARGET_AVX))))
   14839              :             return -1;
   14840              :           return 2806; /* *subv4df3_round */
   14841              : 
   14842              :         case 8:
   14843              :           if (!(
   14844              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14845              : (TARGET_AVX512F) && (
   14846              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14847              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V2DFmode, operands)
   14848              :    && 1 && (V2DFmode == V16SFmode
   14849              :                                                               || V2DFmode == V8DFmode
   14850              :                                                               || V2DFmode == V8DImode
   14851              :                                                               || V2DFmode == V16SImode
   14852              :                                                               || V2DFmode == V32HFmode)) && 
   14853              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14854              : (TARGET_SSE2))))
   14855              :             return -1;
   14856              :           return 2814; /* *subv2df3_round */
   14857              : 
   14858              :         default:
   14859              :           return -1;
   14860              :         }
   14861              : 
   14862              :     case MULT:
   14863              :       switch (pattern492 (x3))
   14864              :         {
   14865              :         case 0:
   14866              :           if (!(
   14867              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14868              : (TARGET_AVX512F) && (
   14869              : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14870              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V32HFmode, operands)
   14871              :    && 1 && (V32HFmode == V16SFmode
   14872              :                                                               || V32HFmode == V8DFmode
   14873              :                                                               || V32HFmode == V8DImode
   14874              :                                                               || V32HFmode == V16SImode
   14875              :                                                               || V32HFmode == V32HFmode)) && 
   14876              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14877              : (TARGET_AVX512FP16))))
   14878              :             return -1;
   14879              :           return 2848; /* *mulv32hf3_round */
   14880              : 
   14881              :         case 1:
   14882              :           if (!(
   14883              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14884              : (TARGET_AVX512F) && (
   14885              : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14886              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16HFmode, operands)
   14887              :    && 1 && (V16HFmode == V16SFmode
   14888              :                                                               || V16HFmode == V8DFmode
   14889              :                                                               || V16HFmode == V8DImode
   14890              :                                                               || V16HFmode == V16SImode
   14891              :                                                               || V16HFmode == V32HFmode)) && 
   14892              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14893              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14894              :             return -1;
   14895              :           return 2852; /* *mulv16hf3_round */
   14896              : 
   14897              :         case 2:
   14898              :           if (!(
   14899              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14900              : (TARGET_AVX512F) && (
   14901              : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14902              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8HFmode, operands)
   14903              :    && 1 && (V8HFmode == V16SFmode
   14904              :                                                               || V8HFmode == V8DFmode
   14905              :                                                               || V8HFmode == V8DImode
   14906              :                                                               || V8HFmode == V16SImode
   14907              :                                                               || V8HFmode == V32HFmode)) && 
   14908              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14909              : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
   14910              :             return -1;
   14911              :           return 2856; /* *mulv8hf3_round */
   14912              : 
   14913              :         case 3:
   14914              :           if (!(
   14915              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14916              : (TARGET_AVX512F) && (
   14917              : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14918              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16SFmode, operands)
   14919              :    && 1 && (V16SFmode == V16SFmode
   14920              :                                                               || V16SFmode == V8DFmode
   14921              :                                                               || V16SFmode == V8DImode
   14922              :                                                               || V16SFmode == V16SImode
   14923              :                                                               || V16SFmode == V32HFmode)) && 
   14924              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14925              : (TARGET_AVX512F))))
   14926              :             return -1;
   14927              :           return 2860; /* *mulv16sf3_round */
   14928              : 
   14929              :         case 4:
   14930              :           if (!(
   14931              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14932              : (TARGET_AVX512F) && (
   14933              : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14934              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8SFmode, operands)
   14935              :    && 1 && (V8SFmode == V16SFmode
   14936              :                                                               || V8SFmode == V8DFmode
   14937              :                                                               || V8SFmode == V8DImode
   14938              :                                                               || V8SFmode == V16SImode
   14939              :                                                               || V8SFmode == V32HFmode)) && 
   14940              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14941              : (TARGET_AVX))))
   14942              :             return -1;
   14943              :           return 2864; /* *mulv8sf3_round */
   14944              : 
   14945              :         case 5:
   14946              :           if (!(
   14947              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14948              : (TARGET_AVX512F) && 
   14949              : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14950              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4SFmode, operands)
   14951              :    && 1 && (V4SFmode == V16SFmode
   14952              :                                                               || V4SFmode == V8DFmode
   14953              :                                                               || V4SFmode == V8DImode
   14954              :                                                               || V4SFmode == V16SImode
   14955              :                                                               || V4SFmode == V32HFmode))))
   14956              :             return -1;
   14957              :           return 2868; /* *mulv4sf3_round */
   14958              : 
   14959              :         case 6:
   14960              :           if (!(
   14961              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14962              : (TARGET_AVX512F) && (
   14963              : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14964              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8DFmode, operands)
   14965              :    && 1 && (V8DFmode == V16SFmode
   14966              :                                                               || V8DFmode == V8DFmode
   14967              :                                                               || V8DFmode == V8DImode
   14968              :                                                               || V8DFmode == V16SImode
   14969              :                                                               || V8DFmode == V32HFmode)) && 
   14970              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14971              : (TARGET_AVX512F))))
   14972              :             return -1;
   14973              :           return 2872; /* *mulv8df3_round */
   14974              : 
   14975              :         case 7:
   14976              :           if (!(
   14977              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14978              : (TARGET_AVX512F) && (
   14979              : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14980              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4DFmode, operands)
   14981              :    && 1 && (V4DFmode == V16SFmode
   14982              :                                                               || V4DFmode == V8DFmode
   14983              :                                                               || V4DFmode == V8DImode
   14984              :                                                               || V4DFmode == V16SImode
   14985              :                                                               || V4DFmode == V32HFmode)) && 
   14986              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14987              : (TARGET_AVX))))
   14988              :             return -1;
   14989              :           return 2876; /* *mulv4df3_round */
   14990              : 
   14991              :         case 8:
   14992              :           if (!(
   14993              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   14994              : (TARGET_AVX512F) && (
   14995              : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   14996              : (TARGET_SSE && ix86_binary_operator_ok (MULT, V2DFmode, operands)
   14997              :    && 1 && (V2DFmode == V16SFmode
   14998              :                                                               || V2DFmode == V8DFmode
   14999              :                                                               || V2DFmode == V8DImode
   15000              :                                                               || V2DFmode == V16SImode
   15001              :                                                               || V2DFmode == V32HFmode)) && 
   15002              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15003              : (TARGET_SSE2))))
   15004              :             return -1;
   15005              :           return 2880; /* *mulv2df3_round */
   15006              : 
   15007              :         default:
   15008              :           return -1;
   15009              :         }
   15010              : 
   15011              :     case DIV:
   15012              :       x5 = XEXP (x4, 0);
   15013              :       operands[1] = x5;
   15014              :       x6 = XEXP (x4, 1);
   15015              :       operands[2] = x6;
   15016              :       x7 = XVECEXP (x3, 0, 1);
   15017              :       operands[3] = x7;
   15018              :       if (!const_4_or_8_to_11_operand (operands[3], E_SImode))
   15019              :         return -1;
   15020              :       switch (GET_MODE (operands[0]))
   15021              :         {
   15022              :         case E_V32HFmode:
   15023              :           if (pattern491 (x3, 
   15024              : E_V32HFmode) != 0
   15025              :               || !(
   15026              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15027              : (TARGET_AVX512F) && (
   15028              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15029              : (TARGET_SSE && 1 && (V32HFmode == V16SFmode
   15030              :                                                               || V32HFmode == V8DFmode
   15031              :                                                               || V32HFmode == V8DImode
   15032              :                                                               || V32HFmode == V16SImode
   15033              :                                                               || V32HFmode == V32HFmode)) && 
   15034              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15035              : (TARGET_AVX512FP16))))
   15036              :             return -1;
   15037              :           return 2914; /* avx512fp16_divv32hf3_round */
   15038              : 
   15039              :         case E_V16SFmode:
   15040              :           if (pattern491 (x3, 
   15041              : E_V16SFmode) != 0
   15042              :               || !(
   15043              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15044              : (TARGET_AVX512F) && (
   15045              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15046              : (TARGET_SSE && 1 && (V16SFmode == V16SFmode
   15047              :                                                               || V16SFmode == V8DFmode
   15048              :                                                               || V16SFmode == V8DImode
   15049              :                                                               || V16SFmode == V16SImode
   15050              :                                                               || V16SFmode == V32HFmode)) && 
   15051              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15052              : (TARGET_AVX512F))))
   15053              :             return -1;
   15054              :           return 2922; /* avx512f_divv16sf3_round */
   15055              : 
   15056              :         case E_V8DFmode:
   15057              :           if (pattern491 (x3, 
   15058              : E_V8DFmode) != 0
   15059              :               || !(
   15060              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15061              : (TARGET_AVX512F) && (
   15062              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15063              : (TARGET_SSE && 1 && (V8DFmode == V16SFmode
   15064              :                                                               || V8DFmode == V8DFmode
   15065              :                                                               || V8DFmode == V8DImode
   15066              :                                                               || V8DFmode == V16SImode
   15067              :                                                               || V8DFmode == V32HFmode)) && 
   15068              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15069              : (TARGET_AVX512F))))
   15070              :             return -1;
   15071              :           return 2930; /* avx512f_divv8df3_round */
   15072              : 
   15073              :         default:
   15074              :           return -1;
   15075              :         }
   15076              : 
   15077              :     case SQRT:
   15078              :       x5 = XEXP (x4, 0);
   15079              :       operands[1] = x5;
   15080              :       x7 = XVECEXP (x3, 0, 1);
   15081              :       operands[2] = x7;
   15082              :       if (!const_4_or_8_to_11_operand (operands[2], E_SImode))
   15083              :         return -1;
   15084              :       switch (GET_MODE (operands[0]))
   15085              :         {
   15086              :         case E_V32HFmode:
   15087              :           if (pattern1024 (x3, 
   15088              : E_V32HFmode) != 0
   15089              :               || !(
   15090              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15091              : (TARGET_AVX512F) && (
   15092              : #line 3088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15093              : (TARGET_SSE && 1 && (V32HFmode == V16SFmode
   15094              :                                                               || V32HFmode == V8DFmode
   15095              :                                                               || V32HFmode == V8DImode
   15096              :                                                               || V32HFmode == V16SImode
   15097              :                                                               || V32HFmode == V32HFmode)) && 
   15098              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15099              : (TARGET_AVX512FP16))))
   15100              :             return -1;
   15101              :           return 2967; /* avx512fp16_sqrtv32hf2_round */
   15102              : 
   15103              :         case E_V16SFmode:
   15104              :           if (pattern1024 (x3, 
   15105              : E_V16SFmode) != 0
   15106              :               || !(
   15107              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15108              : (TARGET_AVX512F) && (
   15109              : #line 3088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15110              : (TARGET_SSE && 1 && (V16SFmode == V16SFmode
   15111              :                                                               || V16SFmode == V8DFmode
   15112              :                                                               || V16SFmode == V8DImode
   15113              :                                                               || V16SFmode == V16SImode
   15114              :                                                               || V16SFmode == V32HFmode)) && 
   15115              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15116              : (TARGET_AVX512F))))
   15117              :             return -1;
   15118              :           return 2975; /* avx512f_sqrtv16sf2_round */
   15119              : 
   15120              :         case E_V8DFmode:
   15121              :           if (pattern1024 (x3, 
   15122              : E_V8DFmode) != 0
   15123              :               || !(
   15124              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15125              : (TARGET_AVX512F) && (
   15126              : #line 3088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15127              : (TARGET_SSE && 1 && (V8DFmode == V16SFmode
   15128              :                                                               || V8DFmode == V8DFmode
   15129              :                                                               || V8DFmode == V8DImode
   15130              :                                                               || V8DFmode == V16SImode
   15131              :                                                               || V8DFmode == V32HFmode)) && 
   15132              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15133              : (TARGET_AVX512F))))
   15134              :             return -1;
   15135              :           return 2983; /* avx512f_sqrtv8df2_round */
   15136              : 
   15137              :         default:
   15138              :           return -1;
   15139              :         }
   15140              : 
   15141              :     case SMAX:
   15142              :       switch (pattern493 (x3))
   15143              :         {
   15144              :         case 0:
   15145              :           if (!(
   15146              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15147              : (TARGET_AVX512F) && (
   15148              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15149              : (TARGET_SSE
   15150              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   15151              :    && 1
   15152              :    && (V32HFmode == V16SFmode
   15153              :                                                                               || V32HFmode == V8DFmode
   15154              :                                                                               || V32HFmode == V8DImode
   15155              :                                                                               || V32HFmode == V16SImode
   15156              :                                                                               || V32HFmode == V32HFmode)) && 
   15157              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15158              : (TARGET_AVX512FP16))))
   15159              :             return -1;
   15160              :           return 3045; /* *smaxv32hf3_round */
   15161              : 
   15162              :         case 1:
   15163              :           if (!(
   15164              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15165              : (TARGET_AVX512F) && (
   15166              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15167              : (TARGET_SSE
   15168              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   15169              :    && 1
   15170              :    && (V16SFmode == V16SFmode
   15171              :                                                                               || V16SFmode == V8DFmode
   15172              :                                                                               || V16SFmode == V8DImode
   15173              :                                                                               || V16SFmode == V16SImode
   15174              :                                                                               || V16SFmode == V32HFmode)) && 
   15175              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15176              : (TARGET_AVX512F))))
   15177              :             return -1;
   15178              :           return 3061; /* *smaxv16sf3_round */
   15179              : 
   15180              :         case 2:
   15181              :           if (!(
   15182              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15183              : (TARGET_AVX512F) && (
   15184              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15185              : (TARGET_SSE
   15186              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   15187              :    && 1
   15188              :    && (V8DFmode == V16SFmode
   15189              :                                                                               || V8DFmode == V8DFmode
   15190              :                                                                               || V8DFmode == V8DImode
   15191              :                                                                               || V8DFmode == V16SImode
   15192              :                                                                               || V8DFmode == V32HFmode)) && 
   15193              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15194              : (TARGET_AVX512F))))
   15195              :             return -1;
   15196              :           return 3077; /* *smaxv8df3_round */
   15197              : 
   15198              :         default:
   15199              :           return -1;
   15200              :         }
   15201              : 
   15202              :     case SMIN:
   15203              :       switch (pattern493 (x3))
   15204              :         {
   15205              :         case 0:
   15206              :           if (!(
   15207              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15208              : (TARGET_AVX512F) && (
   15209              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15210              : (TARGET_SSE
   15211              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   15212              :    && 1
   15213              :    && (V32HFmode == V16SFmode
   15214              :                                                                               || V32HFmode == V8DFmode
   15215              :                                                                               || V32HFmode == V8DImode
   15216              :                                                                               || V32HFmode == V16SImode
   15217              :                                                                               || V32HFmode == V32HFmode)) && 
   15218              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15219              : (TARGET_AVX512FP16))))
   15220              :             return -1;
   15221              :           return 3049; /* *sminv32hf3_round */
   15222              : 
   15223              :         case 1:
   15224              :           if (!(
   15225              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15226              : (TARGET_AVX512F) && (
   15227              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15228              : (TARGET_SSE
   15229              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   15230              :    && 1
   15231              :    && (V16SFmode == V16SFmode
   15232              :                                                                               || V16SFmode == V8DFmode
   15233              :                                                                               || V16SFmode == V8DImode
   15234              :                                                                               || V16SFmode == V16SImode
   15235              :                                                                               || V16SFmode == V32HFmode)) && 
   15236              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15237              : (TARGET_AVX512F))))
   15238              :             return -1;
   15239              :           return 3065; /* *sminv16sf3_round */
   15240              : 
   15241              :         case 2:
   15242              :           if (!(
   15243              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15244              : (TARGET_AVX512F) && (
   15245              : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15246              : (TARGET_SSE
   15247              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))
   15248              :    && 1
   15249              :    && (V8DFmode == V16SFmode
   15250              :                                                                               || V8DFmode == V8DFmode
   15251              :                                                                               || V8DFmode == V8DImode
   15252              :                                                                               || V8DFmode == V16SImode
   15253              :                                                                               || V8DFmode == V32HFmode)) && 
   15254              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15255              : (TARGET_AVX512F))))
   15256              :             return -1;
   15257              :           return 3081; /* *sminv8df3_round */
   15258              : 
   15259              :         default:
   15260              :           return -1;
   15261              :         }
   15262              : 
   15263              :     case UNSPEC:
   15264              :       return recog_233 (x1, insn, pnum_clobbers);
   15265              : 
   15266              :     case FMA:
   15267              :       return recog_234 (x1, insn, pnum_clobbers);
   15268              : 
   15269              :     case FLOAT:
   15270              :       x5 = XEXP (x4, 0);
   15271              :       operands[1] = x5;
   15272              :       x7 = XVECEXP (x3, 0, 1);
   15273              :       operands[2] = x7;
   15274              :       if (!const_4_or_8_to_11_operand (operands[2], E_SImode))
   15275              :         return -1;
   15276              :       switch (GET_MODE (operands[0]))
   15277              :         {
   15278              :         case E_V8HFmode:
   15279              :           switch (pattern1032 (x3))
   15280              :             {
   15281              :             case 0:
   15282              :               if (!(
   15283              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15284              : (TARGET_AVX512F) && (
   15285              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15286              : (TARGET_AVX512FP16) && 
   15287              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15288              : (TARGET_AVX512VL))))
   15289              :                 return -1;
   15290              :               return 4518; /* avx512fp16_vcvtw2ph_v8hi_round */
   15291              : 
   15292              :             case 1:
   15293              :               if (!(
   15294              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15295              : (TARGET_AVX512F) && (
   15296              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15297              : (TARGET_AVX512FP16) && 
   15298              : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15299              : (TARGET_AVX512VL))))
   15300              :                 return -1;
   15301              :               return 4542; /* avx512fp16_vcvtdq2ph_v8si_round */
   15302              : 
   15303              :             case 2:
   15304              :               if (!(
   15305              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15306              : (TARGET_AVX512F) && 
   15307              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15308              : (TARGET_AVX512FP16)))
   15309              :                 return -1;
   15310              :               return 4558; /* avx512fp16_vcvtqq2ph_v8di_round */
   15311              : 
   15312              :             default:
   15313              :               return -1;
   15314              :             }
   15315              : 
   15316              :         case E_V16HFmode:
   15317              :           switch (pattern1033 (x3))
   15318              :             {
   15319              :             case 0:
   15320              :               if (!(
   15321              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15322              : (TARGET_AVX512F) && (
   15323              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15324              : (TARGET_AVX512FP16) && 
   15325              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15326              : (TARGET_AVX512VL))))
   15327              :                 return -1;
   15328              :               return 4526; /* avx512fp16_vcvtw2ph_v16hi_round */
   15329              : 
   15330              :             case 1:
   15331              :               if (!(
   15332              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15333              : (TARGET_AVX512F) && 
   15334              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15335              : (TARGET_AVX512FP16)))
   15336              :                 return -1;
   15337              :               return 4550; /* avx512fp16_vcvtdq2ph_v16si_round */
   15338              : 
   15339              :             default:
   15340              :               return -1;
   15341              :             }
   15342              : 
   15343              :         case E_V32HFmode:
   15344              :           if (pattern494 (x3, 
   15345              : E_V32HImode, 
   15346              : E_V32HFmode) != 0
   15347              :               || !(
   15348              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15349              : (TARGET_AVX512F) && 
   15350              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15351              : (TARGET_AVX512FP16)))
   15352              :             return -1;
   15353              :           return 4534; /* avx512fp16_vcvtw2ph_v32hi_round */
   15354              : 
   15355              :         case E_V16SFmode:
   15356              :           if (pattern494 (x3, 
   15357              : E_V16SImode, 
   15358              : E_V16SFmode) != 0
   15359              :               || !(
   15360              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15361              : (TARGET_AVX512F) && (
   15362              : #line 8971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15363              : (TARGET_SSE2 && 1 && (V16SFmode == V16SFmode
   15364              :                                                               || V16SFmode == V8DFmode
   15365              :                                                               || V16SFmode == V8DImode
   15366              :                                                               || V16SFmode == V16SImode
   15367              :                                                               || V16SFmode == V32HFmode)) && 
   15368              : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15369              : (TARGET_AVX512F))))
   15370              :             return -1;
   15371              :           return 4854; /* floatv16siv16sf2_round */
   15372              : 
   15373              :         case E_V8DFmode:
   15374              :           if (pattern1034 (x3, 
   15375              : E_V8DImode, 
   15376              : E_V8DFmode) != 0
   15377              :               || !(
   15378              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15379              : (TARGET_AVX512F) && 
   15380              : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15381              : (TARGET_AVX512DQ)))
   15382              :             return -1;
   15383              :           return 4986; /* floatv8div8df2_round */
   15384              : 
   15385              :         case E_V4DFmode:
   15386              :           if (pattern1034 (x3, 
   15387              : E_V4DImode, 
   15388              : E_V4DFmode) != 0
   15389              :               || !(
   15390              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15391              : (TARGET_AVX512F) && (
   15392              : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15393              : (TARGET_AVX512DQ) && 
   15394              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15395              : (TARGET_AVX512VL))))
   15396              :             return -1;
   15397              :           return 4994; /* floatv4div4df2_round */
   15398              : 
   15399              :         case E_V2DFmode:
   15400              :           if (pattern1034 (x3, 
   15401              : E_V2DImode, 
   15402              : E_V2DFmode) != 0
   15403              :               || !(
   15404              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15405              : (TARGET_AVX512F) && (
   15406              : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15407              : (TARGET_AVX512DQ) && 
   15408              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15409              : (TARGET_AVX512VL))))
   15410              :             return -1;
   15411              :           return 5002; /* floatv2div2df2_round */
   15412              : 
   15413              :         case E_V8SFmode:
   15414              :           if (pattern1034 (x3, 
   15415              : E_V8DImode, 
   15416              : E_V8SFmode) != 0
   15417              :               || !(
   15418              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15419              : (TARGET_AVX512F) && 
   15420              : #line 9518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15421              : (TARGET_AVX512DQ && (V8DImode == V16SFmode
   15422              :                                                               || V8DImode == V8DFmode
   15423              :                                                               || V8DImode == V8DImode
   15424              :                                                               || V8DImode == V16SImode
   15425              :                                                               || V8DImode == V32HFmode))))
   15426              :             return -1;
   15427              :           return 5010; /* floatv8div8sf2_round */
   15428              : 
   15429              :         default:
   15430              :           return -1;
   15431              :         }
   15432              : 
   15433              :     case UNSIGNED_FLOAT:
   15434              :       x5 = XEXP (x4, 0);
   15435              :       operands[1] = x5;
   15436              :       x7 = XVECEXP (x3, 0, 1);
   15437              :       operands[2] = x7;
   15438              :       if (!const_4_or_8_to_11_operand (operands[2], E_SImode))
   15439              :         return -1;
   15440              :       switch (GET_MODE (operands[0]))
   15441              :         {
   15442              :         case E_V8HFmode:
   15443              :           switch (pattern1032 (x3))
   15444              :             {
   15445              :             case 0:
   15446              :               if (!(
   15447              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15448              : (TARGET_AVX512F) && (
   15449              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15450              : (TARGET_AVX512FP16) && 
   15451              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15452              : (TARGET_AVX512VL))))
   15453              :                 return -1;
   15454              :               return 4522; /* avx512fp16_vcvtuw2ph_v8hi_round */
   15455              : 
   15456              :             case 1:
   15457              :               if (!(
   15458              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15459              : (TARGET_AVX512F) && (
   15460              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15461              : (TARGET_AVX512FP16) && 
   15462              : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15463              : (TARGET_AVX512VL))))
   15464              :                 return -1;
   15465              :               return 4546; /* avx512fp16_vcvtudq2ph_v8si_round */
   15466              : 
   15467              :             case 2:
   15468              :               if (!(
   15469              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15470              : (TARGET_AVX512F) && 
   15471              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15472              : (TARGET_AVX512FP16)))
   15473              :                 return -1;
   15474              :               return 4562; /* avx512fp16_vcvtuqq2ph_v8di_round */
   15475              : 
   15476              :             default:
   15477              :               return -1;
   15478              :             }
   15479              : 
   15480              :         case E_V16HFmode:
   15481              :           switch (pattern1033 (x3))
   15482              :             {
   15483              :             case 0:
   15484              :               if (!(
   15485              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15486              : (TARGET_AVX512F) && (
   15487              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15488              : (TARGET_AVX512FP16) && 
   15489              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15490              : (TARGET_AVX512VL))))
   15491              :                 return -1;
   15492              :               return 4530; /* avx512fp16_vcvtuw2ph_v16hi_round */
   15493              : 
   15494              :             case 1:
   15495              :               if (!(
   15496              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15497              : (TARGET_AVX512F) && 
   15498              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15499              : (TARGET_AVX512FP16)))
   15500              :                 return -1;
   15501              :               return 4554; /* avx512fp16_vcvtudq2ph_v16si_round */
   15502              : 
   15503              :             default:
   15504              :               return -1;
   15505              :             }
   15506              : 
   15507              :         case E_V32HFmode:
   15508              :           if (pattern494 (x3, 
   15509              : E_V32HImode, 
   15510              : E_V32HFmode) != 0
   15511              :               || !(
   15512              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15513              : (TARGET_AVX512F) && 
   15514              : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15515              : (TARGET_AVX512FP16)))
   15516              :             return -1;
   15517              :           return 4538; /* avx512fp16_vcvtuw2ph_v32hi_round */
   15518              : 
   15519              :         case E_V16SFmode:
   15520              :           if (pattern1034 (x3, 
   15521              : E_V16SImode, 
   15522              : E_V16SFmode) != 0
   15523              :               || !
   15524              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15525              : (TARGET_AVX512F))
   15526              :             return -1;
   15527              :           return 4862; /* *floatunsv16siv16sf2_round */
   15528              : 
   15529              :         case E_V8SFmode:
   15530              :           if (!register_operand (operands[0], E_V8SFmode)
   15531              :               || GET_MODE (x3) != E_V8SFmode
   15532              :               || GET_MODE (x4) != E_V8SFmode)
   15533              :             return -1;
   15534              :           switch (GET_MODE (operands[1]))
   15535              :             {
   15536              :             case E_V8SImode:
   15537              :               if (!nonimmediate_operand (operands[1], E_V8SImode)
   15538              :                   || !(
   15539              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15540              : (TARGET_AVX512F) && (
   15541              : #line 8984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15542              : (TARGET_AVX512F) && 
   15543              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15544              : (TARGET_AVX512VL))))
   15545              :                 return -1;
   15546              :               return 4866; /* *floatunsv8siv8sf2_round */
   15547              : 
   15548              :             case E_V8DImode:
   15549              :               if (!nonimmediate_operand (operands[1], E_V8DImode)
   15550              :                   || !(
   15551              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15552              : (TARGET_AVX512F) && 
   15553              : #line 9518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15554              : (TARGET_AVX512DQ && (V8DImode == V16SFmode
   15555              :                                                               || V8DImode == V8DFmode
   15556              :                                                               || V8DImode == V8DImode
   15557              :                                                               || V8DImode == V16SImode
   15558              :                                                               || V8DImode == V32HFmode))))
   15559              :                 return -1;
   15560              :               return 5014; /* floatunsv8div8sf2_round */
   15561              : 
   15562              :             default:
   15563              :               return -1;
   15564              :             }
   15565              : 
   15566              :         case E_V4SFmode:
   15567              :           if (pattern1034 (x3, 
   15568              : E_V4SImode, 
   15569              : E_V4SFmode) != 0
   15570              :               || !(
   15571              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15572              : (TARGET_AVX512F) && (
   15573              : #line 8984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15574              : (TARGET_AVX512F) && 
   15575              : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15576              : (TARGET_AVX512VL))))
   15577              :             return -1;
   15578              :           return 4870; /* *floatunsv4siv4sf2_round */
   15579              : 
   15580              :         case E_V8DFmode:
   15581              :           if (pattern1034 (x3, 
   15582              : E_V8DImode, 
   15583              : E_V8DFmode) != 0
   15584              :               || !(
   15585              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15586              : (TARGET_AVX512F) && 
   15587              : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15588              : (TARGET_AVX512DQ)))
   15589              :             return -1;
   15590              :           return 4990; /* floatunsv8div8df2_round */
   15591              : 
   15592              :         case E_V4DFmode:
   15593              :           if (pattern1034 (x3, 
   15594              : E_V4DImode, 
   15595              : E_V4DFmode) != 0
   15596              :               || !(
   15597              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15598              : (TARGET_AVX512F) && (
   15599              : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15600              : (TARGET_AVX512DQ) && 
   15601              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15602              : (TARGET_AVX512VL))))
   15603              :             return -1;
   15604              :           return 4998; /* floatunsv4div4df2_round */
   15605              : 
   15606              :         case E_V2DFmode:
   15607              :           if (pattern1034 (x3, 
   15608              : E_V2DImode, 
   15609              : E_V2DFmode) != 0
   15610              :               || !(
   15611              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15612              : (TARGET_AVX512F) && (
   15613              : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15614              : (TARGET_AVX512DQ) && 
   15615              : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15616              : (TARGET_AVX512VL))))
   15617              :             return -1;
   15618              :           return 5006; /* floatunsv2div2df2_round */
   15619              : 
   15620              :         default:
   15621              :           return -1;
   15622              :         }
   15623              : 
   15624              :     case FIX:
   15625              :       switch (pattern495 (x3))
   15626              :         {
   15627              :         case 0:
   15628              :           if (!(
   15629              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15630              : (TARGET_AVX512F) && (
   15631              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15632              : (TARGET_AVX512FP16) && 
   15633              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15634              : (TARGET_AVX512VL))))
   15635              :             return -1;
   15636              :           return 4652; /* avx512fp16_fix_truncv8hi2_round */
   15637              : 
   15638              :         case 1:
   15639              :           if (!(
   15640              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15641              : (TARGET_AVX512F) && (
   15642              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15643              : (TARGET_AVX512FP16) && 
   15644              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15645              : (TARGET_AVX512VL))))
   15646              :             return -1;
   15647              :           return 4660; /* avx512fp16_fix_truncv16hi2_round */
   15648              : 
   15649              :         case 2:
   15650              :           if (!(
   15651              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15652              : (TARGET_AVX512F) && 
   15653              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15654              : (TARGET_AVX512FP16)))
   15655              :             return -1;
   15656              :           return 4668; /* avx512fp16_fix_truncv32hi2_round */
   15657              : 
   15658              :         case 3:
   15659              :           if (!(
   15660              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15661              : (TARGET_AVX512F) && (
   15662              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15663              : (TARGET_AVX512FP16) && 
   15664              : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15665              : (TARGET_AVX512VL))))
   15666              :             return -1;
   15667              :           return 4676; /* avx512fp16_fix_truncv8si2_round */
   15668              : 
   15669              :         case 4:
   15670              :           if (!
   15671              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15672              : (TARGET_AVX512F))
   15673              :             return -1;
   15674              :           return 5067; /* fix_truncv8dfv8si2_round */
   15675              : 
   15676              :         case 5:
   15677              :           if (!(
   15678              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15679              : (TARGET_AVX512F) && 
   15680              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15681              : (TARGET_AVX512FP16)))
   15682              :             return -1;
   15683              :           return 4684; /* avx512fp16_fix_truncv16si2_round */
   15684              : 
   15685              :         case 6:
   15686              :           if (!
   15687              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15688              : (TARGET_AVX512F))
   15689              :             return -1;
   15690              :           return 4918; /* fix_truncv16sfv16si2_round */
   15691              : 
   15692              :         case 7:
   15693              :           if (!(
   15694              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15695              : (TARGET_AVX512F) && 
   15696              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15697              : (TARGET_AVX512FP16)))
   15698              :             return -1;
   15699              :           return 4692; /* avx512fp16_fix_truncv8di2_round */
   15700              : 
   15701              :         case 8:
   15702              :           if (!(
   15703              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15704              : (TARGET_AVX512F) && 
   15705              : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15706              : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
   15707              :                                                                               || V8DFmode == V8DFmode
   15708              :                                                                               || V8DFmode == V8DImode
   15709              :                                                                               || V8DFmode == V16SImode
   15710              :                                                                               || V8DFmode == V32HFmode))))
   15711              :             return -1;
   15712              :           return 5104; /* fix_truncv8dfv8di2_round */
   15713              : 
   15714              :         case 9:
   15715              :           if (!(
   15716              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15717              : (TARGET_AVX512F) && 
   15718              : #line 10072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15719              : (TARGET_AVX512DQ && (V8DImode == V16SFmode
   15720              :                                                                               || V8DImode == V8DFmode
   15721              :                                                                               || V8DImode == V8DImode
   15722              :                                                                               || V8DImode == V16SImode
   15723              :                                                                               || V8DImode == V32HFmode))))
   15724              :             return -1;
   15725              :           return 5148; /* fix_truncv8sfv8di2_round */
   15726              : 
   15727              :         default:
   15728              :           return -1;
   15729              :         }
   15730              : 
   15731              :     case UNSIGNED_FIX:
   15732              :       switch (pattern495 (x3))
   15733              :         {
   15734              :         case 0:
   15735              :           if (!(
   15736              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15737              : (TARGET_AVX512F) && (
   15738              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15739              : (TARGET_AVX512FP16) && 
   15740              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15741              : (TARGET_AVX512VL))))
   15742              :             return -1;
   15743              :           return 4656; /* avx512fp16_fixuns_truncv8hi2_round */
   15744              : 
   15745              :         case 1:
   15746              :           if (!(
   15747              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15748              : (TARGET_AVX512F) && (
   15749              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15750              : (TARGET_AVX512FP16) && 
   15751              : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15752              : (TARGET_AVX512VL))))
   15753              :             return -1;
   15754              :           return 4664; /* avx512fp16_fixuns_truncv16hi2_round */
   15755              : 
   15756              :         case 2:
   15757              :           if (!(
   15758              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15759              : (TARGET_AVX512F) && 
   15760              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15761              : (TARGET_AVX512FP16)))
   15762              :             return -1;
   15763              :           return 4672; /* avx512fp16_fixuns_truncv32hi2_round */
   15764              : 
   15765              :         case 3:
   15766              :           if (!(
   15767              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15768              : (TARGET_AVX512F) && (
   15769              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15770              : (TARGET_AVX512FP16) && 
   15771              : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15772              : (TARGET_AVX512VL))))
   15773              :             return -1;
   15774              :           return 4680; /* avx512fp16_fixuns_truncv8si2_round */
   15775              : 
   15776              :         case 4:
   15777              :           if (!
   15778              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15779              : (TARGET_AVX512F))
   15780              :             return -1;
   15781              :           return 5071; /* fixuns_truncv8dfv8si2_round */
   15782              : 
   15783              :         case 5:
   15784              :           if (!(
   15785              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15786              : (TARGET_AVX512F) && 
   15787              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15788              : (TARGET_AVX512FP16)))
   15789              :             return -1;
   15790              :           return 4688; /* avx512fp16_fixuns_truncv16si2_round */
   15791              : 
   15792              :         case 6:
   15793              :           if (!
   15794              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15795              : (TARGET_AVX512F))
   15796              :             return -1;
   15797              :           return 4922; /* fixuns_truncv16sfv16si2_round */
   15798              : 
   15799              :         case 7:
   15800              :           if (!(
   15801              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15802              : (TARGET_AVX512F) && 
   15803              : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15804              : (TARGET_AVX512FP16)))
   15805              :             return -1;
   15806              :           return 4696; /* avx512fp16_fixuns_truncv8di2_round */
   15807              : 
   15808              :         case 8:
   15809              :           if (!(
   15810              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15811              : (TARGET_AVX512F) && 
   15812              : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15813              : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
   15814              :                                                                               || V8DFmode == V8DFmode
   15815              :                                                                               || V8DFmode == V8DImode
   15816              :                                                                               || V8DFmode == V16SImode
   15817              :                                                                               || V8DFmode == V32HFmode))))
   15818              :             return -1;
   15819              :           return 5108; /* fixuns_truncv8dfv8di2_round */
   15820              : 
   15821              :         case 9:
   15822              :           if (!(
   15823              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15824              : (TARGET_AVX512F) && 
   15825              : #line 10072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15826              : (TARGET_AVX512DQ && (V8DImode == V16SFmode
   15827              :                                                                               || V8DImode == V8DFmode
   15828              :                                                                               || V8DImode == V8DImode
   15829              :                                                                               || V8DImode == V16SImode
   15830              :                                                                               || V8DImode == V32HFmode))))
   15831              :             return -1;
   15832              :           return 5152; /* fixuns_truncv8sfv8di2_round */
   15833              : 
   15834              :         default:
   15835              :           return -1;
   15836              :         }
   15837              : 
   15838              :     case FLOAT_EXTEND:
   15839              :       x5 = XEXP (x4, 0);
   15840              :       operands[1] = x5;
   15841              :       x7 = XVECEXP (x3, 0, 1);
   15842              :       operands[2] = x7;
   15843              :       if (!const48_operand (operands[2], E_SImode))
   15844              :         return -1;
   15845              :       switch (GET_MODE (operands[0]))
   15846              :         {
   15847              :         case E_V8DFmode:
   15848              :           if (!register_operand (operands[0], E_V8DFmode)
   15849              :               || GET_MODE (x3) != E_V8DFmode
   15850              :               || GET_MODE (x4) != E_V8DFmode)
   15851              :             return -1;
   15852              :           switch (GET_MODE (operands[1]))
   15853              :             {
   15854              :             case E_V8HFmode:
   15855              :               if (!register_operand (operands[1], E_V8HFmode)
   15856              :                   || !(
   15857              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15858              : (TARGET_AVX512F) && 
   15859              : #line 8365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15860              : (TARGET_AVX512FP16)))
   15861              :                 return -1;
   15862              :               return 4756; /* avx512fp16_float_extend_phv8df2_round */
   15863              : 
   15864              :             case E_V8SFmode:
   15865              :               if (!register_operand (operands[1], E_V8SFmode)
   15866              :                   || !(
   15867              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15868              : (TARGET_AVX512F) && (
   15869              : #line 10550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15870              : (TARGET_AVX && 1 && (V8DFmode == V16SFmode
   15871              :                                                                               || V8DFmode == V8DFmode
   15872              :                                                                               || V8DFmode == V8DImode
   15873              :                                                                               || V8DFmode == V16SImode
   15874              :                                                                               || V8DFmode == V32HFmode)) && 
   15875              : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15876              : (TARGET_AVX512F))))
   15877              :                 return -1;
   15878              :               return 5201; /* avx512f_cvtps2pd512_round */
   15879              : 
   15880              :             default:
   15881              :               return -1;
   15882              :             }
   15883              : 
   15884              :         case E_V16SFmode:
   15885              :           if (pattern494 (x3, 
   15886              : E_V16HFmode, 
   15887              : E_V16SFmode) != 0
   15888              :               || !(
   15889              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15890              : (TARGET_AVX512F) && 
   15891              : #line 8365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15892              : (TARGET_AVX512FP16)))
   15893              :             return -1;
   15894              :           return 4760; /* avx512fp16_float_extend_phv16sf2_round */
   15895              : 
   15896              :         case E_V8SFmode:
   15897              :           if (pattern494 (x3, 
   15898              : E_V8HFmode, 
   15899              : E_V8SFmode) != 0
   15900              :               || !(
   15901              : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15902              : (TARGET_AVX512F) && (
   15903              : #line 8365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15904              : (TARGET_AVX512FP16) && 
   15905              : #line 986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15906              : (TARGET_AVX512VL))))
   15907              :             return -1;
   15908              :           return 4764; /* avx512fp16_float_extend_phv8sf2_round */
   15909              : 
   15910              :         default:
   15911              :           return -1;
   15912              :         }
   15913              : 
   15914              :     case FLOAT_TRUNCATE:
   15915              :       x5 = XEXP (x4, 0);
   15916              :       operands[1] = x5;
   15917              :       x7 = XVECEXP (x3, 0, 1);
   15918              :       operands[2] = x7;
   15919              :       if (!const_4_or_8_to_11_operand (operands[2], E_SImode))
   15920              :         return -1;
   15921              :       switch (GET_MODE (operands[0]))
   15922              :         {
   15923              :         case E_V8HFmode:
   15924              :           if (!register_operand (operands[0], E_V8HFmode)
   15925              :               || GET_MODE (x3) != E_V8HFmode
   15926              :               || GET_MODE (x4) != E_V8HFmode)
   15927              :             return -1;
   15928              :           switch (GET_MODE (operands[1]))
   15929              :             {
   15930              :             case E_V8DFmode:
   15931              :               if (!register_operand (operands[1], E_V8DFmode)
   15932              :                   || !(
   15933              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15934              : (TARGET_AVX512F) && 
   15935              : #line 8459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15936              : (TARGET_AVX512FP16)))
   15937              :                 return -1;
   15938              :               return 4780; /* avx512fp16_vcvtpd2ph_v8df_round */
   15939              : 
   15940              :             case E_V8SFmode:
   15941              :               if (!register_operand (operands[1], E_V8SFmode)
   15942              :                   || !(
   15943              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15944              : (TARGET_AVX512F) && (
   15945              : #line 8459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15946              : (TARGET_AVX512FP16) && 
   15947              : #line 986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15948              : (TARGET_AVX512VL))))
   15949              :                 return -1;
   15950              :               return 4788; /* avx512fp16_vcvtps2ph_v8sf_round */
   15951              : 
   15952              :             default:
   15953              :               return -1;
   15954              :             }
   15955              : 
   15956              :         case E_V16HFmode:
   15957              :           if (pattern494 (x3, 
   15958              : E_V16SFmode, 
   15959              : E_V16HFmode) != 0
   15960              :               || !(
   15961              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15962              : (TARGET_AVX512F) && 
   15963              : #line 8459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   15964              : (TARGET_AVX512FP16)))
   15965              :             return -1;
   15966              :           return 4784; /* avx512fp16_vcvtps2ph_v16sf_round */
   15967              : 
   15968              :         case E_V8SFmode:
   15969              :           if (pattern494 (x3, 
   15970              : E_V8DFmode, 
   15971              : E_V8SFmode) != 0
   15972              :               || !
   15973              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   15974              : (TARGET_AVX512F))
   15975              :             return -1;
   15976              :           return 5191; /* *avx512f_cvtpd2ps512_round */
   15977              : 
   15978              :         default:
   15979              :           return -1;
   15980              :         }
   15981              : 
   15982              :     case VEC_CONCAT:
   15983              :       if (GET_MODE (x4) != E_V32HFmode)
   15984              :         return -1;
   15985              :       x5 = XEXP (x4, 0);
   15986              :       if (GET_CODE (x5) != FLOAT_TRUNCATE
   15987              :           || GET_MODE (x5) != E_V16HFmode)
   15988              :         return -1;
   15989              :       x6 = XEXP (x4, 1);
   15990              :       if (GET_CODE (x6) != FLOAT_TRUNCATE
   15991              :           || GET_MODE (x6) != E_V16HFmode
   15992              :           || !register_operand (operands[0], E_V32HFmode)
   15993              :           || GET_MODE (x3) != E_V32HFmode)
   15994              :         return -1;
   15995              :       x8 = XEXP (x5, 0);
   15996              :       operands[2] = x8;
   15997              :       if (!register_operand (operands[2], E_V16SFmode))
   15998              :         return -1;
   15999              :       x9 = XEXP (x6, 0);
   16000              :       operands[1] = x9;
   16001              :       if (!register_operand (operands[1], E_V16SFmode))
   16002              :         return -1;
   16003              :       x7 = XVECEXP (x3, 0, 1);
   16004              :       operands[3] = x7;
   16005              :       if (!const_4_or_8_to_11_operand (operands[3], E_SImode)
   16006              :           || !(
   16007              : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
   16008              : (TARGET_AVX512F) && 
   16009              : #line 32424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16010              : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
   16011              :                                                               || V32HFmode == V8DFmode
   16012              :                                                               || V32HFmode == V8DImode
   16013              :                                                               || V32HFmode == V16SImode
   16014              :                                                               || V32HFmode == V32HFmode))))
   16015              :         return -1;
   16016              :       return 10511; /* avx10_2_cvt2ps2phx_v32hf_round */
   16017              : 
   16018              :     default:
   16019              :       return -1;
   16020              :     }
   16021              : }
   16022              : 
   16023              :  int
   16024              : recog_278 (rtx x1 ATTRIBUTE_UNUSED,
   16025              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16026              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16027              : {
   16028              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16029              :   rtx x2, x3, x4, x5;
   16030              :   int res ATTRIBUTE_UNUSED;
   16031              :   x2 = XEXP (x1, 1);
   16032              :   x3 = XEXP (x2, 0);
   16033              :   operands[1] = x3;
   16034              :   x4 = XEXP (x2, 2);
   16035              :   switch (GET_CODE (x4))
   16036              :     {
   16037              :     case REG:
   16038              :     case SUBREG:
   16039              :     case MEM:
   16040              :     case VEC_DUPLICATE:
   16041              :       operands[3] = x4;
   16042              :       switch (GET_MODE (operands[0]))
   16043              :         {
   16044              :         case E_V4SFmode:
   16045              :           if (!register_operand (operands[0], E_V4SFmode)
   16046              :               || GET_MODE (x2) != E_V4SFmode)
   16047              :             return -1;
   16048              :           if (nonimmediate_operand (operands[1], E_V4SFmode)
   16049              :               && nonimmediate_operand (operands[2], E_V4SFmode)
   16050              :               && nonimmediate_operand (operands[3], E_V4SFmode)
   16051              :               && 
   16052              : #line 6263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16053              : (TARGET_FMA || TARGET_FMA4))
   16054              :             return 3871; /* *fma_fmadd_v4sf */
   16055              :           if (!bcst_vector_operand (operands[1], E_V4SFmode)
   16056              :               || !bcst_vector_operand (operands[2], E_V4SFmode)
   16057              :               || !bcst_vector_operand (operands[3], E_V4SFmode)
   16058              :               || !(
   16059              : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16060              : (TARGET_AVX512F && 1 && 1) && 
   16061              : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16062              : (TARGET_AVX512VL)))
   16063              :             return -1;
   16064              :           return 3891; /* *fma_fmadd_v4sf */
   16065              : 
   16066              :         case E_V2DFmode:
   16067              :           if (!register_operand (operands[0], E_V2DFmode)
   16068              :               || GET_MODE (x2) != E_V2DFmode)
   16069              :             return -1;
   16070              :           if (nonimmediate_operand (operands[1], E_V2DFmode)
   16071              :               && nonimmediate_operand (operands[2], E_V2DFmode)
   16072              :               && nonimmediate_operand (operands[3], E_V2DFmode)
   16073              :               && 
   16074              : #line 6263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16075              : (TARGET_FMA || TARGET_FMA4))
   16076              :             return 3872; /* *fma_fmadd_v2df */
   16077              :           if (!bcst_vector_operand (operands[1], E_V2DFmode)
   16078              :               || !bcst_vector_operand (operands[2], E_V2DFmode)
   16079              :               || !bcst_vector_operand (operands[3], E_V2DFmode)
   16080              :               || !(
   16081              : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16082              : (TARGET_AVX512F && 1 && 1) && 
   16083              : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16084              : (TARGET_AVX512VL)))
   16085              :             return -1;
   16086              :           return 3900; /* *fma_fmadd_v2df */
   16087              : 
   16088              :         case E_V8SFmode:
   16089              :           if (!register_operand (operands[0], E_V8SFmode)
   16090              :               || GET_MODE (x2) != E_V8SFmode)
   16091              :             return -1;
   16092              :           if (nonimmediate_operand (operands[1], E_V8SFmode)
   16093              :               && nonimmediate_operand (operands[2], E_V8SFmode)
   16094              :               && nonimmediate_operand (operands[3], E_V8SFmode)
   16095              :               && 
   16096              : #line 6263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16097              : (TARGET_FMA || TARGET_FMA4))
   16098              :             return 3873; /* *fma_fmadd_v8sf */
   16099              :           if (!bcst_vector_operand (operands[1], E_V8SFmode)
   16100              :               || !bcst_vector_operand (operands[2], E_V8SFmode)
   16101              :               || !bcst_vector_operand (operands[3], E_V8SFmode)
   16102              :               || !(
   16103              : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16104              : (TARGET_AVX512F && 1 && 1) && 
   16105              : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16106              : (TARGET_AVX512VL)))
   16107              :             return -1;
   16108              :           return 3889; /* *fma_fmadd_v8sf */
   16109              : 
   16110              :         case E_V4DFmode:
   16111              :           if (!register_operand (operands[0], E_V4DFmode)
   16112              :               || GET_MODE (x2) != E_V4DFmode)
   16113              :             return -1;
   16114              :           if (nonimmediate_operand (operands[1], E_V4DFmode)
   16115              :               && nonimmediate_operand (operands[2], E_V4DFmode)
   16116              :               && nonimmediate_operand (operands[3], E_V4DFmode)
   16117              :               && 
   16118              : #line 6263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16119              : (TARGET_FMA || TARGET_FMA4))
   16120              :             return 3874; /* *fma_fmadd_v4df */
   16121              :           if (!bcst_vector_operand (operands[1], E_V4DFmode)
   16122              :               || !bcst_vector_operand (operands[2], E_V4DFmode)
   16123              :               || !bcst_vector_operand (operands[3], E_V4DFmode)
   16124              :               || !(
   16125              : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16126              : (TARGET_AVX512F && 1 && 1) && 
   16127              : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16128              : (TARGET_AVX512VL)))
   16129              :             return -1;
   16130              :           return 3898; /* *fma_fmadd_v4df */
   16131              : 
   16132              :         case E_V32HFmode:
   16133              :           if (pattern874 (x2, 
   16134              : E_V32HFmode) != 0
   16135              :               || !(
   16136              : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16137              : (TARGET_AVX512F && 1 && 1) && 
   16138              : #line 6276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16139              : (TARGET_AVX512FP16)))
   16140              :             return -1;
   16141              :           return 3875; /* *fma_fmadd_v32hf */
   16142              : 
   16143              :         case E_V16HFmode:
   16144              :           if (pattern874 (x2, 
   16145              : E_V16HFmode) != 0
   16146              :               || !(
   16147              : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16148              : (TARGET_AVX512F && 1 && 1) && 
   16149              : #line 6277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16150              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   16151              :             return -1;
   16152              :           return 3879; /* *fma_fmadd_v16hf */
   16153              : 
   16154              :         case E_V8HFmode:
   16155              :           if (pattern874 (x2, 
   16156              : E_V8HFmode) != 0
   16157              :               || !(
   16158              : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16159              : (TARGET_AVX512F && 1 && 1) && 
   16160              : #line 6278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16161              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   16162              :             return -1;
   16163              :           return 3881; /* *fma_fmadd_v8hf */
   16164              : 
   16165              :         case E_V16SFmode:
   16166              :           if (pattern874 (x2, 
   16167              : E_V16SFmode) != 0
   16168              :               || !
   16169              : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16170              : (TARGET_AVX512F && 1 && 1))
   16171              :             return -1;
   16172              :           return 3885; /* *fma_fmadd_v16sf */
   16173              : 
   16174              :         case E_V8DFmode:
   16175              :           if (pattern874 (x2, 
   16176              : E_V8DFmode) != 0
   16177              :               || !
   16178              : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16179              : (TARGET_AVX512F && 1 && 1))
   16180              :             return -1;
   16181              :           return 3894; /* *fma_fmadd_v8df */
   16182              : 
   16183              :         case E_V32BFmode:
   16184              :           if (pattern924 (x2, 
   16185              : E_V32BFmode) != 0
   16186              :               || !
   16187              : #line 32856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16188              : (TARGET_AVX10_2))
   16189              :             return -1;
   16190              :           return 10701; /* avx10_2_fmaddbf16_v32bf */
   16191              : 
   16192              :         case E_V16BFmode:
   16193              :           if (pattern924 (x2, 
   16194              : E_V16BFmode) != 0
   16195              :               || !
   16196              : #line 32856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16197              : (TARGET_AVX10_2))
   16198              :             return -1;
   16199              :           return 10703; /* avx10_2_fmaddbf16_v16bf */
   16200              : 
   16201              :         case E_V8BFmode:
   16202              :           if (pattern924 (x2, 
   16203              : E_V8BFmode) != 0
   16204              :               || !
   16205              : #line 32856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16206              : (TARGET_AVX10_2))
   16207              :             return -1;
   16208              :           return 10705; /* avx10_2_fmaddbf16_v8bf */
   16209              : 
   16210              :         default:
   16211              :           return -1;
   16212              :         }
   16213              : 
   16214              :     case NEG:
   16215              :       x5 = XEXP (x4, 0);
   16216              :       operands[3] = x5;
   16217              :       switch (GET_MODE (operands[0]))
   16218              :         {
   16219              :         case E_V4SFmode:
   16220              :           if (!register_operand (operands[0], E_V4SFmode)
   16221              :               || GET_MODE (x2) != E_V4SFmode
   16222              :               || GET_MODE (x4) != E_V4SFmode)
   16223              :             return -1;
   16224              :           if (nonimmediate_operand (operands[1], E_V4SFmode)
   16225              :               && nonimmediate_operand (operands[2], E_V4SFmode)
   16226              :               && nonimmediate_operand (operands[3], E_V4SFmode)
   16227              :               && 
   16228              : #line 6360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16229              : (TARGET_FMA || TARGET_FMA4))
   16230              :             return 3934; /* *fma_fmsub_v4sf */
   16231              :           if (!bcst_vector_operand (operands[1], E_V4SFmode)
   16232              :               || !bcst_vector_operand (operands[2], E_V4SFmode)
   16233              :               || !bcst_vector_operand (operands[3], E_V4SFmode)
   16234              :               || !(
   16235              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16236              : (TARGET_AVX512F && 1 && 1) && 
   16237              : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16238              : (TARGET_AVX512VL)))
   16239              :             return -1;
   16240              :           return 3954; /* *fma_fmsub_v4sf */
   16241              : 
   16242              :         case E_V2DFmode:
   16243              :           if (!register_operand (operands[0], E_V2DFmode)
   16244              :               || GET_MODE (x2) != E_V2DFmode
   16245              :               || GET_MODE (x4) != E_V2DFmode)
   16246              :             return -1;
   16247              :           if (nonimmediate_operand (operands[1], E_V2DFmode)
   16248              :               && nonimmediate_operand (operands[2], E_V2DFmode)
   16249              :               && nonimmediate_operand (operands[3], E_V2DFmode)
   16250              :               && 
   16251              : #line 6360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16252              : (TARGET_FMA || TARGET_FMA4))
   16253              :             return 3935; /* *fma_fmsub_v2df */
   16254              :           if (!bcst_vector_operand (operands[1], E_V2DFmode)
   16255              :               || !bcst_vector_operand (operands[2], E_V2DFmode)
   16256              :               || !bcst_vector_operand (operands[3], E_V2DFmode)
   16257              :               || !(
   16258              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16259              : (TARGET_AVX512F && 1 && 1) && 
   16260              : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16261              : (TARGET_AVX512VL)))
   16262              :             return -1;
   16263              :           return 3963; /* *fma_fmsub_v2df */
   16264              : 
   16265              :         case E_V8SFmode:
   16266              :           if (!register_operand (operands[0], E_V8SFmode)
   16267              :               || GET_MODE (x2) != E_V8SFmode
   16268              :               || GET_MODE (x4) != E_V8SFmode)
   16269              :             return -1;
   16270              :           if (nonimmediate_operand (operands[1], E_V8SFmode)
   16271              :               && nonimmediate_operand (operands[2], E_V8SFmode)
   16272              :               && nonimmediate_operand (operands[3], E_V8SFmode)
   16273              :               && 
   16274              : #line 6360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16275              : (TARGET_FMA || TARGET_FMA4))
   16276              :             return 3936; /* *fma_fmsub_v8sf */
   16277              :           if (!bcst_vector_operand (operands[1], E_V8SFmode)
   16278              :               || !bcst_vector_operand (operands[2], E_V8SFmode)
   16279              :               || !bcst_vector_operand (operands[3], E_V8SFmode)
   16280              :               || !(
   16281              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16282              : (TARGET_AVX512F && 1 && 1) && 
   16283              : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16284              : (TARGET_AVX512VL)))
   16285              :             return -1;
   16286              :           return 3952; /* *fma_fmsub_v8sf */
   16287              : 
   16288              :         case E_V4DFmode:
   16289              :           if (!register_operand (operands[0], E_V4DFmode)
   16290              :               || GET_MODE (x2) != E_V4DFmode
   16291              :               || GET_MODE (x4) != E_V4DFmode)
   16292              :             return -1;
   16293              :           if (nonimmediate_operand (operands[1], E_V4DFmode)
   16294              :               && nonimmediate_operand (operands[2], E_V4DFmode)
   16295              :               && nonimmediate_operand (operands[3], E_V4DFmode)
   16296              :               && 
   16297              : #line 6360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16298              : (TARGET_FMA || TARGET_FMA4))
   16299              :             return 3937; /* *fma_fmsub_v4df */
   16300              :           if (!bcst_vector_operand (operands[1], E_V4DFmode)
   16301              :               || !bcst_vector_operand (operands[2], E_V4DFmode)
   16302              :               || !bcst_vector_operand (operands[3], E_V4DFmode)
   16303              :               || !(
   16304              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16305              : (TARGET_AVX512F && 1 && 1) && 
   16306              : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16307              : (TARGET_AVX512VL)))
   16308              :             return -1;
   16309              :           return 3961; /* *fma_fmsub_v4df */
   16310              : 
   16311              :         case E_V32HFmode:
   16312              :           if (pattern875 (x2, 
   16313              : E_V32HFmode) != 0
   16314              :               || !(
   16315              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16316              : (TARGET_AVX512F && 1 && 1) && 
   16317              : #line 6276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16318              : (TARGET_AVX512FP16)))
   16319              :             return -1;
   16320              :           return 3938; /* *fma_fmsub_v32hf */
   16321              : 
   16322              :         case E_V16HFmode:
   16323              :           if (pattern875 (x2, 
   16324              : E_V16HFmode) != 0
   16325              :               || !(
   16326              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16327              : (TARGET_AVX512F && 1 && 1) && 
   16328              : #line 6277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16329              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   16330              :             return -1;
   16331              :           return 3942; /* *fma_fmsub_v16hf */
   16332              : 
   16333              :         case E_V8HFmode:
   16334              :           if (pattern875 (x2, 
   16335              : E_V8HFmode) != 0
   16336              :               || !(
   16337              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16338              : (TARGET_AVX512F && 1 && 1) && 
   16339              : #line 6278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16340              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   16341              :             return -1;
   16342              :           return 3944; /* *fma_fmsub_v8hf */
   16343              : 
   16344              :         case E_V16SFmode:
   16345              :           if (pattern875 (x2, 
   16346              : E_V16SFmode) != 0
   16347              :               || !
   16348              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16349              : (TARGET_AVX512F && 1 && 1))
   16350              :             return -1;
   16351              :           return 3948; /* *fma_fmsub_v16sf */
   16352              : 
   16353              :         case E_V8DFmode:
   16354              :           if (pattern875 (x2, 
   16355              : E_V8DFmode) != 0
   16356              :               || !
   16357              : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16358              : (TARGET_AVX512F && 1 && 1))
   16359              :             return -1;
   16360              :           return 3957; /* *fma_fmsub_v8df */
   16361              : 
   16362              :         case E_V32BFmode:
   16363              :           if (pattern925 (x2, 
   16364              : E_V32BFmode) != 0
   16365              :               || !
   16366              : #line 32984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16367              : (TARGET_AVX10_2))
   16368              :             return -1;
   16369              :           return 10725; /* avx10_2_fmsubbf16_v32bf */
   16370              : 
   16371              :         case E_V16BFmode:
   16372              :           if (pattern925 (x2, 
   16373              : E_V16BFmode) != 0
   16374              :               || !
   16375              : #line 32984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16376              : (TARGET_AVX10_2))
   16377              :             return -1;
   16378              :           return 10727; /* avx10_2_fmsubbf16_v16bf */
   16379              : 
   16380              :         case E_V8BFmode:
   16381              :           if (pattern925 (x2, 
   16382              : E_V8BFmode) != 0
   16383              :               || !
   16384              : #line 32984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16385              : (TARGET_AVX10_2))
   16386              :             return -1;
   16387              :           return 10729; /* avx10_2_fmsubbf16_v8bf */
   16388              : 
   16389              :         default:
   16390              :           return -1;
   16391              :         }
   16392              : 
   16393              :     default:
   16394              :       return -1;
   16395              :     }
   16396              : }
   16397              : 
   16398              :  int
   16399              : recog_287 (rtx x1 ATTRIBUTE_UNUSED,
   16400              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16401              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16402              : {
   16403              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16404              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   16405              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   16406              :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
   16407              :   rtx x26, x27, x28, x29, x30, x31, x32, x33;
   16408              :   rtx x34, x35, x36, x37, x38, x39, x40, x41;
   16409              :   rtx x42, x43, x44, x45, x46, x47, x48, x49;
   16410              :   rtx x50, x51, x52, x53, x54, x55, x56, x57;
   16411              :   rtx x58, x59, x60, x61, x62, x63, x64, x65;
   16412              :   rtx x66, x67;
   16413              :   int res ATTRIBUTE_UNUSED;
   16414              :   x2 = XEXP (x1, 1);
   16415              :   x3 = XEXP (x2, 1);
   16416              :   if (pattern683 (x3) != 0)
   16417              :     return -1;
   16418              :   x4 = XVECEXP (x3, 0, 32);
   16419              :   if (GET_CODE (x4) != CONST_INT)
   16420              :     return -1;
   16421              :   x5 = XVECEXP (x3, 0, 33);
   16422              :   if (GET_CODE (x5) != CONST_INT)
   16423              :     return -1;
   16424              :   x6 = XVECEXP (x3, 0, 34);
   16425              :   if (GET_CODE (x6) != CONST_INT)
   16426              :     return -1;
   16427              :   x7 = XVECEXP (x3, 0, 35);
   16428              :   if (GET_CODE (x7) != CONST_INT)
   16429              :     return -1;
   16430              :   x8 = XVECEXP (x3, 0, 36);
   16431              :   if (GET_CODE (x8) != CONST_INT)
   16432              :     return -1;
   16433              :   x9 = XVECEXP (x3, 0, 37);
   16434              :   if (GET_CODE (x9) != CONST_INT)
   16435              :     return -1;
   16436              :   x10 = XVECEXP (x3, 0, 38);
   16437              :   if (GET_CODE (x10) != CONST_INT)
   16438              :     return -1;
   16439              :   x11 = XVECEXP (x3, 0, 39);
   16440              :   if (GET_CODE (x11) != CONST_INT)
   16441              :     return -1;
   16442              :   x12 = XVECEXP (x3, 0, 40);
   16443              :   if (GET_CODE (x12) != CONST_INT)
   16444              :     return -1;
   16445              :   x13 = XVECEXP (x3, 0, 41);
   16446              :   if (GET_CODE (x13) != CONST_INT)
   16447              :     return -1;
   16448              :   x14 = XVECEXP (x3, 0, 42);
   16449              :   if (GET_CODE (x14) != CONST_INT)
   16450              :     return -1;
   16451              :   x15 = XVECEXP (x3, 0, 43);
   16452              :   if (GET_CODE (x15) != CONST_INT)
   16453              :     return -1;
   16454              :   x16 = XVECEXP (x3, 0, 44);
   16455              :   if (GET_CODE (x16) != CONST_INT)
   16456              :     return -1;
   16457              :   x17 = XVECEXP (x3, 0, 45);
   16458              :   if (GET_CODE (x17) != CONST_INT)
   16459              :     return -1;
   16460              :   x18 = XVECEXP (x3, 0, 46);
   16461              :   if (GET_CODE (x18) != CONST_INT)
   16462              :     return -1;
   16463              :   x19 = XVECEXP (x3, 0, 47);
   16464              :   if (GET_CODE (x19) != CONST_INT)
   16465              :     return -1;
   16466              :   x20 = XVECEXP (x3, 0, 48);
   16467              :   if (GET_CODE (x20) != CONST_INT)
   16468              :     return -1;
   16469              :   x21 = XVECEXP (x3, 0, 49);
   16470              :   if (GET_CODE (x21) != CONST_INT)
   16471              :     return -1;
   16472              :   x22 = XVECEXP (x3, 0, 50);
   16473              :   if (GET_CODE (x22) != CONST_INT)
   16474              :     return -1;
   16475              :   x23 = XVECEXP (x3, 0, 51);
   16476              :   if (GET_CODE (x23) != CONST_INT)
   16477              :     return -1;
   16478              :   x24 = XVECEXP (x3, 0, 52);
   16479              :   if (GET_CODE (x24) != CONST_INT)
   16480              :     return -1;
   16481              :   x25 = XVECEXP (x3, 0, 53);
   16482              :   if (GET_CODE (x25) != CONST_INT)
   16483              :     return -1;
   16484              :   x26 = XVECEXP (x3, 0, 54);
   16485              :   if (GET_CODE (x26) != CONST_INT)
   16486              :     return -1;
   16487              :   x27 = XVECEXP (x3, 0, 55);
   16488              :   if (GET_CODE (x27) != CONST_INT)
   16489              :     return -1;
   16490              :   x28 = XVECEXP (x3, 0, 56);
   16491              :   if (GET_CODE (x28) != CONST_INT)
   16492              :     return -1;
   16493              :   x29 = XVECEXP (x3, 0, 57);
   16494              :   if (GET_CODE (x29) != CONST_INT)
   16495              :     return -1;
   16496              :   x30 = XVECEXP (x3, 0, 58);
   16497              :   if (GET_CODE (x30) != CONST_INT)
   16498              :     return -1;
   16499              :   x31 = XVECEXP (x3, 0, 59);
   16500              :   if (GET_CODE (x31) != CONST_INT)
   16501              :     return -1;
   16502              :   x32 = XVECEXP (x3, 0, 60);
   16503              :   if (GET_CODE (x32) != CONST_INT)
   16504              :     return -1;
   16505              :   x33 = XVECEXP (x3, 0, 61);
   16506              :   if (GET_CODE (x33) != CONST_INT)
   16507              :     return -1;
   16508              :   x34 = XVECEXP (x3, 0, 62);
   16509              :   if (GET_CODE (x34) != CONST_INT)
   16510              :     return -1;
   16511              :   x35 = XVECEXP (x3, 0, 63);
   16512              :   if (GET_CODE (x35) != CONST_INT
   16513              :       || pattern1631 (x2, 
   16514              : E_V64QImode, 
   16515              : E_V128QImode) != 0)
   16516              :     return -1;
   16517              :   x36 = XVECEXP (x3, 0, 0);
   16518              :   switch (XWINT (x36, 0))
   16519              :     {
   16520              :     case 8L:
   16521              :       x37 = XVECEXP (x3, 0, 1);
   16522              :       if (XWINT (x37, 0) != 72L)
   16523              :         return -1;
   16524              :       x38 = XVECEXP (x3, 0, 2);
   16525              :       if (XWINT (x38, 0) != 9L)
   16526              :         return -1;
   16527              :       x39 = XVECEXP (x3, 0, 3);
   16528              :       if (XWINT (x39, 0) != 73L)
   16529              :         return -1;
   16530              :       x40 = XVECEXP (x3, 0, 4);
   16531              :       if (XWINT (x40, 0) != 10L)
   16532              :         return -1;
   16533              :       x41 = XVECEXP (x3, 0, 5);
   16534              :       if (XWINT (x41, 0) != 74L)
   16535              :         return -1;
   16536              :       x42 = XVECEXP (x3, 0, 6);
   16537              :       if (XWINT (x42, 0) != 11L)
   16538              :         return -1;
   16539              :       x43 = XVECEXP (x3, 0, 7);
   16540              :       if (XWINT (x43, 0) != 75L)
   16541              :         return -1;
   16542              :       x44 = XVECEXP (x3, 0, 8);
   16543              :       if (XWINT (x44, 0) != 12L)
   16544              :         return -1;
   16545              :       x45 = XVECEXP (x3, 0, 9);
   16546              :       if (XWINT (x45, 0) != 76L)
   16547              :         return -1;
   16548              :       x46 = XVECEXP (x3, 0, 10);
   16549              :       if (XWINT (x46, 0) != 13L)
   16550              :         return -1;
   16551              :       x47 = XVECEXP (x3, 0, 11);
   16552              :       if (XWINT (x47, 0) != 77L)
   16553              :         return -1;
   16554              :       x48 = XVECEXP (x3, 0, 12);
   16555              :       if (XWINT (x48, 0) != 14L)
   16556              :         return -1;
   16557              :       x49 = XVECEXP (x3, 0, 13);
   16558              :       if (XWINT (x49, 0) != 78L)
   16559              :         return -1;
   16560              :       x50 = XVECEXP (x3, 0, 14);
   16561              :       if (XWINT (x50, 0) != 15L)
   16562              :         return -1;
   16563              :       x51 = XVECEXP (x3, 0, 15);
   16564              :       if (XWINT (x51, 0) != 79L)
   16565              :         return -1;
   16566              :       x52 = XVECEXP (x3, 0, 16);
   16567              :       if (XWINT (x52, 0) != 24L)
   16568              :         return -1;
   16569              :       x53 = XVECEXP (x3, 0, 17);
   16570              :       if (XWINT (x53, 0) != 88L)
   16571              :         return -1;
   16572              :       x54 = XVECEXP (x3, 0, 18);
   16573              :       if (XWINT (x54, 0) != 25L)
   16574              :         return -1;
   16575              :       x55 = XVECEXP (x3, 0, 19);
   16576              :       if (XWINT (x55, 0) != 89L)
   16577              :         return -1;
   16578              :       x56 = XVECEXP (x3, 0, 20);
   16579              :       if (XWINT (x56, 0) != 26L)
   16580              :         return -1;
   16581              :       x57 = XVECEXP (x3, 0, 21);
   16582              :       if (XWINT (x57, 0) != 90L)
   16583              :         return -1;
   16584              :       x58 = XVECEXP (x3, 0, 22);
   16585              :       if (XWINT (x58, 0) != 27L)
   16586              :         return -1;
   16587              :       x59 = XVECEXP (x3, 0, 23);
   16588              :       if (XWINT (x59, 0) != 91L)
   16589              :         return -1;
   16590              :       x60 = XVECEXP (x3, 0, 24);
   16591              :       if (XWINT (x60, 0) != 28L)
   16592              :         return -1;
   16593              :       x61 = XVECEXP (x3, 0, 25);
   16594              :       if (XWINT (x61, 0) != 92L)
   16595              :         return -1;
   16596              :       x62 = XVECEXP (x3, 0, 26);
   16597              :       if (XWINT (x62, 0) != 29L)
   16598              :         return -1;
   16599              :       x63 = XVECEXP (x3, 0, 27);
   16600              :       if (XWINT (x63, 0) != 93L)
   16601              :         return -1;
   16602              :       x64 = XVECEXP (x3, 0, 28);
   16603              :       if (XWINT (x64, 0) != 30L)
   16604              :         return -1;
   16605              :       x65 = XVECEXP (x3, 0, 29);
   16606              :       if (XWINT (x65, 0) != 94L)
   16607              :         return -1;
   16608              :       x66 = XVECEXP (x3, 0, 30);
   16609              :       if (XWINT (x66, 0) != 31L)
   16610              :         return -1;
   16611              :       x67 = XVECEXP (x3, 0, 31);
   16612              :       if (XWINT (x67, 0) != 95L
   16613              :           || XWINT (x4, 0) != 40L
   16614              :           || XWINT (x5, 0) != 104L
   16615              :           || XWINT (x6, 0) != 41L
   16616              :           || XWINT (x7, 0) != 105L
   16617              :           || XWINT (x8, 0) != 42L
   16618              :           || XWINT (x9, 0) != 106L
   16619              :           || XWINT (x10, 0) != 43L
   16620              :           || XWINT (x11, 0) != 107L
   16621              :           || XWINT (x12, 0) != 44L
   16622              :           || XWINT (x13, 0) != 108L
   16623              :           || XWINT (x14, 0) != 45L
   16624              :           || XWINT (x15, 0) != 109L
   16625              :           || XWINT (x16, 0) != 46L
   16626              :           || XWINT (x17, 0) != 110L
   16627              :           || XWINT (x18, 0) != 47L
   16628              :           || XWINT (x19, 0) != 111L
   16629              :           || XWINT (x20, 0) != 56L
   16630              :           || XWINT (x21, 0) != 120L
   16631              :           || XWINT (x22, 0) != 57L
   16632              :           || XWINT (x23, 0) != 121L
   16633              :           || XWINT (x24, 0) != 58L
   16634              :           || XWINT (x25, 0) != 122L
   16635              :           || XWINT (x26, 0) != 59L
   16636              :           || XWINT (x27, 0) != 123L
   16637              :           || XWINT (x28, 0) != 60L
   16638              :           || XWINT (x29, 0) != 124L
   16639              :           || XWINT (x30, 0) != 61L
   16640              :           || XWINT (x31, 0) != 125L
   16641              :           || XWINT (x32, 0) != 62L
   16642              :           || XWINT (x33, 0) != 126L
   16643              :           || XWINT (x34, 0) != 63L
   16644              :           || XWINT (x35, 0) != 127L
   16645              :           || !
   16646              : #line 19762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16647              : (TARGET_AVX512BW))
   16648              :         return -1;
   16649              :       return 8363; /* avx512bw_interleave_highv64qi */
   16650              : 
   16651              :     case 0L:
   16652              :       x37 = XVECEXP (x3, 0, 1);
   16653              :       if (XWINT (x37, 0) != 64L)
   16654              :         return -1;
   16655              :       x38 = XVECEXP (x3, 0, 2);
   16656              :       if (XWINT (x38, 0) != 1L)
   16657              :         return -1;
   16658              :       x39 = XVECEXP (x3, 0, 3);
   16659              :       if (XWINT (x39, 0) != 65L)
   16660              :         return -1;
   16661              :       x40 = XVECEXP (x3, 0, 4);
   16662              :       if (XWINT (x40, 0) != 2L)
   16663              :         return -1;
   16664              :       x41 = XVECEXP (x3, 0, 5);
   16665              :       if (XWINT (x41, 0) != 66L)
   16666              :         return -1;
   16667              :       x42 = XVECEXP (x3, 0, 6);
   16668              :       if (XWINT (x42, 0) != 3L)
   16669              :         return -1;
   16670              :       x43 = XVECEXP (x3, 0, 7);
   16671              :       if (XWINT (x43, 0) != 67L)
   16672              :         return -1;
   16673              :       x44 = XVECEXP (x3, 0, 8);
   16674              :       if (XWINT (x44, 0) != 4L)
   16675              :         return -1;
   16676              :       x45 = XVECEXP (x3, 0, 9);
   16677              :       if (XWINT (x45, 0) != 68L)
   16678              :         return -1;
   16679              :       x46 = XVECEXP (x3, 0, 10);
   16680              :       if (XWINT (x46, 0) != 5L)
   16681              :         return -1;
   16682              :       x47 = XVECEXP (x3, 0, 11);
   16683              :       if (XWINT (x47, 0) != 69L)
   16684              :         return -1;
   16685              :       x48 = XVECEXP (x3, 0, 12);
   16686              :       if (XWINT (x48, 0) != 6L)
   16687              :         return -1;
   16688              :       x49 = XVECEXP (x3, 0, 13);
   16689              :       if (XWINT (x49, 0) != 70L)
   16690              :         return -1;
   16691              :       x50 = XVECEXP (x3, 0, 14);
   16692              :       if (XWINT (x50, 0) != 7L)
   16693              :         return -1;
   16694              :       x51 = XVECEXP (x3, 0, 15);
   16695              :       if (XWINT (x51, 0) != 71L)
   16696              :         return -1;
   16697              :       x52 = XVECEXP (x3, 0, 16);
   16698              :       if (XWINT (x52, 0) != 16L)
   16699              :         return -1;
   16700              :       x53 = XVECEXP (x3, 0, 17);
   16701              :       if (XWINT (x53, 0) != 80L)
   16702              :         return -1;
   16703              :       x54 = XVECEXP (x3, 0, 18);
   16704              :       if (XWINT (x54, 0) != 17L)
   16705              :         return -1;
   16706              :       x55 = XVECEXP (x3, 0, 19);
   16707              :       if (XWINT (x55, 0) != 81L)
   16708              :         return -1;
   16709              :       x56 = XVECEXP (x3, 0, 20);
   16710              :       if (XWINT (x56, 0) != 18L)
   16711              :         return -1;
   16712              :       x57 = XVECEXP (x3, 0, 21);
   16713              :       if (XWINT (x57, 0) != 82L)
   16714              :         return -1;
   16715              :       x58 = XVECEXP (x3, 0, 22);
   16716              :       if (XWINT (x58, 0) != 19L)
   16717              :         return -1;
   16718              :       x59 = XVECEXP (x3, 0, 23);
   16719              :       if (XWINT (x59, 0) != 83L)
   16720              :         return -1;
   16721              :       x60 = XVECEXP (x3, 0, 24);
   16722              :       if (XWINT (x60, 0) != 20L)
   16723              :         return -1;
   16724              :       x61 = XVECEXP (x3, 0, 25);
   16725              :       if (XWINT (x61, 0) != 84L)
   16726              :         return -1;
   16727              :       x62 = XVECEXP (x3, 0, 26);
   16728              :       if (XWINT (x62, 0) != 21L)
   16729              :         return -1;
   16730              :       x63 = XVECEXP (x3, 0, 27);
   16731              :       if (XWINT (x63, 0) != 85L)
   16732              :         return -1;
   16733              :       x64 = XVECEXP (x3, 0, 28);
   16734              :       if (XWINT (x64, 0) != 22L)
   16735              :         return -1;
   16736              :       x65 = XVECEXP (x3, 0, 29);
   16737              :       if (XWINT (x65, 0) != 86L)
   16738              :         return -1;
   16739              :       x66 = XVECEXP (x3, 0, 30);
   16740              :       if (XWINT (x66, 0) != 23L)
   16741              :         return -1;
   16742              :       x67 = XVECEXP (x3, 0, 31);
   16743              :       if (XWINT (x67, 0) != 87L
   16744              :           || XWINT (x4, 0) != 32L
   16745              :           || XWINT (x5, 0) != 96L
   16746              :           || XWINT (x6, 0) != 33L
   16747              :           || XWINT (x7, 0) != 97L
   16748              :           || XWINT (x8, 0) != 34L
   16749              :           || XWINT (x9, 0) != 98L
   16750              :           || XWINT (x10, 0) != 35L
   16751              :           || XWINT (x11, 0) != 99L
   16752              :           || XWINT (x12, 0) != 36L
   16753              :           || XWINT (x13, 0) != 100L
   16754              :           || XWINT (x14, 0) != 37L
   16755              :           || XWINT (x15, 0) != 101L
   16756              :           || XWINT (x16, 0) != 38L
   16757              :           || XWINT (x17, 0) != 102L
   16758              :           || XWINT (x18, 0) != 39L
   16759              :           || XWINT (x19, 0) != 103L
   16760              :           || XWINT (x20, 0) != 48L
   16761              :           || XWINT (x21, 0) != 112L
   16762              :           || XWINT (x22, 0) != 49L
   16763              :           || XWINT (x23, 0) != 113L
   16764              :           || XWINT (x24, 0) != 50L
   16765              :           || XWINT (x25, 0) != 114L
   16766              :           || XWINT (x26, 0) != 51L
   16767              :           || XWINT (x27, 0) != 115L
   16768              :           || XWINT (x28, 0) != 52L
   16769              :           || XWINT (x29, 0) != 116L
   16770              :           || XWINT (x30, 0) != 53L
   16771              :           || XWINT (x31, 0) != 117L
   16772              :           || XWINT (x32, 0) != 54L
   16773              :           || XWINT (x33, 0) != 118L
   16774              :           || XWINT (x34, 0) != 55L
   16775              :           || XWINT (x35, 0) != 119L
   16776              :           || !
   16777              : #line 19858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16778              : (TARGET_AVX512BW))
   16779              :         return -1;
   16780              :       return 8369; /* avx512bw_interleave_lowv64qi */
   16781              : 
   16782              :     default:
   16783              :       return -1;
   16784              :     }
   16785              : }
   16786              : 
   16787              :  int
   16788              : recog_300 (rtx x1 ATTRIBUTE_UNUSED,
   16789              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16790              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16791              : {
   16792              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16793              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   16794              :   rtx x10, x11;
   16795              :   int res ATTRIBUTE_UNUSED;
   16796              :   x2 = XEXP (x1, 1);
   16797              :   x3 = XEXP (x2, 1);
   16798              :   x4 = XVECEXP (x3, 0, 0);
   16799              :   if (GET_CODE (x4) != CONST_INT)
   16800              :     return -1;
   16801              :   x5 = XVECEXP (x3, 0, 1);
   16802              :   if (GET_CODE (x5) == CONST_INT)
   16803              :     {
   16804              :       res = recog_297 (x1, insn, pnum_clobbers);
   16805              :       if (res >= 0)
   16806              :         return res;
   16807              :     }
   16808              :   operands[2] = x4;
   16809              :   res = recog_299 (x1, insn, pnum_clobbers);
   16810              :   if (res >= 0)
   16811              :     return res;
   16812              :   if (XWINT (x4, 0) != 0L
   16813              :       || x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   16814              :     return -1;
   16815              :   x6 = XVECEXP (x3, 0, 2);
   16816              :   if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
   16817              :     return -1;
   16818              :   x7 = XVECEXP (x3, 0, 3);
   16819              :   if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
   16820              :       || pattern847 (x3, 
   16821              : 11, 
   16822              : 10, 
   16823              : 9, 
   16824              : 8) != 0
   16825              :       || !register_operand (operands[0], E_V16HImode)
   16826              :       || GET_MODE (x2) != E_V16HImode
   16827              :       || !nonimmediate_operand (operands[1], E_V16HImode)
   16828              :       || pattern1496 (x3) != 0)
   16829              :     return -1;
   16830              :   x8 = XVECEXP (x3, 0, 12);
   16831              :   operands[6] = x8;
   16832              :   if (!const_12_to_15_operand (operands[6], E_VOIDmode))
   16833              :     return -1;
   16834              :   x9 = XVECEXP (x3, 0, 13);
   16835              :   operands[7] = x9;
   16836              :   if (!const_12_to_15_operand (operands[7], E_VOIDmode))
   16837              :     return -1;
   16838              :   x10 = XVECEXP (x3, 0, 14);
   16839              :   operands[8] = x10;
   16840              :   if (!const_12_to_15_operand (operands[8], E_VOIDmode))
   16841              :     return -1;
   16842              :   x11 = XVECEXP (x3, 0, 15);
   16843              :   operands[9] = x11;
   16844              :   if (!const_12_to_15_operand (operands[9], E_VOIDmode)
   16845              :       || !
   16846              : #line 21277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16847              : (TARGET_AVX2
   16848              :    && 1 && 1
   16849              :    && INTVAL (operands[2]) + 8 == INTVAL (operands[6])
   16850              :    && INTVAL (operands[3]) + 8 == INTVAL (operands[7])
   16851              :    && INTVAL (operands[4]) + 8 == INTVAL (operands[8])
   16852              :    && INTVAL (operands[5]) + 8 == INTVAL (operands[9])))
   16853              :     return -1;
   16854              :   return 8495; /* avx2_pshufhw_1 */
   16855              : }
   16856              : 
   16857              :  int
   16858              : recog_306 (rtx x1 ATTRIBUTE_UNUSED,
   16859              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   16860              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   16861              : {
   16862              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   16863              :   rtx x2, x3, x4;
   16864              :   int res ATTRIBUTE_UNUSED;
   16865              :   x2 = XEXP (x1, 1);
   16866              :   x3 = XEXP (x2, 0);
   16867              :   x4 = XEXP (x3, 0);
   16868              :   switch (GET_CODE (x4))
   16869              :     {
   16870              :     case REG:
   16871              :     case SUBREG:
   16872              :     case MEM:
   16873              :     case NOT:
   16874              :       switch (pattern535 (x2))
   16875              :         {
   16876              :         case 0:
   16877              :           if (!(
   16878              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16879              : ((64 == 64 || TARGET_AVX512VL
   16880              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   16881              :    && ix86_pre_reload_split ()
   16882              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   16883              :                     STRIP_UNARY (operands[4]))
   16884              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   16885              :                        STRIP_UNARY (operands[4]))
   16886              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   16887              :                        STRIP_UNARY (operands[3]))
   16888              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   16889              :                        STRIP_UNARY (operands[3])))) && 
   16890              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16891              : (TARGET_AVX512F)))
   16892              :             return -1;
   16893              :           return 5555; /* *avx512bw_vpternlogv64qi_1 */
   16894              : 
   16895              :         case 1:
   16896              :           if (!(
   16897              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16898              : ((32 == 64 || TARGET_AVX512VL
   16899              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   16900              :    && ix86_pre_reload_split ()
   16901              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   16902              :                     STRIP_UNARY (operands[4]))
   16903              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   16904              :                        STRIP_UNARY (operands[4]))
   16905              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   16906              :                        STRIP_UNARY (operands[3]))
   16907              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   16908              :                        STRIP_UNARY (operands[3])))) && 
   16909              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16910              : (TARGET_AVX)))
   16911              :             return -1;
   16912              :           return 5582; /* *avx512vl_vpternlogv32qi_1 */
   16913              : 
   16914              :         case 2:
   16915              :           if (!
   16916              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16917              : ((16 == 64 || TARGET_AVX512VL
   16918              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   16919              :    && ix86_pre_reload_split ()
   16920              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   16921              :                     STRIP_UNARY (operands[4]))
   16922              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   16923              :                        STRIP_UNARY (operands[4]))
   16924              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   16925              :                        STRIP_UNARY (operands[3]))
   16926              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   16927              :                        STRIP_UNARY (operands[3])))))
   16928              :             return -1;
   16929              :           return 5609; /* *avx512vl_vpternlogv16qi_1 */
   16930              : 
   16931              :         case 3:
   16932              :           if (!(
   16933              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16934              : ((64 == 64 || TARGET_AVX512VL
   16935              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   16936              :    && ix86_pre_reload_split ()
   16937              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   16938              :                     STRIP_UNARY (operands[4]))
   16939              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   16940              :                        STRIP_UNARY (operands[4]))
   16941              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   16942              :                        STRIP_UNARY (operands[3]))
   16943              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   16944              :                        STRIP_UNARY (operands[3])))) && 
   16945              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16946              : (TARGET_AVX512F)))
   16947              :             return -1;
   16948              :           return 5636; /* *avx512bw_vpternlogv32hi_1 */
   16949              : 
   16950              :         case 4:
   16951              :           if (!(
   16952              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16953              : ((32 == 64 || TARGET_AVX512VL
   16954              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   16955              :    && ix86_pre_reload_split ()
   16956              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   16957              :                     STRIP_UNARY (operands[4]))
   16958              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   16959              :                        STRIP_UNARY (operands[4]))
   16960              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   16961              :                        STRIP_UNARY (operands[3]))
   16962              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   16963              :                        STRIP_UNARY (operands[3])))) && 
   16964              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16965              : (TARGET_AVX)))
   16966              :             return -1;
   16967              :           return 5663; /* *avx512vl_vpternlogv16hi_1 */
   16968              : 
   16969              :         case 5:
   16970              :           if (!
   16971              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16972              : ((16 == 64 || TARGET_AVX512VL
   16973              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   16974              :    && ix86_pre_reload_split ()
   16975              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   16976              :                     STRIP_UNARY (operands[4]))
   16977              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   16978              :                        STRIP_UNARY (operands[4]))
   16979              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   16980              :                        STRIP_UNARY (operands[3]))
   16981              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   16982              :                        STRIP_UNARY (operands[3])))))
   16983              :             return -1;
   16984              :           return 5690; /* *avx512vl_vpternlogv8hi_1 */
   16985              : 
   16986              :         case 6:
   16987              :           if (!(
   16988              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   16989              : ((64 == 64 || TARGET_AVX512VL
   16990              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   16991              :    && ix86_pre_reload_split ()
   16992              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   16993              :                     STRIP_UNARY (operands[4]))
   16994              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   16995              :                        STRIP_UNARY (operands[4]))
   16996              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   16997              :                        STRIP_UNARY (operands[3]))
   16998              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   16999              :                        STRIP_UNARY (operands[3])))) && 
   17000              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17001              : (TARGET_AVX512F)))
   17002              :             return -1;
   17003              :           return 5717; /* *avx512f_vpternlogv16si_1 */
   17004              : 
   17005              :         case 7:
   17006              :           if (!(
   17007              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17008              : ((32 == 64 || TARGET_AVX512VL
   17009              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17010              :    && ix86_pre_reload_split ()
   17011              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17012              :                     STRIP_UNARY (operands[4]))
   17013              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17014              :                        STRIP_UNARY (operands[4]))
   17015              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17016              :                        STRIP_UNARY (operands[3]))
   17017              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17018              :                        STRIP_UNARY (operands[3])))) && 
   17019              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17020              : (TARGET_AVX)))
   17021              :             return -1;
   17022              :           return 5744; /* *avx512vl_vpternlogv8si_1 */
   17023              : 
   17024              :         case 8:
   17025              :           if (!
   17026              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17027              : ((16 == 64 || TARGET_AVX512VL
   17028              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17029              :    && ix86_pre_reload_split ()
   17030              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17031              :                     STRIP_UNARY (operands[4]))
   17032              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17033              :                        STRIP_UNARY (operands[4]))
   17034              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17035              :                        STRIP_UNARY (operands[3]))
   17036              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17037              :                        STRIP_UNARY (operands[3])))))
   17038              :             return -1;
   17039              :           return 5771; /* *avx512vl_vpternlogv4si_1 */
   17040              : 
   17041              :         case 9:
   17042              :           if (!(
   17043              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17044              : ((64 == 64 || TARGET_AVX512VL
   17045              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17046              :    && ix86_pre_reload_split ()
   17047              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17048              :                     STRIP_UNARY (operands[4]))
   17049              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17050              :                        STRIP_UNARY (operands[4]))
   17051              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17052              :                        STRIP_UNARY (operands[3]))
   17053              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17054              :                        STRIP_UNARY (operands[3])))) && 
   17055              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17056              : (TARGET_AVX512F)))
   17057              :             return -1;
   17058              :           return 5798; /* *avx512f_vpternlogv8di_1 */
   17059              : 
   17060              :         case 10:
   17061              :           if (!(
   17062              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17063              : ((32 == 64 || TARGET_AVX512VL
   17064              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17065              :    && ix86_pre_reload_split ()
   17066              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17067              :                     STRIP_UNARY (operands[4]))
   17068              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17069              :                        STRIP_UNARY (operands[4]))
   17070              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17071              :                        STRIP_UNARY (operands[3]))
   17072              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17073              :                        STRIP_UNARY (operands[3])))) && 
   17074              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17075              : (TARGET_AVX)))
   17076              :             return -1;
   17077              :           return 5825; /* *avx512vl_vpternlogv4di_1 */
   17078              : 
   17079              :         case 11:
   17080              :           if (!
   17081              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17082              : ((16 == 64 || TARGET_AVX512VL
   17083              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17084              :    && ix86_pre_reload_split ()
   17085              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17086              :                     STRIP_UNARY (operands[4]))
   17087              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17088              :                        STRIP_UNARY (operands[4]))
   17089              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17090              :                        STRIP_UNARY (operands[3]))
   17091              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17092              :                        STRIP_UNARY (operands[3])))))
   17093              :             return -1;
   17094              :           return 5852; /* *avx512vl_vpternlogv2di_1 */
   17095              : 
   17096              :         case 12:
   17097              :           if (!(
   17098              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17099              : ((64 == 64 || TARGET_AVX512VL
   17100              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17101              :    && ix86_pre_reload_split ()
   17102              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17103              :                     STRIP_UNARY (operands[4]))
   17104              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17105              :                        STRIP_UNARY (operands[4]))
   17106              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17107              :                        STRIP_UNARY (operands[3]))
   17108              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17109              :                        STRIP_UNARY (operands[3])))) && 
   17110              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17111              : (TARGET_AVX512F)))
   17112              :             return -1;
   17113              :           return 5558; /* *avx512bw_vpternlogv64qi_1 */
   17114              : 
   17115              :         case 13:
   17116              :           if (!(
   17117              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17118              : ((32 == 64 || TARGET_AVX512VL
   17119              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17120              :    && ix86_pre_reload_split ()
   17121              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17122              :                     STRIP_UNARY (operands[4]))
   17123              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17124              :                        STRIP_UNARY (operands[4]))
   17125              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17126              :                        STRIP_UNARY (operands[3]))
   17127              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17128              :                        STRIP_UNARY (operands[3])))) && 
   17129              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17130              : (TARGET_AVX)))
   17131              :             return -1;
   17132              :           return 5585; /* *avx512vl_vpternlogv32qi_1 */
   17133              : 
   17134              :         case 14:
   17135              :           if (!
   17136              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17137              : ((16 == 64 || TARGET_AVX512VL
   17138              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17139              :    && ix86_pre_reload_split ()
   17140              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17141              :                     STRIP_UNARY (operands[4]))
   17142              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17143              :                        STRIP_UNARY (operands[4]))
   17144              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17145              :                        STRIP_UNARY (operands[3]))
   17146              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17147              :                        STRIP_UNARY (operands[3])))))
   17148              :             return -1;
   17149              :           return 5612; /* *avx512vl_vpternlogv16qi_1 */
   17150              : 
   17151              :         case 15:
   17152              :           if (!(
   17153              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17154              : ((64 == 64 || TARGET_AVX512VL
   17155              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17156              :    && ix86_pre_reload_split ()
   17157              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17158              :                     STRIP_UNARY (operands[4]))
   17159              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17160              :                        STRIP_UNARY (operands[4]))
   17161              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17162              :                        STRIP_UNARY (operands[3]))
   17163              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17164              :                        STRIP_UNARY (operands[3])))) && 
   17165              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17166              : (TARGET_AVX512F)))
   17167              :             return -1;
   17168              :           return 5639; /* *avx512bw_vpternlogv32hi_1 */
   17169              : 
   17170              :         case 16:
   17171              :           if (!(
   17172              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17173              : ((32 == 64 || TARGET_AVX512VL
   17174              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17175              :    && ix86_pre_reload_split ()
   17176              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17177              :                     STRIP_UNARY (operands[4]))
   17178              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17179              :                        STRIP_UNARY (operands[4]))
   17180              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17181              :                        STRIP_UNARY (operands[3]))
   17182              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17183              :                        STRIP_UNARY (operands[3])))) && 
   17184              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17185              : (TARGET_AVX)))
   17186              :             return -1;
   17187              :           return 5666; /* *avx512vl_vpternlogv16hi_1 */
   17188              : 
   17189              :         case 17:
   17190              :           if (!
   17191              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17192              : ((16 == 64 || TARGET_AVX512VL
   17193              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17194              :    && ix86_pre_reload_split ()
   17195              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17196              :                     STRIP_UNARY (operands[4]))
   17197              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17198              :                        STRIP_UNARY (operands[4]))
   17199              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17200              :                        STRIP_UNARY (operands[3]))
   17201              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17202              :                        STRIP_UNARY (operands[3])))))
   17203              :             return -1;
   17204              :           return 5693; /* *avx512vl_vpternlogv8hi_1 */
   17205              : 
   17206              :         case 18:
   17207              :           if (!(
   17208              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17209              : ((64 == 64 || TARGET_AVX512VL
   17210              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17211              :    && ix86_pre_reload_split ()
   17212              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17213              :                     STRIP_UNARY (operands[4]))
   17214              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17215              :                        STRIP_UNARY (operands[4]))
   17216              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17217              :                        STRIP_UNARY (operands[3]))
   17218              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17219              :                        STRIP_UNARY (operands[3])))) && 
   17220              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17221              : (TARGET_AVX512F)))
   17222              :             return -1;
   17223              :           return 5720; /* *avx512f_vpternlogv16si_1 */
   17224              : 
   17225              :         case 19:
   17226              :           if (!(
   17227              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17228              : ((32 == 64 || TARGET_AVX512VL
   17229              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17230              :    && ix86_pre_reload_split ()
   17231              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17232              :                     STRIP_UNARY (operands[4]))
   17233              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17234              :                        STRIP_UNARY (operands[4]))
   17235              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17236              :                        STRIP_UNARY (operands[3]))
   17237              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17238              :                        STRIP_UNARY (operands[3])))) && 
   17239              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17240              : (TARGET_AVX)))
   17241              :             return -1;
   17242              :           return 5747; /* *avx512vl_vpternlogv8si_1 */
   17243              : 
   17244              :         case 20:
   17245              :           if (!
   17246              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17247              : ((16 == 64 || TARGET_AVX512VL
   17248              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17249              :    && ix86_pre_reload_split ()
   17250              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17251              :                     STRIP_UNARY (operands[4]))
   17252              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17253              :                        STRIP_UNARY (operands[4]))
   17254              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17255              :                        STRIP_UNARY (operands[3]))
   17256              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17257              :                        STRIP_UNARY (operands[3])))))
   17258              :             return -1;
   17259              :           return 5774; /* *avx512vl_vpternlogv4si_1 */
   17260              : 
   17261              :         case 21:
   17262              :           if (!(
   17263              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17264              : ((64 == 64 || TARGET_AVX512VL
   17265              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17266              :    && ix86_pre_reload_split ()
   17267              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17268              :                     STRIP_UNARY (operands[4]))
   17269              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17270              :                        STRIP_UNARY (operands[4]))
   17271              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17272              :                        STRIP_UNARY (operands[3]))
   17273              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17274              :                        STRIP_UNARY (operands[3])))) && 
   17275              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17276              : (TARGET_AVX512F)))
   17277              :             return -1;
   17278              :           return 5801; /* *avx512f_vpternlogv8di_1 */
   17279              : 
   17280              :         case 22:
   17281              :           if (!(
   17282              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17283              : ((32 == 64 || TARGET_AVX512VL
   17284              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17285              :    && ix86_pre_reload_split ()
   17286              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17287              :                     STRIP_UNARY (operands[4]))
   17288              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17289              :                        STRIP_UNARY (operands[4]))
   17290              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17291              :                        STRIP_UNARY (operands[3]))
   17292              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17293              :                        STRIP_UNARY (operands[3])))) && 
   17294              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17295              : (TARGET_AVX)))
   17296              :             return -1;
   17297              :           return 5828; /* *avx512vl_vpternlogv4di_1 */
   17298              : 
   17299              :         case 23:
   17300              :           if (!
   17301              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17302              : ((16 == 64 || TARGET_AVX512VL
   17303              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17304              :    && ix86_pre_reload_split ()
   17305              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17306              :                     STRIP_UNARY (operands[4]))
   17307              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17308              :                        STRIP_UNARY (operands[4]))
   17309              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17310              :                        STRIP_UNARY (operands[3]))
   17311              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17312              :                        STRIP_UNARY (operands[3])))))
   17313              :             return -1;
   17314              :           return 5855; /* *avx512vl_vpternlogv2di_1 */
   17315              : 
   17316              :         case 24:
   17317              :           if (!(
   17318              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17319              : ((64 == 64 || TARGET_AVX512VL
   17320              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17321              :    && ix86_pre_reload_split ()
   17322              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17323              :                     STRIP_UNARY (operands[4]))
   17324              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17325              :                        STRIP_UNARY (operands[4]))
   17326              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17327              :                        STRIP_UNARY (operands[3]))
   17328              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17329              :                        STRIP_UNARY (operands[3])))) && 
   17330              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17331              : (TARGET_AVX512F)))
   17332              :             return -1;
   17333              :           return 5561; /* *avx512bw_vpternlogv64qi_1 */
   17334              : 
   17335              :         case 25:
   17336              :           if (!(
   17337              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17338              : ((32 == 64 || TARGET_AVX512VL
   17339              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17340              :    && ix86_pre_reload_split ()
   17341              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17342              :                     STRIP_UNARY (operands[4]))
   17343              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17344              :                        STRIP_UNARY (operands[4]))
   17345              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17346              :                        STRIP_UNARY (operands[3]))
   17347              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17348              :                        STRIP_UNARY (operands[3])))) && 
   17349              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17350              : (TARGET_AVX)))
   17351              :             return -1;
   17352              :           return 5588; /* *avx512vl_vpternlogv32qi_1 */
   17353              : 
   17354              :         case 26:
   17355              :           if (!
   17356              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17357              : ((16 == 64 || TARGET_AVX512VL
   17358              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17359              :    && ix86_pre_reload_split ()
   17360              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17361              :                     STRIP_UNARY (operands[4]))
   17362              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17363              :                        STRIP_UNARY (operands[4]))
   17364              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17365              :                        STRIP_UNARY (operands[3]))
   17366              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17367              :                        STRIP_UNARY (operands[3])))))
   17368              :             return -1;
   17369              :           return 5615; /* *avx512vl_vpternlogv16qi_1 */
   17370              : 
   17371              :         case 27:
   17372              :           if (!(
   17373              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17374              : ((64 == 64 || TARGET_AVX512VL
   17375              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17376              :    && ix86_pre_reload_split ()
   17377              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17378              :                     STRIP_UNARY (operands[4]))
   17379              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17380              :                        STRIP_UNARY (operands[4]))
   17381              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17382              :                        STRIP_UNARY (operands[3]))
   17383              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17384              :                        STRIP_UNARY (operands[3])))) && 
   17385              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17386              : (TARGET_AVX512F)))
   17387              :             return -1;
   17388              :           return 5642; /* *avx512bw_vpternlogv32hi_1 */
   17389              : 
   17390              :         case 28:
   17391              :           if (!(
   17392              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17393              : ((32 == 64 || TARGET_AVX512VL
   17394              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17395              :    && ix86_pre_reload_split ()
   17396              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17397              :                     STRIP_UNARY (operands[4]))
   17398              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17399              :                        STRIP_UNARY (operands[4]))
   17400              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17401              :                        STRIP_UNARY (operands[3]))
   17402              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17403              :                        STRIP_UNARY (operands[3])))) && 
   17404              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17405              : (TARGET_AVX)))
   17406              :             return -1;
   17407              :           return 5669; /* *avx512vl_vpternlogv16hi_1 */
   17408              : 
   17409              :         case 29:
   17410              :           if (!
   17411              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17412              : ((16 == 64 || TARGET_AVX512VL
   17413              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17414              :    && ix86_pre_reload_split ()
   17415              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17416              :                     STRIP_UNARY (operands[4]))
   17417              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17418              :                        STRIP_UNARY (operands[4]))
   17419              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17420              :                        STRIP_UNARY (operands[3]))
   17421              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17422              :                        STRIP_UNARY (operands[3])))))
   17423              :             return -1;
   17424              :           return 5696; /* *avx512vl_vpternlogv8hi_1 */
   17425              : 
   17426              :         case 30:
   17427              :           if (!(
   17428              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17429              : ((64 == 64 || TARGET_AVX512VL
   17430              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17431              :    && ix86_pre_reload_split ()
   17432              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17433              :                     STRIP_UNARY (operands[4]))
   17434              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17435              :                        STRIP_UNARY (operands[4]))
   17436              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17437              :                        STRIP_UNARY (operands[3]))
   17438              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17439              :                        STRIP_UNARY (operands[3])))) && 
   17440              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17441              : (TARGET_AVX512F)))
   17442              :             return -1;
   17443              :           return 5723; /* *avx512f_vpternlogv16si_1 */
   17444              : 
   17445              :         case 31:
   17446              :           if (!(
   17447              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17448              : ((32 == 64 || TARGET_AVX512VL
   17449              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17450              :    && ix86_pre_reload_split ()
   17451              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17452              :                     STRIP_UNARY (operands[4]))
   17453              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17454              :                        STRIP_UNARY (operands[4]))
   17455              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17456              :                        STRIP_UNARY (operands[3]))
   17457              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17458              :                        STRIP_UNARY (operands[3])))) && 
   17459              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17460              : (TARGET_AVX)))
   17461              :             return -1;
   17462              :           return 5750; /* *avx512vl_vpternlogv8si_1 */
   17463              : 
   17464              :         case 32:
   17465              :           if (!
   17466              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17467              : ((16 == 64 || TARGET_AVX512VL
   17468              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17469              :    && ix86_pre_reload_split ()
   17470              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17471              :                     STRIP_UNARY (operands[4]))
   17472              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17473              :                        STRIP_UNARY (operands[4]))
   17474              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17475              :                        STRIP_UNARY (operands[3]))
   17476              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17477              :                        STRIP_UNARY (operands[3])))))
   17478              :             return -1;
   17479              :           return 5777; /* *avx512vl_vpternlogv4si_1 */
   17480              : 
   17481              :         case 33:
   17482              :           if (!(
   17483              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17484              : ((64 == 64 || TARGET_AVX512VL
   17485              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17486              :    && ix86_pre_reload_split ()
   17487              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17488              :                     STRIP_UNARY (operands[4]))
   17489              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17490              :                        STRIP_UNARY (operands[4]))
   17491              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17492              :                        STRIP_UNARY (operands[3]))
   17493              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17494              :                        STRIP_UNARY (operands[3])))) && 
   17495              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17496              : (TARGET_AVX512F)))
   17497              :             return -1;
   17498              :           return 5804; /* *avx512f_vpternlogv8di_1 */
   17499              : 
   17500              :         case 34:
   17501              :           if (!(
   17502              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17503              : ((32 == 64 || TARGET_AVX512VL
   17504              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17505              :    && ix86_pre_reload_split ()
   17506              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17507              :                     STRIP_UNARY (operands[4]))
   17508              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17509              :                        STRIP_UNARY (operands[4]))
   17510              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17511              :                        STRIP_UNARY (operands[3]))
   17512              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17513              :                        STRIP_UNARY (operands[3])))) && 
   17514              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17515              : (TARGET_AVX)))
   17516              :             return -1;
   17517              :           return 5831; /* *avx512vl_vpternlogv4di_1 */
   17518              : 
   17519              :         case 35:
   17520              :           if (!
   17521              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17522              : ((16 == 64 || TARGET_AVX512VL
   17523              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17524              :    && ix86_pre_reload_split ()
   17525              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17526              :                     STRIP_UNARY (operands[4]))
   17527              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17528              :                        STRIP_UNARY (operands[4]))
   17529              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17530              :                        STRIP_UNARY (operands[3]))
   17531              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17532              :                        STRIP_UNARY (operands[3])))))
   17533              :             return -1;
   17534              :           return 5858; /* *avx512vl_vpternlogv2di_1 */
   17535              : 
   17536              :         case 36:
   17537              :           if (!(
   17538              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17539              : ((64 == 64 || TARGET_AVX512VL
   17540              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17541              :    && ix86_pre_reload_split ()) && 
   17542              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17543              : (TARGET_AVX512F)))
   17544              :             return -1;
   17545              :           return 6839; /* *avx512bw_vpternlogv64qi_3 */
   17546              : 
   17547              :         case 37:
   17548              :           if (!(
   17549              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17550              : ((32 == 64 || TARGET_AVX512VL
   17551              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17552              :    && ix86_pre_reload_split ()) && 
   17553              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17554              : (TARGET_AVX)))
   17555              :             return -1;
   17556              :           return 6848; /* *avx512vl_vpternlogv32qi_3 */
   17557              : 
   17558              :         case 38:
   17559              :           if (!
   17560              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17561              : ((16 == 64 || TARGET_AVX512VL
   17562              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17563              :    && ix86_pre_reload_split ()))
   17564              :             return -1;
   17565              :           return 6857; /* *avx512vl_vpternlogv16qi_3 */
   17566              : 
   17567              :         case 39:
   17568              :           if (!(
   17569              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17570              : ((64 == 64 || TARGET_AVX512VL
   17571              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17572              :    && ix86_pre_reload_split ()) && 
   17573              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17574              : (TARGET_AVX512F)))
   17575              :             return -1;
   17576              :           return 6866; /* *avx512bw_vpternlogv32hi_3 */
   17577              : 
   17578              :         case 40:
   17579              :           if (!(
   17580              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17581              : ((32 == 64 || TARGET_AVX512VL
   17582              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17583              :    && ix86_pre_reload_split ()) && 
   17584              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17585              : (TARGET_AVX)))
   17586              :             return -1;
   17587              :           return 6875; /* *avx512vl_vpternlogv16hi_3 */
   17588              : 
   17589              :         case 41:
   17590              :           if (!
   17591              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17592              : ((16 == 64 || TARGET_AVX512VL
   17593              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17594              :    && ix86_pre_reload_split ()))
   17595              :             return -1;
   17596              :           return 6884; /* *avx512vl_vpternlogv8hi_3 */
   17597              : 
   17598              :         case 42:
   17599              :           if (!(
   17600              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17601              : ((64 == 64 || TARGET_AVX512VL
   17602              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17603              :    && ix86_pre_reload_split ()) && 
   17604              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17605              : (TARGET_AVX512F)))
   17606              :             return -1;
   17607              :           return 6893; /* *avx512f_vpternlogv16si_3 */
   17608              : 
   17609              :         case 43:
   17610              :           if (!(
   17611              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17612              : ((32 == 64 || TARGET_AVX512VL
   17613              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17614              :    && ix86_pre_reload_split ()) && 
   17615              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17616              : (TARGET_AVX)))
   17617              :             return -1;
   17618              :           return 6902; /* *avx512vl_vpternlogv8si_3 */
   17619              : 
   17620              :         case 44:
   17621              :           if (!
   17622              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17623              : ((16 == 64 || TARGET_AVX512VL
   17624              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17625              :    && ix86_pre_reload_split ()))
   17626              :             return -1;
   17627              :           return 6911; /* *avx512vl_vpternlogv4si_3 */
   17628              : 
   17629              :         case 45:
   17630              :           if (!(
   17631              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17632              : ((64 == 64 || TARGET_AVX512VL
   17633              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17634              :    && ix86_pre_reload_split ()) && 
   17635              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17636              : (TARGET_AVX512F)))
   17637              :             return -1;
   17638              :           return 6920; /* *avx512f_vpternlogv8di_3 */
   17639              : 
   17640              :         case 46:
   17641              :           if (!(
   17642              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17643              : ((32 == 64 || TARGET_AVX512VL
   17644              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17645              :    && ix86_pre_reload_split ()) && 
   17646              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17647              : (TARGET_AVX)))
   17648              :             return -1;
   17649              :           return 6929; /* *avx512vl_vpternlogv4di_3 */
   17650              : 
   17651              :         case 47:
   17652              :           if (!
   17653              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17654              : ((16 == 64 || TARGET_AVX512VL
   17655              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17656              :    && ix86_pre_reload_split ()))
   17657              :             return -1;
   17658              :           return 6938; /* *avx512vl_vpternlogv2di_3 */
   17659              : 
   17660              :         default:
   17661              :           return -1;
   17662              :         }
   17663              : 
   17664              :     case AND:
   17665              :       switch (pattern537 (x2))
   17666              :         {
   17667              :         case 0:
   17668              :           if (!(
   17669              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17670              : ((64 == 64 || TARGET_AVX512VL
   17671              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17672              :    && ix86_pre_reload_split ()
   17673              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17674              :                     STRIP_UNARY (operands[4]))
   17675              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17676              :                        STRIP_UNARY (operands[4]))
   17677              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17678              :                        STRIP_UNARY (operands[3]))
   17679              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17680              :                        STRIP_UNARY (operands[3])))) && 
   17681              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17682              : (TARGET_AVX512F)))
   17683              :             return -1;
   17684              :           return 6203; /* *avx512bw_vpternlogv64qi_2 */
   17685              : 
   17686              :         case 1:
   17687              :           if (!(
   17688              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17689              : ((32 == 64 || TARGET_AVX512VL
   17690              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17691              :    && ix86_pre_reload_split ()
   17692              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17693              :                     STRIP_UNARY (operands[4]))
   17694              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17695              :                        STRIP_UNARY (operands[4]))
   17696              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17697              :                        STRIP_UNARY (operands[3]))
   17698              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17699              :                        STRIP_UNARY (operands[3])))) && 
   17700              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17701              : (TARGET_AVX)))
   17702              :             return -1;
   17703              :           return 6230; /* *avx512vl_vpternlogv32qi_2 */
   17704              : 
   17705              :         case 2:
   17706              :           if (!
   17707              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17708              : ((16 == 64 || TARGET_AVX512VL
   17709              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17710              :    && ix86_pre_reload_split ()
   17711              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17712              :                     STRIP_UNARY (operands[4]))
   17713              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17714              :                        STRIP_UNARY (operands[4]))
   17715              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17716              :                        STRIP_UNARY (operands[3]))
   17717              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17718              :                        STRIP_UNARY (operands[3])))))
   17719              :             return -1;
   17720              :           return 6257; /* *avx512vl_vpternlogv16qi_2 */
   17721              : 
   17722              :         case 3:
   17723              :           if (!(
   17724              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17725              : ((64 == 64 || TARGET_AVX512VL
   17726              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17727              :    && ix86_pre_reload_split ()
   17728              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17729              :                     STRIP_UNARY (operands[4]))
   17730              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17731              :                        STRIP_UNARY (operands[4]))
   17732              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17733              :                        STRIP_UNARY (operands[3]))
   17734              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17735              :                        STRIP_UNARY (operands[3])))) && 
   17736              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17737              : (TARGET_AVX512F)))
   17738              :             return -1;
   17739              :           return 6284; /* *avx512bw_vpternlogv32hi_2 */
   17740              : 
   17741              :         case 4:
   17742              :           if (!(
   17743              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17744              : ((32 == 64 || TARGET_AVX512VL
   17745              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17746              :    && ix86_pre_reload_split ()
   17747              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17748              :                     STRIP_UNARY (operands[4]))
   17749              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17750              :                        STRIP_UNARY (operands[4]))
   17751              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17752              :                        STRIP_UNARY (operands[3]))
   17753              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17754              :                        STRIP_UNARY (operands[3])))) && 
   17755              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17756              : (TARGET_AVX)))
   17757              :             return -1;
   17758              :           return 6311; /* *avx512vl_vpternlogv16hi_2 */
   17759              : 
   17760              :         case 5:
   17761              :           if (!
   17762              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17763              : ((16 == 64 || TARGET_AVX512VL
   17764              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17765              :    && ix86_pre_reload_split ()
   17766              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17767              :                     STRIP_UNARY (operands[4]))
   17768              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17769              :                        STRIP_UNARY (operands[4]))
   17770              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17771              :                        STRIP_UNARY (operands[3]))
   17772              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17773              :                        STRIP_UNARY (operands[3])))))
   17774              :             return -1;
   17775              :           return 6338; /* *avx512vl_vpternlogv8hi_2 */
   17776              : 
   17777              :         case 6:
   17778              :           if (!(
   17779              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17780              : ((64 == 64 || TARGET_AVX512VL
   17781              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17782              :    && ix86_pre_reload_split ()
   17783              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17784              :                     STRIP_UNARY (operands[4]))
   17785              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17786              :                        STRIP_UNARY (operands[4]))
   17787              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17788              :                        STRIP_UNARY (operands[3]))
   17789              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17790              :                        STRIP_UNARY (operands[3])))) && 
   17791              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17792              : (TARGET_AVX512F)))
   17793              :             return -1;
   17794              :           return 6365; /* *avx512f_vpternlogv16si_2 */
   17795              : 
   17796              :         case 7:
   17797              :           if (!(
   17798              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17799              : ((32 == 64 || TARGET_AVX512VL
   17800              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17801              :    && ix86_pre_reload_split ()
   17802              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17803              :                     STRIP_UNARY (operands[4]))
   17804              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17805              :                        STRIP_UNARY (operands[4]))
   17806              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17807              :                        STRIP_UNARY (operands[3]))
   17808              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17809              :                        STRIP_UNARY (operands[3])))) && 
   17810              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17811              : (TARGET_AVX)))
   17812              :             return -1;
   17813              :           return 6392; /* *avx512vl_vpternlogv8si_2 */
   17814              : 
   17815              :         case 8:
   17816              :           if (!
   17817              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17818              : ((16 == 64 || TARGET_AVX512VL
   17819              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17820              :    && ix86_pre_reload_split ()
   17821              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17822              :                     STRIP_UNARY (operands[4]))
   17823              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17824              :                        STRIP_UNARY (operands[4]))
   17825              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17826              :                        STRIP_UNARY (operands[3]))
   17827              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17828              :                        STRIP_UNARY (operands[3])))))
   17829              :             return -1;
   17830              :           return 6419; /* *avx512vl_vpternlogv4si_2 */
   17831              : 
   17832              :         case 9:
   17833              :           if (!(
   17834              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17835              : ((64 == 64 || TARGET_AVX512VL
   17836              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17837              :    && ix86_pre_reload_split ()
   17838              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17839              :                     STRIP_UNARY (operands[4]))
   17840              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17841              :                        STRIP_UNARY (operands[4]))
   17842              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17843              :                        STRIP_UNARY (operands[3]))
   17844              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17845              :                        STRIP_UNARY (operands[3])))) && 
   17846              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17847              : (TARGET_AVX512F)))
   17848              :             return -1;
   17849              :           return 6446; /* *avx512f_vpternlogv8di_2 */
   17850              : 
   17851              :         case 10:
   17852              :           if (!(
   17853              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17854              : ((32 == 64 || TARGET_AVX512VL
   17855              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17856              :    && ix86_pre_reload_split ()
   17857              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17858              :                     STRIP_UNARY (operands[4]))
   17859              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17860              :                        STRIP_UNARY (operands[4]))
   17861              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17862              :                        STRIP_UNARY (operands[3]))
   17863              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17864              :                        STRIP_UNARY (operands[3])))) && 
   17865              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17866              : (TARGET_AVX)))
   17867              :             return -1;
   17868              :           return 6473; /* *avx512vl_vpternlogv4di_2 */
   17869              : 
   17870              :         case 11:
   17871              :           if (!
   17872              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17873              : ((16 == 64 || TARGET_AVX512VL
   17874              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17875              :    && ix86_pre_reload_split ()
   17876              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17877              :                     STRIP_UNARY (operands[4]))
   17878              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17879              :                        STRIP_UNARY (operands[4]))
   17880              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17881              :                        STRIP_UNARY (operands[3]))
   17882              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17883              :                        STRIP_UNARY (operands[3])))))
   17884              :             return -1;
   17885              :           return 6500; /* *avx512vl_vpternlogv2di_2 */
   17886              : 
   17887              :         default:
   17888              :           return -1;
   17889              :         }
   17890              : 
   17891              :     case IOR:
   17892              :       switch (pattern537 (x2))
   17893              :         {
   17894              :         case 0:
   17895              :           if (!(
   17896              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17897              : ((64 == 64 || TARGET_AVX512VL
   17898              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17899              :    && ix86_pre_reload_split ()
   17900              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17901              :                     STRIP_UNARY (operands[4]))
   17902              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17903              :                        STRIP_UNARY (operands[4]))
   17904              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17905              :                        STRIP_UNARY (operands[3]))
   17906              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17907              :                        STRIP_UNARY (operands[3])))) && 
   17908              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17909              : (TARGET_AVX512F)))
   17910              :             return -1;
   17911              :           return 6206; /* *avx512bw_vpternlogv64qi_2 */
   17912              : 
   17913              :         case 1:
   17914              :           if (!(
   17915              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17916              : ((32 == 64 || TARGET_AVX512VL
   17917              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17918              :    && ix86_pre_reload_split ()
   17919              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17920              :                     STRIP_UNARY (operands[4]))
   17921              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17922              :                        STRIP_UNARY (operands[4]))
   17923              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17924              :                        STRIP_UNARY (operands[3]))
   17925              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17926              :                        STRIP_UNARY (operands[3])))) && 
   17927              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17928              : (TARGET_AVX)))
   17929              :             return -1;
   17930              :           return 6233; /* *avx512vl_vpternlogv32qi_2 */
   17931              : 
   17932              :         case 2:
   17933              :           if (!
   17934              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17935              : ((16 == 64 || TARGET_AVX512VL
   17936              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17937              :    && ix86_pre_reload_split ()
   17938              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17939              :                     STRIP_UNARY (operands[4]))
   17940              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17941              :                        STRIP_UNARY (operands[4]))
   17942              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17943              :                        STRIP_UNARY (operands[3]))
   17944              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17945              :                        STRIP_UNARY (operands[3])))))
   17946              :             return -1;
   17947              :           return 6260; /* *avx512vl_vpternlogv16qi_2 */
   17948              : 
   17949              :         case 3:
   17950              :           if (!(
   17951              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17952              : ((64 == 64 || TARGET_AVX512VL
   17953              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17954              :    && ix86_pre_reload_split ()
   17955              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17956              :                     STRIP_UNARY (operands[4]))
   17957              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17958              :                        STRIP_UNARY (operands[4]))
   17959              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17960              :                        STRIP_UNARY (operands[3]))
   17961              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17962              :                        STRIP_UNARY (operands[3])))) && 
   17963              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17964              : (TARGET_AVX512F)))
   17965              :             return -1;
   17966              :           return 6287; /* *avx512bw_vpternlogv32hi_2 */
   17967              : 
   17968              :         case 4:
   17969              :           if (!(
   17970              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17971              : ((32 == 64 || TARGET_AVX512VL
   17972              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17973              :    && ix86_pre_reload_split ()
   17974              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17975              :                     STRIP_UNARY (operands[4]))
   17976              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17977              :                        STRIP_UNARY (operands[4]))
   17978              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17979              :                        STRIP_UNARY (operands[3]))
   17980              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17981              :                        STRIP_UNARY (operands[3])))) && 
   17982              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17983              : (TARGET_AVX)))
   17984              :             return -1;
   17985              :           return 6314; /* *avx512vl_vpternlogv16hi_2 */
   17986              : 
   17987              :         case 5:
   17988              :           if (!
   17989              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   17990              : ((16 == 64 || TARGET_AVX512VL
   17991              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   17992              :    && ix86_pre_reload_split ()
   17993              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   17994              :                     STRIP_UNARY (operands[4]))
   17995              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   17996              :                        STRIP_UNARY (operands[4]))
   17997              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   17998              :                        STRIP_UNARY (operands[3]))
   17999              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18000              :                        STRIP_UNARY (operands[3])))))
   18001              :             return -1;
   18002              :           return 6341; /* *avx512vl_vpternlogv8hi_2 */
   18003              : 
   18004              :         case 6:
   18005              :           if (!(
   18006              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18007              : ((64 == 64 || TARGET_AVX512VL
   18008              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18009              :    && ix86_pre_reload_split ()
   18010              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18011              :                     STRIP_UNARY (operands[4]))
   18012              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18013              :                        STRIP_UNARY (operands[4]))
   18014              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18015              :                        STRIP_UNARY (operands[3]))
   18016              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18017              :                        STRIP_UNARY (operands[3])))) && 
   18018              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18019              : (TARGET_AVX512F)))
   18020              :             return -1;
   18021              :           return 6368; /* *avx512f_vpternlogv16si_2 */
   18022              : 
   18023              :         case 7:
   18024              :           if (!(
   18025              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18026              : ((32 == 64 || TARGET_AVX512VL
   18027              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18028              :    && ix86_pre_reload_split ()
   18029              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18030              :                     STRIP_UNARY (operands[4]))
   18031              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18032              :                        STRIP_UNARY (operands[4]))
   18033              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18034              :                        STRIP_UNARY (operands[3]))
   18035              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18036              :                        STRIP_UNARY (operands[3])))) && 
   18037              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18038              : (TARGET_AVX)))
   18039              :             return -1;
   18040              :           return 6395; /* *avx512vl_vpternlogv8si_2 */
   18041              : 
   18042              :         case 8:
   18043              :           if (!
   18044              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18045              : ((16 == 64 || TARGET_AVX512VL
   18046              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18047              :    && ix86_pre_reload_split ()
   18048              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18049              :                     STRIP_UNARY (operands[4]))
   18050              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18051              :                        STRIP_UNARY (operands[4]))
   18052              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18053              :                        STRIP_UNARY (operands[3]))
   18054              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18055              :                        STRIP_UNARY (operands[3])))))
   18056              :             return -1;
   18057              :           return 6422; /* *avx512vl_vpternlogv4si_2 */
   18058              : 
   18059              :         case 9:
   18060              :           if (!(
   18061              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18062              : ((64 == 64 || TARGET_AVX512VL
   18063              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18064              :    && ix86_pre_reload_split ()
   18065              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18066              :                     STRIP_UNARY (operands[4]))
   18067              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18068              :                        STRIP_UNARY (operands[4]))
   18069              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18070              :                        STRIP_UNARY (operands[3]))
   18071              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18072              :                        STRIP_UNARY (operands[3])))) && 
   18073              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18074              : (TARGET_AVX512F)))
   18075              :             return -1;
   18076              :           return 6449; /* *avx512f_vpternlogv8di_2 */
   18077              : 
   18078              :         case 10:
   18079              :           if (!(
   18080              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18081              : ((32 == 64 || TARGET_AVX512VL
   18082              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18083              :    && ix86_pre_reload_split ()
   18084              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18085              :                     STRIP_UNARY (operands[4]))
   18086              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18087              :                        STRIP_UNARY (operands[4]))
   18088              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18089              :                        STRIP_UNARY (operands[3]))
   18090              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18091              :                        STRIP_UNARY (operands[3])))) && 
   18092              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18093              : (TARGET_AVX)))
   18094              :             return -1;
   18095              :           return 6476; /* *avx512vl_vpternlogv4di_2 */
   18096              : 
   18097              :         case 11:
   18098              :           if (!
   18099              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18100              : ((16 == 64 || TARGET_AVX512VL
   18101              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18102              :    && ix86_pre_reload_split ()
   18103              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18104              :                     STRIP_UNARY (operands[4]))
   18105              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18106              :                        STRIP_UNARY (operands[4]))
   18107              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18108              :                        STRIP_UNARY (operands[3]))
   18109              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18110              :                        STRIP_UNARY (operands[3])))))
   18111              :             return -1;
   18112              :           return 6503; /* *avx512vl_vpternlogv2di_2 */
   18113              : 
   18114              :         default:
   18115              :           return -1;
   18116              :         }
   18117              : 
   18118              :     case XOR:
   18119              :       switch (pattern537 (x2))
   18120              :         {
   18121              :         case 0:
   18122              :           if (!(
   18123              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18124              : ((64 == 64 || TARGET_AVX512VL
   18125              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18126              :    && ix86_pre_reload_split ()
   18127              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18128              :                     STRIP_UNARY (operands[4]))
   18129              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18130              :                        STRIP_UNARY (operands[4]))
   18131              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18132              :                        STRIP_UNARY (operands[3]))
   18133              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18134              :                        STRIP_UNARY (operands[3])))) && 
   18135              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18136              : (TARGET_AVX512F)))
   18137              :             return -1;
   18138              :           return 6209; /* *avx512bw_vpternlogv64qi_2 */
   18139              : 
   18140              :         case 1:
   18141              :           if (!(
   18142              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18143              : ((32 == 64 || TARGET_AVX512VL
   18144              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18145              :    && ix86_pre_reload_split ()
   18146              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18147              :                     STRIP_UNARY (operands[4]))
   18148              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18149              :                        STRIP_UNARY (operands[4]))
   18150              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18151              :                        STRIP_UNARY (operands[3]))
   18152              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18153              :                        STRIP_UNARY (operands[3])))) && 
   18154              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18155              : (TARGET_AVX)))
   18156              :             return -1;
   18157              :           return 6236; /* *avx512vl_vpternlogv32qi_2 */
   18158              : 
   18159              :         case 2:
   18160              :           if (!
   18161              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18162              : ((16 == 64 || TARGET_AVX512VL
   18163              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18164              :    && ix86_pre_reload_split ()
   18165              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18166              :                     STRIP_UNARY (operands[4]))
   18167              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18168              :                        STRIP_UNARY (operands[4]))
   18169              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18170              :                        STRIP_UNARY (operands[3]))
   18171              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18172              :                        STRIP_UNARY (operands[3])))))
   18173              :             return -1;
   18174              :           return 6263; /* *avx512vl_vpternlogv16qi_2 */
   18175              : 
   18176              :         case 3:
   18177              :           if (!(
   18178              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18179              : ((64 == 64 || TARGET_AVX512VL
   18180              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18181              :    && ix86_pre_reload_split ()
   18182              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18183              :                     STRIP_UNARY (operands[4]))
   18184              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18185              :                        STRIP_UNARY (operands[4]))
   18186              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18187              :                        STRIP_UNARY (operands[3]))
   18188              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18189              :                        STRIP_UNARY (operands[3])))) && 
   18190              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18191              : (TARGET_AVX512F)))
   18192              :             return -1;
   18193              :           return 6290; /* *avx512bw_vpternlogv32hi_2 */
   18194              : 
   18195              :         case 4:
   18196              :           if (!(
   18197              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18198              : ((32 == 64 || TARGET_AVX512VL
   18199              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18200              :    && ix86_pre_reload_split ()
   18201              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18202              :                     STRIP_UNARY (operands[4]))
   18203              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18204              :                        STRIP_UNARY (operands[4]))
   18205              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18206              :                        STRIP_UNARY (operands[3]))
   18207              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18208              :                        STRIP_UNARY (operands[3])))) && 
   18209              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18210              : (TARGET_AVX)))
   18211              :             return -1;
   18212              :           return 6317; /* *avx512vl_vpternlogv16hi_2 */
   18213              : 
   18214              :         case 5:
   18215              :           if (!
   18216              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18217              : ((16 == 64 || TARGET_AVX512VL
   18218              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18219              :    && ix86_pre_reload_split ()
   18220              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18221              :                     STRIP_UNARY (operands[4]))
   18222              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18223              :                        STRIP_UNARY (operands[4]))
   18224              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18225              :                        STRIP_UNARY (operands[3]))
   18226              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18227              :                        STRIP_UNARY (operands[3])))))
   18228              :             return -1;
   18229              :           return 6344; /* *avx512vl_vpternlogv8hi_2 */
   18230              : 
   18231              :         case 6:
   18232              :           if (!(
   18233              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18234              : ((64 == 64 || TARGET_AVX512VL
   18235              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18236              :    && ix86_pre_reload_split ()
   18237              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18238              :                     STRIP_UNARY (operands[4]))
   18239              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18240              :                        STRIP_UNARY (operands[4]))
   18241              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18242              :                        STRIP_UNARY (operands[3]))
   18243              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18244              :                        STRIP_UNARY (operands[3])))) && 
   18245              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18246              : (TARGET_AVX512F)))
   18247              :             return -1;
   18248              :           return 6371; /* *avx512f_vpternlogv16si_2 */
   18249              : 
   18250              :         case 7:
   18251              :           if (!(
   18252              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18253              : ((32 == 64 || TARGET_AVX512VL
   18254              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18255              :    && ix86_pre_reload_split ()
   18256              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18257              :                     STRIP_UNARY (operands[4]))
   18258              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18259              :                        STRIP_UNARY (operands[4]))
   18260              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18261              :                        STRIP_UNARY (operands[3]))
   18262              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18263              :                        STRIP_UNARY (operands[3])))) && 
   18264              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18265              : (TARGET_AVX)))
   18266              :             return -1;
   18267              :           return 6398; /* *avx512vl_vpternlogv8si_2 */
   18268              : 
   18269              :         case 8:
   18270              :           if (!
   18271              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18272              : ((16 == 64 || TARGET_AVX512VL
   18273              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18274              :    && ix86_pre_reload_split ()
   18275              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18276              :                     STRIP_UNARY (operands[4]))
   18277              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18278              :                        STRIP_UNARY (operands[4]))
   18279              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18280              :                        STRIP_UNARY (operands[3]))
   18281              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18282              :                        STRIP_UNARY (operands[3])))))
   18283              :             return -1;
   18284              :           return 6425; /* *avx512vl_vpternlogv4si_2 */
   18285              : 
   18286              :         case 9:
   18287              :           if (!(
   18288              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18289              : ((64 == 64 || TARGET_AVX512VL
   18290              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18291              :    && ix86_pre_reload_split ()
   18292              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18293              :                     STRIP_UNARY (operands[4]))
   18294              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18295              :                        STRIP_UNARY (operands[4]))
   18296              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18297              :                        STRIP_UNARY (operands[3]))
   18298              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18299              :                        STRIP_UNARY (operands[3])))) && 
   18300              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18301              : (TARGET_AVX512F)))
   18302              :             return -1;
   18303              :           return 6452; /* *avx512f_vpternlogv8di_2 */
   18304              : 
   18305              :         case 10:
   18306              :           if (!(
   18307              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18308              : ((32 == 64 || TARGET_AVX512VL
   18309              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18310              :    && ix86_pre_reload_split ()
   18311              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18312              :                     STRIP_UNARY (operands[4]))
   18313              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18314              :                        STRIP_UNARY (operands[4]))
   18315              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18316              :                        STRIP_UNARY (operands[3]))
   18317              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18318              :                        STRIP_UNARY (operands[3])))) && 
   18319              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18320              : (TARGET_AVX)))
   18321              :             return -1;
   18322              :           return 6479; /* *avx512vl_vpternlogv4di_2 */
   18323              : 
   18324              :         case 11:
   18325              :           if (!
   18326              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18327              : ((16 == 64 || TARGET_AVX512VL
   18328              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18329              :    && ix86_pre_reload_split ()
   18330              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18331              :                     STRIP_UNARY (operands[4]))
   18332              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18333              :                        STRIP_UNARY (operands[4]))
   18334              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18335              :                        STRIP_UNARY (operands[3]))
   18336              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18337              :                        STRIP_UNARY (operands[3])))))
   18338              :             return -1;
   18339              :           return 6506; /* *avx512vl_vpternlogv2di_2 */
   18340              : 
   18341              :         default:
   18342              :           return -1;
   18343              :         }
   18344              : 
   18345              :     default:
   18346              :       return -1;
   18347              :     }
   18348              : }
   18349              : 
   18350              :  int
   18351              : recog_316 (rtx x1 ATTRIBUTE_UNUSED,
   18352              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   18353              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   18354              : {
   18355              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   18356              :   rtx x2, x3, x4;
   18357              :   int res ATTRIBUTE_UNUSED;
   18358              :   x2 = XEXP (x1, 1);
   18359              :   x3 = XEXP (x2, 0);
   18360              :   x4 = XEXP (x3, 0);
   18361              :   switch (GET_CODE (x4))
   18362              :     {
   18363              :     case REG:
   18364              :     case SUBREG:
   18365              :     case MEM:
   18366              :     case NOT:
   18367              :       switch (pattern541 (x2))
   18368              :         {
   18369              :         case 0:
   18370              :           if (!(
   18371              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18372              : ((64 == 64 || TARGET_AVX512VL
   18373              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18374              :    && ix86_pre_reload_split ()
   18375              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18376              :                     STRIP_UNARY (operands[4]))
   18377              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18378              :                        STRIP_UNARY (operands[4]))
   18379              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18380              :                        STRIP_UNARY (operands[3]))
   18381              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18382              :                        STRIP_UNARY (operands[3])))) && 
   18383              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18384              : (TARGET_AVX512F)))
   18385              :             return -1;
   18386              :           return 5881; /* *avx512bw_vpternlogv32hf_1 */
   18387              : 
   18388              :         case 1:
   18389              :           if (!(
   18390              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18391              : ((32 == 64 || TARGET_AVX512VL
   18392              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18393              :    && ix86_pre_reload_split ()
   18394              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18395              :                     STRIP_UNARY (operands[4]))
   18396              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18397              :                        STRIP_UNARY (operands[4]))
   18398              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18399              :                        STRIP_UNARY (operands[3]))
   18400              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18401              :                        STRIP_UNARY (operands[3])))) && 
   18402              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18403              : (TARGET_AVX)))
   18404              :             return -1;
   18405              :           return 5908; /* *avx512vl_vpternlogv16hf_1 */
   18406              : 
   18407              :         case 2:
   18408              :           if (!
   18409              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18410              : ((16 == 64 || TARGET_AVX512VL
   18411              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18412              :    && ix86_pre_reload_split ()
   18413              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18414              :                     STRIP_UNARY (operands[4]))
   18415              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18416              :                        STRIP_UNARY (operands[4]))
   18417              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18418              :                        STRIP_UNARY (operands[3]))
   18419              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18420              :                        STRIP_UNARY (operands[3])))))
   18421              :             return -1;
   18422              :           return 5935; /* *avx512fp16_vpternlogv8hf_1 */
   18423              : 
   18424              :         case 3:
   18425              :           if (!(
   18426              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18427              : ((64 == 64 || TARGET_AVX512VL
   18428              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18429              :    && ix86_pre_reload_split ()
   18430              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18431              :                     STRIP_UNARY (operands[4]))
   18432              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18433              :                        STRIP_UNARY (operands[4]))
   18434              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18435              :                        STRIP_UNARY (operands[3]))
   18436              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18437              :                        STRIP_UNARY (operands[3])))) && 
   18438              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18439              : (TARGET_AVX512F)))
   18440              :             return -1;
   18441              :           return 5962; /* *avx512bw_vpternlogv32bf_1 */
   18442              : 
   18443              :         case 4:
   18444              :           if (!(
   18445              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18446              : ((32 == 64 || TARGET_AVX512VL
   18447              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18448              :    && ix86_pre_reload_split ()
   18449              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18450              :                     STRIP_UNARY (operands[4]))
   18451              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18452              :                        STRIP_UNARY (operands[4]))
   18453              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18454              :                        STRIP_UNARY (operands[3]))
   18455              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18456              :                        STRIP_UNARY (operands[3])))) && 
   18457              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18458              : (TARGET_AVX)))
   18459              :             return -1;
   18460              :           return 5989; /* *avx512vl_vpternlogv16bf_1 */
   18461              : 
   18462              :         case 5:
   18463              :           if (!
   18464              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18465              : ((16 == 64 || TARGET_AVX512VL
   18466              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18467              :    && ix86_pre_reload_split ()
   18468              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18469              :                     STRIP_UNARY (operands[4]))
   18470              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18471              :                        STRIP_UNARY (operands[4]))
   18472              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18473              :                        STRIP_UNARY (operands[3]))
   18474              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18475              :                        STRIP_UNARY (operands[3])))))
   18476              :             return -1;
   18477              :           return 6016; /* *avx512vl_vpternlogv8bf_1 */
   18478              : 
   18479              :         case 6:
   18480              :           if (!(
   18481              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18482              : ((64 == 64 || TARGET_AVX512VL
   18483              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18484              :    && ix86_pre_reload_split ()
   18485              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18486              :                     STRIP_UNARY (operands[4]))
   18487              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18488              :                        STRIP_UNARY (operands[4]))
   18489              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18490              :                        STRIP_UNARY (operands[3]))
   18491              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18492              :                        STRIP_UNARY (operands[3])))) && 
   18493              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18494              : (TARGET_AVX512F)))
   18495              :             return -1;
   18496              :           return 6043; /* *avx512f_vpternlogv16sf_1 */
   18497              : 
   18498              :         case 7:
   18499              :           if (!(
   18500              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18501              : ((32 == 64 || TARGET_AVX512VL
   18502              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18503              :    && ix86_pre_reload_split ()
   18504              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18505              :                     STRIP_UNARY (operands[4]))
   18506              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18507              :                        STRIP_UNARY (operands[4]))
   18508              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18509              :                        STRIP_UNARY (operands[3]))
   18510              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18511              :                        STRIP_UNARY (operands[3])))) && 
   18512              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18513              : (TARGET_AVX)))
   18514              :             return -1;
   18515              :           return 6070; /* *avx512vl_vpternlogv8sf_1 */
   18516              : 
   18517              :         case 8:
   18518              :           if (!
   18519              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18520              : ((16 == 64 || TARGET_AVX512VL
   18521              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18522              :    && ix86_pre_reload_split ()
   18523              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18524              :                     STRIP_UNARY (operands[4]))
   18525              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18526              :                        STRIP_UNARY (operands[4]))
   18527              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18528              :                        STRIP_UNARY (operands[3]))
   18529              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18530              :                        STRIP_UNARY (operands[3])))))
   18531              :             return -1;
   18532              :           return 6097; /* *avx512vl_vpternlogv4sf_1 */
   18533              : 
   18534              :         case 9:
   18535              :           if (!(
   18536              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18537              : ((64 == 64 || TARGET_AVX512VL
   18538              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18539              :    && ix86_pre_reload_split ()
   18540              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18541              :                     STRIP_UNARY (operands[4]))
   18542              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18543              :                        STRIP_UNARY (operands[4]))
   18544              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18545              :                        STRIP_UNARY (operands[3]))
   18546              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18547              :                        STRIP_UNARY (operands[3])))) && 
   18548              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18549              : (TARGET_AVX512F)))
   18550              :             return -1;
   18551              :           return 6124; /* *avx512f_vpternlogv8df_1 */
   18552              : 
   18553              :         case 10:
   18554              :           if (!(
   18555              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18556              : ((32 == 64 || TARGET_AVX512VL
   18557              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18558              :    && ix86_pre_reload_split ()
   18559              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18560              :                     STRIP_UNARY (operands[4]))
   18561              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18562              :                        STRIP_UNARY (operands[4]))
   18563              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18564              :                        STRIP_UNARY (operands[3]))
   18565              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18566              :                        STRIP_UNARY (operands[3])))) && 
   18567              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18568              : (TARGET_AVX)))
   18569              :             return -1;
   18570              :           return 6151; /* *avx512vl_vpternlogv4df_1 */
   18571              : 
   18572              :         case 11:
   18573              :           if (!(
   18574              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18575              : ((16 == 64 || TARGET_AVX512VL
   18576              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18577              :    && ix86_pre_reload_split ()
   18578              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18579              :                     STRIP_UNARY (operands[4]))
   18580              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18581              :                        STRIP_UNARY (operands[4]))
   18582              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18583              :                        STRIP_UNARY (operands[3]))
   18584              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18585              :                        STRIP_UNARY (operands[3])))) && 
   18586              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18587              : (TARGET_SSE2)))
   18588              :             return -1;
   18589              :           return 6178; /* *avx512vl_vpternlogv2df_1 */
   18590              : 
   18591              :         case 12:
   18592              :           if (!(
   18593              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18594              : ((64 == 64 || TARGET_AVX512VL
   18595              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18596              :    && ix86_pre_reload_split ()
   18597              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18598              :                     STRIP_UNARY (operands[4]))
   18599              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18600              :                        STRIP_UNARY (operands[4]))
   18601              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18602              :                        STRIP_UNARY (operands[3]))
   18603              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18604              :                        STRIP_UNARY (operands[3])))) && 
   18605              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18606              : (TARGET_AVX512F)))
   18607              :             return -1;
   18608              :           return 5884; /* *avx512bw_vpternlogv32hf_1 */
   18609              : 
   18610              :         case 13:
   18611              :           if (!(
   18612              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18613              : ((32 == 64 || TARGET_AVX512VL
   18614              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18615              :    && ix86_pre_reload_split ()
   18616              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18617              :                     STRIP_UNARY (operands[4]))
   18618              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18619              :                        STRIP_UNARY (operands[4]))
   18620              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18621              :                        STRIP_UNARY (operands[3]))
   18622              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18623              :                        STRIP_UNARY (operands[3])))) && 
   18624              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18625              : (TARGET_AVX)))
   18626              :             return -1;
   18627              :           return 5911; /* *avx512vl_vpternlogv16hf_1 */
   18628              : 
   18629              :         case 14:
   18630              :           if (!
   18631              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18632              : ((16 == 64 || TARGET_AVX512VL
   18633              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18634              :    && ix86_pre_reload_split ()
   18635              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18636              :                     STRIP_UNARY (operands[4]))
   18637              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18638              :                        STRIP_UNARY (operands[4]))
   18639              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18640              :                        STRIP_UNARY (operands[3]))
   18641              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18642              :                        STRIP_UNARY (operands[3])))))
   18643              :             return -1;
   18644              :           return 5938; /* *avx512fp16_vpternlogv8hf_1 */
   18645              : 
   18646              :         case 15:
   18647              :           if (!(
   18648              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18649              : ((64 == 64 || TARGET_AVX512VL
   18650              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18651              :    && ix86_pre_reload_split ()
   18652              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18653              :                     STRIP_UNARY (operands[4]))
   18654              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18655              :                        STRIP_UNARY (operands[4]))
   18656              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18657              :                        STRIP_UNARY (operands[3]))
   18658              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18659              :                        STRIP_UNARY (operands[3])))) && 
   18660              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18661              : (TARGET_AVX512F)))
   18662              :             return -1;
   18663              :           return 5965; /* *avx512bw_vpternlogv32bf_1 */
   18664              : 
   18665              :         case 16:
   18666              :           if (!(
   18667              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18668              : ((32 == 64 || TARGET_AVX512VL
   18669              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18670              :    && ix86_pre_reload_split ()
   18671              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18672              :                     STRIP_UNARY (operands[4]))
   18673              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18674              :                        STRIP_UNARY (operands[4]))
   18675              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18676              :                        STRIP_UNARY (operands[3]))
   18677              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18678              :                        STRIP_UNARY (operands[3])))) && 
   18679              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18680              : (TARGET_AVX)))
   18681              :             return -1;
   18682              :           return 5992; /* *avx512vl_vpternlogv16bf_1 */
   18683              : 
   18684              :         case 17:
   18685              :           if (!
   18686              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18687              : ((16 == 64 || TARGET_AVX512VL
   18688              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18689              :    && ix86_pre_reload_split ()
   18690              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18691              :                     STRIP_UNARY (operands[4]))
   18692              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18693              :                        STRIP_UNARY (operands[4]))
   18694              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18695              :                        STRIP_UNARY (operands[3]))
   18696              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18697              :                        STRIP_UNARY (operands[3])))))
   18698              :             return -1;
   18699              :           return 6019; /* *avx512vl_vpternlogv8bf_1 */
   18700              : 
   18701              :         case 18:
   18702              :           if (!(
   18703              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18704              : ((64 == 64 || TARGET_AVX512VL
   18705              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18706              :    && ix86_pre_reload_split ()
   18707              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18708              :                     STRIP_UNARY (operands[4]))
   18709              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18710              :                        STRIP_UNARY (operands[4]))
   18711              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18712              :                        STRIP_UNARY (operands[3]))
   18713              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18714              :                        STRIP_UNARY (operands[3])))) && 
   18715              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18716              : (TARGET_AVX512F)))
   18717              :             return -1;
   18718              :           return 6046; /* *avx512f_vpternlogv16sf_1 */
   18719              : 
   18720              :         case 19:
   18721              :           if (!(
   18722              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18723              : ((32 == 64 || TARGET_AVX512VL
   18724              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18725              :    && ix86_pre_reload_split ()
   18726              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18727              :                     STRIP_UNARY (operands[4]))
   18728              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18729              :                        STRIP_UNARY (operands[4]))
   18730              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18731              :                        STRIP_UNARY (operands[3]))
   18732              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18733              :                        STRIP_UNARY (operands[3])))) && 
   18734              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18735              : (TARGET_AVX)))
   18736              :             return -1;
   18737              :           return 6073; /* *avx512vl_vpternlogv8sf_1 */
   18738              : 
   18739              :         case 20:
   18740              :           if (!
   18741              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18742              : ((16 == 64 || TARGET_AVX512VL
   18743              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18744              :    && ix86_pre_reload_split ()
   18745              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18746              :                     STRIP_UNARY (operands[4]))
   18747              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18748              :                        STRIP_UNARY (operands[4]))
   18749              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18750              :                        STRIP_UNARY (operands[3]))
   18751              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18752              :                        STRIP_UNARY (operands[3])))))
   18753              :             return -1;
   18754              :           return 6100; /* *avx512vl_vpternlogv4sf_1 */
   18755              : 
   18756              :         case 21:
   18757              :           if (!(
   18758              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18759              : ((64 == 64 || TARGET_AVX512VL
   18760              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18761              :    && ix86_pre_reload_split ()
   18762              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18763              :                     STRIP_UNARY (operands[4]))
   18764              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18765              :                        STRIP_UNARY (operands[4]))
   18766              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18767              :                        STRIP_UNARY (operands[3]))
   18768              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18769              :                        STRIP_UNARY (operands[3])))) && 
   18770              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18771              : (TARGET_AVX512F)))
   18772              :             return -1;
   18773              :           return 6127; /* *avx512f_vpternlogv8df_1 */
   18774              : 
   18775              :         case 22:
   18776              :           if (!(
   18777              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18778              : ((32 == 64 || TARGET_AVX512VL
   18779              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18780              :    && ix86_pre_reload_split ()
   18781              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18782              :                     STRIP_UNARY (operands[4]))
   18783              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18784              :                        STRIP_UNARY (operands[4]))
   18785              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18786              :                        STRIP_UNARY (operands[3]))
   18787              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18788              :                        STRIP_UNARY (operands[3])))) && 
   18789              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18790              : (TARGET_AVX)))
   18791              :             return -1;
   18792              :           return 6154; /* *avx512vl_vpternlogv4df_1 */
   18793              : 
   18794              :         case 23:
   18795              :           if (!(
   18796              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18797              : ((16 == 64 || TARGET_AVX512VL
   18798              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18799              :    && ix86_pre_reload_split ()
   18800              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18801              :                     STRIP_UNARY (operands[4]))
   18802              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18803              :                        STRIP_UNARY (operands[4]))
   18804              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18805              :                        STRIP_UNARY (operands[3]))
   18806              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18807              :                        STRIP_UNARY (operands[3])))) && 
   18808              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18809              : (TARGET_SSE2)))
   18810              :             return -1;
   18811              :           return 6181; /* *avx512vl_vpternlogv2df_1 */
   18812              : 
   18813              :         case 24:
   18814              :           if (!(
   18815              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18816              : ((64 == 64 || TARGET_AVX512VL
   18817              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18818              :    && ix86_pre_reload_split ()
   18819              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18820              :                     STRIP_UNARY (operands[4]))
   18821              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18822              :                        STRIP_UNARY (operands[4]))
   18823              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18824              :                        STRIP_UNARY (operands[3]))
   18825              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18826              :                        STRIP_UNARY (operands[3])))) && 
   18827              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18828              : (TARGET_AVX512F)))
   18829              :             return -1;
   18830              :           return 5887; /* *avx512bw_vpternlogv32hf_1 */
   18831              : 
   18832              :         case 25:
   18833              :           if (!(
   18834              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18835              : ((32 == 64 || TARGET_AVX512VL
   18836              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18837              :    && ix86_pre_reload_split ()
   18838              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18839              :                     STRIP_UNARY (operands[4]))
   18840              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18841              :                        STRIP_UNARY (operands[4]))
   18842              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18843              :                        STRIP_UNARY (operands[3]))
   18844              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18845              :                        STRIP_UNARY (operands[3])))) && 
   18846              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18847              : (TARGET_AVX)))
   18848              :             return -1;
   18849              :           return 5914; /* *avx512vl_vpternlogv16hf_1 */
   18850              : 
   18851              :         case 26:
   18852              :           if (!
   18853              : #line 14102 "/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              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18858              :                     STRIP_UNARY (operands[4]))
   18859              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18860              :                        STRIP_UNARY (operands[4]))
   18861              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18862              :                        STRIP_UNARY (operands[3]))
   18863              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18864              :                        STRIP_UNARY (operands[3])))))
   18865              :             return -1;
   18866              :           return 5941; /* *avx512fp16_vpternlogv8hf_1 */
   18867              : 
   18868              :         case 27:
   18869              :           if (!(
   18870              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18871              : ((64 == 64 || TARGET_AVX512VL
   18872              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18873              :    && ix86_pre_reload_split ()
   18874              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18875              :                     STRIP_UNARY (operands[4]))
   18876              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18877              :                        STRIP_UNARY (operands[4]))
   18878              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18879              :                        STRIP_UNARY (operands[3]))
   18880              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18881              :                        STRIP_UNARY (operands[3])))) && 
   18882              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18883              : (TARGET_AVX512F)))
   18884              :             return -1;
   18885              :           return 5968; /* *avx512bw_vpternlogv32bf_1 */
   18886              : 
   18887              :         case 28:
   18888              :           if (!(
   18889              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18890              : ((32 == 64 || TARGET_AVX512VL
   18891              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18892              :    && ix86_pre_reload_split ()
   18893              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18894              :                     STRIP_UNARY (operands[4]))
   18895              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18896              :                        STRIP_UNARY (operands[4]))
   18897              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18898              :                        STRIP_UNARY (operands[3]))
   18899              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18900              :                        STRIP_UNARY (operands[3])))) && 
   18901              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18902              : (TARGET_AVX)))
   18903              :             return -1;
   18904              :           return 5995; /* *avx512vl_vpternlogv16bf_1 */
   18905              : 
   18906              :         case 29:
   18907              :           if (!
   18908              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18909              : ((16 == 64 || TARGET_AVX512VL
   18910              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18911              :    && ix86_pre_reload_split ()
   18912              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18913              :                     STRIP_UNARY (operands[4]))
   18914              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18915              :                        STRIP_UNARY (operands[4]))
   18916              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18917              :                        STRIP_UNARY (operands[3]))
   18918              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18919              :                        STRIP_UNARY (operands[3])))))
   18920              :             return -1;
   18921              :           return 6022; /* *avx512vl_vpternlogv8bf_1 */
   18922              : 
   18923              :         case 30:
   18924              :           if (!(
   18925              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18926              : ((64 == 64 || TARGET_AVX512VL
   18927              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18928              :    && ix86_pre_reload_split ()
   18929              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18930              :                     STRIP_UNARY (operands[4]))
   18931              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18932              :                        STRIP_UNARY (operands[4]))
   18933              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18934              :                        STRIP_UNARY (operands[3]))
   18935              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18936              :                        STRIP_UNARY (operands[3])))) && 
   18937              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18938              : (TARGET_AVX512F)))
   18939              :             return -1;
   18940              :           return 6049; /* *avx512f_vpternlogv16sf_1 */
   18941              : 
   18942              :         case 31:
   18943              :           if (!(
   18944              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18945              : ((32 == 64 || TARGET_AVX512VL
   18946              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18947              :    && ix86_pre_reload_split ()
   18948              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18949              :                     STRIP_UNARY (operands[4]))
   18950              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18951              :                        STRIP_UNARY (operands[4]))
   18952              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18953              :                        STRIP_UNARY (operands[3]))
   18954              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18955              :                        STRIP_UNARY (operands[3])))) && 
   18956              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18957              : (TARGET_AVX)))
   18958              :             return -1;
   18959              :           return 6076; /* *avx512vl_vpternlogv8sf_1 */
   18960              : 
   18961              :         case 32:
   18962              :           if (!
   18963              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18964              : ((16 == 64 || TARGET_AVX512VL
   18965              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18966              :    && ix86_pre_reload_split ()
   18967              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18968              :                     STRIP_UNARY (operands[4]))
   18969              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18970              :                        STRIP_UNARY (operands[4]))
   18971              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18972              :                        STRIP_UNARY (operands[3]))
   18973              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18974              :                        STRIP_UNARY (operands[3])))))
   18975              :             return -1;
   18976              :           return 6103; /* *avx512vl_vpternlogv4sf_1 */
   18977              : 
   18978              :         case 33:
   18979              :           if (!(
   18980              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18981              : ((64 == 64 || TARGET_AVX512VL
   18982              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   18983              :    && ix86_pre_reload_split ()
   18984              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   18985              :                     STRIP_UNARY (operands[4]))
   18986              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18987              :                        STRIP_UNARY (operands[4]))
   18988              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   18989              :                        STRIP_UNARY (operands[3]))
   18990              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   18991              :                        STRIP_UNARY (operands[3])))) && 
   18992              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   18993              : (TARGET_AVX512F)))
   18994              :             return -1;
   18995              :           return 6130; /* *avx512f_vpternlogv8df_1 */
   18996              : 
   18997              :         case 34:
   18998              :           if (!(
   18999              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19000              : ((32 == 64 || TARGET_AVX512VL
   19001              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19002              :    && ix86_pre_reload_split ()
   19003              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19004              :                     STRIP_UNARY (operands[4]))
   19005              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19006              :                        STRIP_UNARY (operands[4]))
   19007              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19008              :                        STRIP_UNARY (operands[3]))
   19009              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19010              :                        STRIP_UNARY (operands[3])))) && 
   19011              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19012              : (TARGET_AVX)))
   19013              :             return -1;
   19014              :           return 6157; /* *avx512vl_vpternlogv4df_1 */
   19015              : 
   19016              :         case 35:
   19017              :           if (!(
   19018              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19019              : ((16 == 64 || TARGET_AVX512VL
   19020              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19021              :    && ix86_pre_reload_split ()
   19022              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19023              :                     STRIP_UNARY (operands[4]))
   19024              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19025              :                        STRIP_UNARY (operands[4]))
   19026              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19027              :                        STRIP_UNARY (operands[3]))
   19028              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19029              :                        STRIP_UNARY (operands[3])))) && 
   19030              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19031              : (TARGET_SSE2)))
   19032              :             return -1;
   19033              :           return 6184; /* *avx512vl_vpternlogv2df_1 */
   19034              : 
   19035              :         case 36:
   19036              :           if (!(
   19037              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19038              : ((64 == 64 || TARGET_AVX512VL
   19039              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19040              :    && ix86_pre_reload_split ()) && 
   19041              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19042              : (TARGET_AVX512F)))
   19043              :             return -1;
   19044              :           return 6949; /* *avx512bw_vpternlogv32hf_3 */
   19045              : 
   19046              :         case 37:
   19047              :           if (!(
   19048              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19049              : ((32 == 64 || TARGET_AVX512VL
   19050              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19051              :    && ix86_pre_reload_split ()) && 
   19052              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19053              : (TARGET_AVX)))
   19054              :             return -1;
   19055              :           return 6958; /* *avx512vl_vpternlogv16hf_3 */
   19056              : 
   19057              :         case 38:
   19058              :           if (!
   19059              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19060              : ((16 == 64 || TARGET_AVX512VL
   19061              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19062              :    && ix86_pre_reload_split ()))
   19063              :             return -1;
   19064              :           return 6967; /* *avx512fp16_vpternlogv8hf_3 */
   19065              : 
   19066              :         case 39:
   19067              :           if (!(
   19068              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19069              : ((64 == 64 || TARGET_AVX512VL
   19070              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19071              :    && ix86_pre_reload_split ()) && 
   19072              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19073              : (TARGET_AVX512F)))
   19074              :             return -1;
   19075              :           return 6976; /* *avx512bw_vpternlogv32bf_3 */
   19076              : 
   19077              :         case 40:
   19078              :           if (!(
   19079              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19080              : ((32 == 64 || TARGET_AVX512VL
   19081              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19082              :    && ix86_pre_reload_split ()) && 
   19083              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19084              : (TARGET_AVX)))
   19085              :             return -1;
   19086              :           return 6985; /* *avx512vl_vpternlogv16bf_3 */
   19087              : 
   19088              :         case 41:
   19089              :           if (!
   19090              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19091              : ((16 == 64 || TARGET_AVX512VL
   19092              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19093              :    && ix86_pre_reload_split ()))
   19094              :             return -1;
   19095              :           return 6994; /* *avx512vl_vpternlogv8bf_3 */
   19096              : 
   19097              :         case 42:
   19098              :           if (!(
   19099              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19100              : ((64 == 64 || TARGET_AVX512VL
   19101              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19102              :    && ix86_pre_reload_split ()) && 
   19103              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19104              : (TARGET_AVX512F)))
   19105              :             return -1;
   19106              :           return 7003; /* *avx512f_vpternlogv16sf_3 */
   19107              : 
   19108              :         case 43:
   19109              :           if (!(
   19110              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19111              : ((32 == 64 || TARGET_AVX512VL
   19112              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19113              :    && ix86_pre_reload_split ()) && 
   19114              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19115              : (TARGET_AVX)))
   19116              :             return -1;
   19117              :           return 7012; /* *avx512vl_vpternlogv8sf_3 */
   19118              : 
   19119              :         case 44:
   19120              :           if (!
   19121              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19122              : ((16 == 64 || TARGET_AVX512VL
   19123              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19124              :    && ix86_pre_reload_split ()))
   19125              :             return -1;
   19126              :           return 7021; /* *avx512vl_vpternlogv4sf_3 */
   19127              : 
   19128              :         case 45:
   19129              :           if (!(
   19130              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19131              : ((64 == 64 || TARGET_AVX512VL
   19132              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19133              :    && ix86_pre_reload_split ()) && 
   19134              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19135              : (TARGET_AVX512F)))
   19136              :             return -1;
   19137              :           return 7030; /* *avx512f_vpternlogv8df_3 */
   19138              : 
   19139              :         case 46:
   19140              :           if (!(
   19141              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19142              : ((32 == 64 || TARGET_AVX512VL
   19143              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19144              :    && ix86_pre_reload_split ()) && 
   19145              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19146              : (TARGET_AVX)))
   19147              :             return -1;
   19148              :           return 7039; /* *avx512vl_vpternlogv4df_3 */
   19149              : 
   19150              :         case 47:
   19151              :           if (!(
   19152              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19153              : ((16 == 64 || TARGET_AVX512VL
   19154              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19155              :    && ix86_pre_reload_split ()) && 
   19156              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19157              : (TARGET_SSE2)))
   19158              :             return -1;
   19159              :           return 7048; /* *avx512vl_vpternlogv2df_3 */
   19160              : 
   19161              :         default:
   19162              :           return -1;
   19163              :         }
   19164              : 
   19165              :     case AND:
   19166              :       switch (pattern542 (x2))
   19167              :         {
   19168              :         case 0:
   19169              :           if (!(
   19170              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19171              : ((64 == 64 || TARGET_AVX512VL
   19172              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19173              :    && ix86_pre_reload_split ()
   19174              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19175              :                     STRIP_UNARY (operands[4]))
   19176              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19177              :                        STRIP_UNARY (operands[4]))
   19178              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19179              :                        STRIP_UNARY (operands[3]))
   19180              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19181              :                        STRIP_UNARY (operands[3])))) && 
   19182              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19183              : (TARGET_AVX512F)))
   19184              :             return -1;
   19185              :           return 6529; /* *avx512bw_vpternlogv32hf_2 */
   19186              : 
   19187              :         case 1:
   19188              :           if (!(
   19189              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19190              : ((32 == 64 || TARGET_AVX512VL
   19191              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19192              :    && ix86_pre_reload_split ()
   19193              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19194              :                     STRIP_UNARY (operands[4]))
   19195              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19196              :                        STRIP_UNARY (operands[4]))
   19197              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19198              :                        STRIP_UNARY (operands[3]))
   19199              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19200              :                        STRIP_UNARY (operands[3])))) && 
   19201              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19202              : (TARGET_AVX)))
   19203              :             return -1;
   19204              :           return 6556; /* *avx512vl_vpternlogv16hf_2 */
   19205              : 
   19206              :         case 2:
   19207              :           if (!
   19208              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19209              : ((16 == 64 || TARGET_AVX512VL
   19210              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19211              :    && ix86_pre_reload_split ()
   19212              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19213              :                     STRIP_UNARY (operands[4]))
   19214              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19215              :                        STRIP_UNARY (operands[4]))
   19216              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19217              :                        STRIP_UNARY (operands[3]))
   19218              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19219              :                        STRIP_UNARY (operands[3])))))
   19220              :             return -1;
   19221              :           return 6583; /* *avx512fp16_vpternlogv8hf_2 */
   19222              : 
   19223              :         case 3:
   19224              :           if (!(
   19225              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19226              : ((64 == 64 || TARGET_AVX512VL
   19227              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19228              :    && ix86_pre_reload_split ()
   19229              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19230              :                     STRIP_UNARY (operands[4]))
   19231              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19232              :                        STRIP_UNARY (operands[4]))
   19233              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19234              :                        STRIP_UNARY (operands[3]))
   19235              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19236              :                        STRIP_UNARY (operands[3])))) && 
   19237              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19238              : (TARGET_AVX512F)))
   19239              :             return -1;
   19240              :           return 6610; /* *avx512bw_vpternlogv32bf_2 */
   19241              : 
   19242              :         case 4:
   19243              :           if (!(
   19244              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19245              : ((32 == 64 || TARGET_AVX512VL
   19246              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19247              :    && ix86_pre_reload_split ()
   19248              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19249              :                     STRIP_UNARY (operands[4]))
   19250              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19251              :                        STRIP_UNARY (operands[4]))
   19252              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19253              :                        STRIP_UNARY (operands[3]))
   19254              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19255              :                        STRIP_UNARY (operands[3])))) && 
   19256              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19257              : (TARGET_AVX)))
   19258              :             return -1;
   19259              :           return 6637; /* *avx512vl_vpternlogv16bf_2 */
   19260              : 
   19261              :         case 5:
   19262              :           if (!
   19263              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19264              : ((16 == 64 || TARGET_AVX512VL
   19265              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19266              :    && ix86_pre_reload_split ()
   19267              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19268              :                     STRIP_UNARY (operands[4]))
   19269              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19270              :                        STRIP_UNARY (operands[4]))
   19271              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19272              :                        STRIP_UNARY (operands[3]))
   19273              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19274              :                        STRIP_UNARY (operands[3])))))
   19275              :             return -1;
   19276              :           return 6664; /* *avx512vl_vpternlogv8bf_2 */
   19277              : 
   19278              :         case 6:
   19279              :           if (!(
   19280              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19281              : ((64 == 64 || TARGET_AVX512VL
   19282              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19283              :    && ix86_pre_reload_split ()
   19284              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19285              :                     STRIP_UNARY (operands[4]))
   19286              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19287              :                        STRIP_UNARY (operands[4]))
   19288              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19289              :                        STRIP_UNARY (operands[3]))
   19290              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19291              :                        STRIP_UNARY (operands[3])))) && 
   19292              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19293              : (TARGET_AVX512F)))
   19294              :             return -1;
   19295              :           return 6691; /* *avx512f_vpternlogv16sf_2 */
   19296              : 
   19297              :         case 7:
   19298              :           if (!(
   19299              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19300              : ((32 == 64 || TARGET_AVX512VL
   19301              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19302              :    && ix86_pre_reload_split ()
   19303              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19304              :                     STRIP_UNARY (operands[4]))
   19305              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19306              :                        STRIP_UNARY (operands[4]))
   19307              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19308              :                        STRIP_UNARY (operands[3]))
   19309              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19310              :                        STRIP_UNARY (operands[3])))) && 
   19311              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19312              : (TARGET_AVX)))
   19313              :             return -1;
   19314              :           return 6718; /* *avx512vl_vpternlogv8sf_2 */
   19315              : 
   19316              :         case 8:
   19317              :           if (!
   19318              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19319              : ((16 == 64 || TARGET_AVX512VL
   19320              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19321              :    && ix86_pre_reload_split ()
   19322              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19323              :                     STRIP_UNARY (operands[4]))
   19324              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19325              :                        STRIP_UNARY (operands[4]))
   19326              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19327              :                        STRIP_UNARY (operands[3]))
   19328              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19329              :                        STRIP_UNARY (operands[3])))))
   19330              :             return -1;
   19331              :           return 6745; /* *avx512vl_vpternlogv4sf_2 */
   19332              : 
   19333              :         case 9:
   19334              :           if (!(
   19335              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19336              : ((64 == 64 || TARGET_AVX512VL
   19337              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19338              :    && ix86_pre_reload_split ()
   19339              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19340              :                     STRIP_UNARY (operands[4]))
   19341              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19342              :                        STRIP_UNARY (operands[4]))
   19343              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19344              :                        STRIP_UNARY (operands[3]))
   19345              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19346              :                        STRIP_UNARY (operands[3])))) && 
   19347              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19348              : (TARGET_AVX512F)))
   19349              :             return -1;
   19350              :           return 6772; /* *avx512f_vpternlogv8df_2 */
   19351              : 
   19352              :         case 10:
   19353              :           if (!(
   19354              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19355              : ((32 == 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 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19367              : (TARGET_AVX)))
   19368              :             return -1;
   19369              :           return 6799; /* *avx512vl_vpternlogv4df_2 */
   19370              : 
   19371              :         case 11:
   19372              :           if (!(
   19373              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19374              : ((16 == 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 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19386              : (TARGET_SSE2)))
   19387              :             return -1;
   19388              :           return 6826; /* *avx512vl_vpternlogv2df_2 */
   19389              : 
   19390              :         default:
   19391              :           return -1;
   19392              :         }
   19393              : 
   19394              :     case IOR:
   19395              :       switch (pattern542 (x2))
   19396              :         {
   19397              :         case 0:
   19398              :           if (!(
   19399              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19400              : ((64 == 64 || TARGET_AVX512VL
   19401              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19402              :    && ix86_pre_reload_split ()
   19403              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19404              :                     STRIP_UNARY (operands[4]))
   19405              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19406              :                        STRIP_UNARY (operands[4]))
   19407              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19408              :                        STRIP_UNARY (operands[3]))
   19409              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19410              :                        STRIP_UNARY (operands[3])))) && 
   19411              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19412              : (TARGET_AVX512F)))
   19413              :             return -1;
   19414              :           return 6532; /* *avx512bw_vpternlogv32hf_2 */
   19415              : 
   19416              :         case 1:
   19417              :           if (!(
   19418              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19419              : ((32 == 64 || TARGET_AVX512VL
   19420              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19421              :    && ix86_pre_reload_split ()
   19422              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19423              :                     STRIP_UNARY (operands[4]))
   19424              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19425              :                        STRIP_UNARY (operands[4]))
   19426              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19427              :                        STRIP_UNARY (operands[3]))
   19428              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19429              :                        STRIP_UNARY (operands[3])))) && 
   19430              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19431              : (TARGET_AVX)))
   19432              :             return -1;
   19433              :           return 6559; /* *avx512vl_vpternlogv16hf_2 */
   19434              : 
   19435              :         case 2:
   19436              :           if (!
   19437              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19438              : ((16 == 64 || TARGET_AVX512VL
   19439              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19440              :    && ix86_pre_reload_split ()
   19441              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19442              :                     STRIP_UNARY (operands[4]))
   19443              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19444              :                        STRIP_UNARY (operands[4]))
   19445              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19446              :                        STRIP_UNARY (operands[3]))
   19447              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19448              :                        STRIP_UNARY (operands[3])))))
   19449              :             return -1;
   19450              :           return 6586; /* *avx512fp16_vpternlogv8hf_2 */
   19451              : 
   19452              :         case 3:
   19453              :           if (!(
   19454              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19455              : ((64 == 64 || TARGET_AVX512VL
   19456              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19457              :    && ix86_pre_reload_split ()
   19458              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19459              :                     STRIP_UNARY (operands[4]))
   19460              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19461              :                        STRIP_UNARY (operands[4]))
   19462              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19463              :                        STRIP_UNARY (operands[3]))
   19464              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19465              :                        STRIP_UNARY (operands[3])))) && 
   19466              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19467              : (TARGET_AVX512F)))
   19468              :             return -1;
   19469              :           return 6613; /* *avx512bw_vpternlogv32bf_2 */
   19470              : 
   19471              :         case 4:
   19472              :           if (!(
   19473              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19474              : ((32 == 64 || TARGET_AVX512VL
   19475              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19476              :    && ix86_pre_reload_split ()
   19477              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19478              :                     STRIP_UNARY (operands[4]))
   19479              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19480              :                        STRIP_UNARY (operands[4]))
   19481              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19482              :                        STRIP_UNARY (operands[3]))
   19483              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19484              :                        STRIP_UNARY (operands[3])))) && 
   19485              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19486              : (TARGET_AVX)))
   19487              :             return -1;
   19488              :           return 6640; /* *avx512vl_vpternlogv16bf_2 */
   19489              : 
   19490              :         case 5:
   19491              :           if (!
   19492              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19493              : ((16 == 64 || TARGET_AVX512VL
   19494              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19495              :    && ix86_pre_reload_split ()
   19496              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19497              :                     STRIP_UNARY (operands[4]))
   19498              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19499              :                        STRIP_UNARY (operands[4]))
   19500              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19501              :                        STRIP_UNARY (operands[3]))
   19502              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19503              :                        STRIP_UNARY (operands[3])))))
   19504              :             return -1;
   19505              :           return 6667; /* *avx512vl_vpternlogv8bf_2 */
   19506              : 
   19507              :         case 6:
   19508              :           if (!(
   19509              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19510              : ((64 == 64 || TARGET_AVX512VL
   19511              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19512              :    && ix86_pre_reload_split ()
   19513              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19514              :                     STRIP_UNARY (operands[4]))
   19515              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19516              :                        STRIP_UNARY (operands[4]))
   19517              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19518              :                        STRIP_UNARY (operands[3]))
   19519              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19520              :                        STRIP_UNARY (operands[3])))) && 
   19521              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19522              : (TARGET_AVX512F)))
   19523              :             return -1;
   19524              :           return 6694; /* *avx512f_vpternlogv16sf_2 */
   19525              : 
   19526              :         case 7:
   19527              :           if (!(
   19528              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19529              : ((32 == 64 || TARGET_AVX512VL
   19530              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19531              :    && ix86_pre_reload_split ()
   19532              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19533              :                     STRIP_UNARY (operands[4]))
   19534              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19535              :                        STRIP_UNARY (operands[4]))
   19536              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19537              :                        STRIP_UNARY (operands[3]))
   19538              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19539              :                        STRIP_UNARY (operands[3])))) && 
   19540              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19541              : (TARGET_AVX)))
   19542              :             return -1;
   19543              :           return 6721; /* *avx512vl_vpternlogv8sf_2 */
   19544              : 
   19545              :         case 8:
   19546              :           if (!
   19547              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19548              : ((16 == 64 || TARGET_AVX512VL
   19549              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19550              :    && ix86_pre_reload_split ()
   19551              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19552              :                     STRIP_UNARY (operands[4]))
   19553              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19554              :                        STRIP_UNARY (operands[4]))
   19555              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19556              :                        STRIP_UNARY (operands[3]))
   19557              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19558              :                        STRIP_UNARY (operands[3])))))
   19559              :             return -1;
   19560              :           return 6748; /* *avx512vl_vpternlogv4sf_2 */
   19561              : 
   19562              :         case 9:
   19563              :           if (!(
   19564              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19565              : ((64 == 64 || TARGET_AVX512VL
   19566              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19567              :    && ix86_pre_reload_split ()
   19568              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19569              :                     STRIP_UNARY (operands[4]))
   19570              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19571              :                        STRIP_UNARY (operands[4]))
   19572              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19573              :                        STRIP_UNARY (operands[3]))
   19574              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19575              :                        STRIP_UNARY (operands[3])))) && 
   19576              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19577              : (TARGET_AVX512F)))
   19578              :             return -1;
   19579              :           return 6775; /* *avx512f_vpternlogv8df_2 */
   19580              : 
   19581              :         case 10:
   19582              :           if (!(
   19583              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19584              : ((32 == 64 || TARGET_AVX512VL
   19585              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19586              :    && ix86_pre_reload_split ()
   19587              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19588              :                     STRIP_UNARY (operands[4]))
   19589              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19590              :                        STRIP_UNARY (operands[4]))
   19591              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19592              :                        STRIP_UNARY (operands[3]))
   19593              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19594              :                        STRIP_UNARY (operands[3])))) && 
   19595              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19596              : (TARGET_AVX)))
   19597              :             return -1;
   19598              :           return 6802; /* *avx512vl_vpternlogv4df_2 */
   19599              : 
   19600              :         case 11:
   19601              :           if (!(
   19602              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19603              : ((16 == 64 || TARGET_AVX512VL
   19604              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19605              :    && ix86_pre_reload_split ()
   19606              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19607              :                     STRIP_UNARY (operands[4]))
   19608              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19609              :                        STRIP_UNARY (operands[4]))
   19610              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19611              :                        STRIP_UNARY (operands[3]))
   19612              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19613              :                        STRIP_UNARY (operands[3])))) && 
   19614              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19615              : (TARGET_SSE2)))
   19616              :             return -1;
   19617              :           return 6829; /* *avx512vl_vpternlogv2df_2 */
   19618              : 
   19619              :         default:
   19620              :           return -1;
   19621              :         }
   19622              : 
   19623              :     case XOR:
   19624              :       switch (pattern542 (x2))
   19625              :         {
   19626              :         case 0:
   19627              :           if (!(
   19628              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19629              : ((64 == 64 || TARGET_AVX512VL
   19630              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19631              :    && ix86_pre_reload_split ()
   19632              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19633              :                     STRIP_UNARY (operands[4]))
   19634              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19635              :                        STRIP_UNARY (operands[4]))
   19636              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19637              :                        STRIP_UNARY (operands[3]))
   19638              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19639              :                        STRIP_UNARY (operands[3])))) && 
   19640              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19641              : (TARGET_AVX512F)))
   19642              :             return -1;
   19643              :           return 6535; /* *avx512bw_vpternlogv32hf_2 */
   19644              : 
   19645              :         case 1:
   19646              :           if (!(
   19647              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19648              : ((32 == 64 || TARGET_AVX512VL
   19649              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19650              :    && ix86_pre_reload_split ()
   19651              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19652              :                     STRIP_UNARY (operands[4]))
   19653              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19654              :                        STRIP_UNARY (operands[4]))
   19655              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19656              :                        STRIP_UNARY (operands[3]))
   19657              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19658              :                        STRIP_UNARY (operands[3])))) && 
   19659              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19660              : (TARGET_AVX)))
   19661              :             return -1;
   19662              :           return 6562; /* *avx512vl_vpternlogv16hf_2 */
   19663              : 
   19664              :         case 2:
   19665              :           if (!
   19666              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19667              : ((16 == 64 || TARGET_AVX512VL
   19668              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19669              :    && ix86_pre_reload_split ()
   19670              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19671              :                     STRIP_UNARY (operands[4]))
   19672              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19673              :                        STRIP_UNARY (operands[4]))
   19674              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19675              :                        STRIP_UNARY (operands[3]))
   19676              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19677              :                        STRIP_UNARY (operands[3])))))
   19678              :             return -1;
   19679              :           return 6589; /* *avx512fp16_vpternlogv8hf_2 */
   19680              : 
   19681              :         case 3:
   19682              :           if (!(
   19683              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19684              : ((64 == 64 || TARGET_AVX512VL
   19685              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19686              :    && ix86_pre_reload_split ()
   19687              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19688              :                     STRIP_UNARY (operands[4]))
   19689              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19690              :                        STRIP_UNARY (operands[4]))
   19691              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19692              :                        STRIP_UNARY (operands[3]))
   19693              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19694              :                        STRIP_UNARY (operands[3])))) && 
   19695              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19696              : (TARGET_AVX512F)))
   19697              :             return -1;
   19698              :           return 6616; /* *avx512bw_vpternlogv32bf_2 */
   19699              : 
   19700              :         case 4:
   19701              :           if (!(
   19702              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19703              : ((32 == 64 || TARGET_AVX512VL
   19704              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19705              :    && ix86_pre_reload_split ()
   19706              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19707              :                     STRIP_UNARY (operands[4]))
   19708              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19709              :                        STRIP_UNARY (operands[4]))
   19710              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19711              :                        STRIP_UNARY (operands[3]))
   19712              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19713              :                        STRIP_UNARY (operands[3])))) && 
   19714              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19715              : (TARGET_AVX)))
   19716              :             return -1;
   19717              :           return 6643; /* *avx512vl_vpternlogv16bf_2 */
   19718              : 
   19719              :         case 5:
   19720              :           if (!
   19721              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19722              : ((16 == 64 || TARGET_AVX512VL
   19723              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19724              :    && ix86_pre_reload_split ()
   19725              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19726              :                     STRIP_UNARY (operands[4]))
   19727              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19728              :                        STRIP_UNARY (operands[4]))
   19729              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19730              :                        STRIP_UNARY (operands[3]))
   19731              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19732              :                        STRIP_UNARY (operands[3])))))
   19733              :             return -1;
   19734              :           return 6670; /* *avx512vl_vpternlogv8bf_2 */
   19735              : 
   19736              :         case 6:
   19737              :           if (!(
   19738              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19739              : ((64 == 64 || TARGET_AVX512VL
   19740              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19741              :    && ix86_pre_reload_split ()
   19742              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19743              :                     STRIP_UNARY (operands[4]))
   19744              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19745              :                        STRIP_UNARY (operands[4]))
   19746              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19747              :                        STRIP_UNARY (operands[3]))
   19748              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19749              :                        STRIP_UNARY (operands[3])))) && 
   19750              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19751              : (TARGET_AVX512F)))
   19752              :             return -1;
   19753              :           return 6697; /* *avx512f_vpternlogv16sf_2 */
   19754              : 
   19755              :         case 7:
   19756              :           if (!(
   19757              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19758              : ((32 == 64 || TARGET_AVX512VL
   19759              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19760              :    && ix86_pre_reload_split ()
   19761              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19762              :                     STRIP_UNARY (operands[4]))
   19763              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19764              :                        STRIP_UNARY (operands[4]))
   19765              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19766              :                        STRIP_UNARY (operands[3]))
   19767              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19768              :                        STRIP_UNARY (operands[3])))) && 
   19769              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19770              : (TARGET_AVX)))
   19771              :             return -1;
   19772              :           return 6724; /* *avx512vl_vpternlogv8sf_2 */
   19773              : 
   19774              :         case 8:
   19775              :           if (!
   19776              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19777              : ((16 == 64 || TARGET_AVX512VL
   19778              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19779              :    && ix86_pre_reload_split ()
   19780              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19781              :                     STRIP_UNARY (operands[4]))
   19782              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19783              :                        STRIP_UNARY (operands[4]))
   19784              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19785              :                        STRIP_UNARY (operands[3]))
   19786              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19787              :                        STRIP_UNARY (operands[3])))))
   19788              :             return -1;
   19789              :           return 6751; /* *avx512vl_vpternlogv4sf_2 */
   19790              : 
   19791              :         case 9:
   19792              :           if (!(
   19793              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19794              : ((64 == 64 || TARGET_AVX512VL
   19795              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19796              :    && ix86_pre_reload_split ()
   19797              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19798              :                     STRIP_UNARY (operands[4]))
   19799              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19800              :                        STRIP_UNARY (operands[4]))
   19801              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19802              :                        STRIP_UNARY (operands[3]))
   19803              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19804              :                        STRIP_UNARY (operands[3])))) && 
   19805              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19806              : (TARGET_AVX512F)))
   19807              :             return -1;
   19808              :           return 6778; /* *avx512f_vpternlogv8df_2 */
   19809              : 
   19810              :         case 10:
   19811              :           if (!(
   19812              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19813              : ((32 == 64 || TARGET_AVX512VL
   19814              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19815              :    && ix86_pre_reload_split ()
   19816              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19817              :                     STRIP_UNARY (operands[4]))
   19818              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19819              :                        STRIP_UNARY (operands[4]))
   19820              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19821              :                        STRIP_UNARY (operands[3]))
   19822              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19823              :                        STRIP_UNARY (operands[3])))) && 
   19824              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19825              : (TARGET_AVX)))
   19826              :             return -1;
   19827              :           return 6805; /* *avx512vl_vpternlogv4df_2 */
   19828              : 
   19829              :         case 11:
   19830              :           if (!(
   19831              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19832              : ((16 == 64 || TARGET_AVX512VL
   19833              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   19834              :    && ix86_pre_reload_split ()
   19835              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   19836              :                     STRIP_UNARY (operands[4]))
   19837              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19838              :                        STRIP_UNARY (operands[4]))
   19839              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   19840              :                        STRIP_UNARY (operands[3]))
   19841              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   19842              :                        STRIP_UNARY (operands[3])))) && 
   19843              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19844              : (TARGET_SSE2)))
   19845              :             return -1;
   19846              :           return 6832; /* *avx512vl_vpternlogv2df_2 */
   19847              : 
   19848              :         default:
   19849              :           return -1;
   19850              :         }
   19851              : 
   19852              :     default:
   19853              :       return -1;
   19854              :     }
   19855              : }
   19856              : 
   19857              :  int
   19858              : recog_331 (rtx x1 ATTRIBUTE_UNUSED,
   19859              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   19860              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   19861              : {
   19862              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   19863              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   19864              :   rtx x10, x11, x12, x13, x14;
   19865              :   int res ATTRIBUTE_UNUSED;
   19866              :   x2 = XEXP (x1, 0);
   19867              :   operands[0] = x2;
   19868              :   x3 = XEXP (x1, 1);
   19869              :   x4 = XEXP (x3, 0);
   19870              :   switch (GET_CODE (x4))
   19871              :     {
   19872              :     case REG:
   19873              :     case SUBREG:
   19874              :     case MEM:
   19875              :       operands[1] = x4;
   19876              :       switch (GET_MODE (operands[0]))
   19877              :         {
   19878              :         case E_V8DFmode:
   19879              :           if (!register_operand (operands[0], E_V8DFmode)
   19880              :               || GET_MODE (x3) != E_V8DFmode)
   19881              :             return -1;
   19882              :           switch (GET_MODE (operands[1]))
   19883              :             {
   19884              :             case E_V8HFmode:
   19885              :               if (!vector_operand (operands[1], E_V8HFmode)
   19886              :                   || !
   19887              : #line 8365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19888              : (TARGET_AVX512FP16))
   19889              :                 return -1;
   19890              :               return 4755; /* avx512fp16_float_extend_phv8df2 */
   19891              : 
   19892              :             case E_V8SFmode:
   19893              :               if (!vector_operand (operands[1], E_V8SFmode)
   19894              :                   || !(
   19895              : #line 10550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19896              : (TARGET_AVX && 1 && 1) && 
   19897              : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19898              : (TARGET_AVX512F)))
   19899              :                 return -1;
   19900              :               return 5200; /* avx512f_cvtps2pd512 */
   19901              : 
   19902              :             default:
   19903              :               return -1;
   19904              :             }
   19905              : 
   19906              :         case E_V16SFmode:
   19907              :           if (!register_operand (operands[0], E_V16SFmode)
   19908              :               || GET_MODE (x3) != E_V16SFmode
   19909              :               || !vector_operand (operands[1], E_V16HFmode)
   19910              :               || !
   19911              : #line 8365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19912              : (TARGET_AVX512FP16))
   19913              :             return -1;
   19914              :           return 4759; /* avx512fp16_float_extend_phv16sf2 */
   19915              : 
   19916              :         case E_V8SFmode:
   19917              :           if (!register_operand (operands[0], E_V8SFmode)
   19918              :               || GET_MODE (x3) != E_V8SFmode
   19919              :               || !vector_operand (operands[1], E_V8HFmode)
   19920              :               || !(
   19921              : #line 8365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19922              : (TARGET_AVX512FP16) && 
   19923              : #line 986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19924              : (TARGET_AVX512VL)))
   19925              :             return -1;
   19926              :           return 4763; /* avx512fp16_float_extend_phv8sf2 */
   19927              : 
   19928              :         case E_V4DFmode:
   19929              :           if (!register_operand (operands[0], E_V4DFmode)
   19930              :               || GET_MODE (x3) != E_V4DFmode)
   19931              :             return -1;
   19932              :           switch (GET_MODE (operands[1]))
   19933              :             {
   19934              :             case E_V4HFmode:
   19935              :               if (!memory_operand (operands[1], E_V4HFmode)
   19936              :                   || !
   19937              : #line 8404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19938              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   19939              :                 return -1;
   19940              :               return 4771; /* *avx512fp16_float_extend_phv4df2_load */
   19941              : 
   19942              :             case E_V4SFmode:
   19943              :               if (!vector_operand (operands[1], E_V4SFmode)
   19944              :                   || !
   19945              : #line 10550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19946              : (TARGET_AVX && 1 && 1))
   19947              :                 return -1;
   19948              :               return 5204; /* avx_cvtps2pd256 */
   19949              : 
   19950              :             default:
   19951              :               return -1;
   19952              :             }
   19953              : 
   19954              :         case E_V4SFmode:
   19955              :           if (!register_operand (operands[0], E_V4SFmode)
   19956              :               || GET_MODE (x3) != E_V4SFmode
   19957              :               || !memory_operand (operands[1], E_V4HFmode)
   19958              :               || !
   19959              : #line 8404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19960              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   19961              :             return -1;
   19962              :           return 4773; /* *avx512fp16_float_extend_phv4sf2_load */
   19963              : 
   19964              :         case E_V2DFmode:
   19965              :           if (!register_operand (operands[0], E_V2DFmode)
   19966              :               || GET_MODE (x3) != E_V2DFmode)
   19967              :             return -1;
   19968              :           switch (GET_MODE (operands[1]))
   19969              :             {
   19970              :             case E_V2HFmode:
   19971              :               if (!memory_operand (operands[1], E_V2HFmode)
   19972              :                   || !
   19973              : #line 8443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19974              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   19975              :                 return -1;
   19976              :               return 4777; /* *avx512fp16_float_extend_phv2df2_load */
   19977              : 
   19978              :             case E_V2SFmode:
   19979              :               if (!memory_operand (operands[1], E_V2SFmode)
   19980              :                   || !
   19981              : #line 10732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   19982              : (TARGET_SSE2 && 1))
   19983              :                 return -1;
   19984              :               return 5252; /* sse2_cvtps2pd_1 */
   19985              : 
   19986              :             default:
   19987              :               return -1;
   19988              :             }
   19989              : 
   19990              :         default:
   19991              :           return -1;
   19992              :         }
   19993              : 
   19994              :     case VEC_SELECT:
   19995              :       x5 = XEXP (x4, 1);
   19996              :       if (GET_CODE (x5) != PARALLEL)
   19997              :         return -1;
   19998              :       x6 = XEXP (x4, 0);
   19999              :       operands[1] = x6;
   20000              :       switch (XVECLEN (x5, 0))
   20001              :         {
   20002              :         case 4:
   20003              :           x7 = XVECEXP (x5, 0, 0);
   20004              :           if (GET_CODE (x7) != CONST_INT)
   20005              :             return -1;
   20006              :           x8 = XVECEXP (x5, 0, 1);
   20007              :           if (GET_CODE (x8) != CONST_INT)
   20008              :             return -1;
   20009              :           x9 = XVECEXP (x5, 0, 2);
   20010              :           if (GET_CODE (x9) != CONST_INT)
   20011              :             return -1;
   20012              :           x10 = XVECEXP (x5, 0, 3);
   20013              :           if (GET_CODE (x10) != CONST_INT)
   20014              :             return -1;
   20015              :           switch (pattern1154 (x5))
   20016              :             {
   20017              :             case 0:
   20018              :               if (XWINT (x9, 0) != 2L
   20019              :                   || XWINT (x10, 0) != 3L)
   20020              :                 return -1;
   20021              :               switch (GET_MODE (operands[0]))
   20022              :                 {
   20023              :                 case E_V4DFmode:
   20024              :                   if (!register_operand (operands[0], E_V4DFmode)
   20025              :                       || GET_MODE (x3) != E_V4DFmode)
   20026              :                     return -1;
   20027              :                   switch (GET_MODE (x4))
   20028              :                     {
   20029              :                     case E_V4HFmode:
   20030              :                       if (!register_operand (operands[1], E_V8HFmode)
   20031              :                           || !
   20032              : #line 8394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20033              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   20034              :                         return -1;
   20035              :                       return 4767; /* avx512fp16_float_extend_phv4df2 */
   20036              : 
   20037              :                     case E_V4SFmode:
   20038              :                       if (!nonimmediate_operand (operands[1], E_V8SFmode)
   20039              :                           || !
   20040              : #line 10563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20041              : (TARGET_AVX))
   20042              :                         return -1;
   20043              :                       return 5206; /* *avx_cvtps2pd256_2 */
   20044              : 
   20045              :                     default:
   20046              :                       return -1;
   20047              :                     }
   20048              : 
   20049              :                 case E_V4SFmode:
   20050              :                   if (pattern618 (x3, 
   20051              : E_V8HFmode, 
   20052              : E_V4HFmode, 
   20053              : E_V4SFmode) != 0
   20054              :                       || !
   20055              : #line 8394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20056              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   20057              :                     return -1;
   20058              :                   return 4769; /* avx512fp16_float_extend_phv4sf2 */
   20059              : 
   20060              :                 default:
   20061              :                   return -1;
   20062              :                 }
   20063              : 
   20064              :             case 1:
   20065              :               if (XWINT (x9, 0) != 4L
   20066              :                   || XWINT (x10, 0) != 6L)
   20067              :                 return -1;
   20068              :               switch (pattern1492 (x3))
   20069              :                 {
   20070              :                 case 0:
   20071              :                   if (!
   20072              : #line 32368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20073              : (TARGET_AVXNECONVERT))
   20074              :                     return -1;
   20075              :                   return 10502; /* vcvtneeph2ps_v8hf */
   20076              : 
   20077              :                 case 1:
   20078              :                   if (!
   20079              : #line 32368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20080              : (TARGET_AVXNECONVERT))
   20081              :                     return -1;
   20082              :                   return 10503; /* vcvtneebf162ps_v8bf */
   20083              : 
   20084              :                 default:
   20085              :                   return -1;
   20086              :                 }
   20087              : 
   20088              :             case 2:
   20089              :               switch (pattern1492 (x3))
   20090              :                 {
   20091              :                 case 0:
   20092              :                   if (!
   20093              : #line 32396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20094              : (TARGET_AVXNECONVERT))
   20095              :                     return -1;
   20096              :                   return 10506; /* vcvtneoph2ps_v8hf */
   20097              : 
   20098              :                 case 1:
   20099              :                   if (!
   20100              : #line 32396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20101              : (TARGET_AVXNECONVERT))
   20102              :                     return -1;
   20103              :                   return 10507; /* vcvtneobf162ps_v8bf */
   20104              : 
   20105              :                 default:
   20106              :                   return -1;
   20107              :                 }
   20108              : 
   20109              :             default:
   20110              :               return -1;
   20111              :             }
   20112              : 
   20113              :         case 2:
   20114              :           x7 = XVECEXP (x5, 0, 0);
   20115              :           if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   20116              :             return -1;
   20117              :           x8 = XVECEXP (x5, 0, 1);
   20118              :           if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
   20119              :               || !register_operand (operands[0], E_V2DFmode)
   20120              :               || GET_MODE (x3) != E_V2DFmode)
   20121              :             return -1;
   20122              :           switch (GET_MODE (x4))
   20123              :             {
   20124              :             case E_V2HFmode:
   20125              :               if (!register_operand (operands[1], E_V8HFmode)
   20126              :                   || !
   20127              : #line 8433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20128              : (TARGET_AVX512FP16 && TARGET_AVX512VL))
   20129              :                 return -1;
   20130              :               return 4775; /* avx512fp16_float_extend_phv2df2 */
   20131              : 
   20132              :             case E_V2SFmode:
   20133              :               if (!register_operand (operands[1], E_V4SFmode)
   20134              :                   || !
   20135              : #line 10718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20136              : (TARGET_SSE2 && 1))
   20137              :                 return -1;
   20138              :               return 5250; /* sse2_cvtps2pd */
   20139              : 
   20140              :             default:
   20141              :               return -1;
   20142              :             }
   20143              : 
   20144              :         case 8:
   20145              :           x7 = XVECEXP (x5, 0, 0);
   20146              :           if (GET_CODE (x7) != CONST_INT)
   20147              :             return -1;
   20148              :           x8 = XVECEXP (x5, 0, 1);
   20149              :           if (GET_CODE (x8) != CONST_INT
   20150              :               || pattern929 (x5) != 0)
   20151              :             return -1;
   20152              :           switch (pattern1154 (x5))
   20153              :             {
   20154              :             case 0:
   20155              :               if (pattern1567 (x5) != 0
   20156              :                   || pattern928 (x3, 
   20157              : E_V16SFmode, 
   20158              : E_V8SFmode, 
   20159              : E_V8DFmode) != 0
   20160              :                   || !
   20161              : #line 10578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20162              : (TARGET_AVX512F))
   20163              :                 return -1;
   20164              :               return 5207; /* vec_unpacks_lo_v16sf */
   20165              : 
   20166              :             case 1:
   20167              :               x9 = XVECEXP (x5, 0, 2);
   20168              :               if (XWINT (x9, 0) != 4L)
   20169              :                 return -1;
   20170              :               x10 = XVECEXP (x5, 0, 3);
   20171              :               if (XWINT (x10, 0) != 6L)
   20172              :                 return -1;
   20173              :               x11 = XVECEXP (x5, 0, 4);
   20174              :               if (XWINT (x11, 0) != 8L)
   20175              :                 return -1;
   20176              :               x12 = XVECEXP (x5, 0, 5);
   20177              :               if (XWINT (x12, 0) != 10L)
   20178              :                 return -1;
   20179              :               x13 = XVECEXP (x5, 0, 6);
   20180              :               if (XWINT (x13, 0) != 12L)
   20181              :                 return -1;
   20182              :               x14 = XVECEXP (x5, 0, 7);
   20183              :               if (XWINT (x14, 0) != 14L)
   20184              :                 return -1;
   20185              :               switch (pattern1780 (x3))
   20186              :                 {
   20187              :                 case 0:
   20188              :                   if (!
   20189              : #line 32383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20190              : (TARGET_AVXNECONVERT))
   20191              :                     return -1;
   20192              :                   return 10504; /* vcvtneeph2ps_v16hf */
   20193              : 
   20194              :                 case 1:
   20195              :                   if (!
   20196              : #line 32383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20197              : (TARGET_AVXNECONVERT))
   20198              :                     return -1;
   20199              :                   return 10505; /* vcvtneebf162ps_v16bf */
   20200              : 
   20201              :                 default:
   20202              :                   return -1;
   20203              :                 }
   20204              : 
   20205              :             case 2:
   20206              :               x11 = XVECEXP (x5, 0, 4);
   20207              :               if (XWINT (x11, 0) != 9L)
   20208              :                 return -1;
   20209              :               x12 = XVECEXP (x5, 0, 5);
   20210              :               if (XWINT (x12, 0) != 11L)
   20211              :                 return -1;
   20212              :               x13 = XVECEXP (x5, 0, 6);
   20213              :               if (XWINT (x13, 0) != 13L)
   20214              :                 return -1;
   20215              :               x14 = XVECEXP (x5, 0, 7);
   20216              :               if (XWINT (x14, 0) != 15L)
   20217              :                 return -1;
   20218              :               switch (pattern1780 (x3))
   20219              :                 {
   20220              :                 case 0:
   20221              :                   if (!
   20222              : #line 32411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20223              : (TARGET_AVXNECONVERT))
   20224              :                     return -1;
   20225              :                   return 10508; /* vcvtneoph2ps_v16hf */
   20226              : 
   20227              :                 case 1:
   20228              :                   if (!
   20229              : #line 32411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20230              : (TARGET_AVXNECONVERT))
   20231              :                     return -1;
   20232              :                   return 10509; /* vcvtneobf162ps_v16bf */
   20233              : 
   20234              :                 default:
   20235              :                   return -1;
   20236              :                 }
   20237              : 
   20238              :             default:
   20239              :               return -1;
   20240              :             }
   20241              : 
   20242              :         default:
   20243              :           return -1;
   20244              :         }
   20245              : 
   20246              :     default:
   20247              :       return -1;
   20248              :     }
   20249              : }
   20250              : 
   20251              :  int
   20252              : recog_333 (rtx x1 ATTRIBUTE_UNUSED,
   20253              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20254              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20255              : {
   20256              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20257              :   int res ATTRIBUTE_UNUSED;
   20258              :   switch (pattern30 (x1))
   20259              :     {
   20260              :     case 0:
   20261              :       if (nonimmediate_operand (operands[1], E_V16HImode)
   20262              :           && nonmemory_operand (operands[2], E_DImode)
   20263              :           && (
   20264              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20265              : (TARGET_AVX512VL) && 
   20266              : #line 790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20267              : (TARGET_AVX512BW)))
   20268              :         return 7681; /* *lshrv16hi3 */
   20269              :       if (!register_operand (operands[1], E_V16HImode))
   20270              :         return -1;
   20271              :       if (nonmemory_operand (operands[2], E_DImode)
   20272              :           && (
   20273              : #line 17629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20274              : (TARGET_SSE2) && 
   20275              : #line 767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20276              : (TARGET_AVX2)))
   20277              :         return 7704; /* lshrv16hi3 */
   20278              :       if (!nonimmediate_operand (operands[2], E_V16HImode)
   20279              :           || !(
   20280              : #line 29636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20281              : (TARGET_AVX512BW) && 
   20282              : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20283              : (TARGET_AVX512VL)))
   20284              :         return -1;
   20285              :       return 9674; /* avx512vl_lshrvv16hi */
   20286              : 
   20287              :     case 1:
   20288              :       if (nonimmediate_operand (operands[1], E_V8HImode)
   20289              :           && nonmemory_operand (operands[2], E_DImode)
   20290              :           && (
   20291              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20292              : (TARGET_AVX512VL) && 
   20293              : #line 790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20294              : (TARGET_AVX512BW)))
   20295              :         return 7685; /* *lshrv8hi3 */
   20296              :       if (!register_operand (operands[1], E_V8HImode))
   20297              :         return -1;
   20298              :       if (nonmemory_operand (operands[2], E_DImode)
   20299              :           && 
   20300              : #line 17629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20301              : (TARGET_SSE2))
   20302              :         return 7706; /* lshrv8hi3 */
   20303              :       if (!nonimmediate_operand (operands[2], E_V8HImode)
   20304              :           || !(
   20305              : #line 29636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20306              : (TARGET_AVX512BW) && 
   20307              : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20308              : (TARGET_AVX512VL)))
   20309              :         return -1;
   20310              :       return 9670; /* avx512vl_lshrvv8hi */
   20311              : 
   20312              :     case 2:
   20313              :       if (nonimmediate_operand (operands[1], E_V8SImode)
   20314              :           && nonmemory_operand (operands[2], E_DImode)
   20315              :           && 
   20316              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20317              : (TARGET_AVX512VL))
   20318              :         return 7689; /* *lshrv8si3 */
   20319              :       if (!register_operand (operands[1], E_V8SImode))
   20320              :         return -1;
   20321              :       if (nonmemory_operand (operands[2], E_DImode)
   20322              :           && (
   20323              : #line 17629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20324              : (TARGET_SSE2) && 
   20325              : #line 768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20326              : (TARGET_AVX2)))
   20327              :         return 7708; /* lshrv8si3 */
   20328              :       if (!nonimmediate_operand (operands[2], E_V8SImode)
   20329              :           || !
   20330              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20331              : (TARGET_AVX2 && 1))
   20332              :         return -1;
   20333              :       return 9650; /* avx2_lshrvv8si */
   20334              : 
   20335              :     case 3:
   20336              :       if (nonimmediate_operand (operands[1], E_V4SImode)
   20337              :           && nonmemory_operand (operands[2], E_DImode)
   20338              :           && 
   20339              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20340              : (TARGET_AVX512VL))
   20341              :         return 7693; /* *lshrv4si3 */
   20342              :       if (!register_operand (operands[1], E_V4SImode))
   20343              :         return -1;
   20344              :       if (nonmemory_operand (operands[2], E_DImode)
   20345              :           && 
   20346              : #line 17629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20347              : (TARGET_SSE2))
   20348              :         return 7710; /* lshrv4si3 */
   20349              :       if (!nonimmediate_operand (operands[2], E_V4SImode)
   20350              :           || !
   20351              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20352              : (TARGET_AVX2 && 1))
   20353              :         return -1;
   20354              :       return 9654; /* avx2_lshrvv4si */
   20355              : 
   20356              :     case 4:
   20357              :       if (nonimmediate_operand (operands[1], E_V4DImode)
   20358              :           && nonmemory_operand (operands[2], E_DImode)
   20359              :           && 
   20360              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20361              : (TARGET_AVX512VL))
   20362              :         return 7697; /* *lshrv4di3 */
   20363              :       if (!register_operand (operands[1], E_V4DImode))
   20364              :         return -1;
   20365              :       if (nonmemory_operand (operands[2], E_DImode)
   20366              :           && (
   20367              : #line 17629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20368              : (TARGET_SSE2) && 
   20369              : #line 769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20370              : (TARGET_AVX2)))
   20371              :         return 7712; /* lshrv4di3 */
   20372              :       if (!nonimmediate_operand (operands[2], E_V4DImode)
   20373              :           || !
   20374              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20375              : (TARGET_AVX2 && 1))
   20376              :         return -1;
   20377              :       return 9662; /* avx2_lshrvv4di */
   20378              : 
   20379              :     case 5:
   20380              :       if (nonimmediate_operand (operands[1], E_V2DImode)
   20381              :           && nonmemory_operand (operands[2], E_DImode)
   20382              :           && 
   20383              : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20384              : (TARGET_AVX512VL))
   20385              :         return 7701; /* *lshrv2di3 */
   20386              :       if (!register_operand (operands[1], E_V2DImode))
   20387              :         return -1;
   20388              :       if (nonmemory_operand (operands[2], E_DImode)
   20389              :           && 
   20390              : #line 17629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20391              : (TARGET_SSE2))
   20392              :         return 7714; /* lshrv2di3 */
   20393              :       if (!nonimmediate_operand (operands[2], E_V2DImode)
   20394              :           || !
   20395              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20396              : (TARGET_AVX2 && 1))
   20397              :         return -1;
   20398              :       return 9666; /* avx2_lshrvv2di */
   20399              : 
   20400              :     case 6:
   20401              :       if (nonimmediate_operand (operands[1], E_V32HImode)
   20402              :           && nonmemory_operand (operands[2], E_DImode)
   20403              :           && (
   20404              : #line 17703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20405              : (TARGET_AVX512F) && 
   20406              : #line 777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20407              : (TARGET_AVX512BW)))
   20408              :         return 7721; /* lshrv32hi3 */
   20409              :       if (!register_operand (operands[1], E_V32HImode)
   20410              :           || !nonimmediate_operand (operands[2], E_V32HImode)
   20411              :           || !
   20412              : #line 29636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20413              : (TARGET_AVX512BW))
   20414              :         return -1;
   20415              :       return 9678; /* avx512bw_lshrvv32hi */
   20416              : 
   20417              :     case 7:
   20418              :       if (nonimmediate_operand (operands[1], E_V16SImode)
   20419              :           && nonmemory_operand (operands[2], E_DImode)
   20420              :           && 
   20421              : #line 17703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20422              : (TARGET_AVX512F))
   20423              :         return 7725; /* lshrv16si3 */
   20424              :       if (!register_operand (operands[1], E_V16SImode)
   20425              :           || !nonimmediate_operand (operands[2], E_V16SImode)
   20426              :           || !(
   20427              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20428              : (TARGET_AVX2 && 1) && 
   20429              : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20430              : (TARGET_AVX512F)))
   20431              :         return -1;
   20432              :       return 9646; /* avx512f_lshrvv16si */
   20433              : 
   20434              :     case 8:
   20435              :       if (nonimmediate_operand (operands[1], E_V8DImode)
   20436              :           && nonmemory_operand (operands[2], E_DImode)
   20437              :           && 
   20438              : #line 17703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20439              : (TARGET_AVX512F))
   20440              :         return 7729; /* lshrv8di3 */
   20441              :       if (!register_operand (operands[1], E_V8DImode)
   20442              :           || !nonimmediate_operand (operands[2], E_V8DImode)
   20443              :           || !(
   20444              : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20445              : (TARGET_AVX2 && 1) && 
   20446              : #line 796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20447              : (TARGET_AVX512F)))
   20448              :         return -1;
   20449              :       return 9658; /* avx512f_lshrvv8di */
   20450              : 
   20451              :     case 9:
   20452              :       if (register_operand (operands[1], E_V1TImode)
   20453              :           && const_0_to_255_not_mul_8_operand (operands[2], E_SImode)
   20454              :           && 
   20455              : #line 17807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20456              : (TARGET_SSE2 && TARGET_64BIT
   20457              :    && ix86_pre_reload_split ()))
   20458              :         return 7732; /* *lshrv1ti3_internal */
   20459              :       if (!const_0_to_255_mul_8_operand (operands[2], E_SImode))
   20460              :         return -1;
   20461              :       if (nonimmediate_operand (operands[1], E_V1TImode)
   20462              :           && (
   20463              : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20464              : (TARGET_AVX512BW) && 
   20465              : #line 722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20466              : (TARGET_AVX512VL)))
   20467              :         return 7741; /* avx512bw_lshrv1ti3 */
   20468              :       if (!register_operand (operands[1], E_V1TImode)
   20469              :           || !
   20470              : #line 17937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20471              : (TARGET_SSE2))
   20472              :         return -1;
   20473              :       return 7745; /* sse2_lshrv1ti3 */
   20474              : 
   20475              :     case 10:
   20476              :       if (!
   20477              : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20478              : (TARGET_AVX512BW))
   20479              :         return -1;
   20480              :       return 7737; /* avx512bw_lshrv4ti3 */
   20481              : 
   20482              :     case 11:
   20483              :       if (nonimmediate_operand (operands[1], E_V2TImode)
   20484              :           && (
   20485              : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20486              : (TARGET_AVX512BW) && 
   20487              : #line 722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20488              : (TARGET_AVX512VL)))
   20489              :         return 7739; /* avx512bw_lshrv2ti3 */
   20490              :       if (!register_operand (operands[1], E_V2TImode)
   20491              :           || !(
   20492              : #line 17937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20493              : (TARGET_SSE2) && 
   20494              : #line 725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20495              : (TARGET_AVX2)))
   20496              :         return -1;
   20497              :       return 7743; /* avx2_lshrv2ti3 */
   20498              : 
   20499              :     default:
   20500              :       return -1;
   20501              :     }
   20502              : }
   20503              : 
   20504              :  int
   20505              : recog_338 (rtx x1 ATTRIBUTE_UNUSED,
   20506              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20507              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20508              : {
   20509              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20510              :   rtx x2, x3, x4, x5, x6, x7;
   20511              :   int res ATTRIBUTE_UNUSED;
   20512              :   switch (pattern35 (x1))
   20513              :     {
   20514              :     case 0:
   20515              :       if (!
   20516              : #line 24466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20517              : (TARGET_AVX2 && 1 && 1))
   20518              :         return -1;
   20519              :       return 8799; /* avx2_zero_extendv16qiv16hi2 */
   20520              : 
   20521              :     case 1:
   20522              :       if (!
   20523              : #line 24520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20524              : (TARGET_AVX512BW))
   20525              :         return -1;
   20526              :       return 8807; /* avx512bw_zero_extendv32qiv32hi2 */
   20527              : 
   20528              :     case 2:
   20529              :       if (!
   20530              : #line 24590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20531              : (TARGET_SSE4_1 && 1 && 1))
   20532              :         return -1;
   20533              :       return 8819; /* *sse4_1_zero_extendv8qiv8hi2_1 */
   20534              : 
   20535              :     case 3:
   20536              :       if (!
   20537              : #line 24741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20538              : (TARGET_AVX512F))
   20539              :         return -1;
   20540              :       return 8831; /* *avx512f_zero_extendv16qiv16si2 */
   20541              : 
   20542              :     case 4:
   20543              :       if (!
   20544              : #line 24940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20545              : (TARGET_AVX512F))
   20546              :         return -1;
   20547              :       return 8861; /* avx512f_zero_extendv16hiv16si2 */
   20548              : 
   20549              :     case 5:
   20550              :       if (!
   20551              : #line 24773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20552              : (TARGET_AVX2 && 1))
   20553              :         return -1;
   20554              :       return 8839; /* *avx2_zero_extendv8qiv8si2_1 */
   20555              : 
   20556              :     case 6:
   20557              :       if (!
   20558              : #line 24993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20559              : (TARGET_AVX2 && 1))
   20560              :         return -1;
   20561              :       return 8869; /* avx2_zero_extendv8hiv8si2 */
   20562              : 
   20563              :     case 7:
   20564              :       if (!
   20565              : #line 24861 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20566              : (TARGET_SSE4_1 && 1))
   20567              :         return -1;
   20568              :       return 8851; /* *sse4_1_zero_extendv4qiv4si2_1 */
   20569              : 
   20570              :     case 8:
   20571              :       if (!
   20572              : #line 25063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20573              : (TARGET_SSE4_1 && 1))
   20574              :         return -1;
   20575              :       return 8881; /* *sse4_1_zero_extendv4hiv4si2_1 */
   20576              : 
   20577              :     case 9:
   20578              :       if (!
   20579              : #line 25219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20580              : (TARGET_AVX512F))
   20581              :         return -1;
   20582              :       return 8897; /* *avx512f_zero_extendv8qiv8di2_1 */
   20583              : 
   20584              :     case 10:
   20585              :       if (!
   20586              : #line 25445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20587              : (TARGET_AVX512F))
   20588              :         return -1;
   20589              :       return 8928; /* avx512f_zero_extendv8hiv8di2 */
   20590              : 
   20591              :     case 11:
   20592              :       if (!
   20593              : #line 25635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20594              : (TARGET_AVX512F))
   20595              :         return -1;
   20596              :       return 8956; /* avx512f_zero_extendv8siv8di2 */
   20597              : 
   20598              :     case 12:
   20599              :       if (!
   20600              : #line 25303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20601              : (TARGET_AVX2 && 1))
   20602              :         return -1;
   20603              :       return 8909; /* *avx2_zero_extendv4qiv4di2_1 */
   20604              : 
   20605              :     case 13:
   20606              :       if (!
   20607              : #line 25475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20608              : (TARGET_AVX2 && 1))
   20609              :         return -1;
   20610              :       return 8936; /* *avx2_zero_extendv4hiv4di2_1 */
   20611              : 
   20612              :     case 14:
   20613              :       if (!
   20614              : #line 25686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20615              : (TARGET_AVX2 && 1))
   20616              :         return -1;
   20617              :       return 8962; /* avx2_zero_extendv4siv4di2 */
   20618              : 
   20619              :     case 15:
   20620              :       if (!
   20621              : #line 25394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20622              : (TARGET_SSE4_1 && 1))
   20623              :         return -1;
   20624              :       return 8921; /* *sse4_1_zero_extendv2qiv2di2_1 */
   20625              : 
   20626              :     case 16:
   20627              :       if (!
   20628              : #line 25558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20629              : (TARGET_SSE4_1 && 1))
   20630              :         return -1;
   20631              :       return 8948; /* *sse4_1_zero_extendv2hiv2di2_1 */
   20632              : 
   20633              :     case 17:
   20634              :       if (!
   20635              : #line 25752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20636              : (TARGET_SSE4_1 && 1))
   20637              :         return -1;
   20638              :       return 8972; /* *sse4_1_zero_extendv2siv2di2_1 */
   20639              : 
   20640              :     case 18:
   20641              :       x2 = XEXP (x1, 1);
   20642              :       x3 = XEXP (x2, 0);
   20643              :       x4 = XEXP (x3, 0);
   20644              :       operands[1] = x4;
   20645              :       switch (pattern545 (x2))
   20646              :         {
   20647              :         case 0:
   20648              :           if (
   20649              : #line 24578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20650              : (TARGET_SSE4_1 && 1 && 1))
   20651              :             return 8815; /* sse4_1_zero_extendv8qiv8hi2 */
   20652              :           break;
   20653              : 
   20654              :         case 1:
   20655              :           if (
   20656              : #line 24762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20657              : (TARGET_AVX2 && 1))
   20658              :             return 8835; /* avx2_zero_extendv8qiv8si2 */
   20659              :           break;
   20660              : 
   20661              :         case 2:
   20662              :           if (
   20663              : #line 25209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20664              : (TARGET_AVX512F))
   20665              :             return 8893; /* avx512f_zero_extendv8qiv8di2 */
   20666              :           break;
   20667              : 
   20668              :         case 3:
   20669              :           if (
   20670              : #line 24849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20671              : (TARGET_SSE4_1 && 1))
   20672              :             return 8847; /* sse4_1_zero_extendv4qiv4si2 */
   20673              :           break;
   20674              : 
   20675              :         case 4:
   20676              :           if (
   20677              : #line 25051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20678              : (TARGET_SSE4_1 && 1))
   20679              :             return 8877; /* sse4_1_zero_extendv4hiv4si2 */
   20680              :           break;
   20681              : 
   20682              :         case 5:
   20683              :           if (
   20684              : #line 25292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20685              : (TARGET_AVX2 && 1))
   20686              :             return 8905; /* avx2_zero_extendv4qiv4di2 */
   20687              :           break;
   20688              : 
   20689              :         case 6:
   20690              :           if (
   20691              : #line 25464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20692              : (TARGET_AVX2 && 1))
   20693              :             return 8932; /* avx2_zero_extendv4hiv4di2 */
   20694              :           break;
   20695              : 
   20696              :         case 7:
   20697              :           if (
   20698              : #line 25382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20699              : (TARGET_SSE4_1 && 1))
   20700              :             return 8917; /* sse4_1_zero_extendv2qiv2di2 */
   20701              :           break;
   20702              : 
   20703              :         case 8:
   20704              :           if (
   20705              : #line 25546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20706              : (TARGET_SSE4_1 && 1))
   20707              :             return 8944; /* sse4_1_zero_extendv2hiv2di2 */
   20708              :           break;
   20709              : 
   20710              :         case 9:
   20711              :           if (
   20712              : #line 25740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20713              : (TARGET_SSE4_1 && 1))
   20714              :             return 8968; /* sse4_1_zero_extendv2siv2di2 */
   20715              :           break;
   20716              : 
   20717              :         default:
   20718              :           break;
   20719              :         }
   20720              :       if (GET_CODE (x4) != SUBREG
   20721              :           || maybe_ne (SUBREG_BYTE (x4), 0))
   20722              :         return -1;
   20723              :       x5 = XEXP (x4, 0);
   20724              :       switch (GET_CODE (x5))
   20725              :         {
   20726              :         case VEC_CONCAT:
   20727              :           switch (pattern689 (x2))
   20728              :             {
   20729              :             case 0:
   20730              :               if (!
   20731              : #line 24614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20732              : (TARGET_SSE4_1
   20733              :    && ix86_pre_reload_split ()))
   20734              :                 return -1;
   20735              :               return 8822; /* *sse4_1_zero_extendv8qiv8hi2_2 */
   20736              : 
   20737              :             case 1:
   20738              :               if (!
   20739              : #line 24792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20740              : (TARGET_AVX2
   20741              :    && ix86_pre_reload_split ()))
   20742              :                 return -1;
   20743              :               return 8842; /* *avx2_zero_extendv8qiv8si2_2 */
   20744              : 
   20745              :             case 2:
   20746              :               if (!
   20747              : #line 25237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20748              : (TARGET_AVX512F && ix86_pre_reload_split ()))
   20749              :                 return -1;
   20750              :               return 8900; /* *avx512f_zero_extendv8qiv8di2_2 */
   20751              : 
   20752              :             case 3:
   20753              :               if (!
   20754              : #line 25082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20755              : (TARGET_SSE4_1
   20756              :    && ix86_pre_reload_split ()))
   20757              :                 return -1;
   20758              :               return 8884; /* *sse4_1_zero_extendv4hiv4si2_2 */
   20759              : 
   20760              :             case 4:
   20761              :               if (!
   20762              : #line 25492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20763              : (TARGET_AVX2
   20764              :    && ix86_pre_reload_split ()))
   20765              :                 return -1;
   20766              :               return 8939; /* *avx2_zero_extendv4hiv4di2_2 */
   20767              : 
   20768              :             case 5:
   20769              :               if (!
   20770              : #line 25770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20771              : (TARGET_SSE4_1
   20772              :    && ix86_pre_reload_split ()))
   20773              :                 return -1;
   20774              :               return 8975; /* *sse4_1_zero_extendv2siv2di2_2 */
   20775              : 
   20776              :             default:
   20777              :               return -1;
   20778              :             }
   20779              : 
   20780              :         case VEC_MERGE:
   20781              :           x6 = XEXP (x5, 0);
   20782              :           if (GET_CODE (x6) != VEC_DUPLICATE)
   20783              :             return -1;
   20784              :           if (GET_MODE (x6) == E_V4SImode)
   20785              :             {
   20786              :               switch (pattern1042 (x2))
   20787              :                 {
   20788              :                 case 0:
   20789              :                   if (
   20790              : #line 24884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20791              : (TARGET_SSE4_1 && 1
   20792              :    && ix86_pre_reload_split ()))
   20793              :                     return 8855; /* *sse4_1_zero_extendv4qiv4si2_2 */
   20794              :                   break;
   20795              : 
   20796              :                 case 1:
   20797              :                   if (
   20798              : #line 25324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20799              : (TARGET_AVX2
   20800              :    && ix86_pre_reload_split ()))
   20801              :                     return 8912; /* *avx2_zero_extendv4qiv4di2_2 */
   20802              :                   break;
   20803              : 
   20804              :                 case 2:
   20805              :                   if (
   20806              : #line 25580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20807              : (TARGET_SSE4_1
   20808              :    && ix86_pre_reload_split ()))
   20809              :                     return 8951; /* *sse4_1_zero_extendv2hiv2di2_2 */
   20810              :                   break;
   20811              : 
   20812              :                 default:
   20813              :                   break;
   20814              :                 }
   20815              :             }
   20816              :           x7 = XEXP (x5, 2);
   20817              :           if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   20818              :             return -1;
   20819              :           switch (pattern1043 (x2))
   20820              :             {
   20821              :             case 0:
   20822              :               if (!
   20823              : #line 25429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20824              : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
   20825              :                 return -1;
   20826              :               return 8923; /* *sse4_1_zero_extendv2qiv2di2_2 */
   20827              : 
   20828              :             case 1:
   20829              :               if (!
   20830              : #line 25429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20831              : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
   20832              :                 return -1;
   20833              :               return 8924; /* *sse4_1_zero_extendv2qiv2di2_2 */
   20834              : 
   20835              :             case 2:
   20836              :               if (!
   20837              : #line 25429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20838              : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
   20839              :                 return -1;
   20840              :               return 8925; /* *sse4_1_zero_extendv2qiv2di2_2 */
   20841              : 
   20842              :             default:
   20843              :               return -1;
   20844              :             }
   20845              : 
   20846              :         default:
   20847              :           return -1;
   20848              :         }
   20849              : 
   20850              :     default:
   20851              :       return -1;
   20852              :     }
   20853              : }
   20854              : 
   20855              :  int
   20856              : recog_349 (rtx x1 ATTRIBUTE_UNUSED,
   20857              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   20858              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   20859              : {
   20860              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   20861              :   rtx x2, x3, x4;
   20862              :   int res ATTRIBUTE_UNUSED;
   20863              :   x2 = XEXP (x1, 0);
   20864              :   operands[0] = x2;
   20865              :   x3 = XEXP (x1, 1);
   20866              :   x4 = XEXP (x3, 0);
   20867              :   switch (GET_CODE (x4))
   20868              :     {
   20869              :     case REG:
   20870              :     case SUBREG:
   20871              :     case MEM:
   20872              :     case VEC_DUPLICATE:
   20873              :       switch (pattern190 (x3))
   20874              :         {
   20875              :         case 0:
   20876              :           if (!(
   20877              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20878              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V32HFmode, operands)
   20879              :    && 1 && 1) && 
   20880              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20881              : (TARGET_AVX512FP16)))
   20882              :             return -1;
   20883              :           return 2749; /* *subv32hf3 */
   20884              : 
   20885              :         case 1:
   20886              :           if (!(
   20887              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20888              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16HFmode, operands)
   20889              :    && 1 && 1) && 
   20890              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20891              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   20892              :             return -1;
   20893              :           return 2757; /* *subv16hf3 */
   20894              : 
   20895              :         case 2:
   20896              :           if (!(
   20897              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20898              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8HFmode, operands)
   20899              :    && 1 && 1) && 
   20900              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20901              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   20902              :             return -1;
   20903              :           return 2765; /* *subv8hf3 */
   20904              : 
   20905              :         case 3:
   20906              :           if (!(
   20907              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20908              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16SFmode, operands)
   20909              :    && 1 && 1) && 
   20910              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20911              : (TARGET_AVX512F)))
   20912              :             return -1;
   20913              :           return 2773; /* *subv16sf3 */
   20914              : 
   20915              :         case 4:
   20916              :           if (!(
   20917              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20918              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8SFmode, operands)
   20919              :    && 1 && 1) && 
   20920              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20921              : (TARGET_AVX)))
   20922              :             return -1;
   20923              :           return 2781; /* *subv8sf3 */
   20924              : 
   20925              :         case 5:
   20926              :           if (!
   20927              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20928              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4SFmode, operands)
   20929              :    && 1 && 1))
   20930              :             return -1;
   20931              :           return 2789; /* *subv4sf3 */
   20932              : 
   20933              :         case 6:
   20934              :           if (!(
   20935              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20936              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8DFmode, operands)
   20937              :    && 1 && 1) && 
   20938              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20939              : (TARGET_AVX512F)))
   20940              :             return -1;
   20941              :           return 2797; /* *subv8df3 */
   20942              : 
   20943              :         case 7:
   20944              :           if (!(
   20945              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20946              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4DFmode, operands)
   20947              :    && 1 && 1) && 
   20948              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20949              : (TARGET_AVX)))
   20950              :             return -1;
   20951              :           return 2805; /* *subv4df3 */
   20952              : 
   20953              :         case 8:
   20954              :           if (!(
   20955              : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20956              : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V2DFmode, operands)
   20957              :    && 1 && 1) && 
   20958              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20959              : (TARGET_SSE2)))
   20960              :             return -1;
   20961              :           return 2813; /* *subv2df3 */
   20962              : 
   20963              :         case 9:
   20964              :           if (!(
   20965              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20966              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V64QImode, operands)) && 
   20967              : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20968              : (TARGET_AVX512BW)))
   20969              :             return -1;
   20970              :           return 7499; /* *subv64qi3 */
   20971              : 
   20972              :         case 10:
   20973              :           if (!(
   20974              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20975              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V32QImode, operands)) && 
   20976              : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20977              : (TARGET_AVX2)))
   20978              :             return -1;
   20979              :           return 7501; /* *subv32qi3 */
   20980              : 
   20981              :         case 11:
   20982              :           if (!
   20983              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20984              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V16QImode, operands)))
   20985              :             return -1;
   20986              :           return 7503; /* *subv16qi3 */
   20987              : 
   20988              :         case 12:
   20989              :           if (!(
   20990              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20991              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V32HImode, operands)) && 
   20992              : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   20993              : (TARGET_AVX512BW)))
   20994              :             return -1;
   20995              :           return 7505; /* *subv32hi3 */
   20996              : 
   20997              :         case 13:
   20998              :           if (!(
   20999              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21000              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V16HImode, operands)) && 
   21001              : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21002              : (TARGET_AVX2)))
   21003              :             return -1;
   21004              :           return 7507; /* *subv16hi3 */
   21005              : 
   21006              :         case 14:
   21007              :           if (!
   21008              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21009              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V8HImode, operands)))
   21010              :             return -1;
   21011              :           return 7509; /* *subv8hi3 */
   21012              : 
   21013              :         case 15:
   21014              :           if (!(
   21015              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21016              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V16SImode, operands)) && 
   21017              : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21018              : (TARGET_AVX512F)))
   21019              :             return -1;
   21020              :           return 7511; /* *subv16si3 */
   21021              : 
   21022              :         case 16:
   21023              :           if (!(
   21024              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21025              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V8SImode, operands)) && 
   21026              : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21027              : (TARGET_AVX2)))
   21028              :             return -1;
   21029              :           return 7513; /* *subv8si3 */
   21030              : 
   21031              :         case 17:
   21032              :           if (!
   21033              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21034              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V4SImode, operands)))
   21035              :             return -1;
   21036              :           return 7515; /* *subv4si3 */
   21037              : 
   21038              :         case 18:
   21039              :           if (!(
   21040              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21041              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V8DImode, operands)) && 
   21042              : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21043              : (TARGET_AVX512F)))
   21044              :             return -1;
   21045              :           return 7517; /* *subv8di3 */
   21046              : 
   21047              :         case 19:
   21048              :           if (!(
   21049              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21050              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V4DImode, operands)) && 
   21051              : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21052              : (TARGET_AVX2)))
   21053              :             return -1;
   21054              :           return 7519; /* *subv4di3 */
   21055              : 
   21056              :         case 20:
   21057              :           if (!
   21058              : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21059              : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V2DImode, operands)))
   21060              :             return -1;
   21061              :           return 7521; /* *subv2di3 */
   21062              : 
   21063              :         case 21:
   21064              :           if (!
   21065              : #line 32831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21066              : (TARGET_AVX10_2))
   21067              :             return -1;
   21068              :           return 10679; /* avx10_2_subbf16_v32bf */
   21069              : 
   21070              :         case 22:
   21071              :           if (!
   21072              : #line 32831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21073              : (TARGET_AVX10_2))
   21074              :             return -1;
   21075              :           return 10687; /* avx10_2_subbf16_v16bf */
   21076              : 
   21077              :         case 23:
   21078              :           if (!
   21079              : #line 32831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21080              : (TARGET_AVX10_2))
   21081              :             return -1;
   21082              :           return 10695; /* avx10_2_subbf16_v8bf */
   21083              : 
   21084              :         default:
   21085              :           return -1;
   21086              :         }
   21087              : 
   21088              :     case VEC_SELECT:
   21089              :       switch (pattern197 (x3))
   21090              :         {
   21091              :         case 0:
   21092              :           if (!
   21093              : #line 22922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21094              : (TARGET_AVX2))
   21095              :             return -1;
   21096              :           return 8633; /* avx2_phsubwv16hi3 */
   21097              : 
   21098              :         case 1:
   21099              :           if (!
   21100              : #line 22945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21101              : (TARGET_SSSE3))
   21102              :             return -1;
   21103              :           return 8637; /* ssse3_phsubwv8hi3 */
   21104              : 
   21105              :         case 2:
   21106              :           if (!
   21107              : #line 23012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21108              : (TARGET_AVX2))
   21109              :             return -1;
   21110              :           return 8644; /* avx2_phsubdv8si3 */
   21111              : 
   21112              :         case 3:
   21113              :           if (!
   21114              : #line 23033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21115              : (TARGET_SSSE3))
   21116              :             return -1;
   21117              :           return 8646; /* ssse3_phsubdv4si3 */
   21118              : 
   21119              :         default:
   21120              :           return -1;
   21121              :         }
   21122              : 
   21123              :     case SIGN_EXTEND:
   21124              :       switch (pattern199 (x3, 
   21125              : SIGN_EXTEND))
   21126              :         {
   21127              :         case 0:
   21128              :           if (!
   21129              : #line 27047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21130              : (TARGET_XOP))
   21131              :             return -1;
   21132              :           return 9079; /* xop_phsubbw */
   21133              : 
   21134              :         case 1:
   21135              :           if (!
   21136              : #line 27067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21137              : (TARGET_XOP))
   21138              :             return -1;
   21139              :           return 9080; /* xop_phsubwd */
   21140              : 
   21141              :         case 2:
   21142              :           if (!
   21143              : #line 27085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21144              : (TARGET_XOP))
   21145              :             return -1;
   21146              :           return 9081; /* xop_phsubdq */
   21147              : 
   21148              :         default:
   21149              :           return -1;
   21150              :         }
   21151              : 
   21152              :     default:
   21153              :       return -1;
   21154              :     }
   21155              : }
   21156              : 
   21157              :  int
   21158              : recog_356 (rtx x1 ATTRIBUTE_UNUSED,
   21159              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21160              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21161              : {
   21162              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21163              :   rtx x2, x3, x4, x5;
   21164              :   int res ATTRIBUTE_UNUSED;
   21165              :   x2 = XEXP (x1, 0);
   21166              :   operands[0] = x2;
   21167              :   x3 = XEXP (x1, 1);
   21168              :   x4 = XEXP (x3, 0);
   21169              :   operands[1] = x4;
   21170              :   x5 = XEXP (x3, 1);
   21171              :   operands[2] = x5;
   21172              :   switch (GET_MODE (operands[0]))
   21173              :     {
   21174              :     case E_V32HFmode:
   21175              :       if (pattern516 (x3, 
   21176              : E_V32HFmode) != 0
   21177              :           || !(
   21178              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21179              : (TARGET_SSE && 1 && 1) && 
   21180              : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21181              : (TARGET_AVX512FP16)))
   21182              :         return -1;
   21183              :       return 2913; /* avx512fp16_divv32hf3 */
   21184              : 
   21185              :     case E_V16HFmode:
   21186              :       if (pattern516 (x3, 
   21187              : E_V16HFmode) != 0
   21188              :           || !(
   21189              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21190              : (TARGET_SSE && 1 && 1) && 
   21191              : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21192              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   21193              :         return -1;
   21194              :       return 2917; /* avx512fp16_divv16hf3 */
   21195              : 
   21196              :     case E_V8HFmode:
   21197              :       if (pattern516 (x3, 
   21198              : E_V8HFmode) != 0
   21199              :           || !(
   21200              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21201              : (TARGET_SSE && 1 && 1) && 
   21202              : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21203              : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
   21204              :         return -1;
   21205              :       return 2919; /* avx512fp16_divv8hf3 */
   21206              : 
   21207              :     case E_V16SFmode:
   21208              :       if (pattern516 (x3, 
   21209              : E_V16SFmode) != 0
   21210              :           || !(
   21211              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21212              : (TARGET_SSE && 1 && 1) && 
   21213              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21214              : (TARGET_AVX512F)))
   21215              :         return -1;
   21216              :       return 2921; /* avx512f_divv16sf3 */
   21217              : 
   21218              :     case E_V8SFmode:
   21219              :       if (pattern516 (x3, 
   21220              : E_V8SFmode) != 0
   21221              :           || !(
   21222              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21223              : (TARGET_SSE && 1 && 1) && 
   21224              : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21225              : (TARGET_AVX)))
   21226              :         return -1;
   21227              :       return 2925; /* avx_divv8sf3 */
   21228              : 
   21229              :     case E_V4SFmode:
   21230              :       if (pattern516 (x3, 
   21231              : E_V4SFmode) != 0
   21232              :           || !
   21233              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21234              : (TARGET_SSE && 1 && 1))
   21235              :         return -1;
   21236              :       return 2927; /* sse_divv4sf3 */
   21237              : 
   21238              :     case E_V8DFmode:
   21239              :       if (pattern516 (x3, 
   21240              : E_V8DFmode) != 0
   21241              :           || !(
   21242              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21243              : (TARGET_SSE && 1 && 1) && 
   21244              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21245              : (TARGET_AVX512F)))
   21246              :         return -1;
   21247              :       return 2929; /* avx512f_divv8df3 */
   21248              : 
   21249              :     case E_V4DFmode:
   21250              :       if (pattern516 (x3, 
   21251              : E_V4DFmode) != 0
   21252              :           || !(
   21253              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21254              : (TARGET_SSE && 1 && 1) && 
   21255              : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21256              : (TARGET_AVX)))
   21257              :         return -1;
   21258              :       return 2933; /* avx_divv4df3 */
   21259              : 
   21260              :     case E_V2DFmode:
   21261              :       if (pattern516 (x3, 
   21262              : E_V2DFmode) != 0
   21263              :           || !(
   21264              : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21265              : (TARGET_SSE && 1 && 1) && 
   21266              : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21267              : (TARGET_SSE2)))
   21268              :         return -1;
   21269              :       return 2935; /* sse2_divv2df3 */
   21270              : 
   21271              :     case E_V32BFmode:
   21272              :       if (pattern12 (x3, 
   21273              : E_V32BFmode) != 0
   21274              :           || !
   21275              : #line 32831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21276              : (TARGET_AVX10_2))
   21277              :         return -1;
   21278              :       return 10683; /* avx10_2_divbf16_v32bf */
   21279              : 
   21280              :     case E_V16BFmode:
   21281              :       if (pattern12 (x3, 
   21282              : E_V16BFmode) != 0
   21283              :           || !
   21284              : #line 32831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21285              : (TARGET_AVX10_2))
   21286              :         return -1;
   21287              :       return 10691; /* avx10_2_divbf16_v16bf */
   21288              : 
   21289              :     case E_V8BFmode:
   21290              :       if (pattern12 (x3, 
   21291              : E_V8BFmode) != 0
   21292              :           || !
   21293              : #line 32831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   21294              : (TARGET_AVX10_2))
   21295              :         return -1;
   21296              :       return 10699; /* avx10_2_divbf16_v8bf */
   21297              : 
   21298              :     default:
   21299              :       return -1;
   21300              :     }
   21301              : }
   21302              : 
   21303              :  int
   21304              : recog_365 (rtx x1 ATTRIBUTE_UNUSED,
   21305              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21306              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21307              : {
   21308              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21309              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   21310              :   rtx x10, x11;
   21311              :   int res ATTRIBUTE_UNUSED;
   21312              :   x2 = XVECEXP (x1, 0, 0);
   21313              :   x3 = XEXP (x2, 0);
   21314              :   switch (GET_CODE (x3))
   21315              :     {
   21316              :     case REG:
   21317              :     case SUBREG:
   21318              :     case MEM:
   21319              :       res = recog_363 (x1, insn, pnum_clobbers);
   21320              :       if (res >= 0)
   21321              :         return res;
   21322              :       break;
   21323              : 
   21324              :     case STRICT_LOW_PART:
   21325              :       x4 = XVECEXP (x1, 0, 1);
   21326              :       if (pattern236 (x4, 
   21327              : E_CCmode, 
   21328              : 17) == 0)
   21329              :         {
   21330              :           x5 = XEXP (x3, 0);
   21331              :           operands[0] = x5;
   21332              :           x6 = XEXP (x2, 1);
   21333              :           operands[1] = x6;
   21334              :           switch (GET_MODE (operands[0]))
   21335              :             {
   21336              :             case E_QImode:
   21337              :               if (register_operand (operands[0], E_QImode)
   21338              :                   && const0_operand (operands[1], E_QImode)
   21339              :                   && 
   21340              : #line 3467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21341              : (reload_completed))
   21342              :                 return 117; /* *movstrictqi_xor */
   21343              :               break;
   21344              : 
   21345              :             case E_HImode:
   21346              :               if (register_operand (operands[0], E_HImode)
   21347              :                   && const0_operand (operands[1], E_HImode)
   21348              :                   && 
   21349              : #line 3467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21350              : (reload_completed))
   21351              :                 return 118; /* *movstricthi_xor */
   21352              :               break;
   21353              : 
   21354              :             default:
   21355              :               break;
   21356              :             }
   21357              :         }
   21358              :       break;
   21359              : 
   21360              :     case PC:
   21361              :       res = recog_364 (x1, insn, pnum_clobbers);
   21362              :       if (res >= 0)
   21363              :         return res;
   21364              :       break;
   21365              : 
   21366              :     default:
   21367              :       break;
   21368              :     }
   21369              :   x4 = XVECEXP (x1, 0, 1);
   21370              :   if (GET_CODE (x4) != CLOBBER)
   21371              :     return -1;
   21372              :   x7 = XEXP (x4, 0);
   21373              :   if (GET_CODE (x7) != REG
   21374              :       || REGNO (x7) != 17
   21375              :       || GET_MODE (x7) != E_CCmode)
   21376              :     return -1;
   21377              :   x6 = XEXP (x2, 1);
   21378              :   switch (GET_CODE (x6))
   21379              :     {
   21380              :     case SUBREG:
   21381              :       if (maybe_ne (SUBREG_BYTE (x6), 0))
   21382              :         return -1;
   21383              :       switch (pattern1047 (x2))
   21384              :         {
   21385              :         case 0:
   21386              :           x8 = XEXP (x6, 0);
   21387              :           x9 = XEXP (x8, 1);
   21388              :           operands[2] = x9;
   21389              :           if (general_operand (operands[2], E_QImode))
   21390              :             {
   21391              :               switch (pattern1045 (x2))
   21392              :                 {
   21393              :                 case 0:
   21394              :                   return 337; /* *addqi_exthi_1 */
   21395              : 
   21396              :                 case 1:
   21397              :                   return 338; /* *addqi_extsi_1 */
   21398              : 
   21399              :                 case 2:
   21400              :                   if (
   21401              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21402              : (TARGET_64BIT))
   21403              :                     return 339; /* *addqi_extdi_1 */
   21404              :                   break;
   21405              : 
   21406              :                 default:
   21407              :                   break;
   21408              :                 }
   21409              :             }
   21410              :           if (GET_CODE (x9) != SUBREG)
   21411              :             return -1;
   21412              :           switch (pattern1814 (x2))
   21413              :             {
   21414              :             case 0:
   21415              :               return 340; /* *addqi_exthi_2 */
   21416              : 
   21417              :             case 1:
   21418              :               return 342; /* *addqi_extsi_2 */
   21419              : 
   21420              :             case 2:
   21421              :               if (!
   21422              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21423              : (TARGET_64BIT))
   21424              :                 return -1;
   21425              :               return 344; /* *addqi_extdi_2 */
   21426              : 
   21427              :             default:
   21428              :               return -1;
   21429              :             }
   21430              : 
   21431              :         case 1:
   21432              :           x8 = XEXP (x6, 0);
   21433              :           x9 = XEXP (x8, 1);
   21434              :           if (GET_CODE (x9) == SUBREG)
   21435              :             {
   21436              :               switch (pattern1814 (x2))
   21437              :                 {
   21438              :                 case 0:
   21439              :                   return 341; /* *subqi_exthi_2 */
   21440              : 
   21441              :                 case 1:
   21442              :                   return 343; /* *subqi_extsi_2 */
   21443              : 
   21444              :                 case 2:
   21445              :                   if (
   21446              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21447              : (TARGET_64BIT))
   21448              :                     return 345; /* *subqi_extdi_2 */
   21449              :                   break;
   21450              : 
   21451              :                 default:
   21452              :                   break;
   21453              :                 }
   21454              :             }
   21455              :           operands[2] = x9;
   21456              :           if (!general_operand (operands[2], E_QImode))
   21457              :             return -1;
   21458              :           switch (pattern1045 (x2))
   21459              :             {
   21460              :             case 0:
   21461              :               return 426; /* *subqi_exthi_1 */
   21462              : 
   21463              :             case 1:
   21464              :               return 427; /* *subqi_extsi_1 */
   21465              : 
   21466              :             case 2:
   21467              :               if (!
   21468              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21469              : (TARGET_64BIT))
   21470              :                 return -1;
   21471              :               return 428; /* *subqi_extdi_1 */
   21472              : 
   21473              :             default:
   21474              :               return -1;
   21475              :             }
   21476              : 
   21477              :         case 2:
   21478              :           x8 = XEXP (x6, 0);
   21479              :           x9 = XEXP (x8, 1);
   21480              :           operands[2] = x9;
   21481              :           if (general_operand (operands[2], E_QImode))
   21482              :             {
   21483              :               switch (pattern1045 (x2))
   21484              :                 {
   21485              :                 case 0:
   21486              :                   return 801; /* *andqi_exthi_1 */
   21487              : 
   21488              :                 case 1:
   21489              :                   return 804; /* *andqi_extsi_1 */
   21490              : 
   21491              :                 case 2:
   21492              :                   if (
   21493              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21494              : (TARGET_64BIT))
   21495              :                     return 807; /* *andqi_extdi_1 */
   21496              :                   break;
   21497              : 
   21498              :                 default:
   21499              :                   break;
   21500              :                 }
   21501              :             }
   21502              :           if (GET_CODE (x9) != SUBREG)
   21503              :             return -1;
   21504              :           switch (pattern1814 (x2))
   21505              :             {
   21506              :             case 0:
   21507              :               return 819; /* *andqi_exthi_2 */
   21508              : 
   21509              :             case 1:
   21510              :               return 822; /* *andqi_extsi_2 */
   21511              : 
   21512              :             case 2:
   21513              :               if (!
   21514              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21515              : (TARGET_64BIT))
   21516              :                 return -1;
   21517              :               return 825; /* *andqi_extdi_2 */
   21518              : 
   21519              :             default:
   21520              :               return -1;
   21521              :             }
   21522              : 
   21523              :         case 3:
   21524              :           x8 = XEXP (x6, 0);
   21525              :           x9 = XEXP (x8, 1);
   21526              :           operands[2] = x9;
   21527              :           if (general_operand (operands[2], E_QImode))
   21528              :             {
   21529              :               switch (pattern1045 (x2))
   21530              :                 {
   21531              :                 case 0:
   21532              :                   return 802; /* *iorqi_exthi_1 */
   21533              : 
   21534              :                 case 1:
   21535              :                   return 805; /* *iorqi_extsi_1 */
   21536              : 
   21537              :                 case 2:
   21538              :                   if (
   21539              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21540              : (TARGET_64BIT))
   21541              :                     return 808; /* *iorqi_extdi_1 */
   21542              :                   break;
   21543              : 
   21544              :                 default:
   21545              :                   break;
   21546              :                 }
   21547              :             }
   21548              :           if (GET_CODE (x9) != SUBREG)
   21549              :             return -1;
   21550              :           switch (pattern1814 (x2))
   21551              :             {
   21552              :             case 0:
   21553              :               return 820; /* *iorqi_exthi_2 */
   21554              : 
   21555              :             case 1:
   21556              :               return 823; /* *iorqi_extsi_2 */
   21557              : 
   21558              :             case 2:
   21559              :               if (!
   21560              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21561              : (TARGET_64BIT))
   21562              :                 return -1;
   21563              :               return 826; /* *iorqi_extdi_2 */
   21564              : 
   21565              :             default:
   21566              :               return -1;
   21567              :             }
   21568              : 
   21569              :         case 4:
   21570              :           x8 = XEXP (x6, 0);
   21571              :           x9 = XEXP (x8, 1);
   21572              :           operands[2] = x9;
   21573              :           if (general_operand (operands[2], E_QImode))
   21574              :             {
   21575              :               switch (pattern1045 (x2))
   21576              :                 {
   21577              :                 case 0:
   21578              :                   return 803; /* *xorqi_exthi_1 */
   21579              : 
   21580              :                 case 1:
   21581              :                   return 806; /* *xorqi_extsi_1 */
   21582              : 
   21583              :                 case 2:
   21584              :                   if (
   21585              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21586              : (TARGET_64BIT))
   21587              :                     return 809; /* *xorqi_extdi_1 */
   21588              :                   break;
   21589              : 
   21590              :                 default:
   21591              :                   break;
   21592              :                 }
   21593              :             }
   21594              :           if (GET_CODE (x9) != SUBREG)
   21595              :             return -1;
   21596              :           switch (pattern1814 (x2))
   21597              :             {
   21598              :             case 0:
   21599              :               return 821; /* *xorqi_exthi_2 */
   21600              : 
   21601              :             case 1:
   21602              :               return 824; /* *xorqi_extsi_2 */
   21603              : 
   21604              :             case 2:
   21605              :               if (!
   21606              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21607              : (TARGET_64BIT))
   21608              :                 return -1;
   21609              :               return 827; /* *xorqi_extdi_2 */
   21610              : 
   21611              :             default:
   21612              :               return -1;
   21613              :             }
   21614              : 
   21615              :         case 5:
   21616              :           return 1020; /* *negqi_exthi_1 */
   21617              : 
   21618              :         case 6:
   21619              :           return 1021; /* *negqi_extsi_1 */
   21620              : 
   21621              :         case 7:
   21622              :           if (!
   21623              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21624              : (TARGET_64BIT))
   21625              :             return -1;
   21626              :           return 1022; /* *negqi_extdi_1 */
   21627              : 
   21628              :         case 8:
   21629              :           return 1151; /* *ashlqi_exthi_1 */
   21630              : 
   21631              :         case 9:
   21632              :           return 1152; /* *ashlqi_extsi_1 */
   21633              : 
   21634              :         case 10:
   21635              :           if (!
   21636              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21637              : (TARGET_64BIT))
   21638              :             return -1;
   21639              :           return 1153; /* *ashlqi_extdi_1 */
   21640              : 
   21641              :         case 11:
   21642              :           operands[0] = x3;
   21643              :           switch (pattern1240 (x6))
   21644              :             {
   21645              :             case 0:
   21646              :               if ((
   21647              : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21648              : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) && 
   21649              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21650              : (!TARGET_64BIT)))
   21651              :                 return 1170; /* lshrdi3_doubleword_lowpart */
   21652              :               break;
   21653              : 
   21654              :             case 1:
   21655              :               if ((
   21656              : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21657              : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) && 
   21658              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21659              : (TARGET_64BIT)))
   21660              :                 return 1172; /* lshrti3_doubleword_lowpart */
   21661              :               break;
   21662              : 
   21663              :             default:
   21664              :               break;
   21665              :             }
   21666              :           x8 = XEXP (x6, 0);
   21667              :           if (GET_MODE (x8) != E_QImode)
   21668              :             return -1;
   21669              :           switch (pattern1046 (x2))
   21670              :             {
   21671              :             case 0:
   21672              :               return 1270; /* *lshrqi_exthi_1 */
   21673              : 
   21674              :             case 1:
   21675              :               return 1272; /* *lshrqi_extsi_1 */
   21676              : 
   21677              :             case 2:
   21678              :               if (!
   21679              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21680              : (TARGET_64BIT))
   21681              :                 return -1;
   21682              :               return 1274; /* *lshrqi_extdi_1 */
   21683              : 
   21684              :             default:
   21685              :               return -1;
   21686              :             }
   21687              : 
   21688              :         case 12:
   21689              :           operands[0] = x3;
   21690              :           switch (pattern1240 (x6))
   21691              :             {
   21692              :             case 0:
   21693              :               if ((
   21694              : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21695              : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) && 
   21696              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21697              : (!TARGET_64BIT)))
   21698              :                 return 1171; /* ashrdi3_doubleword_lowpart */
   21699              :               break;
   21700              : 
   21701              :             case 1:
   21702              :               if ((
   21703              : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21704              : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) && 
   21705              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21706              : (TARGET_64BIT)))
   21707              :                 return 1173; /* ashrti3_doubleword_lowpart */
   21708              :               break;
   21709              : 
   21710              :             default:
   21711              :               break;
   21712              :             }
   21713              :           x8 = XEXP (x6, 0);
   21714              :           if (GET_MODE (x8) != E_QImode)
   21715              :             return -1;
   21716              :           switch (pattern1046 (x2))
   21717              :             {
   21718              :             case 0:
   21719              :               return 1271; /* *ashrqi_exthi_1 */
   21720              : 
   21721              :             case 1:
   21722              :               return 1273; /* *ashrqi_extsi_1 */
   21723              : 
   21724              :             case 2:
   21725              :               if (!
   21726              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21727              : (TARGET_64BIT))
   21728              :                 return -1;
   21729              :               return 1275; /* *ashrqi_extdi_1 */
   21730              : 
   21731              :             default:
   21732              :               return -1;
   21733              :             }
   21734              : 
   21735              :         default:
   21736              :           return -1;
   21737              :         }
   21738              : 
   21739              :     case CONST_INT:
   21740              :       if (GET_CODE (x3) != ZERO_EXTRACT)
   21741              :         return -1;
   21742              :       x10 = XEXP (x3, 1);
   21743              :       if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   21744              :         return -1;
   21745              :       x5 = XEXP (x3, 0);
   21746              :       operands[0] = x5;
   21747              :       x11 = XEXP (x3, 2);
   21748              :       operands[1] = x11;
   21749              :       switch (XWINT (x6, 0))
   21750              :         {
   21751              :         case 0L:
   21752              :           switch (GET_CODE (operands[1]))
   21753              :             {
   21754              :             case REG:
   21755              :             case SUBREG:
   21756              :               if (!register_operand (operands[1], E_QImode)
   21757              :                   || GET_MODE (x3) != E_HImode)
   21758              :                 return -1;
   21759              :               switch (GET_MODE (operands[0]))
   21760              :                 {
   21761              :                 case E_QImode:
   21762              :                   if (!nonimmediate_operand (operands[0], E_QImode)
   21763              :                       || !
   21764              : #line 19323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21765              : (TARGET_USE_BT && ix86_pre_reload_split ()))
   21766              :                     return -1;
   21767              :                   return 1443; /* *btrqi_2 */
   21768              : 
   21769              :                 case E_HImode:
   21770              :                   if (!nonimmediate_operand (operands[0], E_HImode)
   21771              :                       || !
   21772              : #line 19323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21773              : (TARGET_USE_BT && ix86_pre_reload_split ()))
   21774              :                     return -1;
   21775              :                   return 1444; /* *btrhi_2 */
   21776              : 
   21777              :                 default:
   21778              :                   return -1;
   21779              :                 }
   21780              : 
   21781              :             case CONST_INT:
   21782              :               if (!const_0_to_63_operand (operands[1], E_QImode)
   21783              :                   || GET_MODE (x3) != E_DImode
   21784              :                   || !nonimmediate_operand (operands[0], E_DImode)
   21785              :                   || !
   21786              : #line 19387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21787              : (TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
   21788              :                 return -1;
   21789              :               return 1446; /* *btrq_imm */
   21790              : 
   21791              :             default:
   21792              :               return -1;
   21793              :             }
   21794              : 
   21795              :         case 1L:
   21796              :           if (GET_MODE (x3) != E_DImode
   21797              :               || !nonimmediate_operand (operands[0], E_DImode)
   21798              :               || !const_0_to_63_operand (operands[1], E_QImode)
   21799              :               || !
   21800              : #line 19374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21801              : (TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
   21802              :             return -1;
   21803              :           return 1445; /* *btsq_imm */
   21804              : 
   21805              :         default:
   21806              :           return -1;
   21807              :         }
   21808              : 
   21809              :     default:
   21810              :       return -1;
   21811              :     }
   21812              : }
   21813              : 
   21814              :  int
   21815              : recog_379 (rtx x1 ATTRIBUTE_UNUSED,
   21816              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   21817              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   21818              : {
   21819              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   21820              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   21821              :   rtx x10;
   21822              :   int res ATTRIBUTE_UNUSED;
   21823              :   if (pattern344 (x1) != 0)
   21824              :     return -1;
   21825              :   x2 = XVECEXP (x1, 0, 0);
   21826              :   x3 = XEXP (x2, 1);
   21827              :   x4 = XEXP (x3, 0);
   21828              :   x5 = XEXP (x4, 0);
   21829              :   switch (GET_CODE (x5))
   21830              :     {
   21831              :     case REG:
   21832              :     case SUBREG:
   21833              :     case MEM:
   21834              :       operands[1] = x5;
   21835              :       x6 = XEXP (x4, 1);
   21836              :       operands[2] = x6;
   21837              :       switch (GET_MODE (operands[0]))
   21838              :         {
   21839              :         case E_HImode:
   21840              :           if (!register_operand (operands[0], E_HImode)
   21841              :               || GET_MODE (x3) != E_HImode
   21842              :               || GET_MODE (x4) != E_QImode
   21843              :               || !nonimmediate_operand (operands[1], E_QImode)
   21844              :               || !general_operand (operands[2], E_QImode)
   21845              :               || !
   21846              : #line 6728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21847              : (TARGET_APX_NDD && true
   21848              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21849              :             return -1;
   21850              :           return 291; /* *addqi_1_zexthi */
   21851              : 
   21852              :         case E_SImode:
   21853              :           if (!register_operand (operands[0], E_SImode)
   21854              :               || GET_MODE (x3) != E_SImode)
   21855              :             return -1;
   21856              :           switch (GET_MODE (x4))
   21857              :             {
   21858              :             case E_QImode:
   21859              :               if (!nonimmediate_operand (operands[1], E_QImode)
   21860              :                   || !general_operand (operands[2], E_QImode)
   21861              :                   || !
   21862              : #line 6728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21863              : (TARGET_APX_NDD && true
   21864              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21865              :                 return -1;
   21866              :               return 293; /* *addqi_1_zextsi */
   21867              : 
   21868              :             case E_HImode:
   21869              :               if (!nonimmediate_operand (operands[1], E_HImode)
   21870              :                   || !general_operand (operands[2], E_HImode)
   21871              :                   || !
   21872              : #line 6766 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21873              : (TARGET_APX_NDD && true
   21874              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21875              :                 return -1;
   21876              :               return 297; /* *addhi_1_zextsi */
   21877              : 
   21878              :             default:
   21879              :               return -1;
   21880              :             }
   21881              : 
   21882              :         case E_DImode:
   21883              :           if (!register_operand (operands[0], E_DImode)
   21884              :               || GET_MODE (x3) != E_DImode)
   21885              :             return -1;
   21886              :           switch (GET_MODE (x4))
   21887              :             {
   21888              :             case E_QImode:
   21889              :               if (!nonimmediate_operand (operands[1], E_QImode)
   21890              :                   || !general_operand (operands[2], E_QImode)
   21891              :                   || !
   21892              : #line 6728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21893              : (TARGET_APX_NDD && true
   21894              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21895              :                 return -1;
   21896              :               return 295; /* *addqi_1_zextdi */
   21897              : 
   21898              :             case E_HImode:
   21899              :               if (!nonimmediate_operand (operands[1], E_HImode)
   21900              :                   || !general_operand (operands[2], E_HImode)
   21901              :                   || !
   21902              : #line 6766 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21903              : (TARGET_APX_NDD && true
   21904              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21905              :                 return -1;
   21906              :               return 299; /* *addhi_1_zextdi */
   21907              : 
   21908              :             case E_SImode:
   21909              :               if (!nonimmediate_operand (operands[1], E_SImode)
   21910              :                   || !x86_64_general_operand (operands[2], E_SImode)
   21911              :                   || !
   21912              : #line 6811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21913              : (TARGET_64BIT
   21914              :    && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
   21915              :                 return -1;
   21916              :               return 300; /* addsi_1_zext */
   21917              : 
   21918              :             default:
   21919              :               return -1;
   21920              :             }
   21921              : 
   21922              :         default:
   21923              :           return -1;
   21924              :         }
   21925              : 
   21926              :     case PLUS:
   21927              :       x7 = XEXP (x5, 0);
   21928              :       switch (GET_CODE (x7))
   21929              :         {
   21930              :         case LTU:
   21931              :         case UNLT:
   21932              :           operands[3] = x7;
   21933              :           x8 = XEXP (x7, 0);
   21934              :           if (GET_CODE (x8) != REG
   21935              :               || REGNO (x8) != 17)
   21936              :             return -1;
   21937              :           x9 = XEXP (x7, 1);
   21938              :           if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   21939              :             return -1;
   21940              :           x10 = XEXP (x5, 1);
   21941              :           operands[1] = x10;
   21942              :           x6 = XEXP (x4, 1);
   21943              :           operands[2] = x6;
   21944              :           switch (pattern1163 (x3))
   21945              :             {
   21946              :             case 0:
   21947              :               if (pattern1772 (x5, 
   21948              : E_QImode) != 0
   21949              :                   || !
   21950              : #line 9011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21951              : (TARGET_APX_NDD
   21952              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21953              :                 return -1;
   21954              :               return 481; /* *addqi3_carry_zexthi */
   21955              : 
   21956              :             case 1:
   21957              :               if (pattern1772 (x5, 
   21958              : E_QImode) != 0
   21959              :                   || !
   21960              : #line 9011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21961              : (TARGET_APX_NDD
   21962              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21963              :                 return -1;
   21964              :               return 482; /* *addqi3_carry_zextsi */
   21965              : 
   21966              :             case 2:
   21967              :               if (pattern1772 (x5, 
   21968              : E_HImode) != 0
   21969              :                   || !
   21970              : #line 9030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21971              : (TARGET_APX_NDD
   21972              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21973              :                 return -1;
   21974              :               return 484; /* *addhi3_carry_zextsi */
   21975              : 
   21976              :             case 3:
   21977              :               if (pattern1772 (x5, 
   21978              : E_QImode) != 0
   21979              :                   || !
   21980              : #line 9011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21981              : (TARGET_APX_NDD
   21982              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21983              :                 return -1;
   21984              :               return 483; /* *addqi3_carry_zextdi */
   21985              : 
   21986              :             case 4:
   21987              :               if (pattern1772 (x5, 
   21988              : E_HImode) != 0
   21989              :                   || !
   21990              : #line 9030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   21991              : (TARGET_APX_NDD
   21992              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   21993              :                 return -1;
   21994              :               return 485; /* *addhi3_carry_zextdi */
   21995              : 
   21996              :             case 5:
   21997              :               if (pattern1772 (x5, 
   21998              : E_SImode) != 0
   21999              :                   || !
   22000              : #line 9049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22001              : (TARGET_64BIT
   22002              :    && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
   22003              :                 return -1;
   22004              :               return 486; /* *addsi3_carry_zext */
   22005              : 
   22006              :             default:
   22007              :               return -1;
   22008              :             }
   22009              : 
   22010              :         default:
   22011              :           return -1;
   22012              :         }
   22013              : 
   22014              :     case LTU:
   22015              :     case UNLT:
   22016              :       switch (pattern1164 (x3))
   22017              :         {
   22018              :         case 0:
   22019              :           if (!ix86_carry_flag_operator (operands[2], E_QImode)
   22020              :               || !nonimmediate_operand (operands[1], E_QImode)
   22021              :               || !
   22022              : #line 9068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22023              : (TARGET_APX_NDD))
   22024              :             return -1;
   22025              :           return 487; /* *addqi3_carry_zexthi_0 */
   22026              : 
   22027              :         case 1:
   22028              :           if (!ix86_carry_flag_operator (operands[2], E_QImode)
   22029              :               || !nonimmediate_operand (operands[1], E_QImode)
   22030              :               || !
   22031              : #line 9068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22032              : (TARGET_APX_NDD))
   22033              :             return -1;
   22034              :           return 488; /* *addqi3_carry_zextsi_0 */
   22035              : 
   22036              :         case 2:
   22037              :           if (!ix86_carry_flag_operator (operands[2], E_HImode)
   22038              :               || !nonimmediate_operand (operands[1], E_HImode)
   22039              :               || !
   22040              : #line 9082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22041              : (TARGET_APX_NDD))
   22042              :             return -1;
   22043              :           return 490; /* *addhi3_carry_zextsi_0 */
   22044              : 
   22045              :         case 3:
   22046              :           if (!ix86_carry_flag_operator (operands[2], E_QImode)
   22047              :               || !nonimmediate_operand (operands[1], E_QImode)
   22048              :               || !
   22049              : #line 9068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22050              : (TARGET_APX_NDD))
   22051              :             return -1;
   22052              :           return 489; /* *addqi3_carry_zextdi_0 */
   22053              : 
   22054              :         case 4:
   22055              :           if (!ix86_carry_flag_operator (operands[2], E_HImode)
   22056              :               || !nonimmediate_operand (operands[1], E_HImode)
   22057              :               || !
   22058              : #line 9082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22059              : (TARGET_APX_NDD))
   22060              :             return -1;
   22061              :           return 491; /* *addhi3_carry_zextdi_0 */
   22062              : 
   22063              :         case 5:
   22064              :           if (!ix86_carry_flag_operator (operands[2], E_SImode)
   22065              :               || !nonimmediate_operand (operands[1], E_SImode)
   22066              :               || !
   22067              : #line 9096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22068              : (TARGET_64BIT))
   22069              :             return -1;
   22070              :           return 492; /* *addsi3_carry_zext_0 */
   22071              : 
   22072              :         default:
   22073              :           return -1;
   22074              :         }
   22075              : 
   22076              :     case GE:
   22077              :     case GEU:
   22078              :       switch (pattern1164 (x3))
   22079              :         {
   22080              :         case 0:
   22081              :           if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
   22082              :               || !nonimmediate_operand (operands[1], E_QImode)
   22083              :               || !
   22084              : #line 9113 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22085              : (TARGET_APX_NDD))
   22086              :             return -1;
   22087              :           return 493; /* *addqi3_carry_zexthi_0r */
   22088              : 
   22089              :         case 1:
   22090              :           if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
   22091              :               || !nonimmediate_operand (operands[1], E_QImode)
   22092              :               || !
   22093              : #line 9113 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22094              : (TARGET_APX_NDD))
   22095              :             return -1;
   22096              :           return 494; /* *addqi3_carry_zextsi_0r */
   22097              : 
   22098              :         case 2:
   22099              :           if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
   22100              :               || !nonimmediate_operand (operands[1], E_HImode)
   22101              :               || !
   22102              : #line 9127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22103              : (TARGET_APX_NDD))
   22104              :             return -1;
   22105              :           return 496; /* *addhi3_carry_zextsi_0r */
   22106              : 
   22107              :         case 3:
   22108              :           if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
   22109              :               || !nonimmediate_operand (operands[1], E_QImode)
   22110              :               || !
   22111              : #line 9113 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22112              : (TARGET_APX_NDD))
   22113              :             return -1;
   22114              :           return 495; /* *addqi3_carry_zextdi_0r */
   22115              : 
   22116              :         case 4:
   22117              :           if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
   22118              :               || !nonimmediate_operand (operands[1], E_HImode)
   22119              :               || !
   22120              : #line 9127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22121              : (TARGET_APX_NDD))
   22122              :             return -1;
   22123              :           return 497; /* *addhi3_carry_zextdi_0r */
   22124              : 
   22125              :         case 5:
   22126              :           if (!ix86_carry_flag_unset_operator (operands[2], E_SImode)
   22127              :               || !nonimmediate_operand (operands[1], E_SImode)
   22128              :               || !
   22129              : #line 9141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22130              : (TARGET_64BIT))
   22131              :             return -1;
   22132              :           return 498; /* *addsi3_carry_zext_0r */
   22133              : 
   22134              :         default:
   22135              :           return -1;
   22136              :         }
   22137              : 
   22138              :     case UNSPEC:
   22139              :       if (pattern1165 (x5) != 0
   22140              :           || !register_operand (operands[0], E_DImode)
   22141              :           || GET_MODE (x3) != E_DImode
   22142              :           || GET_MODE (x4) != E_SImode)
   22143              :         return -1;
   22144              :       x6 = XEXP (x4, 1);
   22145              :       operands[1] = x6;
   22146              :       if (!register_operand (operands[1], E_SImode)
   22147              :           || !
   22148              : #line 23616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22149              : (TARGET_X32))
   22150              :         return -1;
   22151              :       return 1697; /* *add_tp_x32_zext */
   22152              : 
   22153              :     default:
   22154              :       return -1;
   22155              :     }
   22156              : }
   22157              : 
   22158              :  int
   22159              : recog_388 (rtx x1 ATTRIBUTE_UNUSED,
   22160              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   22161              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   22162              : {
   22163              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   22164              :   rtx x2, x3, x4, x5, x6, x7, x8;
   22165              :   int res ATTRIBUTE_UNUSED;
   22166              :   x2 = XVECEXP (x1, 0, 0);
   22167              :   x3 = XEXP (x2, 1);
   22168              :   x4 = XEXP (x3, 1);
   22169              :   if (XWINT (x4, 0) != 0L)
   22170              :     return -1;
   22171              :   x5 = XVECEXP (x1, 0, 1);
   22172              :   switch (GET_CODE (x5))
   22173              :     {
   22174              :     case SET:
   22175              :       x6 = XEXP (x5, 0);
   22176              :       operands[0] = x6;
   22177              :       x7 = XEXP (x5, 1);
   22178              :       switch (GET_CODE (x7))
   22179              :         {
   22180              :         case PLUS:
   22181              :           switch (pattern1498 (x1))
   22182              :             {
   22183              :             case 0:
   22184              :               if (!
   22185              : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22186              : (ix86_match_ccmode (insn, CCGOCmode)
   22187              :    && ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
   22188              :                 return -1;
   22189              :               return 313; /* *addqi_2 */
   22190              : 
   22191              :             case 1:
   22192              :               if (!
   22193              : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22194              : (ix86_match_ccmode (insn, CCGOCmode)
   22195              :    && ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
   22196              :                 return -1;
   22197              :               return 314; /* *addhi_2 */
   22198              : 
   22199              :             case 2:
   22200              :               if (!
   22201              : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22202              : (ix86_match_ccmode (insn, CCGOCmode)
   22203              :    && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
   22204              :                 return -1;
   22205              :               return 315; /* *addsi_2 */
   22206              : 
   22207              :             case 3:
   22208              :               if (!(
   22209              : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22210              : (ix86_match_ccmode (insn, CCGOCmode)
   22211              :    && ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) && 
   22212              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22213              : (TARGET_64BIT)))
   22214              :                 return -1;
   22215              :               return 316; /* *adddi_2 */
   22216              : 
   22217              :             default:
   22218              :               return -1;
   22219              :             }
   22220              : 
   22221              :         case ZERO_EXTEND:
   22222              :           if (pattern1436 (x1, 
   22223              : PLUS) != 0
   22224              :               || !
   22225              : #line 7223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22226              : (TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
   22227              :    && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
   22228              :             return -1;
   22229              :           return 317; /* *addsi_2_zext */
   22230              : 
   22231              :         default:
   22232              :           return -1;
   22233              :         }
   22234              : 
   22235              :     case CLOBBER:
   22236              :       x6 = XEXP (x5, 0);
   22237              :       operands[0] = x6;
   22238              :       x8 = XEXP (x3, 0);
   22239              :       switch (pattern1329 (x8))
   22240              :         {
   22241              :         case 0:
   22242              :           if (!
   22243              : #line 7455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22244              : (ix86_match_ccmode (insn, CCGOCmode)
   22245              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22246              :             return -1;
   22247              :           return 327; /* *addqi_5 */
   22248              : 
   22249              :         case 1:
   22250              :           if (!
   22251              : #line 7455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22252              : (ix86_match_ccmode (insn, CCGOCmode)
   22253              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22254              :             return -1;
   22255              :           return 328; /* *addhi_5 */
   22256              : 
   22257              :         case 2:
   22258              :           if (!
   22259              : #line 7455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22260              : (ix86_match_ccmode (insn, CCGOCmode)
   22261              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   22262              :             return -1;
   22263              :           return 329; /* *addsi_5 */
   22264              : 
   22265              :         case 3:
   22266              :           if (!(
   22267              : #line 7455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22268              : (ix86_match_ccmode (insn, CCGOCmode)
   22269              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   22270              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22271              : (TARGET_64BIT)))
   22272              :             return -1;
   22273              :           return 330; /* *adddi_5 */
   22274              : 
   22275              :         default:
   22276              :           return -1;
   22277              :         }
   22278              : 
   22279              :     default:
   22280              :       return -1;
   22281              :     }
   22282              : }
   22283              : 
   22284              :  int
   22285              : recog_392 (rtx x1 ATTRIBUTE_UNUSED,
   22286              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   22287              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   22288              : {
   22289              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   22290              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   22291              :   rtx x10, x11;
   22292              :   int res ATTRIBUTE_UNUSED;
   22293              :   x2 = XVECEXP (x1, 0, 0);
   22294              :   x3 = XEXP (x2, 0);
   22295              :   if (GET_CODE (x3) != REG
   22296              :       || REGNO (x3) != 17)
   22297              :     return -1;
   22298              :   x4 = XVECEXP (x1, 0, 1);
   22299              :   if (GET_CODE (x4) != SET)
   22300              :     return -1;
   22301              :   x5 = XEXP (x2, 1);
   22302              :   x6 = XEXP (x5, 0);
   22303              :   x7 = XEXP (x6, 1);
   22304              :   operands[2] = x7;
   22305              :   x8 = XEXP (x4, 0);
   22306              :   operands[0] = x8;
   22307              :   x9 = XEXP (x4, 1);
   22308              :   switch (GET_CODE (x9))
   22309              :     {
   22310              :     case AND:
   22311              :       x10 = XEXP (x9, 0);
   22312              :       if (!rtx_equal_p (x10, operands[1]))
   22313              :         return -1;
   22314              :       x11 = XEXP (x9, 1);
   22315              :       if (!rtx_equal_p (x11, operands[2]))
   22316              :         return -1;
   22317              :       switch (GET_MODE (x6))
   22318              :         {
   22319              :         case E_DImode:
   22320              :           if (!nonimmediate_operand (operands[1], E_DImode)
   22321              :               || !x86_64_szext_general_operand (operands[2], E_DImode)
   22322              :               || !nonimmediate_operand (operands[0], E_DImode)
   22323              :               || GET_MODE (x9) != E_DImode
   22324              :               || !
   22325              : #line 13244 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22326              : (TARGET_64BIT
   22327              :    && ix86_match_ccmode
   22328              :         (insn,
   22329              :          /* If we are going to emit andl instead of andq, and the operands[2]
   22330              :             constant might have the SImode sign bit set, make sure the sign
   22331              :             flag isn't tested, because the instruction will set the sign flag
   22332              :             based on bit 31 rather than bit 63.  If it isn't CONST_INT,
   22333              :             conservatively assume it might have bit 31 set.  */
   22334              :          (satisfies_constraint_Z (operands[2])
   22335              :           && (!CONST_INT_P (operands[2])
   22336              :               || val_signbit_known_set_p (SImode, INTVAL (operands[2]))))
   22337              :          ? CCZmode : CCNOmode)
   22338              :    && ix86_binary_operator_ok (AND, DImode, operands, TARGET_APX_NDD)))
   22339              :             return -1;
   22340              :           return 777; /* *anddi_2 */
   22341              : 
   22342              :         case E_QImode:
   22343              :           if (pattern1438 (x9, 
   22344              : E_QImode) != 0)
   22345              :             return -1;
   22346              :           if (
   22347              : #line 13295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22348              : (ix86_binary_operator_ok (AND, QImode, operands, TARGET_APX_NDD)
   22349              :    && ix86_match_ccmode (insn,
   22350              :                          CONST_INT_P (operands[2])
   22351              :                          && INTVAL (operands[2]) >= 0 ? CCNOmode : CCZmode)))
   22352              :             return 779; /* *andqi_2_maybe_si */
   22353              :           if (!
   22354              : #line 13337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22355              : (ix86_match_ccmode (insn, CCNOmode)
   22356              :    && ix86_binary_operator_ok (AND, QImode, operands, TARGET_APX_NDD)))
   22357              :             return -1;
   22358              :           return 780; /* *andqi_2 */
   22359              : 
   22360              :         case E_HImode:
   22361              :           if (pattern1438 (x9, 
   22362              : E_HImode) != 0
   22363              :               || !
   22364              : #line 13337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22365              : (ix86_match_ccmode (insn, CCNOmode)
   22366              :    && ix86_binary_operator_ok (AND, HImode, operands, TARGET_APX_NDD)))
   22367              :             return -1;
   22368              :           return 781; /* *andhi_2 */
   22369              : 
   22370              :         case E_SImode:
   22371              :           if (pattern1439 (x9, 
   22372              : E_SImode) != 0
   22373              :               || !
   22374              : #line 13337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22375              : (ix86_match_ccmode (insn, CCNOmode)
   22376              :    && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)))
   22377              :             return -1;
   22378              :           return 782; /* *andsi_2 */
   22379              : 
   22380              :         default:
   22381              :           return -1;
   22382              :         }
   22383              : 
   22384              :     case ZERO_EXTEND:
   22385              :       if (pattern1436 (x1, 
   22386              : AND) != 0
   22387              :           || !
   22388              : #line 13277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22389              : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
   22390              :    && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)))
   22391              :         return -1;
   22392              :       return 778; /* *andsi_2_zext */
   22393              : 
   22394              :     default:
   22395              :       return -1;
   22396              :     }
   22397              : }
   22398              : 
   22399              :  int
   22400              : recog_395 (rtx x1 ATTRIBUTE_UNUSED,
   22401              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   22402              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   22403              : {
   22404              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   22405              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   22406              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   22407              :   rtx x18;
   22408              :   int res ATTRIBUTE_UNUSED;
   22409              :   if (pattern231 (x1) != 0)
   22410              :     return -1;
   22411              :   x2 = XVECEXP (x1, 0, 0);
   22412              :   x3 = XEXP (x2, 1);
   22413              :   x4 = XEXP (x3, 0);
   22414              :   x5 = XEXP (x4, 0);
   22415              :   switch (GET_CODE (x5))
   22416              :     {
   22417              :     case REG:
   22418              :     case SUBREG:
   22419              :     case MEM:
   22420              :       operands[1] = x5;
   22421              :       x6 = XEXP (x4, 1);
   22422              :       operands[2] = x6;
   22423              :       x7 = XVECEXP (x1, 0, 1);
   22424              :       x8 = XEXP (x7, 0);
   22425              :       operands[0] = x8;
   22426              :       switch (GET_CODE (operands[2]))
   22427              :         {
   22428              :         case CONST_INT:
   22429              :         case CONST_WIDE_INT:
   22430              :         case CONST_POLY_INT:
   22431              :         case CONST_FIXED:
   22432              :         case CONST_DOUBLE:
   22433              :         case CONST_VECTOR:
   22434              :         case CONST:
   22435              :         case REG:
   22436              :         case SUBREG:
   22437              :         case MEM:
   22438              :         case LABEL_REF:
   22439              :         case SYMBOL_REF:
   22440              :         case HIGH:
   22441              :           x9 = XEXP (x7, 1);
   22442              :           switch (GET_CODE (x9))
   22443              :             {
   22444              :             case MINUS:
   22445              :               switch (pattern1498 (x1))
   22446              :                 {
   22447              :                 case 0:
   22448              :                   if (!
   22449              : #line 8303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22450              : (ix86_match_ccmode (insn, CCGOCmode)
   22451              :    && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
   22452              :                     return -1;
   22453              :                   return 415; /* *subqi_2 */
   22454              : 
   22455              :                 case 1:
   22456              :                   if (!
   22457              : #line 8303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22458              : (ix86_match_ccmode (insn, CCGOCmode)
   22459              :    && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
   22460              :                     return -1;
   22461              :                   return 416; /* *subhi_2 */
   22462              : 
   22463              :                 case 2:
   22464              :                   if (!
   22465              : #line 8303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22466              : (ix86_match_ccmode (insn, CCGOCmode)
   22467              :    && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
   22468              :                     return -1;
   22469              :                   return 417; /* *subsi_2 */
   22470              : 
   22471              :                 case 3:
   22472              :                   if (!(
   22473              : #line 8303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22474              : (ix86_match_ccmode (insn, CCGOCmode)
   22475              :    && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) && 
   22476              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22477              : (TARGET_64BIT)))
   22478              :                     return -1;
   22479              :                   return 418; /* *subdi_2 */
   22480              : 
   22481              :                 default:
   22482              :                   return -1;
   22483              :                 }
   22484              : 
   22485              :             case ZERO_EXTEND:
   22486              :               if (pattern1436 (x1, 
   22487              : MINUS) != 0
   22488              :                   || !
   22489              : #line 8324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22490              : (TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
   22491              :    && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
   22492              :                 return -1;
   22493              :               return 419; /* *subsi_2_zext */
   22494              : 
   22495              :             default:
   22496              :               return -1;
   22497              :             }
   22498              : 
   22499              :         case LTU:
   22500              :         case UNLT:
   22501              :           x10 = XEXP (x6, 1);
   22502              :           if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   22503              :             return -1;
   22504              :           x9 = XEXP (x7, 1);
   22505              :           if (GET_CODE (x9) != MINUS)
   22506              :             return -1;
   22507              :           x11 = XEXP (x9, 1);
   22508              :           switch (GET_CODE (x11))
   22509              :             {
   22510              :             case LTU:
   22511              :             case UNLT:
   22512              :               switch (pattern1571 (x1))
   22513              :                 {
   22514              :                 case 0:
   22515              :                   if (pattern1774 (x9, 
   22516              : E_QImode) != 0
   22517              :                       || !
   22518              : #line 9625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22519              : (ix86_match_ccmode (insn, CCGOCmode)
   22520              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
   22521              :                     return -1;
   22522              :                   return 515; /* *subqi3_carry_0_cc */
   22523              : 
   22524              :                 case 1:
   22525              :                   if (pattern1774 (x9, 
   22526              : E_HImode) != 0
   22527              :                       || !
   22528              : #line 9625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22529              : (ix86_match_ccmode (insn, CCGOCmode)
   22530              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
   22531              :                     return -1;
   22532              :                   return 516; /* *subhi3_carry_0_cc */
   22533              : 
   22534              :                 case 2:
   22535              :                   if (pattern1774 (x9, 
   22536              : E_SImode) != 0
   22537              :                       || !
   22538              : #line 9625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22539              : (ix86_match_ccmode (insn, CCGOCmode)
   22540              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
   22541              :                     return -1;
   22542              :                   return 517; /* *subsi3_carry_0_cc */
   22543              : 
   22544              :                 case 3:
   22545              :                   if (pattern1774 (x9, 
   22546              : E_DImode) != 0
   22547              :                       || !(
   22548              : #line 9625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22549              : (ix86_match_ccmode (insn, CCGOCmode)
   22550              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))) && 
   22551              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22552              : (TARGET_64BIT)))
   22553              :                     return -1;
   22554              :                   return 518; /* *subdi3_carry_0_cc */
   22555              : 
   22556              :                 default:
   22557              :                   return -1;
   22558              :                 }
   22559              : 
   22560              :             default:
   22561              :               return -1;
   22562              :             }
   22563              : 
   22564              :         case GE:
   22565              :         case GEU:
   22566              :           x10 = XEXP (x6, 1);
   22567              :           if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   22568              :             return -1;
   22569              :           x9 = XEXP (x7, 1);
   22570              :           if (GET_CODE (x9) != MINUS)
   22571              :             return -1;
   22572              :           x11 = XEXP (x9, 1);
   22573              :           switch (GET_CODE (x11))
   22574              :             {
   22575              :             case GE:
   22576              :             case GEU:
   22577              :               switch (pattern1571 (x1))
   22578              :                 {
   22579              :                 case 0:
   22580              :                   if (pattern1775 (x9, 
   22581              : E_QImode) != 0
   22582              :                       || !
   22583              : #line 9659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22584              : (ix86_match_ccmode (insn, CCGOCmode)
   22585              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
   22586              :                     return -1;
   22587              :                   return 523; /* *subqi3_carry_0r_cc */
   22588              : 
   22589              :                 case 1:
   22590              :                   if (pattern1775 (x9, 
   22591              : E_HImode) != 0
   22592              :                       || !
   22593              : #line 9659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22594              : (ix86_match_ccmode (insn, CCGOCmode)
   22595              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
   22596              :                     return -1;
   22597              :                   return 524; /* *subhi3_carry_0r_cc */
   22598              : 
   22599              :                 case 2:
   22600              :                   if (pattern1775 (x9, 
   22601              : E_SImode) != 0
   22602              :                       || !
   22603              : #line 9659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22604              : (ix86_match_ccmode (insn, CCGOCmode)
   22605              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
   22606              :                     return -1;
   22607              :                   return 525; /* *subsi3_carry_0r_cc */
   22608              : 
   22609              :                 case 3:
   22610              :                   if (pattern1775 (x9, 
   22611              : E_DImode) != 0
   22612              :                       || !(
   22613              : #line 9659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22614              : (ix86_match_ccmode (insn, CCGOCmode)
   22615              :    && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))) && 
   22616              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22617              : (TARGET_64BIT)))
   22618              :                     return -1;
   22619              :                   return 526; /* *subdi3_carry_0r_cc */
   22620              : 
   22621              :                 default:
   22622              :                   return -1;
   22623              :                 }
   22624              : 
   22625              :             default:
   22626              :               return -1;
   22627              :             }
   22628              : 
   22629              :         default:
   22630              :           return -1;
   22631              :         }
   22632              : 
   22633              :     case MINUS:
   22634              :       x12 = XEXP (x5, 1);
   22635              :       switch (GET_CODE (x12))
   22636              :         {
   22637              :         case LTU:
   22638              :         case UNLT:
   22639              :           operands[4] = x12;
   22640              :           x13 = XEXP (x12, 1);
   22641              :           if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   22642              :             return -1;
   22643              :           x7 = XVECEXP (x1, 0, 1);
   22644              :           x9 = XEXP (x7, 1);
   22645              :           if (GET_CODE (x9) != MINUS)
   22646              :             return -1;
   22647              :           x14 = XEXP (x9, 0);
   22648              :           if (GET_CODE (x14) != MINUS)
   22649              :             return -1;
   22650              :           x15 = XEXP (x14, 1);
   22651              :           switch (GET_CODE (x15))
   22652              :             {
   22653              :             case LTU:
   22654              :             case UNLT:
   22655              :               if (!rtx_equal_p (x15, operands[4]))
   22656              :                 return -1;
   22657              :               x16 = XEXP (x5, 0);
   22658              :               operands[1] = x16;
   22659              :               x17 = XEXP (x12, 0);
   22660              :               operands[3] = x17;
   22661              :               if (!flags_reg_operand (operands[3], E_VOIDmode))
   22662              :                 return -1;
   22663              :               x6 = XEXP (x4, 1);
   22664              :               operands[2] = x6;
   22665              :               x8 = XEXP (x7, 0);
   22666              :               operands[0] = x8;
   22667              :               x18 = XEXP (x14, 0);
   22668              :               if (!rtx_equal_p (x18, operands[1]))
   22669              :                 return -1;
   22670              :               x11 = XEXP (x9, 1);
   22671              :               if (!rtx_equal_p (x11, operands[2]))
   22672              :                 return -1;
   22673              :               switch (GET_MODE (x4))
   22674              :                 {
   22675              :                 case E_QImode:
   22676              :                   if (pattern1824 (x1, 
   22677              : E_QImode) != 0
   22678              :                       || !
   22679              : #line 9586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22680              : (ix86_match_ccmode (insn, CCGOCmode)
   22681              :    && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
   22682              :                     return -1;
   22683              :                   return 507; /* *subqi3_carry_2 */
   22684              : 
   22685              :                 case E_HImode:
   22686              :                   if (pattern1824 (x1, 
   22687              : E_HImode) != 0
   22688              :                       || !
   22689              : #line 9586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22690              : (ix86_match_ccmode (insn, CCGOCmode)
   22691              :    && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
   22692              :                     return -1;
   22693              :                   return 508; /* *subhi3_carry_2 */
   22694              : 
   22695              :                 case E_SImode:
   22696              :                   if (pattern1825 (x1, 
   22697              : E_SImode) != 0
   22698              :                       || !
   22699              : #line 9586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22700              : (ix86_match_ccmode (insn, CCGOCmode)
   22701              :    && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
   22702              :                     return -1;
   22703              :                   return 509; /* *subsi3_carry_2 */
   22704              : 
   22705              :                 case E_DImode:
   22706              :                   if (pattern1825 (x1, 
   22707              : E_DImode) != 0
   22708              :                       || !(
   22709              : #line 9586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22710              : (ix86_match_ccmode (insn, CCGOCmode)
   22711              :    && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) && 
   22712              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22713              : (TARGET_64BIT)))
   22714              :                     return -1;
   22715              :                   return 510; /* *subdi3_carry_2 */
   22716              : 
   22717              :                 default:
   22718              :                   return -1;
   22719              :                 }
   22720              : 
   22721              :             default:
   22722              :               return -1;
   22723              :             }
   22724              : 
   22725              :         default:
   22726              :           return -1;
   22727              :         }
   22728              : 
   22729              :     case UNSPEC_VOLATILE:
   22730              :       if (XVECLEN (x5, 0) != 2
   22731              :           || XINT (x5, 1) != 110)
   22732              :         return -1;
   22733              :       switch (pattern1246 (x1, 
   22734              : MINUS))
   22735              :         {
   22736              :         case 0:
   22737              :           return 11132; /* atomic_sub_fetch_cmp_0qi_1 */
   22738              : 
   22739              :         case 1:
   22740              :           return 11133; /* atomic_sub_fetch_cmp_0hi_1 */
   22741              : 
   22742              :         case 2:
   22743              :           return 11134; /* atomic_sub_fetch_cmp_0si_1 */
   22744              : 
   22745              :         case 3:
   22746              :           if (!
   22747              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22748              : (TARGET_64BIT))
   22749              :             return -1;
   22750              :           return 11135; /* atomic_sub_fetch_cmp_0di_1 */
   22751              : 
   22752              :         default:
   22753              :           return -1;
   22754              :         }
   22755              : 
   22756              :     default:
   22757              :       return -1;
   22758              :     }
   22759              : }
   22760              : 
   22761              :  int
   22762              : recog_400 (rtx x1 ATTRIBUTE_UNUSED,
   22763              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   22764              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   22765              : {
   22766              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   22767              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   22768              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   22769              :   rtx x18, x19, x20, x21, x22, x23, x24, x25;
   22770              :   rtx x26, x27, x28, x29, x30;
   22771              :   int res ATTRIBUTE_UNUSED;
   22772              :   x2 = XVECEXP (x1, 0, 0);
   22773              :   x3 = XEXP (x2, 1);
   22774              :   x4 = XEXP (x3, 0);
   22775              :   switch (GET_CODE (x4))
   22776              :     {
   22777              :     case PLUS:
   22778              :       if (pattern696 (x1, 
   22779              : PLUS) != 0)
   22780              :         return -1;
   22781              :       x5 = XEXP (x4, 0);
   22782              :       switch (GET_CODE (x5))
   22783              :         {
   22784              :         case SIGN_EXTEND:
   22785              :           switch (pattern1574 (x1))
   22786              :             {
   22787              :             case 0:
   22788              :               if (!
   22789              : #line 7693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22790              : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
   22791              :                 return -1;
   22792              :               return 346; /* *addvqi4 */
   22793              : 
   22794              :             case 1:
   22795              :               if (!
   22796              : #line 7693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22797              : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
   22798              :                 return -1;
   22799              :               return 347; /* *addvhi4 */
   22800              : 
   22801              :             case 2:
   22802              :               if (!
   22803              : #line 7693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22804              : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
   22805              :                 return -1;
   22806              :               return 348; /* *addvsi4 */
   22807              : 
   22808              :             case 3:
   22809              :               if (x86_64_sext_operand (operands[2], E_DImode)
   22810              :                   && (
   22811              : #line 7693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22812              : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) && 
   22813              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22814              : (TARGET_64BIT)))
   22815              :                 return 349; /* *addvdi4 */
   22816              :               if (!nonimmediate_operand (operands[2], E_DImode)
   22817              :                   || !(
   22818              : #line 7746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22819              : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) && 
   22820              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22821              : (!TARGET_64BIT)))
   22822              :                 return -1;
   22823              :               return 354; /* *addvdi4_doubleword */
   22824              : 
   22825              :             case 4:
   22826              :               if (!(
   22827              : #line 7746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22828              : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)) && 
   22829              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22830              : (TARGET_64BIT)))
   22831              :                 return -1;
   22832              :               return 355; /* *addvti4_doubleword */
   22833              : 
   22834              :             case 5:
   22835              :               if (!
   22836              : #line 7715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22837              : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
   22838              :    && CONST_INT_P (operands[2])
   22839              :    && INTVAL (operands[2]) == INTVAL (operands[3])))
   22840              :                 return -1;
   22841              :               return 350; /* addvqi4_1 */
   22842              : 
   22843              :             case 6:
   22844              :               if (!
   22845              : #line 7715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22846              : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
   22847              :    && CONST_INT_P (operands[2])
   22848              :    && INTVAL (operands[2]) == INTVAL (operands[3])))
   22849              :                 return -1;
   22850              :               return 351; /* addvhi4_1 */
   22851              : 
   22852              :             case 7:
   22853              :               if (!
   22854              : #line 7715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22855              : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
   22856              :    && CONST_INT_P (operands[2])
   22857              :    && INTVAL (operands[2]) == INTVAL (operands[3])))
   22858              :                 return -1;
   22859              :               return 352; /* addvsi4_1 */
   22860              : 
   22861              :             case 8:
   22862              :               if (const_int_operand (operands[3], E_TImode)
   22863              :                   && x86_64_immediate_operand (operands[2], E_DImode)
   22864              :                   && (
   22865              : #line 7715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22866              : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
   22867              :    && CONST_INT_P (operands[2])
   22868              :    && INTVAL (operands[2]) == INTVAL (operands[3])) && 
   22869              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22870              : (TARGET_64BIT)))
   22871              :                 return 353; /* addvdi4_1 */
   22872              :               if (!const_scalar_int_operand (operands[3], E_TImode)
   22873              :                   || !x86_64_hilo_general_operand (operands[2], E_DImode)
   22874              :                   || !(
   22875              : #line 7792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22876              : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
   22877              :    && CONST_SCALAR_INT_P (operands[2])
   22878              :    && rtx_equal_p (operands[2], operands[3])) && 
   22879              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22880              : (!TARGET_64BIT)))
   22881              :                 return -1;
   22882              :               return 356; /* *addvdi4_doubleword_1 */
   22883              : 
   22884              :             case 9:
   22885              :               if (!(
   22886              : #line 7792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22887              : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)
   22888              :    && CONST_SCALAR_INT_P (operands[2])
   22889              :    && rtx_equal_p (operands[2], operands[3])) && 
   22890              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22891              : (TARGET_64BIT)))
   22892              :                 return -1;
   22893              :               return 357; /* *addvti4_doubleword_1 */
   22894              : 
   22895              :             default:
   22896              :               return -1;
   22897              :             }
   22898              : 
   22899              :         case PLUS:
   22900              :           x6 = XEXP (x5, 0);
   22901              :           switch (GET_CODE (x6))
   22902              :             {
   22903              :             case LTU:
   22904              :             case UNLT:
   22905              :               operands[4] = x6;
   22906              :               x7 = XEXP (x6, 1);
   22907              :               if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   22908              :                 return -1;
   22909              :               x8 = XEXP (x5, 1);
   22910              :               if (GET_CODE (x8) != SIGN_EXTEND)
   22911              :                 return -1;
   22912              :               x9 = XEXP (x3, 1);
   22913              :               x10 = XEXP (x9, 0);
   22914              :               x11 = XEXP (x10, 0);
   22915              :               if (GET_CODE (x11) != PLUS)
   22916              :                 return -1;
   22917              :               x12 = XEXP (x11, 0);
   22918              :               switch (GET_CODE (x12))
   22919              :                 {
   22920              :                 case LTU:
   22921              :                 case UNLT:
   22922              :                   operands[5] = x12;
   22923              :                   x13 = XEXP (x12, 1);
   22924              :                   if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   22925              :                     return -1;
   22926              :                   x14 = XVECEXP (x1, 0, 1);
   22927              :                   x15 = XEXP (x14, 1);
   22928              :                   x16 = XEXP (x15, 0);
   22929              :                   if (GET_CODE (x16) != PLUS)
   22930              :                     return -1;
   22931              :                   x17 = XEXP (x16, 0);
   22932              :                   switch (GET_CODE (x17))
   22933              :                     {
   22934              :                     case LTU:
   22935              :                     case UNLT:
   22936              :                       if (!rtx_equal_p (x17, operands[5]))
   22937              :                         return -1;
   22938              :                       x18 = XEXP (x6, 0);
   22939              :                       operands[3] = x18;
   22940              :                       if (!flags_reg_operand (operands[3], E_VOIDmode))
   22941              :                         return -1;
   22942              :                       x19 = XEXP (x8, 0);
   22943              :                       operands[1] = x19;
   22944              :                       x20 = XEXP (x12, 0);
   22945              :                       if (!rtx_equal_p (x20, operands[3]))
   22946              :                         return -1;
   22947              :                       x21 = XEXP (x11, 1);
   22948              :                       if (!rtx_equal_p (x21, operands[1]))
   22949              :                         return -1;
   22950              :                       x22 = XEXP (x16, 1);
   22951              :                       if (!rtx_equal_p (x22, operands[1]))
   22952              :                         return -1;
   22953              :                       switch (pattern1886 (x1))
   22954              :                         {
   22955              :                         case 0:
   22956              :                           if (pattern1902 (x1, 
   22957              : E_QImode, 
   22958              : E_HImode) != 0
   22959              :                               || !
   22960              : #line 7859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22961              : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
   22962              :                             return -1;
   22963              :                           return 358; /* *addvqi4_overflow_1 */
   22964              : 
   22965              :                         case 1:
   22966              :                           if (pattern1902 (x1, 
   22967              : E_HImode, 
   22968              : E_SImode) != 0
   22969              :                               || !
   22970              : #line 7859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22971              : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
   22972              :                             return -1;
   22973              :                           return 359; /* *addvhi4_overflow_1 */
   22974              : 
   22975              :                         case 2:
   22976              :                           if (pattern1903 (x1, 
   22977              : E_SImode, 
   22978              : E_DImode) != 0
   22979              :                               || !
   22980              : #line 7859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22981              : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
   22982              :                             return -1;
   22983              :                           return 360; /* *addvsi4_overflow_1 */
   22984              : 
   22985              :                         case 3:
   22986              :                           if (pattern1903 (x1, 
   22987              : E_DImode, 
   22988              : E_TImode) != 0
   22989              :                               || !(
   22990              : #line 7859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22991              : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) && 
   22992              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   22993              : (TARGET_64BIT)))
   22994              :                             return -1;
   22995              :                           return 361; /* *addvdi4_overflow_1 */
   22996              : 
   22997              :                         case 4:
   22998              :                           if (pattern1905 (x1, 
   22999              : E_QImode, 
   23000              : E_HImode) != 0
   23001              :                               || !
   23002              : #line 7892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23003              : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
   23004              :    && CONST_INT_P (operands[2])
   23005              :    && INTVAL (operands[2]) == INTVAL (operands[6])))
   23006              :                             return -1;
   23007              :                           return 362; /* *addvqi4_overflow_2 */
   23008              : 
   23009              :                         case 5:
   23010              :                           if (pattern1905 (x1, 
   23011              : E_HImode, 
   23012              : E_SImode) != 0
   23013              :                               || !
   23014              : #line 7892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23015              : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
   23016              :    && CONST_INT_P (operands[2])
   23017              :    && INTVAL (operands[2]) == INTVAL (operands[6])))
   23018              :                             return -1;
   23019              :                           return 363; /* *addvhi4_overflow_2 */
   23020              : 
   23021              :                         case 6:
   23022              :                           if (pattern1905 (x1, 
   23023              : E_SImode, 
   23024              : E_DImode) != 0
   23025              :                               || !
   23026              : #line 7892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23027              : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
   23028              :    && CONST_INT_P (operands[2])
   23029              :    && INTVAL (operands[2]) == INTVAL (operands[6])))
   23030              :                             return -1;
   23031              :                           return 364; /* *addvsi4_overflow_2 */
   23032              : 
   23033              :                         case 7:
   23034              :                           if (pattern1905 (x1, 
   23035              : E_DImode, 
   23036              : E_TImode) != 0
   23037              :                               || !(
   23038              : #line 7892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23039              : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
   23040              :    && CONST_INT_P (operands[2])
   23041              :    && INTVAL (operands[2]) == INTVAL (operands[6])) && 
   23042              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23043              : (TARGET_64BIT)))
   23044              :                             return -1;
   23045              :                           return 365; /* *addvdi4_overflow_2 */
   23046              : 
   23047              :                         default:
   23048              :                           return -1;
   23049              :                         }
   23050              : 
   23051              :                     default:
   23052              :                       return -1;
   23053              :                     }
   23054              : 
   23055              :                 default:
   23056              :                   return -1;
   23057              :                 }
   23058              : 
   23059              :             default:
   23060              :               return -1;
   23061              :             }
   23062              : 
   23063              :         default:
   23064              :           return -1;
   23065              :         }
   23066              : 
   23067              :     case MINUS:
   23068              :       if (pattern696 (x1, 
   23069              : MINUS) != 0)
   23070              :         return -1;
   23071              :       x5 = XEXP (x4, 0);
   23072              :       switch (GET_CODE (x5))
   23073              :         {
   23074              :         case SIGN_EXTEND:
   23075              :           switch (pattern1574 (x1))
   23076              :             {
   23077              :             case 0:
   23078              :               if (!
   23079              : #line 8454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23080              : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
   23081              :                 return -1;
   23082              :               return 429; /* *subvqi4 */
   23083              : 
   23084              :             case 1:
   23085              :               if (!
   23086              : #line 8454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23087              : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
   23088              :                 return -1;
   23089              :               return 430; /* *subvhi4 */
   23090              : 
   23091              :             case 2:
   23092              :               if (!
   23093              : #line 8454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23094              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
   23095              :                 return -1;
   23096              :               return 431; /* *subvsi4 */
   23097              : 
   23098              :             case 3:
   23099              :               if (x86_64_sext_operand (operands[2], E_DImode)
   23100              :                   && (
   23101              : #line 8454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23102              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) && 
   23103              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23104              : (TARGET_64BIT)))
   23105              :                 return 432; /* *subvdi4 */
   23106              :               if (!nonimmediate_operand (operands[2], E_DImode)
   23107              :                   || !(
   23108              : #line 8504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23109              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)) && 
   23110              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23111              : (!TARGET_64BIT)))
   23112              :                 return -1;
   23113              :               return 437; /* *subvdi4_doubleword */
   23114              : 
   23115              :             case 4:
   23116              :               if (!(
   23117              : #line 8504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23118              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) && 
   23119              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23120              : (TARGET_64BIT)))
   23121              :                 return -1;
   23122              :               return 438; /* *subvti4_doubleword */
   23123              : 
   23124              :             case 5:
   23125              :               if (!
   23126              : #line 8476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23127              : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
   23128              :    && CONST_INT_P (operands[2])
   23129              :    && INTVAL (operands[2]) == INTVAL (operands[3])))
   23130              :                 return -1;
   23131              :               return 433; /* subvqi4_1 */
   23132              : 
   23133              :             case 6:
   23134              :               if (!
   23135              : #line 8476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23136              : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
   23137              :    && CONST_INT_P (operands[2])
   23138              :    && INTVAL (operands[2]) == INTVAL (operands[3])))
   23139              :                 return -1;
   23140              :               return 434; /* subvhi4_1 */
   23141              : 
   23142              :             case 7:
   23143              :               if (!
   23144              : #line 8476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23145              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
   23146              :    && CONST_INT_P (operands[2])
   23147              :    && INTVAL (operands[2]) == INTVAL (operands[3])))
   23148              :                 return -1;
   23149              :               return 435; /* subvsi4_1 */
   23150              : 
   23151              :             case 8:
   23152              :               if (const_int_operand (operands[3], E_TImode)
   23153              :                   && x86_64_immediate_operand (operands[2], E_DImode)
   23154              :                   && (
   23155              : #line 8476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23156              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
   23157              :    && CONST_INT_P (operands[2])
   23158              :    && INTVAL (operands[2]) == INTVAL (operands[3])) && 
   23159              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23160              : (TARGET_64BIT)))
   23161              :                 return 436; /* subvdi4_1 */
   23162              :               if (!const_scalar_int_operand (operands[3], E_TImode)
   23163              :                   || !x86_64_hilo_general_operand (operands[2], E_DImode)
   23164              :                   || !(
   23165              : #line 8548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23166              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
   23167              :    && CONST_SCALAR_INT_P (operands[2])
   23168              :    && rtx_equal_p (operands[2], operands[3])) && 
   23169              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23170              : (!TARGET_64BIT)))
   23171              :                 return -1;
   23172              :               return 439; /* *subvdi4_doubleword_1 */
   23173              : 
   23174              :             case 9:
   23175              :               if (!(
   23176              : #line 8548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23177              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
   23178              :    && CONST_SCALAR_INT_P (operands[2])
   23179              :    && rtx_equal_p (operands[2], operands[3])) && 
   23180              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23181              : (TARGET_64BIT)))
   23182              :                 return -1;
   23183              :               return 440; /* *subvti4_doubleword_1 */
   23184              : 
   23185              :             default:
   23186              :               return -1;
   23187              :             }
   23188              : 
   23189              :         case MINUS:
   23190              :           x6 = XEXP (x5, 0);
   23191              :           if (GET_CODE (x6) != SIGN_EXTEND)
   23192              :             return -1;
   23193              :           x8 = XEXP (x5, 1);
   23194              :           switch (GET_CODE (x8))
   23195              :             {
   23196              :             case LTU:
   23197              :             case UNLT:
   23198              :               operands[4] = x8;
   23199              :               x23 = XEXP (x8, 1);
   23200              :               if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   23201              :                 return -1;
   23202              :               x9 = XEXP (x3, 1);
   23203              :               x10 = XEXP (x9, 0);
   23204              :               x11 = XEXP (x10, 0);
   23205              :               if (GET_CODE (x11) != MINUS)
   23206              :                 return -1;
   23207              :               x21 = XEXP (x11, 1);
   23208              :               switch (GET_CODE (x21))
   23209              :                 {
   23210              :                 case LTU:
   23211              :                 case UNLT:
   23212              :                   operands[5] = x21;
   23213              :                   x24 = XEXP (x21, 1);
   23214              :                   if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   23215              :                     return -1;
   23216              :                   x14 = XVECEXP (x1, 0, 1);
   23217              :                   x15 = XEXP (x14, 1);
   23218              :                   x16 = XEXP (x15, 0);
   23219              :                   if (GET_CODE (x16) != MINUS)
   23220              :                     return -1;
   23221              :                   x22 = XEXP (x16, 1);
   23222              :                   switch (GET_CODE (x22))
   23223              :                     {
   23224              :                     case LTU:
   23225              :                     case UNLT:
   23226              :                       if (!rtx_equal_p (x22, operands[5]))
   23227              :                         return -1;
   23228              :                       x18 = XEXP (x6, 0);
   23229              :                       operands[1] = x18;
   23230              :                       x19 = XEXP (x8, 0);
   23231              :                       operands[3] = x19;
   23232              :                       if (!flags_reg_operand (operands[3], E_VOIDmode))
   23233              :                         return -1;
   23234              :                       x12 = XEXP (x11, 0);
   23235              :                       if (!rtx_equal_p (x12, operands[1]))
   23236              :                         return -1;
   23237              :                       x25 = XEXP (x21, 0);
   23238              :                       if (!rtx_equal_p (x25, operands[3]))
   23239              :                         return -1;
   23240              :                       x17 = XEXP (x16, 0);
   23241              :                       if (!rtx_equal_p (x17, operands[1]))
   23242              :                         return -1;
   23243              :                       switch (pattern1886 (x1))
   23244              :                         {
   23245              :                         case 0:
   23246              :                           if (pattern1907 (x1, 
   23247              : E_QImode, 
   23248              : E_HImode) != 0
   23249              :                               || !
   23250              : #line 8613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23251              : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
   23252              :                             return -1;
   23253              :                           return 441; /* *subvqi4_overflow_1 */
   23254              : 
   23255              :                         case 1:
   23256              :                           if (pattern1907 (x1, 
   23257              : E_HImode, 
   23258              : E_SImode) != 0
   23259              :                               || !
   23260              : #line 8613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23261              : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
   23262              :                             return -1;
   23263              :                           return 442; /* *subvhi4_overflow_1 */
   23264              : 
   23265              :                         case 2:
   23266              :                           if (pattern1908 (x1, 
   23267              : E_SImode, 
   23268              : E_DImode) != 0
   23269              :                               || !
   23270              : #line 8613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23271              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
   23272              :                             return -1;
   23273              :                           return 443; /* *subvsi4_overflow_1 */
   23274              : 
   23275              :                         case 3:
   23276              :                           if (pattern1908 (x1, 
   23277              : E_DImode, 
   23278              : E_TImode) != 0
   23279              :                               || !(
   23280              : #line 8613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23281              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) && 
   23282              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23283              : (TARGET_64BIT)))
   23284              :                             return -1;
   23285              :                           return 444; /* *subvdi4_overflow_1 */
   23286              : 
   23287              :                         case 4:
   23288              :                           if (pattern1909 (x1, 
   23289              : E_QImode, 
   23290              : E_HImode) != 0
   23291              :                               || !
   23292              : #line 8646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23293              : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
   23294              :    && CONST_INT_P (operands[2])
   23295              :    && INTVAL (operands[2]) == INTVAL (operands[6])))
   23296              :                             return -1;
   23297              :                           return 445; /* *subvqi4_overflow_2 */
   23298              : 
   23299              :                         case 5:
   23300              :                           if (pattern1909 (x1, 
   23301              : E_HImode, 
   23302              : E_SImode) != 0
   23303              :                               || !
   23304              : #line 8646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23305              : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
   23306              :    && CONST_INT_P (operands[2])
   23307              :    && INTVAL (operands[2]) == INTVAL (operands[6])))
   23308              :                             return -1;
   23309              :                           return 446; /* *subvhi4_overflow_2 */
   23310              : 
   23311              :                         case 6:
   23312              :                           if (pattern1909 (x1, 
   23313              : E_SImode, 
   23314              : E_DImode) != 0
   23315              :                               || !
   23316              : #line 8646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23317              : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
   23318              :    && CONST_INT_P (operands[2])
   23319              :    && INTVAL (operands[2]) == INTVAL (operands[6])))
   23320              :                             return -1;
   23321              :                           return 447; /* *subvsi4_overflow_2 */
   23322              : 
   23323              :                         case 7:
   23324              :                           if (pattern1909 (x1, 
   23325              : E_DImode, 
   23326              : E_TImode) != 0
   23327              :                               || !(
   23328              : #line 8646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23329              : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
   23330              :    && CONST_INT_P (operands[2])
   23331              :    && INTVAL (operands[2]) == INTVAL (operands[6])) && 
   23332              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23333              : (TARGET_64BIT)))
   23334              :                             return -1;
   23335              :                           return 448; /* *subvdi4_overflow_2 */
   23336              : 
   23337              :                         default:
   23338              :                           return -1;
   23339              :                         }
   23340              : 
   23341              :                     default:
   23342              :                       return -1;
   23343              :                     }
   23344              : 
   23345              :                 default:
   23346              :                   return -1;
   23347              :                 }
   23348              : 
   23349              :             default:
   23350              :               return -1;
   23351              :             }
   23352              : 
   23353              :         default:
   23354              :           return -1;
   23355              :         }
   23356              : 
   23357              :     case MULT:
   23358              :       if (pattern695 (x1, 
   23359              : MULT) != 0)
   23360              :         return -1;
   23361              :       x5 = XEXP (x4, 0);
   23362              :       switch (GET_CODE (x5))
   23363              :         {
   23364              :         case SIGN_EXTEND:
   23365              :           x9 = XEXP (x3, 1);
   23366              :           if (GET_CODE (x9) != SIGN_EXTEND)
   23367              :             return -1;
   23368              :           x10 = XEXP (x9, 0);
   23369              :           if (GET_CODE (x10) != MULT)
   23370              :             return -1;
   23371              :           x6 = XEXP (x5, 0);
   23372              :           operands[1] = x6;
   23373              :           x11 = XEXP (x10, 0);
   23374              :           if (!rtx_equal_p (x11, operands[1]))
   23375              :             return -1;
   23376              :           x14 = XVECEXP (x1, 0, 1);
   23377              :           x15 = XEXP (x14, 1);
   23378              :           x16 = XEXP (x15, 0);
   23379              :           if (!rtx_equal_p (x16, operands[1]))
   23380              :             return -1;
   23381              :           x26 = XEXP (x4, 1);
   23382              :           switch (GET_CODE (x26))
   23383              :             {
   23384              :             case SIGN_EXTEND:
   23385              :               x27 = XEXP (x26, 0);
   23386              :               operands[2] = x27;
   23387              :               x28 = XEXP (x10, 1);
   23388              :               if (!rtx_equal_p (x28, operands[2]))
   23389              :                 return -1;
   23390              :               x29 = XEXP (x15, 1);
   23391              :               if (!rtx_equal_p (x29, operands[2]))
   23392              :                 return -1;
   23393              :               switch (GET_MODE (x4))
   23394              :                 {
   23395              :                 case E_DImode:
   23396              :                   if (pattern1827 (x1, 
   23397              : E_SImode, 
   23398              : E_DImode) != 0
   23399              :                       || !
   23400              : #line 11085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23401              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
   23402              :                     return -1;
   23403              :                   return 632; /* *mulvsi4 */
   23404              : 
   23405              :                 case E_TImode:
   23406              :                   if (pattern1827 (x1, 
   23407              : E_DImode, 
   23408              : E_TImode) != 0
   23409              :                       || !(
   23410              : #line 11085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23411              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   23412              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23413              : (TARGET_64BIT)))
   23414              :                     return -1;
   23415              :                   return 633; /* *mulvdi4 */
   23416              : 
   23417              :                 case E_SImode:
   23418              :                   if (pattern1828 (x1, 
   23419              : E_HImode, 
   23420              : E_SImode) != 0
   23421              :                       || !
   23422              : #line 11121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23423              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
   23424              :                     return -1;
   23425              :                   return 634; /* *mulvhi4 */
   23426              : 
   23427              :                 case E_HImode:
   23428              :                   if (pattern1828 (x1, 
   23429              : E_QImode, 
   23430              : E_HImode) != 0
   23431              :                       || !
   23432              : #line 11259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23433              : (TARGET_QIMODE_MATH
   23434              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   23435              :                     return -1;
   23436              :                   return 641; /* *mulvqi4 */
   23437              : 
   23438              :                 default:
   23439              :                   return -1;
   23440              :                 }
   23441              : 
   23442              :             case CONST_INT:
   23443              :               operands[3] = x26;
   23444              :               x28 = XEXP (x10, 1);
   23445              :               operands[2] = x28;
   23446              :               x29 = XEXP (x15, 1);
   23447              :               if (!rtx_equal_p (x29, operands[2]))
   23448              :                 return -1;
   23449              :               switch (GET_MODE (x4))
   23450              :                 {
   23451              :                 case E_SImode:
   23452              :                   if (GET_MODE (x5) != E_SImode
   23453              :                       || !nonimmediate_operand (operands[1], E_HImode)
   23454              :                       || !const_int_operand (operands[3], E_SImode)
   23455              :                       || GET_MODE (x9) != E_SImode
   23456              :                       || GET_MODE (x10) != E_HImode
   23457              :                       || !immediate_operand (operands[2], E_HImode)
   23458              :                       || !register_operand (operands[0], E_HImode)
   23459              :                       || GET_MODE (x15) != E_HImode
   23460              :                       || !
   23461              : #line 11145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23462              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
   23463              :    && CONST_INT_P (operands[2])
   23464              :    && INTVAL (operands[2]) == INTVAL (operands[3])))
   23465              :                     return -1;
   23466              :                   return 635; /* *mulvhi4_1 */
   23467              : 
   23468              :                 case E_DImode:
   23469              :                   if (pattern1829 (x1, 
   23470              : E_SImode, 
   23471              : E_DImode) != 0
   23472              :                       || !
   23473              : #line 11145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23474              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
   23475              :    && CONST_INT_P (operands[2])
   23476              :    && INTVAL (operands[2]) == INTVAL (operands[3])))
   23477              :                     return -1;
   23478              :                   return 636; /* *mulvsi4_1 */
   23479              : 
   23480              :                 case E_TImode:
   23481              :                   if (pattern1829 (x1, 
   23482              : E_DImode, 
   23483              : E_TImode) != 0
   23484              :                       || !(
   23485              : #line 11145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23486              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
   23487              :    && CONST_INT_P (operands[2])
   23488              :    && INTVAL (operands[2]) == INTVAL (operands[3])) && 
   23489              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23490              : (TARGET_64BIT)))
   23491              :                     return -1;
   23492              :                   return 637; /* *mulvdi4_1 */
   23493              : 
   23494              :                 default:
   23495              :                   return -1;
   23496              :                 }
   23497              : 
   23498              :             default:
   23499              :               return -1;
   23500              :             }
   23501              : 
   23502              :         case ZERO_EXTEND:
   23503              :           x26 = XEXP (x4, 1);
   23504              :           if (GET_CODE (x26) != ZERO_EXTEND)
   23505              :             return -1;
   23506              :           x9 = XEXP (x3, 1);
   23507              :           if (GET_CODE (x9) != ZERO_EXTEND)
   23508              :             return -1;
   23509              :           x10 = XEXP (x9, 0);
   23510              :           if (GET_CODE (x10) != MULT)
   23511              :             return -1;
   23512              :           x6 = XEXP (x5, 0);
   23513              :           operands[1] = x6;
   23514              :           x27 = XEXP (x26, 0);
   23515              :           operands[2] = x27;
   23516              :           x11 = XEXP (x10, 0);
   23517              :           if (!rtx_equal_p (x11, operands[1]))
   23518              :             return -1;
   23519              :           x28 = XEXP (x10, 1);
   23520              :           if (!rtx_equal_p (x28, operands[2]))
   23521              :             return -1;
   23522              :           x14 = XVECEXP (x1, 0, 1);
   23523              :           x15 = XEXP (x14, 1);
   23524              :           x16 = XEXP (x15, 0);
   23525              :           if (!rtx_equal_p (x16, operands[1]))
   23526              :             return -1;
   23527              :           x29 = XEXP (x15, 1);
   23528              :           if (!rtx_equal_p (x29, operands[2]))
   23529              :             return -1;
   23530              :           switch (GET_MODE (x4))
   23531              :             {
   23532              :             case E_SImode:
   23533              :               if (pnum_clobbers == NULL
   23534              :                   || pattern1828 (x1, 
   23535              : E_HImode, 
   23536              : E_SImode) != 0
   23537              :                   || !
   23538              : #line 11215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23539              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
   23540              :                 return -1;
   23541              :               *pnum_clobbers = 1;
   23542              :               return 638; /* *umulvhi4 */
   23543              : 
   23544              :             case E_DImode:
   23545              :               if (pnum_clobbers == NULL
   23546              :                   || pattern1828 (x1, 
   23547              : E_SImode, 
   23548              : E_DImode) != 0
   23549              :                   || !
   23550              : #line 11215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23551              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
   23552              :                 return -1;
   23553              :               *pnum_clobbers = 1;
   23554              :               return 639; /* *umulvsi4 */
   23555              : 
   23556              :             case E_TImode:
   23557              :               if (pnum_clobbers == NULL
   23558              :                   || pattern1828 (x1, 
   23559              : E_DImode, 
   23560              : E_TImode) != 0
   23561              :                   || !(
   23562              : #line 11215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23563              : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
   23564              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23565              : (TARGET_64BIT)))
   23566              :                 return -1;
   23567              :               *pnum_clobbers = 1;
   23568              :               return 640; /* *umulvdi4 */
   23569              : 
   23570              :             case E_HImode:
   23571              :               if (pattern1828 (x1, 
   23572              : E_QImode, 
   23573              : E_HImode) != 0
   23574              :                   || !
   23575              : #line 11259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23576              : (TARGET_QIMODE_MATH
   23577              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   23578              :                 return -1;
   23579              :               return 642; /* *umulvqi4 */
   23580              : 
   23581              :             default:
   23582              :               return -1;
   23583              :             }
   23584              : 
   23585              :         default:
   23586              :           return -1;
   23587              :         }
   23588              : 
   23589              :     case ZERO_EXTRACT:
   23590              :       switch (pattern697 (x1))
   23591              :         {
   23592              :         case 0:
   23593              :           if (!
   23594              : #line 19744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23595              : (TARGET_USE_BT && ix86_pre_reload_split ()))
   23596              :             return -1;
   23597              :           return 1472; /* *btsi_setncqi_2 */
   23598              : 
   23599              :         case 1:
   23600              :           if (!(
   23601              : #line 19744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23602              : (TARGET_USE_BT && ix86_pre_reload_split ()) && 
   23603              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23604              : (TARGET_64BIT)))
   23605              :             return -1;
   23606              :           return 1473; /* *btdi_setncqi_2 */
   23607              : 
   23608              :         default:
   23609              :           return -1;
   23610              :         }
   23611              : 
   23612              :     case REG:
   23613              :     case SUBREG:
   23614              :     case MEM:
   23615              :       operands[1] = x4;
   23616              :       if (!nonimmediate_operand (operands[1], E_V2SFmode))
   23617              :         return -1;
   23618              :       x14 = XVECEXP (x1, 0, 1);
   23619              :       if (pattern384 (x14, 
   23620              : 111, 
   23621              : 0) != 0)
   23622              :         return -1;
   23623              :       x30 = XEXP (x2, 0);
   23624              :       operands[0] = x30;
   23625              :       if (!register_operand (operands[0], E_V2SImode)
   23626              :           || GET_MODE (x3) != E_V2SImode)
   23627              :         return -1;
   23628              :       x9 = XEXP (x3, 1);
   23629              :       operands[2] = x9;
   23630              :       if (!nonimmediate_operand (operands[2], E_V2SFmode)
   23631              :           || !
   23632              : #line 1226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   23633              : (TARGET_3DNOW && ix86_binary_operator_ok (EQ, V2SFmode, operands)))
   23634              :         return -1;
   23635              :       return 2125; /* *mmx_eqv2sf3 */
   23636              : 
   23637              :     default:
   23638              :       return -1;
   23639              :     }
   23640              : }
   23641              : 
   23642              :  int
   23643              : recog_432 (rtx x1 ATTRIBUTE_UNUSED,
   23644              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   23645              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   23646              : {
   23647              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   23648              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   23649              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   23650              :   rtx x18, x19;
   23651              :   int res ATTRIBUTE_UNUSED;
   23652              :   x2 = XVECEXP (x1, 0, 0);
   23653              :   x3 = XEXP (x2, 1);
   23654              :   if (GET_MODE (x3) != E_DImode)
   23655              :     return -1;
   23656              :   x4 = XEXP (x2, 0);
   23657              :   if (!register_operand (x4, E_DImode))
   23658              :     return -1;
   23659              :   x5 = XEXP (x3, 0);
   23660              :   if (GET_MODE (x5) != E_SImode)
   23661              :     return -1;
   23662              :   switch (GET_CODE (x5))
   23663              :     {
   23664              :     case SMUL_HIGHPART:
   23665              :       if (pattern836 (x1) != 0
   23666              :           || !
   23667              : #line 11493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23668              : (TARGET_64BIT))
   23669              :         return -1;
   23670              :       return 659; /* *smulsi3_highpart_zext */
   23671              : 
   23672              :     case UMUL_HIGHPART:
   23673              :       if (pattern836 (x1) != 0
   23674              :           || !
   23675              : #line 11493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23676              : (TARGET_64BIT))
   23677              :         return -1;
   23678              :       return 660; /* *umulsi3_highpart_zext */
   23679              : 
   23680              :     case TRUNCATE:
   23681              :       x6 = XEXP (x5, 0);
   23682              :       if (GET_CODE (x6) != LSHIFTRT
   23683              :           || GET_MODE (x6) != E_DImode)
   23684              :         return -1;
   23685              :       x7 = XEXP (x6, 0);
   23686              :       if (GET_CODE (x7) != MULT
   23687              :           || GET_MODE (x7) != E_DImode)
   23688              :         return -1;
   23689              :       x8 = XEXP (x6, 1);
   23690              :       if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 32])
   23691              :         return -1;
   23692              :       x9 = XVECEXP (x1, 0, 1);
   23693              :       if (GET_CODE (x9) != CLOBBER
   23694              :           || pattern838 (x1) != 0)
   23695              :         return -1;
   23696              :       x10 = XEXP (x7, 0);
   23697              :       if (GET_MODE (x10) != E_DImode)
   23698              :         return -1;
   23699              :       x11 = XEXP (x7, 1);
   23700              :       if (GET_MODE (x11) != E_DImode)
   23701              :         return -1;
   23702              :       x12 = XEXP (x9, 0);
   23703              :       operands[3] = x12;
   23704              :       if (!scratch_operand (operands[3], E_SImode))
   23705              :         return -1;
   23706              :       switch (GET_CODE (x10))
   23707              :         {
   23708              :         case SIGN_EXTEND:
   23709              :           if (GET_CODE (x11) != SIGN_EXTEND)
   23710              :             return -1;
   23711              :           x13 = XEXP (x10, 0);
   23712              :           operands[1] = x13;
   23713              :           if (!nonimmediate_operand (operands[1], E_SImode))
   23714              :             return -1;
   23715              :           x14 = XEXP (x11, 0);
   23716              :           operands[2] = x14;
   23717              :           if (!nonimmediate_operand (operands[2], E_SImode)
   23718              :               || !
   23719              : #line 11541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23720              : (TARGET_64BIT
   23721              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   23722              :             return -1;
   23723              :           return 663; /* *smulsi3_highpart_zext */
   23724              : 
   23725              :         case ZERO_EXTEND:
   23726              :           if (GET_CODE (x11) != ZERO_EXTEND)
   23727              :             return -1;
   23728              :           x13 = XEXP (x10, 0);
   23729              :           operands[1] = x13;
   23730              :           if (!nonimmediate_operand (operands[1], E_SImode))
   23731              :             return -1;
   23732              :           x14 = XEXP (x11, 0);
   23733              :           operands[2] = x14;
   23734              :           if (!nonimmediate_operand (operands[2], E_SImode)
   23735              :               || !
   23736              : #line 11541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23737              : (TARGET_64BIT
   23738              :    && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
   23739              :             return -1;
   23740              :           return 664; /* *umulsi3_highpart_zext */
   23741              : 
   23742              :         default:
   23743              :           return -1;
   23744              :         }
   23745              : 
   23746              :     case DIV:
   23747              :       x9 = XVECEXP (x1, 0, 1);
   23748              :       if (GET_CODE (x9) != SET)
   23749              :         return -1;
   23750              :       x15 = XEXP (x9, 1);
   23751              :       if (GET_CODE (x15) != MOD
   23752              :           || GET_MODE (x15) != E_SImode)
   23753              :         return -1;
   23754              :       operands[0] = x4;
   23755              :       x6 = XEXP (x5, 0);
   23756              :       operands[2] = x6;
   23757              :       if (!register_operand (operands[2], E_SImode))
   23758              :         return -1;
   23759              :       x16 = XEXP (x5, 1);
   23760              :       operands[3] = x16;
   23761              :       if (!nonimmediate_operand (operands[3], E_SImode))
   23762              :         return -1;
   23763              :       x12 = XEXP (x9, 0);
   23764              :       operands[1] = x12;
   23765              :       if (!register_operand (operands[1], E_SImode))
   23766              :         return -1;
   23767              :       switch (pattern1642 (x1, pnum_clobbers))
   23768              :         {
   23769              :         case 0:
   23770              :           if (!
   23771              : #line 11828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23772              : (TARGET_64BIT))
   23773              :             return -1;
   23774              :           *pnum_clobbers = 1;
   23775              :           return 671; /* divmodsi4_zext_1 */
   23776              : 
   23777              :         case 1:
   23778              :           if (!
   23779              : #line 12027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23780              : (TARGET_64BIT))
   23781              :             return -1;
   23782              :           return 683; /* *divmodsi4_zext_1 */
   23783              : 
   23784              :         case 2:
   23785              :           if (!
   23786              : #line 12223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23787              : (TARGET_64BIT))
   23788              :             return -1;
   23789              :           *pnum_clobbers = 1;
   23790              :           return 701; /* *divmodsi4_noext_zext_1 */
   23791              : 
   23792              :         default:
   23793              :           return -1;
   23794              :         }
   23795              : 
   23796              :     case UDIV:
   23797              :       x9 = XVECEXP (x1, 0, 1);
   23798              :       if (GET_CODE (x9) != SET)
   23799              :         return -1;
   23800              :       x15 = XEXP (x9, 1);
   23801              :       if (GET_CODE (x15) != UMOD
   23802              :           || GET_MODE (x15) != E_SImode)
   23803              :         return -1;
   23804              :       operands[0] = x4;
   23805              :       x6 = XEXP (x5, 0);
   23806              :       operands[2] = x6;
   23807              :       if (!register_operand (operands[2], E_SImode))
   23808              :         return -1;
   23809              :       x16 = XEXP (x5, 1);
   23810              :       operands[3] = x16;
   23811              :       x12 = XEXP (x9, 0);
   23812              :       operands[1] = x12;
   23813              :       if (!register_operand (operands[1], E_SImode))
   23814              :         return -1;
   23815              :       switch (pattern1583 (x1, pnum_clobbers))
   23816              :         {
   23817              :         case 0:
   23818              :           if (!
   23819              : #line 11864 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23820              : (TARGET_64BIT))
   23821              :             return -1;
   23822              :           *pnum_clobbers = 1;
   23823              :           return 672; /* udivmodsi4_zext_1 */
   23824              : 
   23825              :         case 1:
   23826              :           if (!
   23827              : #line 12062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23828              : (TARGET_64BIT))
   23829              :             return -1;
   23830              :           return 684; /* *udivmodsi4_zext_1 */
   23831              : 
   23832              :         case 2:
   23833              :           if (!
   23834              : #line 12223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23835              : (TARGET_64BIT))
   23836              :             return -1;
   23837              :           *pnum_clobbers = 1;
   23838              :           return 702; /* *udivmodsi4_noext_zext_1 */
   23839              : 
   23840              :         case 3:
   23841              :           if (!
   23842              : #line 12084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23843              : (TARGET_64BIT
   23844              :    && IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
   23845              :             return -1;
   23846              :           return 685; /* *udivmodsi4_pow2_zext_1 */
   23847              : 
   23848              :         default:
   23849              :           return -1;
   23850              :         }
   23851              : 
   23852              :     case MOD:
   23853              :       x9 = XVECEXP (x1, 0, 1);
   23854              :       if (GET_CODE (x9) != SET)
   23855              :         return -1;
   23856              :       x15 = XEXP (x9, 1);
   23857              :       if (GET_CODE (x15) != DIV
   23858              :           || GET_MODE (x15) != E_SImode)
   23859              :         return -1;
   23860              :       operands[1] = x4;
   23861              :       x6 = XEXP (x5, 0);
   23862              :       operands[2] = x6;
   23863              :       if (!register_operand (operands[2], E_SImode))
   23864              :         return -1;
   23865              :       x16 = XEXP (x5, 1);
   23866              :       operands[3] = x16;
   23867              :       if (!nonimmediate_operand (operands[3], E_SImode))
   23868              :         return -1;
   23869              :       x12 = XEXP (x9, 0);
   23870              :       operands[0] = x12;
   23871              :       if (!register_operand (operands[0], E_SImode))
   23872              :         return -1;
   23873              :       switch (pattern1642 (x1, pnum_clobbers))
   23874              :         {
   23875              :         case 0:
   23876              :           if (!
   23877              : #line 11887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23878              : (TARGET_64BIT))
   23879              :             return -1;
   23880              :           *pnum_clobbers = 1;
   23881              :           return 673; /* divmodsi4_zext_2 */
   23882              : 
   23883              :         case 1:
   23884              :           if (!
   23885              : #line 12110 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23886              : (TARGET_64BIT))
   23887              :             return -1;
   23888              :           return 686; /* *divmodsi4_zext_2 */
   23889              : 
   23890              :         case 2:
   23891              :           if (!
   23892              : #line 12237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23893              : (TARGET_64BIT))
   23894              :             return -1;
   23895              :           *pnum_clobbers = 1;
   23896              :           return 703; /* *divmodsi4_noext_zext_2 */
   23897              : 
   23898              :         default:
   23899              :           return -1;
   23900              :         }
   23901              : 
   23902              :     case UMOD:
   23903              :       x9 = XVECEXP (x1, 0, 1);
   23904              :       if (GET_CODE (x9) != SET)
   23905              :         return -1;
   23906              :       x15 = XEXP (x9, 1);
   23907              :       if (GET_CODE (x15) != UDIV
   23908              :           || GET_MODE (x15) != E_SImode)
   23909              :         return -1;
   23910              :       operands[1] = x4;
   23911              :       x6 = XEXP (x5, 0);
   23912              :       operands[2] = x6;
   23913              :       if (!register_operand (operands[2], E_SImode))
   23914              :         return -1;
   23915              :       x16 = XEXP (x5, 1);
   23916              :       operands[3] = x16;
   23917              :       x12 = XEXP (x9, 0);
   23918              :       operands[0] = x12;
   23919              :       if (!register_operand (operands[0], E_SImode))
   23920              :         return -1;
   23921              :       switch (pattern1583 (x1, pnum_clobbers))
   23922              :         {
   23923              :         case 0:
   23924              :           if (!
   23925              : #line 11924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23926              : (TARGET_64BIT))
   23927              :             return -1;
   23928              :           *pnum_clobbers = 1;
   23929              :           return 674; /* udivmodsi4_zext_2 */
   23930              : 
   23931              :         case 1:
   23932              :           if (!
   23933              : #line 12146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23934              : (TARGET_64BIT))
   23935              :             return -1;
   23936              :           return 687; /* *udivmodsi4_zext_2 */
   23937              : 
   23938              :         case 2:
   23939              :           if (!
   23940              : #line 12237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23941              : (TARGET_64BIT))
   23942              :             return -1;
   23943              :           *pnum_clobbers = 1;
   23944              :           return 704; /* *udivmodsi4_noext_zext_2 */
   23945              : 
   23946              :         case 3:
   23947              :           if (!
   23948              : #line 12168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23949              : (TARGET_64BIT
   23950              :    && IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
   23951              :             return -1;
   23952              :           return 688; /* *udivmodsi4_pow2_zext_2 */
   23953              : 
   23954              :         default:
   23955              :           return -1;
   23956              :         }
   23957              : 
   23958              :     case CTZ:
   23959              :       if (pattern837 (x1) != 0
   23960              :           || !
   23961              : #line 21572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23962              : (TARGET_64BIT))
   23963              :         return -1;
   23964              :       return 1555; /* *ctzsidi2_uext_falsedep */
   23965              : 
   23966              :     case CLZ:
   23967              :       x9 = XVECEXP (x1, 0, 1);
   23968              :       if (GET_CODE (x9) != UNSPEC
   23969              :           || XVECLEN (x9, 0) != 1
   23970              :           || XINT (x9, 1) != 39)
   23971              :         return -1;
   23972              :       x17 = XVECEXP (x1, 0, 2);
   23973              :       if (GET_CODE (x17) != CLOBBER)
   23974              :         return -1;
   23975              :       x18 = XEXP (x17, 0);
   23976              :       if (GET_CODE (x18) != REG
   23977              :           || REGNO (x18) != 17
   23978              :           || GET_MODE (x18) != E_CCmode)
   23979              :         return -1;
   23980              :       operands[0] = x4;
   23981              :       x6 = XEXP (x5, 0);
   23982              :       operands[1] = x6;
   23983              :       x19 = XVECEXP (x9, 0, 0);
   23984              :       switch (pattern1433 (x19))
   23985              :         {
   23986              :         case 0:
   23987              :           if (!
   23988              : #line 21994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23989              : (TARGET_LZCNT))
   23990              :             return -1;
   23991              :           return 1578; /* *clzsi2_lzcnt_zext_2_falsedep */
   23992              : 
   23993              :         case 1:
   23994              :           if (!(
   23995              : #line 21994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23996              : (TARGET_LZCNT) && 
   23997              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   23998              : (TARGET_64BIT)))
   23999              :             return -1;
   24000              :           return 1579; /* *clzsi2_lzcnt_zext_2_falsedep */
   24001              : 
   24002              :         default:
   24003              :           return -1;
   24004              :         }
   24005              : 
   24006              :     case POPCOUNT:
   24007              :       if (pattern837 (x1) != 0
   24008              :           || !
   24009              : #line 22839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24010              : (TARGET_POPCNT && TARGET_64BIT))
   24011              :         return -1;
   24012              :       return 1669; /* *popcountsi2_zext_2_falsedep */
   24013              : 
   24014              :     default:
   24015              :       return -1;
   24016              :     }
   24017              : }
   24018              : 
   24019              :  int
   24020              : recog_442 (rtx x1 ATTRIBUTE_UNUSED,
   24021              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   24022              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   24023              : {
   24024              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   24025              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   24026              :   rtx x10, x11, x12, x13, x14, x15, x16, x17;
   24027              :   rtx x18, x19;
   24028              :   int res ATTRIBUTE_UNUSED;
   24029              :   x2 = XVECEXP (x1, 0, 0);
   24030              :   if (GET_CODE (x2) != UNSPEC_VOLATILE
   24031              :       || XVECLEN (x2, 0) != 1)
   24032              :     return -1;
   24033              :   x3 = XVECEXP (x2, 0, 0);
   24034              :   if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   24035              :       || pattern37 (x1) != 0)
   24036              :     return -1;
   24037              :   x4 = XVECEXP (x1, 0, 9);
   24038              :   if (GET_CODE (x4) != CLOBBER)
   24039              :     return -1;
   24040              :   x5 = XEXP (x4, 0);
   24041              :   if (GET_CODE (x5) != REG
   24042              :       || REGNO (x5) != 28
   24043              :       || GET_MODE (x5) != E_DImode)
   24044              :     return -1;
   24045              :   x6 = XVECEXP (x1, 0, 10);
   24046              :   if (GET_CODE (x6) != CLOBBER)
   24047              :     return -1;
   24048              :   x7 = XEXP (x6, 0);
   24049              :   if (GET_CODE (x7) != REG
   24050              :       || REGNO (x7) != 29
   24051              :       || GET_MODE (x7) != E_DImode)
   24052              :     return -1;
   24053              :   x8 = XVECEXP (x1, 0, 11);
   24054              :   if (GET_CODE (x8) != CLOBBER)
   24055              :     return -1;
   24056              :   x9 = XEXP (x8, 0);
   24057              :   if (GET_CODE (x9) != REG
   24058              :       || REGNO (x9) != 30
   24059              :       || GET_MODE (x9) != E_DImode)
   24060              :     return -1;
   24061              :   x10 = XVECEXP (x1, 0, 12);
   24062              :   if (GET_CODE (x10) != CLOBBER)
   24063              :     return -1;
   24064              :   x11 = XEXP (x10, 0);
   24065              :   if (GET_CODE (x11) != REG
   24066              :       || REGNO (x11) != 31
   24067              :       || GET_MODE (x11) != E_DImode)
   24068              :     return -1;
   24069              :   x12 = XVECEXP (x1, 0, 13);
   24070              :   if (GET_CODE (x12) != CLOBBER)
   24071              :     return -1;
   24072              :   x13 = XEXP (x12, 0);
   24073              :   if (GET_CODE (x13) != REG
   24074              :       || REGNO (x13) != 32
   24075              :       || GET_MODE (x13) != E_DImode)
   24076              :     return -1;
   24077              :   x14 = XVECEXP (x1, 0, 14);
   24078              :   if (GET_CODE (x14) != CLOBBER)
   24079              :     return -1;
   24080              :   x15 = XEXP (x14, 0);
   24081              :   if (GET_CODE (x15) != REG
   24082              :       || REGNO (x15) != 33
   24083              :       || GET_MODE (x15) != E_DImode)
   24084              :     return -1;
   24085              :   x16 = XVECEXP (x1, 0, 15);
   24086              :   if (GET_CODE (x16) != CLOBBER)
   24087              :     return -1;
   24088              :   x17 = XEXP (x16, 0);
   24089              :   if (GET_CODE (x17) != REG
   24090              :       || REGNO (x17) != 34
   24091              :       || GET_MODE (x17) != E_DImode)
   24092              :     return -1;
   24093              :   x18 = XVECEXP (x1, 0, 16);
   24094              :   if (GET_CODE (x18) != CLOBBER)
   24095              :     return -1;
   24096              :   x19 = XEXP (x18, 0);
   24097              :   if (GET_CODE (x19) != REG
   24098              :       || REGNO (x19) != 35
   24099              :       || GET_MODE (x19) != E_DImode)
   24100              :     return -1;
   24101              :   switch (XINT (x2, 1))
   24102              :     {
   24103              :     case 90:
   24104              :       if (!
   24105              : #line 6896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   24106              : (TARGET_MMX))
   24107              :         return -1;
   24108              :       return 2443; /* *mmx_emms */
   24109              : 
   24110              :     case 91:
   24111              :       if (!
   24112              : #line 6897 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   24113              : (TARGET_3DNOW))
   24114              :         return -1;
   24115              :       return 2444; /* *mmx_femms */
   24116              : 
   24117              :     default:
   24118              :       return -1;
   24119              :     }
   24120              : }
   24121              : 
   24122              :  int
   24123              : recog_446 (rtx x1 ATTRIBUTE_UNUSED,
   24124              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   24125              :         int *pnum_clobbers ATTRIBUTE_UNUSED)
   24126              : {
   24127              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   24128              :   rtx x2, x3, x4, x5;
   24129              :   int res ATTRIBUTE_UNUSED;
   24130              :   switch (XVECLEN (x1, 0))
   24131              :     {
   24132              :     case 1:
   24133              :       switch (XINT (x1, 1))
   24134              :         {
   24135              :         case 1:
   24136              :           x2 = XVECEXP (x1, 0, 0);
   24137              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   24138              :             return -1;
   24139              :           return 1518; /* blockage */
   24140              : 
   24141              :         case 5:
   24142              :           x2 = XVECEXP (x1, 0, 0);
   24143              :           operands[0] = x2;
   24144              :           return 1520; /* prologue_use */
   24145              : 
   24146              :         case 8:
   24147              :           x2 = XVECEXP (x1, 0, 0);
   24148              :           operands[0] = x2;
   24149              :           if (!const_int_operand (operands[0], E_VOIDmode)
   24150              :               || !
   24151              : #line 21067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24152              : (reload_completed))
   24153              :             return -1;
   24154              :           return 1528; /* nops */
   24155              : 
   24156              :         case 6:
   24157              :           x2 = XVECEXP (x1, 0, 0);
   24158              :           operands[0] = x2;
   24159              :           if (!const_int_operand (operands[0], E_SImode))
   24160              :             return -1;
   24161              :           return 1538; /* split_stack_return */
   24162              : 
   24163              :         case 7:
   24164              :           x2 = XVECEXP (x1, 0, 0);
   24165              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   24166              :             return -1;
   24167              :           return 1794; /* cld */
   24168              : 
   24169              :         case 0:
   24170              :           x2 = XVECEXP (x1, 0, 0);
   24171              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   24172              :             return -1;
   24173              :           return 1939; /* ud2 */
   24174              : 
   24175              :         case 21:
   24176              :           x2 = XVECEXP (x1, 0, 0);
   24177              :           operands[0] = x2;
   24178              :           if (!memory_operand (operands[0], E_BLKmode)
   24179              :               || !
   24180              : #line 29873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24181              : (TARGET_FXSR))
   24182              :             return -1;
   24183              :           return 1956; /* fxrstor */
   24184              : 
   24185              :         case 23:
   24186              :           x2 = XVECEXP (x1, 0, 0);
   24187              :           operands[0] = x2;
   24188              :           if (!memory_operand (operands[0], E_BLKmode)
   24189              :               || !
   24190              : #line 29883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24191              : (TARGET_64BIT && TARGET_FXSR))
   24192              :             return -1;
   24193              :           return 1957; /* fxrstor64 */
   24194              : 
   24195              :         case 41:
   24196              :           if (pnum_clobbers == NULL)
   24197              :             return -1;
   24198              :           x2 = XVECEXP (x1, 0, 0);
   24199              :           operands[0] = x2;
   24200              :           if (!memory_operand (operands[0], E_BLKmode)
   24201              :               || !
   24202              : #line 30081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24203              : (TARGET_80387))
   24204              :             return -1;
   24205              :           *pnum_clobbers = 8;
   24206              :           return 1981; /* fldenv */
   24207              : 
   24208              :         case 43:
   24209              :           x2 = XVECEXP (x1, 0, 0);
   24210              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   24211              :               || !
   24212              : #line 30100 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24213              : (TARGET_80387))
   24214              :             return -1;
   24215              :           return 1983; /* fnclex */
   24216              : 
   24217              :         case 12:
   24218              :           x2 = XVECEXP (x1, 0, 0);
   24219              :           operands[0] = x2;
   24220              :           switch (GET_MODE (operands[0]))
   24221              :             {
   24222              :             case E_SImode:
   24223              :               if (!register_operand (operands[0], E_SImode)
   24224              :                   || !(
   24225              : #line 30115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24226              : (TARGET_LWP) && 
   24227              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24228              : (Pmode == SImode)))
   24229              :                 return -1;
   24230              :               return 1984; /* lwp_llwpcbsi */
   24231              : 
   24232              :             case E_DImode:
   24233              :               if (!register_operand (operands[0], E_DImode)
   24234              :                   || !(
   24235              : #line 30115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24236              : (TARGET_LWP) && 
   24237              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24238              : (Pmode == DImode)))
   24239              :                 return -1;
   24240              :               return 1985; /* lwp_llwpcbdi */
   24241              : 
   24242              :             default:
   24243              :               return -1;
   24244              :             }
   24245              : 
   24246              :         case 18:
   24247              :           x2 = XVECEXP (x1, 0, 0);
   24248              :           operands[0] = x2;
   24249              :           switch (GET_MODE (operands[0]))
   24250              :             {
   24251              :             case E_SImode:
   24252              :               if (!register_operand (operands[0], E_SImode)
   24253              :                   || !
   24254              : #line 30181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24255              : (TARGET_64BIT && TARGET_FSGSBASE))
   24256              :                 return -1;
   24257              :               return 1996; /* wrfsbasesi */
   24258              : 
   24259              :             case E_DImode:
   24260              :               if (!register_operand (operands[0], E_DImode)
   24261              :                   || !(
   24262              : #line 30181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24263              : (TARGET_64BIT && TARGET_FSGSBASE) && 
   24264              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24265              : (TARGET_64BIT)))
   24266              :                 return -1;
   24267              :               return 1998; /* wrfsbasedi */
   24268              : 
   24269              :             default:
   24270              :               return -1;
   24271              :             }
   24272              : 
   24273              :         case 19:
   24274              :           x2 = XVECEXP (x1, 0, 0);
   24275              :           operands[0] = x2;
   24276              :           switch (GET_MODE (operands[0]))
   24277              :             {
   24278              :             case E_SImode:
   24279              :               if (!register_operand (operands[0], E_SImode)
   24280              :                   || !
   24281              : #line 30181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24282              : (TARGET_64BIT && TARGET_FSGSBASE))
   24283              :                 return -1;
   24284              :               return 1997; /* wrgsbasesi */
   24285              : 
   24286              :             case E_DImode:
   24287              :               if (!register_operand (operands[0], E_DImode)
   24288              :                   || !(
   24289              : #line 30181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24290              : (TARGET_64BIT && TARGET_FSGSBASE) && 
   24291              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24292              : (TARGET_64BIT)))
   24293              :                 return -1;
   24294              :               return 1999; /* wrgsbasedi */
   24295              : 
   24296              :             default:
   24297              :               return -1;
   24298              :             }
   24299              : 
   24300              :         case 78:
   24301              :           x2 = XVECEXP (x1, 0, 0);
   24302              :           operands[0] = x2;
   24303              :           switch (GET_MODE (operands[0]))
   24304              :             {
   24305              :             case E_SImode:
   24306              :               if (!nonimmediate_operand (operands[0], E_SImode)
   24307              :                   || !
   24308              : #line 30190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24309              : (TARGET_PTWRITE))
   24310              :                 return -1;
   24311              :               return 2000; /* ptwritesi */
   24312              : 
   24313              :             case E_DImode:
   24314              :               if (!nonimmediate_operand (operands[0], E_DImode)
   24315              :                   || !(
   24316              : #line 30190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24317              : (TARGET_PTWRITE) && 
   24318              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24319              : (TARGET_64BIT)))
   24320              :                 return -1;
   24321              :               return 2001; /* ptwritedi */
   24322              : 
   24323              :             default:
   24324              :               return -1;
   24325              :             }
   24326              : 
   24327              :         case 60:
   24328              :           x2 = XVECEXP (x1, 0, 0);
   24329              :           operands[0] = x2;
   24330              :           switch (GET_MODE (operands[0]))
   24331              :             {
   24332              :             case E_SImode:
   24333              :               if (!register_operand (operands[0], E_SImode)
   24334              :                   || !
   24335              : #line 30248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24336              : (TARGET_SHSTK || (flag_cf_protection & CF_RETURN)))
   24337              :                 return -1;
   24338              :               return 2011; /* incsspsi */
   24339              : 
   24340              :             case E_DImode:
   24341              :               if (!register_operand (operands[0], E_DImode)
   24342              :                   || !(
   24343              : #line 30248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24344              : (TARGET_SHSTK || (flag_cf_protection & CF_RETURN)) && 
   24345              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24346              : (TARGET_64BIT)))
   24347              :                 return -1;
   24348              :               return 2012; /* incsspdi */
   24349              : 
   24350              :             default:
   24351              :               return -1;
   24352              :             }
   24353              : 
   24354              :         case 61:
   24355              :           x2 = XVECEXP (x1, 0, 0);
   24356              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   24357              :               || !
   24358              : #line 30255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24359              : (TARGET_SHSTK))
   24360              :             return -1;
   24361              :           return 2013; /* saveprevssp */
   24362              : 
   24363              :         case 62:
   24364              :           x2 = XVECEXP (x1, 0, 0);
   24365              :           operands[0] = x2;
   24366              :           if (!memory_operand (operands[0], E_DImode)
   24367              :               || !
   24368              : #line 30263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24369              : (TARGET_SHSTK))
   24370              :             return -1;
   24371              :           return 2014; /* rstorssp */
   24372              : 
   24373              :         case 65:
   24374              :           x2 = XVECEXP (x1, 0, 0);
   24375              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   24376              :               || !
   24377              : #line 30288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24378              : (TARGET_SHSTK))
   24379              :             return -1;
   24380              :           return 2019; /* setssbsy */
   24381              : 
   24382              :         case 66:
   24383              :           x2 = XVECEXP (x1, 0, 0);
   24384              :           operands[0] = x2;
   24385              :           if (!memory_operand (operands[0], E_DImode)
   24386              :               || !
   24387              : #line 30296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24388              : (TARGET_SHSTK))
   24389              :             return -1;
   24390              :           return 2020; /* clrssbsy */
   24391              : 
   24392              :         case 58:
   24393              :           x2 = XVECEXP (x1, 0, 0);
   24394              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   24395              :               || !
   24396              : #line 30303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24397              : ((flag_cf_protection & CF_BRANCH)))
   24398              :             return -1;
   24399              :           return 2021; /* nop_endbr */
   24400              : 
   24401              :         case 47:
   24402              :           x2 = XVECEXP (x1, 0, 0);
   24403              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   24404              :               || !
   24405              : #line 30349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24406              : (TARGET_RTM))
   24407              :             return -1;
   24408              :           return 2023; /* xend */
   24409              : 
   24410              :         case 48:
   24411              :           x2 = XVECEXP (x1, 0, 0);
   24412              :           operands[0] = x2;
   24413              :           if (!const_0_to_255_operand (operands[0], E_SImode)
   24414              :               || !
   24415              : #line 30357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24416              : (TARGET_RTM))
   24417              :             return -1;
   24418              :           return 2024; /* xabort */
   24419              : 
   24420              :         case 51:
   24421              :           x2 = XVECEXP (x1, 0, 0);
   24422              :           operands[0] = x2;
   24423              :           if (!address_operand (operands[0], E_VOIDmode)
   24424              :               || !
   24425              : #line 30385 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24426              : (TARGET_CLWB))
   24427              :             return -1;
   24428              :           return 2026; /* clwb */
   24429              : 
   24430              :         case 52:
   24431              :           x2 = XVECEXP (x1, 0, 0);
   24432              :           operands[0] = x2;
   24433              :           if (!address_operand (operands[0], E_VOIDmode)
   24434              :               || !
   24435              : #line 30394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24436              : (TARGET_CLFLUSHOPT))
   24437              :             return -1;
   24438              :           return 2027; /* clflushopt */
   24439              : 
   24440              :         case 55:
   24441              :           x2 = XVECEXP (x1, 0, 0);
   24442              :           operands[0] = x2;
   24443              :           switch (GET_MODE (operands[0]))
   24444              :             {
   24445              :             case E_SImode:
   24446              :               if (!register_operand (operands[0], E_SImode)
   24447              :                   || !(
   24448              : #line 30430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24449              : (TARGET_CLZERO) && 
   24450              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24451              : (Pmode == SImode)))
   24452              :                 return -1;
   24453              :               return 2031; /* clzero_si */
   24454              : 
   24455              :             case E_DImode:
   24456              :               if (!register_operand (operands[0], E_DImode)
   24457              :                   || !(
   24458              : #line 30430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24459              : (TARGET_CLZERO) && 
   24460              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24461              : (Pmode == DImode)))
   24462              :                 return -1;
   24463              :               return 2032; /* clzero_di */
   24464              : 
   24465              :             default:
   24466              :               return -1;
   24467              :             }
   24468              : 
   24469              :         case 38:
   24470              :           x2 = XVECEXP (x1, 0, 0);
   24471              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   24472              :             return -1;
   24473              :           return 2037; /* wbinvd */
   24474              : 
   24475              :         case 39:
   24476              :           x2 = XVECEXP (x1, 0, 0);
   24477              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   24478              :               || !
   24479              : #line 30501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24480              : (TARGET_WBNOINVD))
   24481              :             return -1;
   24482              :           return 2038; /* wbnoinvd */
   24483              : 
   24484              :         case 67:
   24485              :           x2 = XVECEXP (x1, 0, 0);
   24486              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   24487              :               || !
   24488              : #line 30529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24489              : (TARGET_TSXLDTRK))
   24490              :             return -1;
   24491              :           return 2043; /* xsusldtrk */
   24492              : 
   24493              :         case 68:
   24494              :           x2 = XVECEXP (x1, 0, 0);
   24495              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   24496              :               || !
   24497              : #line 30529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24498              : (TARGET_TSXLDTRK))
   24499              :             return -1;
   24500              :           return 2044; /* xresldtrk */
   24501              : 
   24502              :         case 72:
   24503              :           x2 = XVECEXP (x1, 0, 0);
   24504              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   24505              :               || !
   24506              : #line 30554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24507              : (TARGET_UINTR && TARGET_64BIT))
   24508              :             return -1;
   24509              :           return 2049; /* clui */
   24510              : 
   24511              :         case 73:
   24512              :           x2 = XVECEXP (x1, 0, 0);
   24513              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   24514              :               || !
   24515              : #line 30554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24516              : (TARGET_UINTR && TARGET_64BIT))
   24517              :             return -1;
   24518              :           return 2050; /* stui */
   24519              : 
   24520              :         case 75:
   24521              :           x2 = XVECEXP (x1, 0, 0);
   24522              :           operands[0] = x2;
   24523              :           if (!register_operand (operands[0], E_DImode)
   24524              :               || !
   24525              : #line 30571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24526              : (TARGET_UINTR && TARGET_64BIT))
   24527              :             return -1;
   24528              :           return 2052; /* senduipi */
   24529              : 
   24530              :         case 70:
   24531              :           x2 = XVECEXP (x1, 0, 0);
   24532              :           operands[0] = x2;
   24533              :           switch (GET_MODE (operands[0]))
   24534              :             {
   24535              :             case E_SImode:
   24536              :               if (!register_operand (operands[0], E_SImode)
   24537              :                   || !(
   24538              : #line 30600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24539              : (TARGET_WAITPKG) && 
   24540              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24541              : (Pmode == SImode)))
   24542              :                 return -1;
   24543              :               return 2055; /* umonitor_si */
   24544              : 
   24545              :             case E_DImode:
   24546              :               if (!register_operand (operands[0], E_DImode)
   24547              :                   || !(
   24548              : #line 30600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24549              : (TARGET_WAITPKG) && 
   24550              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24551              : (Pmode == DImode)))
   24552              :                 return -1;
   24553              :               return 2056; /* umonitor_di */
   24554              : 
   24555              :             default:
   24556              :               return -1;
   24557              :             }
   24558              : 
   24559              :         case 76:
   24560              :           x2 = XVECEXP (x1, 0, 0);
   24561              :           operands[0] = x2;
   24562              :           if (!address_operand (operands[0], E_VOIDmode)
   24563              :               || !
   24564              : #line 30627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24565              : (TARGET_CLDEMOTE))
   24566              :             return -1;
   24567              :           return 2059; /* cldemote */
   24568              : 
   24569              :         case 77:
   24570              :           x2 = XVECEXP (x1, 0, 0);
   24571              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   24572              :             return -1;
   24573              :           return 2060; /* speculation_barrier */
   24574              : 
   24575              :         case 81:
   24576              :           x2 = XVECEXP (x1, 0, 0);
   24577              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   24578              :               || !
   24579              : #line 30641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24580              : (TARGET_SERIALIZE))
   24581              :             return -1;
   24582              :           return 2061; /* serialize */
   24583              : 
   24584              :         case 83:
   24585              :           x2 = XVECEXP (x1, 0, 0);
   24586              :           operands[0] = x2;
   24587              :           if (!register_operand (operands[0], E_SImode)
   24588              :               || !
   24589              : #line 30663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24590              : (TARGET_HRESET))
   24591              :             return -1;
   24592              :           return 2063; /* hreset */
   24593              : 
   24594              :         case 87:
   24595              :           x2 = XVECEXP (x1, 0, 0);
   24596              :           operands[0] = x2;
   24597              :           if (!memory_operand (operands[0], E_BLKmode)
   24598              :               || !
   24599              : #line 30781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24600              : (TARGET_AMX_TILE))
   24601              :             return -1;
   24602              :           return 2066; /* ldtilecfg */
   24603              : 
   24604              :         case 90:
   24605              :           if (pnum_clobbers == NULL)
   24606              :             return -1;
   24607              :           x2 = XVECEXP (x1, 0, 0);
   24608              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   24609              :               || !
   24610              : #line 6896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   24611              : (TARGET_MMX))
   24612              :             return -1;
   24613              :           *pnum_clobbers = 16;
   24614              :           return 2443; /* *mmx_emms */
   24615              : 
   24616              :         case 91:
   24617              :           if (pnum_clobbers == NULL)
   24618              :             return -1;
   24619              :           x2 = XVECEXP (x1, 0, 0);
   24620              :           if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   24621              :               || !
   24622              : #line 6897 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   24623              : (TARGET_3DNOW))
   24624              :             return -1;
   24625              :           *pnum_clobbers = 16;
   24626              :           return 2444; /* *mmx_femms */
   24627              : 
   24628              :         case 92:
   24629              :           x2 = XVECEXP (x1, 0, 0);
   24630              :           operands[0] = x2;
   24631              :           if (!memory_operand (operands[0], E_SImode)
   24632              :               || !
   24633              : #line 22838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24634              : (TARGET_SSE))
   24635              :             return -1;
   24636              :           return 8625; /* sse_ldmxcsr */
   24637              : 
   24638              :         case 94:
   24639              :           x2 = XVECEXP (x1, 0, 0);
   24640              :           operands[0] = x2;
   24641              :           if (!address_operand (operands[0], E_VOIDmode)
   24642              :               || !
   24643              : #line 22862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24644              : (TARGET_SSE2))
   24645              :             return -1;
   24646              :           return 8627; /* sse2_clflush */
   24647              : 
   24648              :         default:
   24649              :           return -1;
   24650              :         }
   24651              : 
   24652              :     case 2:
   24653              :       x2 = XVECEXP (x1, 0, 0);
   24654              :       operands[0] = x2;
   24655              :       x3 = XVECEXP (x1, 0, 1);
   24656              :       operands[1] = x3;
   24657              :       switch (XINT (x1, 1))
   24658              :         {
   24659              :         case 4:
   24660              :           return 1529; /* max_skip_align */
   24661              : 
   24662              :         case 84:
   24663              :           if (!local_func_symbolic_operand (operands[0], E_VOIDmode)
   24664              :               || !const_int_operand (operands[1], E_SImode)
   24665              :               || !
   24666              : #line 29703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24667              : (TARGET_PREFETCHI && TARGET_64BIT))
   24668              :             return -1;
   24669              :           return 1942; /* prefetchi */
   24670              : 
   24671              :         case 25:
   24672              :           if (GET_MODE (x1) != E_BLKmode
   24673              :               || !memory_operand (operands[0], E_BLKmode)
   24674              :               || !register_operand (operands[1], E_DImode)
   24675              :               || !
   24676              : #line 29972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24677              : (!TARGET_64BIT && TARGET_XSAVE))
   24678              :             return -1;
   24679              :           return 1970; /* xrstor */
   24680              : 
   24681              :         case 31:
   24682              :           if (GET_MODE (x1) != E_BLKmode
   24683              :               || !memory_operand (operands[0], E_BLKmode)
   24684              :               || !register_operand (operands[1], E_DImode)
   24685              :               || !(
   24686              : #line 29972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24687              : (!TARGET_64BIT && TARGET_XSAVE) && 
   24688              : #line 29915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24689              : (TARGET_XSAVES)))
   24690              :             return -1;
   24691              :           return 1971; /* xrstors */
   24692              : 
   24693              :         case 37:
   24694              :           if (GET_MODE (x1) != E_SImode
   24695              :               || !register_operand (operands[0], E_SImode)
   24696              :               || !register_operand (operands[1], E_DImode)
   24697              :               || !
   24698              : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24699              : (!TARGET_64BIT && TARGET_XSAVE))
   24700              :             return -1;
   24701              :           return 1976; /* xsetbv */
   24702              : 
   24703              :         case 63:
   24704              :           switch (pattern398 ())
   24705              :             {
   24706              :             case 0:
   24707              :               if (!
   24708              : #line 30272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24709              : (TARGET_SHSTK))
   24710              :                 return -1;
   24711              :               return 2015; /* wrsssi */
   24712              : 
   24713              :             case 1:
   24714              :               if (!(
   24715              : #line 30272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24716              : (TARGET_SHSTK) && 
   24717              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24718              : (TARGET_64BIT)))
   24719              :                 return -1;
   24720              :               return 2016; /* wrssdi */
   24721              : 
   24722              :             default:
   24723              :               return -1;
   24724              :             }
   24725              : 
   24726              :         case 64:
   24727              :           switch (pattern398 ())
   24728              :             {
   24729              :             case 0:
   24730              :               if (!
   24731              : #line 30281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24732              : (TARGET_SHSTK))
   24733              :                 return -1;
   24734              :               return 2017; /* wrusssi */
   24735              : 
   24736              :             case 1:
   24737              :               if (!(
   24738              : #line 30281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24739              : (TARGET_SHSTK) && 
   24740              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24741              : (TARGET_64BIT)))
   24742              :                 return -1;
   24743              :               return 2018; /* wrussdi */
   24744              : 
   24745              :             default:
   24746              :               return -1;
   24747              :             }
   24748              : 
   24749              :         case 82:
   24750              :           if (!const_int_operand (operands[0], E_VOIDmode)
   24751              :               || !const_int_operand (operands[1], E_VOIDmode))
   24752              :             return -1;
   24753              :           return 2062; /* patchable_area */
   24754              : 
   24755              :         case 86:
   24756              :           if (!x86_64_szext_nonmemory_operand (operands[0], E_DImode)
   24757              :               || !register_operand (operands[1], E_DImode)
   24758              :               || !
   24759              : #line 30773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24760              : (TARGET_USER_MSR && TARGET_64BIT))
   24761              :             return -1;
   24762              :           return 2065; /* uwrmsr */
   24763              : 
   24764              :         case 96:
   24765              :           if (!register_operand (operands[0], E_SImode)
   24766              :               || !register_operand (operands[1], E_SImode)
   24767              :               || !
   24768              : #line 22875 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24769              : (TARGET_MWAIT))
   24770              :             return -1;
   24771              :           return 8628; /* sse3_mwait */
   24772              : 
   24773              :         default:
   24774              :           return -1;
   24775              :         }
   24776              : 
   24777              :     case 3:
   24778              :       x2 = XVECEXP (x1, 0, 0);
   24779              :       operands[0] = x2;
   24780              :       x3 = XVECEXP (x1, 0, 1);
   24781              :       operands[1] = x3;
   24782              :       x4 = XVECEXP (x1, 0, 2);
   24783              :       operands[2] = x4;
   24784              :       switch (XINT (x1, 1))
   24785              :         {
   24786              :         case 25:
   24787              :           if (pattern577 (x1) != 0
   24788              :               || !
   24789              : #line 29985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24790              : (TARGET_64BIT && TARGET_XSAVE))
   24791              :             return -1;
   24792              :           return 1972; /* xrstor_rex64 */
   24793              : 
   24794              :         case 31:
   24795              :           if (pattern577 (x1) != 0
   24796              :               || !(
   24797              : #line 29985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24798              : (TARGET_64BIT && TARGET_XSAVE) && 
   24799              : #line 29915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24800              : (TARGET_XSAVES)))
   24801              :             return -1;
   24802              :           return 1973; /* xrstors_rex64 */
   24803              : 
   24804              :         case 27:
   24805              :           if (pattern577 (x1) != 0
   24806              :               || !
   24807              : #line 29999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24808              : (TARGET_64BIT && TARGET_XSAVE))
   24809              :             return -1;
   24810              :           return 1974; /* xrstor64 */
   24811              : 
   24812              :         case 33:
   24813              :           if (pattern577 (x1) != 0
   24814              :               || !(
   24815              : #line 29999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24816              : (TARGET_64BIT && TARGET_XSAVE) && 
   24817              : #line 29919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24818              : (TARGET_XSAVES)))
   24819              :             return -1;
   24820              :           return 1975; /* xrstors64 */
   24821              : 
   24822              :         case 37:
   24823              :           if (pattern578 (x1) != 0
   24824              :               || !
   24825              : #line 30022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24826              : (TARGET_64BIT && TARGET_XSAVE))
   24827              :             return -1;
   24828              :           return 1977; /* xsetbv_rex64 */
   24829              : 
   24830              :         case 14:
   24831              :           if (!nonimmediate_operand (operands[1], E_SImode)
   24832              :               || !const_int_operand (operands[2], E_SImode))
   24833              :             return -1;
   24834              :           switch (GET_MODE (operands[0]))
   24835              :             {
   24836              :             case E_SImode:
   24837              :               if (!register_operand (operands[0], E_SImode)
   24838              :                   || !
   24839              : #line 30135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24840              : (TARGET_LWP))
   24841              :                 return -1;
   24842              :               return 1988; /* lwp_lwpvalsi */
   24843              : 
   24844              :             case E_DImode:
   24845              :               if (!register_operand (operands[0], E_DImode)
   24846              :                   || !(
   24847              : #line 30135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24848              : (TARGET_LWP) && 
   24849              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24850              : (TARGET_64BIT)))
   24851              :                 return -1;
   24852              :               return 1989; /* lwp_lwpvaldi */
   24853              : 
   24854              :             default:
   24855              :               return -1;
   24856              :             }
   24857              : 
   24858              :         case 54:
   24859              :           if (!register_operand (operands[0], E_SImode)
   24860              :               || !register_operand (operands[1], E_SImode)
   24861              :               || !register_operand (operands[2], E_SImode)
   24862              :               || !
   24863              : #line 30406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24864              : (TARGET_MWAITX))
   24865              :             return -1;
   24866              :           return 2028; /* mwaitx */
   24867              : 
   24868              :         case 53:
   24869              :           switch (pattern579 ())
   24870              :             {
   24871              :             case 0:
   24872              :               if (!(
   24873              : #line 30418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24874              : (TARGET_MWAITX) && 
   24875              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24876              : (Pmode == SImode)))
   24877              :                 return -1;
   24878              :               return 2029; /* monitorx_si */
   24879              : 
   24880              :             case 1:
   24881              :               if (!(
   24882              : #line 30418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24883              : (TARGET_MWAITX) && 
   24884              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24885              : (Pmode == DImode)))
   24886              :                 return -1;
   24887              :               return 2030; /* monitorx_di */
   24888              : 
   24889              :             default:
   24890              :               return -1;
   24891              :             }
   24892              : 
   24893              :         case 56:
   24894              :           if (pattern578 (x1) != 0
   24895              :               || !
   24896              : #line 30473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24897              : (TARGET_PKU))
   24898              :             return -1;
   24899              :           return 2034; /* *wrpkru */
   24900              : 
   24901              :         case 95:
   24902              :           switch (pattern579 ())
   24903              :             {
   24904              :             case 0:
   24905              :               if (!(
   24906              : #line 22887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24907              : (TARGET_MWAIT) && 
   24908              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24909              : (Pmode == SImode)))
   24910              :                 return -1;
   24911              :               return 8629; /* sse3_monitor_si */
   24912              : 
   24913              :             case 1:
   24914              :               if (!(
   24915              : #line 22887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24916              : (TARGET_MWAIT) && 
   24917              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24918              : (Pmode == DImode)))
   24919              :                 return -1;
   24920              :               return 8630; /* sse3_monitor_di */
   24921              : 
   24922              :             default:
   24923              :               return -1;
   24924              :             }
   24925              : 
   24926              :         default:
   24927              :           return -1;
   24928              :         }
   24929              : 
   24930              :     case 4:
   24931              :       if (pnum_clobbers == NULL
   24932              :           || XINT (x1, 1) != 98
   24933              :           || GET_MODE (x1) != E_V2DImode)
   24934              :         return -1;
   24935              :       x2 = XVECEXP (x1, 0, 0);
   24936              :       operands[0] = x2;
   24937              :       if (!register_operand (operands[0], E_V2DImode))
   24938              :         return -1;
   24939              :       x3 = XVECEXP (x1, 0, 1);
   24940              :       operands[1] = x3;
   24941              :       if (!register_operand (operands[1], E_V2DImode))
   24942              :         return -1;
   24943              :       x4 = XVECEXP (x1, 0, 2);
   24944              :       operands[2] = x4;
   24945              :       if (!register_operand (operands[2], E_V2DImode))
   24946              :         return -1;
   24947              :       x5 = XVECEXP (x1, 0, 3);
   24948              :       operands[3] = x5;
   24949              :       if (!register_operand (operands[3], E_SImode)
   24950              :           || !
   24951              : #line 31930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   24952              : (TARGET_KL))
   24953              :         return -1;
   24954              :       *pnum_clobbers = 1;
   24955              :       return 10433; /* loadiwkey */
   24956              : 
   24957              :     default:
   24958              :       return -1;
   24959              :     }
   24960              : }
   24961              : 
   24962              :  rtx_insn *
   24963              : split_14 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   24964              : {
   24965              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   24966              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   24967              :   rtx_insn *res ATTRIBUTE_UNUSED;
   24968              :   x2 = XEXP (x1, 1);
   24969              :   switch (GET_CODE (x2))
   24970              :     {
   24971              :     case COMPARE:
   24972              :       return split_5 (x1, insn);
   24973              : 
   24974              :     case CONST_INT:
   24975              :     case CONST_WIDE_INT:
   24976              :     case CONST_POLY_INT:
   24977              :     case CONST_FIXED:
   24978              :     case CONST_DOUBLE:
   24979              :     case CONST_VECTOR:
   24980              :     case CONST:
   24981              :     case REG:
   24982              :     case SUBREG:
   24983              :     case MEM:
   24984              :     case LABEL_REF:
   24985              :     case SYMBOL_REF:
   24986              :     case HIGH:
   24987              :       operands[1] = x2;
   24988              :       res = split_1 (x1, insn);
   24989              :       if (res != NULL_RTX)
   24990              :         return res;
   24991              :       switch (GET_CODE (x2))
   24992              :         {
   24993              :         case REG:
   24994              :           if (REGNO (x2) != 17
   24995              :               || pattern59 (x1, 
   24996              : E_CCCmode) != 0
   24997              :               || !(
   24998              : #line 10226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   24999              : (ix86_pre_reload_split ()) && 
   25000              : #line 10228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25001              : ( 1)))
   25002              :             return NULL;
   25003              :           return gen_split_201 (insn, operands);
   25004              : 
   25005              :         case SUBREG:
   25006              :           if (maybe_ne (SUBREG_BYTE (x2), 0))
   25007              :             return NULL;
   25008              :           x3 = XEXP (x1, 0);
   25009              :           operands[0] = x3;
   25010              :           x4 = XEXP (x2, 0);
   25011              :           switch (GET_CODE (x4))
   25012              :             {
   25013              :             case LSHIFTRT:
   25014              :               switch (pattern295 (x2))
   25015              :                 {
   25016              :                 case 0:
   25017              :                   if (!((
   25018              : #line 17072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25019              : (TARGET_APX_NF && UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) && 
   25020              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25021              : (!TARGET_64BIT)) && 
   25022              : #line 17074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25023              : ( reload_completed)))
   25024              :                     return NULL;
   25025              :                   return gen_split_607 (insn, operands);
   25026              : 
   25027              :                 case 1:
   25028              :                   if (!((
   25029              : #line 17072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25030              : (TARGET_APX_NF && UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) && 
   25031              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25032              : (TARGET_64BIT)) && 
   25033              : #line 17074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25034              : ( reload_completed)))
   25035              :                     return NULL;
   25036              :                   return gen_split_609 (insn, operands);
   25037              : 
   25038              :                 default:
   25039              :                   return NULL;
   25040              :                 }
   25041              : 
   25042              :             case ASHIFTRT:
   25043              :               switch (pattern295 (x2))
   25044              :                 {
   25045              :                 case 0:
   25046              :                   if (!((
   25047              : #line 17072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25048              : (TARGET_APX_NF && UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) && 
   25049              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25050              : (!TARGET_64BIT)) && 
   25051              : #line 17074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25052              : ( reload_completed)))
   25053              :                     return NULL;
   25054              :                   return gen_split_608 (insn, operands);
   25055              : 
   25056              :                 case 1:
   25057              :                   if (!((
   25058              : #line 17072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25059              : (TARGET_APX_NF && UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) && 
   25060              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25061              : (TARGET_64BIT)) && 
   25062              : #line 17074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25063              : ( reload_completed)))
   25064              :                     return NULL;
   25065              :                   return gen_split_610 (insn, operands);
   25066              : 
   25067              :                 default:
   25068              :                   return NULL;
   25069              :                 }
   25070              : 
   25071              :             default:
   25072              :               return NULL;
   25073              :             }
   25074              : 
   25075              :         default:
   25076              :           return NULL;
   25077              :         }
   25078              : 
   25079              :     case PLUS:
   25080              :       return split_6 (x1, insn);
   25081              : 
   25082              :     case IOR:
   25083              :       return split_7 (x1, insn);
   25084              : 
   25085              :     case XOR:
   25086              :       return split_8 (x1, insn);
   25087              : 
   25088              :     case FLOAT_EXTEND:
   25089              :       x3 = XEXP (x1, 0);
   25090              :       operands[0] = x3;
   25091              :       x4 = XEXP (x2, 0);
   25092              :       operands[1] = x4;
   25093              :       switch (GET_CODE (operands[1]))
   25094              :         {
   25095              :         case SUBREG:
   25096              :         case MEM:
   25097              :           if (memory_operand (operands[1], E_VOIDmode)
   25098              :               && any_fp_register_operand (operands[0], E_VOIDmode)
   25099              :               && 
   25100              : #line 4625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25101              : (reload_completed
   25102              :    && (GET_MODE (operands[0]) == TFmode
   25103              :        || GET_MODE (operands[0]) == XFmode
   25104              :        || GET_MODE (operands[0]) == DFmode)
   25105              :    && ix86_standard_x87sse_constant_load_p (insn, operands[0])))
   25106              :             return gen_split_55 (insn, operands);
   25107              :           break;
   25108              : 
   25109              :         case REG:
   25110              :           res = split_2 (x1, insn);
   25111              :           if (res != NULL_RTX)
   25112              :             return res;
   25113              :           break;
   25114              : 
   25115              :         default:
   25116              :           break;
   25117              :         }
   25118              :       if (!nonimmediate_operand (operands[1], E_SFmode)
   25119              :           || !sse_reg_operand (operands[0], E_DFmode)
   25120              :           || GET_MODE (x2) != E_DFmode)
   25121              :         return NULL;
   25122              :       if (
   25123              : #line 5348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25124              : (TARGET_USE_VECTOR_FP_CONVERTS
   25125              :    && optimize_insn_for_speed_p ()
   25126              :    && reload_completed
   25127              :    && (!EXT_REX_SSE_REG_P (operands[0])
   25128              :        || TARGET_AVX512VL)))
   25129              :         return gen_split_76 (insn, operands);
   25130              :       if (!
   25131              : #line 5411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25132              : (!TARGET_AVX
   25133              :    && TARGET_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY
   25134              :    && epilogue_completed
   25135              :    && optimize_function_for_speed_p (cfun)
   25136              :    && (!REG_P (operands[1])
   25137              :        || (!TARGET_AVX && REGNO (operands[0]) != REGNO (operands[1])))
   25138              :    && (!EXT_REX_SSE_REG_P (operands[0])
   25139              :        || TARGET_AVX512VL)))
   25140              :         return NULL;
   25141              :       return gen_split_77 (insn, operands);
   25142              : 
   25143              :     case ZERO_EXTEND:
   25144              :       x3 = XEXP (x1, 0);
   25145              :       operands[0] = x3;
   25146              :       x4 = XEXP (x2, 0);
   25147              :       switch (GET_CODE (x4))
   25148              :         {
   25149              :         case REG:
   25150              :         case SUBREG:
   25151              :         case MEM:
   25152              :           operands[1] = x4;
   25153              :           switch (GET_MODE (operands[0]))
   25154              :             {
   25155              :             case E_TImode:
   25156              :               if (!nonimmediate_operand (operands[0], E_TImode)
   25157              :                   || GET_MODE (x2) != E_TImode
   25158              :                   || !nonimmediate_operand (operands[1], E_DImode)
   25159              :                   || !(
   25160              : #line 4671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25161              : (TARGET_64BIT) && 
   25162              : #line 4673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25163              : ( reload_completed)))
   25164              :                 return NULL;
   25165              :               return gen_split_59 (insn, operands);
   25166              : 
   25167              :             case E_DImode:
   25168              :               if (GET_MODE (x2) != E_DImode)
   25169              :                 return NULL;
   25170              :               if (memory_operand (operands[0], E_DImode)
   25171              :                   && memory_operand (operands[1], E_SImode)
   25172              :                   && 
   25173              : #line 4795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25174              : (reload_completed))
   25175              :                 return gen_split_60 (insn, operands);
   25176              :               if (general_reg_operand (operands[0], E_DImode)
   25177              :                   && general_reg_operand (operands[1], E_SImode)
   25178              :                   && 
   25179              : #line 4802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25180              : (!TARGET_64BIT && reload_completed
   25181              :    && REGNO (operands[0]) == REGNO (operands[1])))
   25182              :                 return gen_split_61 (insn, operands);
   25183              :               if (!nonimmediate_gr_operand (operands[0], E_DImode)
   25184              :                   || !nonimmediate_operand (operands[1], E_SImode)
   25185              :                   || !
   25186              : #line 4810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25187              : (!TARGET_64BIT && reload_completed
   25188              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
   25189              :                 return NULL;
   25190              :               return gen_split_62 (insn, operands);
   25191              : 
   25192              :             default:
   25193              :               return NULL;
   25194              :             }
   25195              : 
   25196              :         case UNSPEC:
   25197              :           if (XVECLEN (x4, 0) != 1
   25198              :               || XINT (x4, 1) != 20
   25199              :               || GET_MODE (x4) != E_SImode)
   25200              :             return NULL;
   25201              :           x5 = XVECEXP (x4, 0, 0);
   25202              :           if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
   25203              :               || !register_operand (operands[0], E_DImode)
   25204              :               || GET_MODE (x2) != E_DImode
   25205              :               || !(
   25206              : #line 23582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25207              : (TARGET_X32) && 
   25208              : #line 23584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25209              : ( 1)))
   25210              :             return NULL;
   25211              :           return gen_split_929 (insn, operands);
   25212              : 
   25213              :         default:
   25214              :           return NULL;
   25215              :         }
   25216              : 
   25217              :     case FLOAT_TRUNCATE:
   25218              :       if (GET_MODE (x2) != E_SFmode)
   25219              :         return NULL;
   25220              :       x3 = XEXP (x1, 0);
   25221              :       operands[0] = x3;
   25222              :       if (!sse_reg_operand (operands[0], E_SFmode))
   25223              :         return NULL;
   25224              :       x4 = XEXP (x2, 0);
   25225              :       operands[1] = x4;
   25226              :       if (!nonimmediate_operand (operands[1], E_DFmode))
   25227              :         return NULL;
   25228              :       if (
   25229              : #line 5587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25230              : (TARGET_USE_VECTOR_FP_CONVERTS
   25231              :    && optimize_insn_for_speed_p ()
   25232              :    && reload_completed
   25233              :    && (!EXT_REX_SSE_REG_P (operands[0])
   25234              :        || TARGET_AVX512VL)))
   25235              :         return gen_split_78 (insn, operands);
   25236              :       if (!
   25237              : #line 5641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25238              : (!TARGET_AVX
   25239              :    && TARGET_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY
   25240              :    && epilogue_completed
   25241              :    && optimize_function_for_speed_p (cfun)
   25242              :    && (!REG_P (operands[1])
   25243              :        || (!TARGET_AVX && REGNO (operands[0]) != REGNO (operands[1])))
   25244              :    && (!EXT_REX_SSE_REG_P (operands[0])
   25245              :        || TARGET_AVX512VL)))
   25246              :         return NULL;
   25247              :       return gen_split_79 (insn, operands);
   25248              : 
   25249              :     case FLOAT:
   25250              :       return split_13 (x1, insn);
   25251              : 
   25252              :     case MULT:
   25253              :       x3 = XEXP (x1, 0);
   25254              :       operands[0] = x3;
   25255              :       x6 = XEXP (x2, 1);
   25256              :       operands[1] = x6;
   25257              :       x4 = XEXP (x2, 0);
   25258              :       if (!rtx_equal_p (x4, operands[0]))
   25259              :         return NULL;
   25260              :       switch (GET_MODE (operands[0]))
   25261              :         {
   25262              :         case E_SImode:
   25263              :           if (!general_reg_operand (operands[0], E_SImode)
   25264              :               || GET_MODE (x2) != E_SImode
   25265              :               || !const1248_operand (operands[1], E_SImode)
   25266              :               || !
   25267              : #line 6437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25268              : (TARGET_APX_NF && reload_completed))
   25269              :             return NULL;
   25270              :           return gen_split_102 (insn, operands);
   25271              : 
   25272              :         case E_DImode:
   25273              :           if (!general_reg_operand (operands[0], E_DImode)
   25274              :               || GET_MODE (x2) != E_DImode
   25275              :               || !const1248_operand (operands[1], E_DImode)
   25276              :               || !(
   25277              : #line 6437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25278              : (TARGET_APX_NF && reload_completed) && 
   25279              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25280              : (TARGET_64BIT)))
   25281              :             return NULL;
   25282              :           return gen_split_103 (insn, operands);
   25283              : 
   25284              :         default:
   25285              :           return NULL;
   25286              :         }
   25287              : 
   25288              :     case UNSPEC:
   25289              :       switch (XVECLEN (x2, 0))
   25290              :         {
   25291              :         case 2:
   25292              :           switch (XINT (x2, 1))
   25293              :             {
   25294              :             case 41:
   25295              :               if (GET_MODE (x2) != E_CCCmode)
   25296              :                 return NULL;
   25297              :               x7 = XVECEXP (x2, 0, 0);
   25298              :               if (GET_CODE (x7) != LTU
   25299              :                   || pattern724 (x7) != 0
   25300              :                   || pattern254 (x1) != 0)
   25301              :                 return NULL;
   25302              :               x8 = XEXP (x7, 0);
   25303              :               switch (GET_MODE (x8))
   25304              :                 {
   25305              :                 case E_CCmode:
   25306              :                   if (!(
   25307              : #line 10247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25308              : (ix86_pre_reload_split ()) && 
   25309              : #line 10249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25310              : ( 1)))
   25311              :                     return NULL;
   25312              :                   return gen_split_204 (insn, operands);
   25313              : 
   25314              :                 case E_CCCmode:
   25315              :                   if (!(
   25316              : #line 10247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25317              : (ix86_pre_reload_split ()) && 
   25318              : #line 10249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25319              : ( 1)))
   25320              :                     return NULL;
   25321              :                   return gen_split_205 (insn, operands);
   25322              : 
   25323              :                 default:
   25324              :                   return NULL;
   25325              :                 }
   25326              : 
   25327              :             case 46:
   25328              :               if (pattern299 (x2) != 0)
   25329              :                 return NULL;
   25330              :               x3 = XEXP (x1, 0);
   25331              :               operands[0] = x3;
   25332              :               if (!register_operand (operands[0], E_SImode))
   25333              :                 return NULL;
   25334              :               x9 = XVECEXP (x2, 0, 1);
   25335              :               operands[2] = x9;
   25336              :               if (!register_operand (operands[2], E_SImode)
   25337              :                   || !(
   25338              : #line 19927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25339              : (ix86_pre_reload_split ()) && 
   25340              : #line 19929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25341              : ( 1)))
   25342              :                 return NULL;
   25343              :               return gen_split_862 (insn, operands);
   25344              : 
   25345              :             default:
   25346              :               return NULL;
   25347              :             }
   25348              : 
   25349              :         case 1:
   25350              :           x3 = XEXP (x1, 0);
   25351              :           operands[0] = x3;
   25352              :           switch (XINT (x2, 1))
   25353              :             {
   25354              :             case 98:
   25355              :               switch (pattern303 (x2))
   25356              :                 {
   25357              :                 case 0:
   25358              :                   if (!((
   25359              : #line 22019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25360              : (TARGET_APX_NF) && 
   25361              : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25362              : (TARGET_BMI)) && 
   25363              : #line 22021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25364              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   25365              :    && optimize_function_for_speed_p (cfun)
   25366              :    && !reg_mentioned_p (operands[0], operands[1]))))
   25367              :                     return NULL;
   25368              :                   return gen_split_900 (insn, operands);
   25369              : 
   25370              :                 case 1:
   25371              :                   if (!((
   25372              : #line 22019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25373              : (TARGET_APX_NF) && (((
   25374              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25375              : (TARGET_64BIT) && 
   25376              : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25377              : (TARGET_BMI)) && 
   25378              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25379              : (TARGET_64BIT)) && 
   25380              : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25381              : (TARGET_BMI))) && 
   25382              : #line 22021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25383              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   25384              :    && optimize_function_for_speed_p (cfun)
   25385              :    && !reg_mentioned_p (operands[0], operands[1]))))
   25386              :                     return NULL;
   25387              :                   return gen_split_902 (insn, operands);
   25388              : 
   25389              :                 default:
   25390              :                   return NULL;
   25391              :                 }
   25392              : 
   25393              :             case 97:
   25394              :               switch (pattern303 (x2))
   25395              :                 {
   25396              :                 case 0:
   25397              :                   if (!((
   25398              : #line 22019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25399              : (TARGET_APX_NF) && 
   25400              : #line 22002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25401              : (TARGET_LZCNT)) && 
   25402              : #line 22021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25403              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   25404              :    && optimize_function_for_speed_p (cfun)
   25405              :    && !reg_mentioned_p (operands[0], operands[1]))))
   25406              :                     return NULL;
   25407              :                   return gen_split_901 (insn, operands);
   25408              : 
   25409              :                 case 1:
   25410              :                   if (!((
   25411              : #line 22019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25412              : (TARGET_APX_NF) && (((
   25413              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25414              : (TARGET_64BIT) && 
   25415              : #line 22002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25416              : (TARGET_LZCNT)) && 
   25417              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25418              : (TARGET_64BIT)) && 
   25419              : #line 22002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25420              : (TARGET_LZCNT))) && 
   25421              : #line 22021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25422              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   25423              :    && optimize_function_for_speed_p (cfun)
   25424              :    && !reg_mentioned_p (operands[0], operands[1]))))
   25425              :                     return NULL;
   25426              :                   return gen_split_903 (insn, operands);
   25427              : 
   25428              :                 default:
   25429              :                   return NULL;
   25430              :                 }
   25431              : 
   25432              :             case 20:
   25433              :               x7 = XVECEXP (x2, 0, 0);
   25434              :               if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   25435              :                 return NULL;
   25436              :               switch (pattern24 (x2))
   25437              :                 {
   25438              :                 case 0:
   25439              :                   if (!
   25440              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25441              : (ptr_mode == SImode))
   25442              :                     return NULL;
   25443              :                   return gen_split_927 (insn, operands);
   25444              : 
   25445              :                 case 1:
   25446              :                   if (!
   25447              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25448              : (ptr_mode == DImode))
   25449              :                     return NULL;
   25450              :                   return gen_split_928 (insn, operands);
   25451              : 
   25452              :                 default:
   25453              :                   return NULL;
   25454              :                 }
   25455              : 
   25456              :             default:
   25457              :               return NULL;
   25458              :             }
   25459              : 
   25460              :         default:
   25461              :           return NULL;
   25462              :         }
   25463              : 
   25464              :     case SIGN_EXTEND:
   25465              :       x3 = XEXP (x1, 0);
   25466              :       operands[0] = x3;
   25467              :       x4 = XEXP (x2, 0);
   25468              :       switch (GET_CODE (x4))
   25469              :         {
   25470              :         case AND:
   25471              :           switch (pattern406 (x2))
   25472              :             {
   25473              :             case 0:
   25474              :               return gen_split_406 (insn, operands);
   25475              : 
   25476              :             case 1:
   25477              :               return gen_split_409 (insn, operands);
   25478              : 
   25479              :             case 2:
   25480              :               return gen_split_415 (insn, operands);
   25481              : 
   25482              :             case 3:
   25483              :               if (!
   25484              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25485              : (TARGET_64BIT))
   25486              :                 return NULL;
   25487              :               return gen_split_412 (insn, operands);
   25488              : 
   25489              :             case 4:
   25490              :               if (!
   25491              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25492              : (TARGET_64BIT))
   25493              :                 return NULL;
   25494              :               return gen_split_418 (insn, operands);
   25495              : 
   25496              :             case 5:
   25497              :               if (!
   25498              : #line 14188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25499              : (TARGET_64BIT))
   25500              :                 return NULL;
   25501              :               return gen_split_421 (insn, operands);
   25502              : 
   25503              :             default:
   25504              :               return NULL;
   25505              :             }
   25506              : 
   25507              :         case IOR:
   25508              :           switch (pattern406 (x2))
   25509              :             {
   25510              :             case 0:
   25511              :               return gen_split_407 (insn, operands);
   25512              : 
   25513              :             case 1:
   25514              :               return gen_split_410 (insn, operands);
   25515              : 
   25516              :             case 2:
   25517              :               return gen_split_416 (insn, operands);
   25518              : 
   25519              :             case 3:
   25520              :               if (!
   25521              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25522              : (TARGET_64BIT))
   25523              :                 return NULL;
   25524              :               return gen_split_413 (insn, operands);
   25525              : 
   25526              :             case 4:
   25527              :               if (!
   25528              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25529              : (TARGET_64BIT))
   25530              :                 return NULL;
   25531              :               return gen_split_419 (insn, operands);
   25532              : 
   25533              :             case 5:
   25534              :               if (!
   25535              : #line 14188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25536              : (TARGET_64BIT))
   25537              :                 return NULL;
   25538              :               return gen_split_422 (insn, operands);
   25539              : 
   25540              :             default:
   25541              :               return NULL;
   25542              :             }
   25543              : 
   25544              :         case XOR:
   25545              :           switch (pattern406 (x2))
   25546              :             {
   25547              :             case 0:
   25548              :               return gen_split_408 (insn, operands);
   25549              : 
   25550              :             case 1:
   25551              :               return gen_split_411 (insn, operands);
   25552              : 
   25553              :             case 2:
   25554              :               return gen_split_417 (insn, operands);
   25555              : 
   25556              :             case 3:
   25557              :               if (!
   25558              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25559              : (TARGET_64BIT))
   25560              :                 return NULL;
   25561              :               return gen_split_414 (insn, operands);
   25562              : 
   25563              :             case 4:
   25564              :               if (!
   25565              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25566              : (TARGET_64BIT))
   25567              :                 return NULL;
   25568              :               return gen_split_420 (insn, operands);
   25569              : 
   25570              :             case 5:
   25571              :               if (!
   25572              : #line 14188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25573              : (TARGET_64BIT))
   25574              :                 return NULL;
   25575              :               return gen_split_423 (insn, operands);
   25576              : 
   25577              :             default:
   25578              :               return NULL;
   25579              :             }
   25580              : 
   25581              :         default:
   25582              :           return NULL;
   25583              :         }
   25584              : 
   25585              :     case NOT:
   25586              :       x4 = XEXP (x2, 0);
   25587              :       switch (GET_CODE (x4))
   25588              :         {
   25589              :         case REG:
   25590              :         case SUBREG:
   25591              :         case MEM:
   25592              :           switch (pattern42 (x1))
   25593              :             {
   25594              :             case 0:
   25595              :               switch (GET_MODE (operands[0]))
   25596              :                 {
   25597              :                 case E_DImode:
   25598              :                   if (!nonimmediate_operand (operands[0], E_DImode)
   25599              :                       || GET_MODE (x2) != E_DImode
   25600              :                       || !nonimmediate_operand (operands[1], E_DImode)
   25601              :                       || !((
   25602              : #line 15321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25603              : (ix86_unary_operator_ok (NOT, DImode, operands, TARGET_APX_NDD)) && 
   25604              : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25605              : (!TARGET_64BIT)) && 
   25606              : #line 15323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25607              : ( reload_completed)))
   25608              :                     return NULL;
   25609              :                   return gen_split_546 (insn, operands);
   25610              : 
   25611              :                 case E_TImode:
   25612              :                   if (!nonimmediate_operand (operands[0], E_TImode)
   25613              :                       || GET_MODE (x2) != E_TImode
   25614              :                       || !nonimmediate_operand (operands[1], E_TImode)
   25615              :                       || !((
   25616              : #line 15321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25617              : (ix86_unary_operator_ok (NOT, TImode, operands, TARGET_APX_NDD)) && 
   25618              : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25619              : (TARGET_64BIT)) && 
   25620              : #line 15323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25621              : ( reload_completed)))
   25622              :                     return NULL;
   25623              :                   return gen_split_547 (insn, operands);
   25624              : 
   25625              :                 default:
   25626              :                   return NULL;
   25627              :                 }
   25628              : 
   25629              :             case 1:
   25630              :               if (!(
   25631              : #line 15404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25632              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25633              : #line 15408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25634              : ( reload_completed
   25635              :    && !(rtx_equal_p (operands[0], operands[1])))))
   25636              :                 return NULL;
   25637              :               return gen_split_548 (insn, operands);
   25638              : 
   25639              :             case 2:
   25640              :               if (!(
   25641              : #line 15404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25642              : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
   25643              : #line 15408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25644              : ( reload_completed
   25645              :    && !(rtx_equal_p (operands[0], operands[1])))))
   25646              :                 return NULL;
   25647              :               return gen_split_549 (insn, operands);
   25648              : 
   25649              :             default:
   25650              :               return NULL;
   25651              :             }
   25652              : 
   25653              :         case ASHIFTRT:
   25654              :         case LSHIFTRT:
   25655              :         case SIGN_EXTRACT:
   25656              :         case ZERO_EXTRACT:
   25657              :           operands[2] = x4;
   25658              :           switch (pattern90 (x1))
   25659              :             {
   25660              :             case 0:
   25661              :               if (!
   25662              : #line 15484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25663              : (reload_completed
   25664              :    && !(rtx_equal_p (operands[0], operands[1]))))
   25665              :                 return NULL;
   25666              :               return gen_split_555 (insn, operands);
   25667              : 
   25668              :             case 1:
   25669              :               if (!
   25670              : #line 15484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25671              : (reload_completed
   25672              :    && !(rtx_equal_p (operands[0], operands[1]))))
   25673              :                 return NULL;
   25674              :               return gen_split_556 (insn, operands);
   25675              : 
   25676              :             case 2:
   25677              :               if (!(
   25678              : #line 15484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25679              : (reload_completed
   25680              :    && !(rtx_equal_p (operands[0], operands[1]))) && 
   25681              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25682              : (TARGET_64BIT)))
   25683              :                 return NULL;
   25684              :               return gen_split_557 (insn, operands);
   25685              : 
   25686              :             default:
   25687              :               return NULL;
   25688              :             }
   25689              : 
   25690              :         default:
   25691              :           return NULL;
   25692              :         }
   25693              : 
   25694              :     case ASHIFT:
   25695              :       x3 = XEXP (x1, 0);
   25696              :       operands[0] = x3;
   25697              :       x4 = XEXP (x2, 0);
   25698              :       operands[1] = x4;
   25699              :       x6 = XEXP (x2, 1);
   25700              :       operands[2] = x6;
   25701              :       switch (GET_CODE (operands[2]))
   25702              :         {
   25703              :         case REG:
   25704              :         case SUBREG:
   25705              :           if (!register_operand (operands[2], E_QImode))
   25706              :             return NULL;
   25707              :           switch (pattern132 (x2))
   25708              :             {
   25709              :             case 0:
   25710              :               if (!
   25711              : #line 16316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25712              : (TARGET_BMI2 && reload_completed))
   25713              :                 return NULL;
   25714              :               return gen_split_576 (insn, operands);
   25715              : 
   25716              :             case 1:
   25717              :               if (!(
   25718              : #line 16316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25719              : (TARGET_BMI2 && reload_completed) && 
   25720              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25721              : (TARGET_64BIT)))
   25722              :                 return NULL;
   25723              :               return gen_split_577 (insn, operands);
   25724              : 
   25725              :             default:
   25726              :               return NULL;
   25727              :             }
   25728              : 
   25729              :         case CONST_INT:
   25730              :           if (!const_0_to_3_operand (operands[2], E_VOIDmode))
   25731              :             return NULL;
   25732              :           switch (GET_MODE (operands[0]))
   25733              :             {
   25734              :             case E_QImode:
   25735              :               if (!general_reg_operand (operands[0], E_QImode)
   25736              :                   || GET_MODE (x2) != E_QImode
   25737              :                   || !index_reg_operand (operands[1], E_QImode)
   25738              :                   || !
   25739              : #line 16638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25740              : (reload_completed
   25741              :    && REGNO (operands[0]) != REGNO (operands[1])
   25742              :    && !TARGET_APX_NDD))
   25743              :                 return NULL;
   25744              :               return gen_split_587 (insn, operands);
   25745              : 
   25746              :             case E_HImode:
   25747              :               if (!general_reg_operand (operands[0], E_HImode)
   25748              :                   || GET_MODE (x2) != E_HImode
   25749              :                   || !index_reg_operand (operands[1], E_HImode)
   25750              :                   || !
   25751              : #line 16638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25752              : (reload_completed
   25753              :    && REGNO (operands[0]) != REGNO (operands[1])
   25754              :    && !TARGET_APX_NDD))
   25755              :                 return NULL;
   25756              :               return gen_split_588 (insn, operands);
   25757              : 
   25758              :             case E_SImode:
   25759              :               if (!general_reg_operand (operands[0], E_SImode)
   25760              :                   || GET_MODE (x2) != E_SImode
   25761              :                   || !index_reg_operand (operands[1], E_SImode)
   25762              :                   || !
   25763              : #line 16638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25764              : (reload_completed
   25765              :    && REGNO (operands[0]) != REGNO (operands[1])
   25766              :    && !TARGET_APX_NDD))
   25767              :                 return NULL;
   25768              :               return gen_split_589 (insn, operands);
   25769              : 
   25770              :             case E_DImode:
   25771              :               if (!general_reg_operand (operands[0], E_DImode)
   25772              :                   || GET_MODE (x2) != E_DImode
   25773              :                   || !index_reg_operand (operands[1], E_DImode)
   25774              :                   || !(
   25775              : #line 16638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25776              : (reload_completed
   25777              :    && REGNO (operands[0]) != REGNO (operands[1])
   25778              :    && !TARGET_APX_NDD) && 
   25779              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25780              : (TARGET_64BIT)))
   25781              :                 return NULL;
   25782              :               return gen_split_590 (insn, operands);
   25783              : 
   25784              :             default:
   25785              :               return NULL;
   25786              :             }
   25787              : 
   25788              :         default:
   25789              :           return NULL;
   25790              :         }
   25791              : 
   25792              :     case LSHIFTRT:
   25793              :       x3 = XEXP (x1, 0);
   25794              :       operands[0] = x3;
   25795              :       switch (pattern238 (x2))
   25796              :         {
   25797              :         case 0:
   25798              :           if (!
   25799              : #line 17761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25800              : (TARGET_BMI2 && reload_completed))
   25801              :             return NULL;
   25802              :           return gen_split_624 (insn, operands);
   25803              : 
   25804              :         case 1:
   25805              :           if (!(
   25806              : #line 17761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25807              : (TARGET_BMI2 && reload_completed) && 
   25808              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25809              : (TARGET_64BIT)))
   25810              :             return NULL;
   25811              :           return gen_split_626 (insn, operands);
   25812              : 
   25813              :         default:
   25814              :           return NULL;
   25815              :         }
   25816              : 
   25817              :     case ASHIFTRT:
   25818              :       x3 = XEXP (x1, 0);
   25819              :       operands[0] = x3;
   25820              :       x4 = XEXP (x2, 0);
   25821              :       switch (GET_CODE (x4))
   25822              :         {
   25823              :         case REG:
   25824              :         case SUBREG:
   25825              :         case MEM:
   25826              :           switch (pattern238 (x2))
   25827              :             {
   25828              :             case 0:
   25829              :               if (!
   25830              : #line 17761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25831              : (TARGET_BMI2 && reload_completed))
   25832              :                 return NULL;
   25833              :               return gen_split_625 (insn, operands);
   25834              : 
   25835              :             case 1:
   25836              :               if (!(
   25837              : #line 17761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25838              : (TARGET_BMI2 && reload_completed) && 
   25839              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25840              : (TARGET_64BIT)))
   25841              :                 return NULL;
   25842              :               return gen_split_627 (insn, operands);
   25843              : 
   25844              :             default:
   25845              :               return NULL;
   25846              :             }
   25847              : 
   25848              :         case ASHIFT:
   25849              :           if (pattern293 (x2, 
   25850              : E_V2DImode) != 0)
   25851              :             return NULL;
   25852              :           if ((
   25853              : #line 18348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25854              : (!TARGET_64BIT && TARGET_STV && TARGET_AVX512VL
   25855              :    && INTVAL (operands[2]) == INTVAL (operands[3])
   25856              :    && UINTVAL (operands[2]) < 32) && 
   25857              : #line 18352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25858              : ( reload_completed)))
   25859              :             return gen_split_682 (insn, operands);
   25860              :           if (!(
   25861              : #line 18365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25862              : (!TARGET_AVX512VL
   25863              :    && INTVAL (operands[2]) == INTVAL (operands[3])
   25864              :    && UINTVAL (operands[2]) < 32
   25865              :    && ix86_pre_reload_split ()) && 
   25866              : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25867              : ( 1)))
   25868              :             return NULL;
   25869              :           return gen_split_683 (insn, operands);
   25870              : 
   25871              :         default:
   25872              :           return NULL;
   25873              :         }
   25874              : 
   25875              :     case ROTATE:
   25876              :       return split_9 (x1, insn);
   25877              : 
   25878              :     case ROTATERT:
   25879              :       return split_10 (x1, insn);
   25880              : 
   25881              :     case IF_THEN_ELSE:
   25882              :       return split_11 (x1, insn);
   25883              : 
   25884              :     case NE:
   25885              :     case EQ:
   25886              :     case GE:
   25887              :     case GT:
   25888              :     case LE:
   25889              :     case LT:
   25890              :     case LTGT:
   25891              :     case GEU:
   25892              :     case GTU:
   25893              :     case LEU:
   25894              :     case LTU:
   25895              :     case UNORDERED:
   25896              :     case ORDERED:
   25897              :     case UNEQ:
   25898              :     case UNGE:
   25899              :     case UNGT:
   25900              :     case UNLE:
   25901              :     case UNLT:
   25902              :       switch (GET_CODE (x2))
   25903              :         {
   25904              :         case GEU:
   25905              :         case LTU:
   25906              :           res = split_4 (x1, insn);
   25907              :           if (res != NULL_RTX)
   25908              :             return res;
   25909              :           break;
   25910              : 
   25911              :         case GTU:
   25912              :         case LEU:
   25913              :           operands[1] = x2;
   25914              :           if (shr_comparison_operator (operands[1], E_QImode))
   25915              :             {
   25916              :               x3 = XEXP (x1, 0);
   25917              :               operands[0] = x3;
   25918              :               if (nonimmediate_operand (operands[0], E_QImode))
   25919              :                 {
   25920              :                   x4 = XEXP (x2, 0);
   25921              :                   operands[2] = x4;
   25922              :                   if (register_operand (operands[2], E_DImode))
   25923              :                     {
   25924              :                       x6 = XEXP (x2, 1);
   25925              :                       operands[3] = x6;
   25926              :                       if (const_int_operand (operands[3], E_VOIDmode)
   25927              :                           && 
   25928              : #line 19803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25929              : (TARGET_64BIT
   25930              :    && IN_RANGE (exact_log2 (UINTVAL (operands[3]) + 1), 32, 63)))
   25931              :                         return gen_split_856 (insn, operands);
   25932              :                     }
   25933              :                 }
   25934              :             }
   25935              :           break;
   25936              : 
   25937              :         case NE:
   25938              :           switch (pattern239 (x1))
   25939              :             {
   25940              :             case 0:
   25941              :               return gen_split_863 (insn, operands);
   25942              : 
   25943              :             case 1:
   25944              :               return gen_split_864 (insn, operands);
   25945              : 
   25946              :             default:
   25947              :               break;
   25948              :             }
   25949              :           break;
   25950              : 
   25951              :         case EQ:
   25952              :           switch (pattern239 (x1))
   25953              :             {
   25954              :             case 0:
   25955              :               return gen_split_865 (insn, operands);
   25956              : 
   25957              :             case 1:
   25958              :               return gen_split_866 (insn, operands);
   25959              : 
   25960              :             default:
   25961              :               break;
   25962              :             }
   25963              :           break;
   25964              : 
   25965              :         default:
   25966              :           break;
   25967              :         }
   25968              :       operands[1] = x2;
   25969              :       x4 = XEXP (x2, 0);
   25970              :       if (GET_CODE (x4) != REG
   25971              :           || REGNO (x4) != 17)
   25972              :         return NULL;
   25973              :       x6 = XEXP (x2, 1);
   25974              :       if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   25975              :         return NULL;
   25976              :       x3 = XEXP (x1, 0);
   25977              :       operands[0] = x3;
   25978              :       switch (GET_MODE (operands[0]))
   25979              :         {
   25980              :         case E_DImode:
   25981              :           if (!register_operand (operands[0], E_DImode)
   25982              :               || !ix86_comparison_operator (operands[1], E_DImode)
   25983              :               || !(
   25984              : #line 19841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25985              : (!TARGET_APX_ZU && TARGET_64BIT && !TARGET_PARTIAL_REG_STALL) && 
   25986              : #line 19843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25987              : ( reload_completed)))
   25988              :             return NULL;
   25989              :           return gen_split_857 (insn, operands);
   25990              : 
   25991              :         case E_HImode:
   25992              :           if (!register_operand (operands[0], E_HImode)
   25993              :               || !ix86_comparison_operator (operands[1], E_HImode)
   25994              :               || !(
   25995              : #line 19874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25996              : (!TARGET_APX_ZU && !TARGET_PARTIAL_REG_STALL
   25997              :    && (!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))) && 
   25998              : #line 19877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   25999              : ( reload_completed)))
   26000              :             return NULL;
   26001              :           return gen_split_860 (insn, operands);
   26002              : 
   26003              :         case E_SImode:
   26004              :           if (!register_operand (operands[0], E_SImode)
   26005              :               || !ix86_comparison_operator (operands[1], E_SImode)
   26006              :               || !(
   26007              : #line 19874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26008              : (!TARGET_APX_ZU && !TARGET_PARTIAL_REG_STALL
   26009              :    && (!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))) && 
   26010              : #line 19877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26011              : ( reload_completed)))
   26012              :             return NULL;
   26013              :           return gen_split_861 (insn, operands);
   26014              : 
   26015              :         default:
   26016              :           return NULL;
   26017              :         }
   26018              : 
   26019              :     case MINUS:
   26020              :       return split_12 (x1, insn);
   26021              : 
   26022              :     case CLZ:
   26023              :       x3 = XEXP (x1, 0);
   26024              :       operands[0] = x3;
   26025              :       x4 = XEXP (x2, 0);
   26026              :       operands[1] = x4;
   26027              :       switch (pattern132 (x2))
   26028              :         {
   26029              :         case 0:
   26030              :           if (!(
   26031              : #line 21857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26032              : (TARGET_APX_NF && TARGET_LZCNT) && 
   26033              : #line 21859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26034              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   26035              :    && optimize_function_for_speed_p (cfun)
   26036              :    && !reg_mentioned_p (operands[0], operands[1]))))
   26037              :             return NULL;
   26038              :           return gen_split_894 (insn, operands);
   26039              : 
   26040              :         case 1:
   26041              :           if (!((
   26042              : #line 21857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26043              : (TARGET_APX_NF && TARGET_LZCNT) && 
   26044              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26045              : (TARGET_64BIT)) && 
   26046              : #line 21859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26047              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   26048              :    && optimize_function_for_speed_p (cfun)
   26049              :    && !reg_mentioned_p (operands[0], operands[1]))))
   26050              :             return NULL;
   26051              :           return gen_split_895 (insn, operands);
   26052              : 
   26053              :         default:
   26054              :           return NULL;
   26055              :         }
   26056              : 
   26057              :     case POPCOUNT:
   26058              :       x3 = XEXP (x1, 0);
   26059              :       operands[0] = x3;
   26060              :       x4 = XEXP (x2, 0);
   26061              :       operands[1] = x4;
   26062              :       switch (pattern132 (x2))
   26063              :         {
   26064              :         case 0:
   26065              :           if (!(
   26066              : #line 22660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26067              : (TARGET_APX_NF && TARGET_POPCNT) && 
   26068              : #line 22668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26069              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   26070              :    && optimize_function_for_speed_p (cfun)
   26071              :    && !reg_mentioned_p (operands[0], operands[1]))))
   26072              :             return NULL;
   26073              :           return gen_split_918 (insn, operands);
   26074              : 
   26075              :         case 1:
   26076              :           if (!((
   26077              : #line 22660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26078              : (TARGET_APX_NF && TARGET_POPCNT) && 
   26079              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26080              : (TARGET_64BIT)) && 
   26081              : #line 22668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   26082              : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   26083              :    && optimize_function_for_speed_p (cfun)
   26084              :    && !reg_mentioned_p (operands[0], operands[1]))))
   26085              :             return NULL;
   26086              :           return gen_split_919 (insn, operands);
   26087              : 
   26088              :         default:
   26089              :           return NULL;
   26090              :         }
   26091              : 
   26092              :     default:
   26093              :       return NULL;
   26094              :     }
   26095              : }
   26096              : 
   26097              :  rtx_insn *
   26098              : split_43 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   26099              : {
   26100              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   26101              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   26102              :   rtx x10, x11, x12, x13, x14, x15, x16;
   26103              :   rtx_insn *res ATTRIBUTE_UNUSED;
   26104              :   x2 = XEXP (x1, 1);
   26105              :   x3 = XEXP (x2, 0);
   26106              :   switch (GET_CODE (x3))
   26107              :     {
   26108              :     case NE:
   26109              :     case EQ:
   26110              :     case GE:
   26111              :     case GT:
   26112              :     case LE:
   26113              :     case LT:
   26114              :     case LTGT:
   26115              :     case GEU:
   26116              :     case GTU:
   26117              :     case LEU:
   26118              :     case LTU:
   26119              :     case UNORDERED:
   26120              :     case ORDERED:
   26121              :     case UNEQ:
   26122              :     case UNGE:
   26123              :     case UNGT:
   26124              :     case UNLE:
   26125              :     case UNLT:
   26126              :       operands[1] = x3;
   26127              :       res = split_42 (x1, insn);
   26128              :       if (res != NULL_RTX)
   26129              :         return res;
   26130              :       if (!bt_comparison_operator (x3, E_VOIDmode))
   26131              :         return NULL;
   26132              :       operands[3] = x3;
   26133              :       x4 = XEXP (x3, 0);
   26134              :       if (pattern89 (x4, 
   26135              : E_CCZmode, 
   26136              : 131, 
   26137              : 2) != 0)
   26138              :         return NULL;
   26139              :       x5 = XVECEXP (x4, 0, 0);
   26140              :       if (GET_CODE (x5) != AND)
   26141              :         return NULL;
   26142              :       x6 = XEXP (x5, 0);
   26143              :       if (GET_CODE (x6) != NOT)
   26144              :         return NULL;
   26145              :       x7 = XVECEXP (x4, 0, 1);
   26146              :       if (GET_CODE (x7) != AND)
   26147              :         return NULL;
   26148              :       x8 = XEXP (x7, 0);
   26149              :       if (GET_CODE (x8) != NOT)
   26150              :         return NULL;
   26151              :       x9 = XEXP (x3, 1);
   26152              :       if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   26153              :         return NULL;
   26154              :       x10 = XEXP (x2, 2);
   26155              :       if (GET_CODE (x10) != PC)
   26156              :         return NULL;
   26157              :       x11 = XEXP (x1, 0);
   26158              :       if (GET_CODE (x11) != PC)
   26159              :         return NULL;
   26160              :       x12 = XEXP (x6, 0);
   26161              :       operands[1] = x12;
   26162              :       x13 = XEXP (x5, 1);
   26163              :       operands[2] = x13;
   26164              :       x14 = XEXP (x2, 1);
   26165              :       operands[0] = x14;
   26166              :       x15 = XEXP (x8, 0);
   26167              :       if (!rtx_equal_p (x15, operands[1]))
   26168              :         return NULL;
   26169              :       x16 = XEXP (x7, 1);
   26170              :       if (!rtx_equal_p (x16, operands[2]))
   26171              :         return NULL;
   26172              :       switch (GET_MODE (x5))
   26173              :         {
   26174              :         case E_V16QImode:
   26175              :           if (pattern1785 (x4, 
   26176              : E_V16QImode) != 0
   26177              :               || !
   26178              : #line 26024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26179              : (TARGET_SSE4_1))
   26180              :             return NULL;
   26181              :           return gen_split_3769 (insn, operands);
   26182              : 
   26183              :         case E_V8HImode:
   26184              :           if (pattern1785 (x4, 
   26185              : E_V8HImode) != 0
   26186              :               || !
   26187              : #line 26024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26188              : (TARGET_SSE4_1))
   26189              :             return NULL;
   26190              :           return gen_split_3770 (insn, operands);
   26191              : 
   26192              :         case E_V4SImode:
   26193              :           if (pattern1785 (x4, 
   26194              : E_V4SImode) != 0
   26195              :               || !
   26196              : #line 26024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26197              : (TARGET_SSE4_1))
   26198              :             return NULL;
   26199              :           return gen_split_3771 (insn, operands);
   26200              : 
   26201              :         case E_V2DImode:
   26202              :           if (pattern1785 (x4, 
   26203              : E_V2DImode) != 0
   26204              :               || !
   26205              : #line 26024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26206              : (TARGET_SSE4_1))
   26207              :             return NULL;
   26208              :           return gen_split_3772 (insn, operands);
   26209              : 
   26210              :         case E_V1TImode:
   26211              :           if (pattern1785 (x4, 
   26212              : E_V1TImode) != 0
   26213              :               || !
   26214              : #line 26024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26215              : (TARGET_SSE4_1))
   26216              :             return NULL;
   26217              :           return gen_split_3773 (insn, operands);
   26218              : 
   26219              :         case E_V4SFmode:
   26220              :           if (pattern1785 (x4, 
   26221              : E_V4SFmode) != 0
   26222              :               || !
   26223              : #line 26024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26224              : (TARGET_SSE4_1))
   26225              :             return NULL;
   26226              :           return gen_split_3774 (insn, operands);
   26227              : 
   26228              :         case E_V2DFmode:
   26229              :           if (pattern1785 (x4, 
   26230              : E_V2DFmode) != 0
   26231              :               || !
   26232              : #line 26024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26233              : (TARGET_SSE4_1))
   26234              :             return NULL;
   26235              :           return gen_split_3775 (insn, operands);
   26236              : 
   26237              :         case E_V32QImode:
   26238              :           if (pattern1785 (x4, 
   26239              : E_V32QImode) != 0
   26240              :               || !(
   26241              : #line 26024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26242              : (TARGET_SSE4_1) && 
   26243              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26244              : (TARGET_AVX)))
   26245              :             return NULL;
   26246              :           return gen_split_3776 (insn, operands);
   26247              : 
   26248              :         case E_V16HImode:
   26249              :           if (pattern1785 (x4, 
   26250              : E_V16HImode) != 0
   26251              :               || !(
   26252              : #line 26024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26253              : (TARGET_SSE4_1) && 
   26254              : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26255              : (TARGET_AVX)))
   26256              :             return NULL;
   26257              :           return gen_split_3777 (insn, operands);
   26258              : 
   26259              :         case E_V8SImode:
   26260              :           if (pattern1785 (x4, 
   26261              : E_V8SImode) != 0
   26262              :               || !(
   26263              : #line 26024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26264              : (TARGET_SSE4_1) && 
   26265              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26266              : (TARGET_AVX)))
   26267              :             return NULL;
   26268              :           return gen_split_3778 (insn, operands);
   26269              : 
   26270              :         case E_V4DImode:
   26271              :           if (pattern1785 (x4, 
   26272              : E_V4DImode) != 0
   26273              :               || !(
   26274              : #line 26024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26275              : (TARGET_SSE4_1) && 
   26276              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26277              : (TARGET_AVX)))
   26278              :             return NULL;
   26279              :           return gen_split_3779 (insn, operands);
   26280              : 
   26281              :         case E_V2TImode:
   26282              :           if (pattern1785 (x4, 
   26283              : E_V2TImode) != 0
   26284              :               || !(
   26285              : #line 26024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26286              : (TARGET_SSE4_1) && 
   26287              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26288              : (TARGET_AVX)))
   26289              :             return NULL;
   26290              :           return gen_split_3780 (insn, operands);
   26291              : 
   26292              :         case E_V8SFmode:
   26293              :           if (pattern1785 (x4, 
   26294              : E_V8SFmode) != 0
   26295              :               || !(
   26296              : #line 26024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26297              : (TARGET_SSE4_1) && 
   26298              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26299              : (TARGET_AVX)))
   26300              :             return NULL;
   26301              :           return gen_split_3781 (insn, operands);
   26302              : 
   26303              :         case E_V4DFmode:
   26304              :           if (pattern1785 (x4, 
   26305              : E_V4DFmode) != 0
   26306              :               || !(
   26307              : #line 26024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26308              : (TARGET_SSE4_1) && 
   26309              : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26310              : (TARGET_AVX)))
   26311              :             return NULL;
   26312              :           return gen_split_3782 (insn, operands);
   26313              : 
   26314              :         default:
   26315              :           return NULL;
   26316              :         }
   26317              : 
   26318              :     default:
   26319              :       return NULL;
   26320              :     }
   26321              : }
   26322              : 
   26323              :  rtx_insn *
   26324              : split_48 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   26325              : {
   26326              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   26327              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   26328              :   rtx x10;
   26329              :   rtx_insn *res ATTRIBUTE_UNUSED;
   26330              :   x2 = XEXP (x1, 1);
   26331              :   x3 = XEXP (x2, 0);
   26332              :   if (GET_CODE (x3) != VEC_SELECT)
   26333              :     return NULL;
   26334              :   switch (pattern97 (x1))
   26335              :     {
   26336              :     case 0:
   26337              :       x4 = XEXP (x3, 0);
   26338              :       operands[1] = x4;
   26339              :       if (!nonimmediate_operand (operands[1], E_V2SFmode))
   26340              :         return NULL;
   26341              :       x5 = XEXP (x3, 1);
   26342              :       if (XVECLEN (x5, 0) != 1)
   26343              :         return NULL;
   26344              :       x6 = XEXP (x2, 1);
   26345              :       x7 = XEXP (x6, 1);
   26346              :       if (XVECLEN (x7, 0) != 1
   26347              :           || !register_operand (operands[0], E_SFmode)
   26348              :           || GET_MODE (x2) != E_SFmode
   26349              :           || GET_MODE (x3) != E_SFmode)
   26350              :         return NULL;
   26351              :       x8 = XVECEXP (x5, 0, 0);
   26352              :       operands[2] = x8;
   26353              :       if (!const_0_to_1_operand (operands[2], E_SImode)
   26354              :           || GET_MODE (x6) != E_SFmode)
   26355              :         return NULL;
   26356              :       x9 = XVECEXP (x7, 0, 0);
   26357              :       operands[3] = x9;
   26358              :       if (!const_0_to_1_operand (operands[3], E_SImode))
   26359              :         return NULL;
   26360              :       x10 = XEXP (x6, 0);
   26361              :       if (!rtx_equal_p (x10, operands[1])
   26362              :           || !(
   26363              : #line 1035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26364              : (TARGET_SSE3 && TARGET_MMX_WITH_SSE && ix86_partial_vec_fp_math
   26365              :    && INTVAL (operands[2]) != INTVAL (operands[3])
   26366              :    && ix86_pre_reload_split ()) && 
   26367              : #line 1039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26368              : ( 1)))
   26369              :         return NULL;
   26370              :       return gen_split_1072 (insn, operands);
   26371              : 
   26372              :     case 1:
   26373              :       switch (pattern864 (x2))
   26374              :         {
   26375              :         case 0:
   26376              :           if (!
   26377              : #line 22975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26378              : (TARGET_SSSE3 && reload_completed
   26379              :    && SSE_REGNO_P (REGNO (operands[0]))))
   26380              :             return NULL;
   26381              :           return gen_split_3556 (insn, operands);
   26382              : 
   26383              :         case 1:
   26384              :           if (!
   26385              : #line 23062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26386              : (TARGET_SSSE3 && reload_completed
   26387              :    && SSE_REGNO_P (REGNO (operands[0]))))
   26388              :             return NULL;
   26389              :           return gen_split_3560 (insn, operands);
   26390              : 
   26391              :         default:
   26392              :           return NULL;
   26393              :         }
   26394              : 
   26395              :     default:
   26396              :       return NULL;
   26397              :     }
   26398              : }
   26399              : 
   26400              :  rtx_insn *
   26401              : split_50 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   26402              : {
   26403              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   26404              :   rtx x2, x3, x4, x5;
   26405              :   rtx_insn *res ATTRIBUTE_UNUSED;
   26406              :   x2 = XEXP (x1, 1);
   26407              :   x3 = XEXP (x2, 1);
   26408              :   x4 = XVECEXP (x3, 0, 0);
   26409              :   if (GET_CODE (x4) != CONST_INT)
   26410              :     return NULL;
   26411              :   x5 = XEXP (x2, 0);
   26412              :   operands[1] = x5;
   26413              :   switch (XWINT (x4, 0))
   26414              :     {
   26415              :     case 0L:
   26416              :       switch (GET_MODE (operands[0]))
   26417              :         {
   26418              :         case E_SFmode:
   26419              :           switch (pattern977 (x2))
   26420              :             {
   26421              :             case 0:
   26422              :               if ((
   26423              : #line 1806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26424              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
   26425              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
   26426              : #line 1809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26427              : ( reload_completed)))
   26428              :                 return gen_split_1076 (insn, operands);
   26429              :               break;
   26430              : 
   26431              :             case 1:
   26432              :               if ((
   26433              : #line 12652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26434              : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
   26435              : #line 12654 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26436              : ( reload_completed)))
   26437              :                 return gen_split_1638 (insn, operands);
   26438              :               break;
   26439              : 
   26440              :             default:
   26441              :               break;
   26442              :             }
   26443              :           break;
   26444              : 
   26445              :         case E_SImode:
   26446              :           if (nonimmediate_operand (operands[0], E_SImode)
   26447              :               && GET_MODE (x2) == E_SImode)
   26448              :             {
   26449              :               switch (GET_MODE (operands[1]))
   26450              :                 {
   26451              :                 case E_V2SImode:
   26452              :                   if (nonimmediate_operand (operands[1], E_V2SImode)
   26453              :                       && (
   26454              : #line 5757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26455              : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
   26456              :    && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
   26457              : #line 5760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26458              : ( reload_completed)))
   26459              :                     return gen_split_1162 (insn, operands);
   26460              :                   break;
   26461              : 
   26462              :                 case E_V4SImode:
   26463              :                   if (register_operand (operands[1], E_V4SImode)
   26464              :                       && 
   26465              : #line 21544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26466              : (TARGET_SSE && reload_completed))
   26467              :                     return gen_split_3480 (insn, operands);
   26468              :                   break;
   26469              : 
   26470              :                 default:
   26471              :                   break;
   26472              :                 }
   26473              :             }
   26474              :           break;
   26475              : 
   26476              :         case E_HFmode:
   26477              :           switch (pattern978 (x2))
   26478              :             {
   26479              :             case 0:
   26480              :               if ((
   26481              : #line 13557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26482              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
   26483              : #line 13559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26484              : ( reload_completed)))
   26485              :                 return gen_split_1661 (insn, operands);
   26486              :               break;
   26487              : 
   26488              :             case 1:
   26489              :               if ((
   26490              : #line 13557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26491              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
   26492              : #line 13559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26493              : ( reload_completed)))
   26494              :                 return gen_split_1662 (insn, operands);
   26495              :               break;
   26496              : 
   26497              :             case 2:
   26498              :               if ((
   26499              : #line 13557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26500              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
   26501              : #line 13559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26502              : ( reload_completed)))
   26503              :                 return gen_split_1663 (insn, operands);
   26504              :               break;
   26505              : 
   26506              :             default:
   26507              :               break;
   26508              :             }
   26509              :           break;
   26510              : 
   26511              :         case E_BFmode:
   26512              :           switch (pattern979 (x2))
   26513              :             {
   26514              :             case 0:
   26515              :               if ((
   26516              : #line 13557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26517              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
   26518              : #line 13559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26519              : ( reload_completed)))
   26520              :                 return gen_split_1664 (insn, operands);
   26521              :               break;
   26522              : 
   26523              :             case 1:
   26524              :               if ((
   26525              : #line 13557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26526              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
   26527              : #line 13559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26528              : ( reload_completed)))
   26529              :                 return gen_split_1665 (insn, operands);
   26530              :               break;
   26531              : 
   26532              :             case 2:
   26533              :               if ((
   26534              : #line 13557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26535              : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
   26536              : #line 13559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26537              : ( reload_completed)))
   26538              :                 return gen_split_1666 (insn, operands);
   26539              :               break;
   26540              : 
   26541              :             default:
   26542              :               break;
   26543              :             }
   26544              :           break;
   26545              : 
   26546              :         case E_DFmode:
   26547              :           if (register_operand (operands[0], E_DFmode)
   26548              :               && GET_MODE (x2) == E_DFmode
   26549              :               && nonimmediate_operand (operands[1], E_V2DFmode)
   26550              :               && 
   26551              : #line 14995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26552              : (TARGET_SSE2 && reload_completed))
   26553              :             return gen_split_3255 (insn, operands);
   26554              :           break;
   26555              : 
   26556              :         case E_QImode:
   26557              :           if (memory_operand (operands[0], E_QImode)
   26558              :               && GET_MODE (x2) == E_QImode
   26559              :               && register_operand (operands[1], E_V16QImode)
   26560              :               && ((
   26561              : #line 21404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26562              : (TARGET_SSE2
   26563              :    && !TARGET_SSE4_1
   26564              :    && (TARGET_INTER_UNIT_MOVES_FROM_VEC
   26565              :        || optimize_function_for_speed_p (cfun))
   26566              :    && ix86_pre_reload_split ()) && 
   26567              : #line 21397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26568              : (TARGET_SSE4_1)) && 
   26569              : #line 21410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26570              : ( 1)))
   26571              :             return gen_split_3477 (insn, operands);
   26572              :           break;
   26573              : 
   26574              :         case E_HImode:
   26575              :           if (memory_operand (operands[0], E_HImode)
   26576              :               && GET_MODE (x2) == E_HImode
   26577              :               && register_operand (operands[1], E_V8HImode)
   26578              :               && (
   26579              : #line 21404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26580              : (TARGET_SSE2
   26581              :    && !TARGET_SSE4_1
   26582              :    && (TARGET_INTER_UNIT_MOVES_FROM_VEC
   26583              :        || optimize_function_for_speed_p (cfun))
   26584              :    && ix86_pre_reload_split ()) && 
   26585              : #line 21410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26586              : ( 1)))
   26587              :             return gen_split_3478 (insn, operands);
   26588              :           break;
   26589              : 
   26590              :         case E_TImode:
   26591              :           if (nonimmediate_operand (operands[0], E_TImode)
   26592              :               && GET_MODE (x2) == E_TImode)
   26593              :             {
   26594              :               switch (GET_MODE (operands[1]))
   26595              :                 {
   26596              :                 case E_V4TImode:
   26597              :                   if (register_operand (operands[1], E_V4TImode)
   26598              :                       && (
   26599              : #line 21778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26600              : (TARGET_AVX
   26601              :    && reload_completed
   26602              :    && (TARGET_AVX512VL || !EXT_REX_SSE_REG_P (operands[1]))) && 
   26603              : #line 21771 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26604              : (TARGET_AVX512F)))
   26605              :                     return gen_split_3488 (insn, operands);
   26606              :                   break;
   26607              : 
   26608              :                 case E_V2TImode:
   26609              :                   if (register_operand (operands[1], E_V2TImode)
   26610              :                       && 
   26611              : #line 21778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26612              : (TARGET_AVX
   26613              :    && reload_completed
   26614              :    && (TARGET_AVX512VL || !EXT_REX_SSE_REG_P (operands[1]))))
   26615              :                     return gen_split_3489 (insn, operands);
   26616              :                   break;
   26617              : 
   26618              :                 default:
   26619              :                   break;
   26620              :                 }
   26621              :             }
   26622              :           break;
   26623              : 
   26624              :         default:
   26625              :           break;
   26626              :         }
   26627              :       break;
   26628              : 
   26629              :     case 1L:
   26630              :       switch (GET_MODE (operands[0]))
   26631              :         {
   26632              :         case E_SFmode:
   26633              :           if (register_operand (operands[0], E_SFmode)
   26634              :               && GET_MODE (x2) == E_SFmode
   26635              :               && memory_operand (operands[1], E_V2SFmode)
   26636              :               && 
   26637              : #line 1850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26638              : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && reload_completed))
   26639              :             return gen_split_1077 (insn, operands);
   26640              :           break;
   26641              : 
   26642              :         case E_SImode:
   26643              :           if (register_operand (operands[0], E_SImode)
   26644              :               && GET_MODE (x2) == E_SImode
   26645              :               && memory_operand (operands[1], E_V2SImode)
   26646              :               && 
   26647              : #line 5844 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   26648              : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && reload_completed))
   26649              :             return gen_split_1164 (insn, operands);
   26650              :           break;
   26651              : 
   26652              :         case E_DFmode:
   26653              :           if (register_operand (operands[0], E_DFmode)
   26654              :               && GET_MODE (x2) == E_DFmode
   26655              :               && memory_operand (operands[1], E_V2DFmode)
   26656              :               && 
   26657              : #line 14942 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26658              : (TARGET_SSE2 && reload_completed))
   26659              :             return gen_split_3253 (insn, operands);
   26660              :           break;
   26661              : 
   26662              :         default:
   26663              :           break;
   26664              :         }
   26665              :       break;
   26666              : 
   26667              :     default:
   26668              :       break;
   26669              :     }
   26670              :   operands[2] = x4;
   26671              :   switch (GET_MODE (operands[0]))
   26672              :     {
   26673              :     case E_SFmode:
   26674              :       if (GET_MODE (x2) != E_SFmode)
   26675              :         return NULL;
   26676              :       if (nonimmediate_operand (operands[0], E_SFmode)
   26677              :           && register_operand (operands[1], E_V4SFmode)
   26678              :           && const_0_to_3_operand (operands[2], E_SImode)
   26679              :           && (
   26680              : #line 12663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26681              : (TARGET_SSE4_1) && 
   26682              : #line 12670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26683              : ( reload_completed && SSE_REG_P (operands[0]))))
   26684              :         return gen_split_1639 (insn, operands);
   26685              :       if (!register_operand (operands[0], E_SFmode)
   26686              :           || !memory_operand (operands[1], E_V4SFmode)
   26687              :           || !const_0_to_3_operand (operands[2], E_VOIDmode)
   26688              :           || !(
   26689              : #line 12706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26690              : (TARGET_SSE) && 
   26691              : #line 12708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26692              : ( reload_completed)))
   26693              :         return NULL;
   26694              :       return gen_split_1640 (insn, operands);
   26695              : 
   26696              :     case E_QImode:
   26697              :       if (!register_operand (operands[0], E_QImode)
   26698              :           || GET_MODE (x2) != E_QImode
   26699              :           || !memory_operand (operands[1], E_V16QImode)
   26700              :           || !const_0_to_15_operand (operands[2], E_VOIDmode)
   26701              :           || !
   26702              : #line 21731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26703              : (TARGET_SSE && reload_completed))
   26704              :         return NULL;
   26705              :       return gen_split_3484 (insn, operands);
   26706              : 
   26707              :     case E_HImode:
   26708              :       if (!register_operand (operands[0], E_HImode)
   26709              :           || GET_MODE (x2) != E_HImode
   26710              :           || !memory_operand (operands[1], E_V8HImode)
   26711              :           || !const_0_to_7_operand (operands[2], E_VOIDmode)
   26712              :           || !
   26713              : #line 21731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26714              : (TARGET_SSE && reload_completed))
   26715              :         return NULL;
   26716              :       return gen_split_3485 (insn, operands);
   26717              : 
   26718              :     case E_SImode:
   26719              :       if (!register_operand (operands[0], E_SImode)
   26720              :           || GET_MODE (x2) != E_SImode
   26721              :           || !memory_operand (operands[1], E_V4SImode)
   26722              :           || !const_0_to_3_operand (operands[2], E_VOIDmode)
   26723              :           || !
   26724              : #line 21731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26725              : (TARGET_SSE && reload_completed))
   26726              :         return NULL;
   26727              :       return gen_split_3486 (insn, operands);
   26728              : 
   26729              :     default:
   26730              :       return NULL;
   26731              :     }
   26732              : }
   26733              : 
   26734              :  rtx_insn *
   26735              : split_58 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   26736              : {
   26737              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   26738              :   rtx x2, x3, x4, x5, x6;
   26739              :   rtx_insn *res ATTRIBUTE_UNUSED;
   26740              :   x2 = XEXP (x1, 1);
   26741              :   if (XINT (x2, 1) != 165)
   26742              :     return NULL;
   26743              :   x3 = XVECEXP (x2, 0, 0);
   26744              :   operands[1] = x3;
   26745              :   x4 = XVECEXP (x2, 0, 1);
   26746              :   operands[2] = x4;
   26747              :   x5 = XVECEXP (x2, 0, 2);
   26748              :   operands[3] = x5;
   26749              :   x6 = XVECEXP (x2, 0, 3);
   26750              :   operands[4] = x6;
   26751              :   if (!const_0_to_255_operand (operands[4], E_SImode))
   26752              :     return NULL;
   26753              :   switch (GET_MODE (operands[0]))
   26754              :     {
   26755              :     case E_V64QImode:
   26756              :       if (pattern971 (x2, 
   26757              : E_V64QImode) != 0)
   26758              :         return NULL;
   26759              :       if (memory_operand (operands[3], E_V64QImode)
   26760              :           && (
   26761              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26762              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) && 
   26763              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26764              : (TARGET_AVX512F)))
   26765              :         return gen_split_1669 (insn, operands);
   26766              :       if (!nonimmediate_operand (operands[3], E_V64QImode)
   26767              :           || !(
   26768              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26769              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) && 
   26770              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26771              : (TARGET_AVX512F)))
   26772              :         return NULL;
   26773              :       return gen_split_1693 (insn, operands);
   26774              : 
   26775              :     case E_V32QImode:
   26776              :       if (pattern971 (x2, 
   26777              : E_V32QImode) != 0)
   26778              :         return NULL;
   26779              :       if (memory_operand (operands[3], E_V32QImode)
   26780              :           && (
   26781              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26782              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) && 
   26783              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26784              : (TARGET_AVX)))
   26785              :         return gen_split_1670 (insn, operands);
   26786              :       if (!nonimmediate_operand (operands[3], E_V32QImode)
   26787              :           || !(
   26788              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26789              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) && 
   26790              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26791              : (TARGET_AVX)))
   26792              :         return NULL;
   26793              :       return gen_split_1694 (insn, operands);
   26794              : 
   26795              :     case E_V16QImode:
   26796              :       if (pattern971 (x2, 
   26797              : E_V16QImode) != 0)
   26798              :         return NULL;
   26799              :       if (memory_operand (operands[3], E_V16QImode)
   26800              :           && 
   26801              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26802              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3))
   26803              :         return gen_split_1671 (insn, operands);
   26804              :       if (!nonimmediate_operand (operands[3], E_V16QImode)
   26805              :           || !
   26806              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26807              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0))
   26808              :         return NULL;
   26809              :       return gen_split_1695 (insn, operands);
   26810              : 
   26811              :     case E_V32HImode:
   26812              :       if (pattern971 (x2, 
   26813              : E_V32HImode) != 0)
   26814              :         return NULL;
   26815              :       if (memory_operand (operands[3], E_V32HImode)
   26816              :           && (
   26817              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26818              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) && 
   26819              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26820              : (TARGET_AVX512F)))
   26821              :         return gen_split_1672 (insn, operands);
   26822              :       if (!nonimmediate_operand (operands[3], E_V32HImode)
   26823              :           || !(
   26824              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26825              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) && 
   26826              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26827              : (TARGET_AVX512F)))
   26828              :         return NULL;
   26829              :       return gen_split_1696 (insn, operands);
   26830              : 
   26831              :     case E_V16HImode:
   26832              :       if (pattern971 (x2, 
   26833              : E_V16HImode) != 0)
   26834              :         return NULL;
   26835              :       if (memory_operand (operands[3], E_V16HImode)
   26836              :           && (
   26837              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26838              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) && 
   26839              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26840              : (TARGET_AVX)))
   26841              :         return gen_split_1673 (insn, operands);
   26842              :       if (!nonimmediate_operand (operands[3], E_V16HImode)
   26843              :           || !(
   26844              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26845              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) && 
   26846              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26847              : (TARGET_AVX)))
   26848              :         return NULL;
   26849              :       return gen_split_1697 (insn, operands);
   26850              : 
   26851              :     case E_V8HImode:
   26852              :       if (pattern971 (x2, 
   26853              : E_V8HImode) != 0)
   26854              :         return NULL;
   26855              :       if (memory_operand (operands[3], E_V8HImode)
   26856              :           && 
   26857              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26858              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3))
   26859              :         return gen_split_1674 (insn, operands);
   26860              :       if (!nonimmediate_operand (operands[3], E_V8HImode)
   26861              :           || !
   26862              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26863              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0))
   26864              :         return NULL;
   26865              :       return gen_split_1698 (insn, operands);
   26866              : 
   26867              :     case E_V16SImode:
   26868              :       if (pattern971 (x2, 
   26869              : E_V16SImode) != 0)
   26870              :         return NULL;
   26871              :       if (memory_operand (operands[3], E_V16SImode)
   26872              :           && (
   26873              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26874              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) && 
   26875              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26876              : (TARGET_AVX512F)))
   26877              :         return gen_split_1675 (insn, operands);
   26878              :       if (!nonimmediate_operand (operands[3], E_V16SImode)
   26879              :           || !(
   26880              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26881              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) && 
   26882              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26883              : (TARGET_AVX512F)))
   26884              :         return NULL;
   26885              :       return gen_split_1699 (insn, operands);
   26886              : 
   26887              :     case E_V8SImode:
   26888              :       if (pattern971 (x2, 
   26889              : E_V8SImode) != 0)
   26890              :         return NULL;
   26891              :       if (memory_operand (operands[3], E_V8SImode)
   26892              :           && (
   26893              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26894              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) && 
   26895              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26896              : (TARGET_AVX)))
   26897              :         return gen_split_1676 (insn, operands);
   26898              :       if (!nonimmediate_operand (operands[3], E_V8SImode)
   26899              :           || !(
   26900              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26901              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) && 
   26902              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26903              : (TARGET_AVX)))
   26904              :         return NULL;
   26905              :       return gen_split_1700 (insn, operands);
   26906              : 
   26907              :     case E_V4SImode:
   26908              :       if (pattern971 (x2, 
   26909              : E_V4SImode) != 0)
   26910              :         return NULL;
   26911              :       if (memory_operand (operands[3], E_V4SImode)
   26912              :           && 
   26913              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26914              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3))
   26915              :         return gen_split_1677 (insn, operands);
   26916              :       if (!nonimmediate_operand (operands[3], E_V4SImode)
   26917              :           || !
   26918              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26919              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0))
   26920              :         return NULL;
   26921              :       return gen_split_1701 (insn, operands);
   26922              : 
   26923              :     case E_V8DImode:
   26924              :       if (pattern971 (x2, 
   26925              : E_V8DImode) != 0)
   26926              :         return NULL;
   26927              :       if (memory_operand (operands[3], E_V8DImode)
   26928              :           && (
   26929              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26930              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) && 
   26931              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26932              : (TARGET_AVX512F)))
   26933              :         return gen_split_1678 (insn, operands);
   26934              :       if (!nonimmediate_operand (operands[3], E_V8DImode)
   26935              :           || !(
   26936              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26937              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) && 
   26938              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26939              : (TARGET_AVX512F)))
   26940              :         return NULL;
   26941              :       return gen_split_1702 (insn, operands);
   26942              : 
   26943              :     case E_V4DImode:
   26944              :       if (pattern971 (x2, 
   26945              : E_V4DImode) != 0)
   26946              :         return NULL;
   26947              :       if (memory_operand (operands[3], E_V4DImode)
   26948              :           && (
   26949              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26950              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) && 
   26951              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26952              : (TARGET_AVX)))
   26953              :         return gen_split_1679 (insn, operands);
   26954              :       if (!nonimmediate_operand (operands[3], E_V4DImode)
   26955              :           || !(
   26956              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26957              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) && 
   26958              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26959              : (TARGET_AVX)))
   26960              :         return NULL;
   26961              :       return gen_split_1703 (insn, operands);
   26962              : 
   26963              :     case E_V2DImode:
   26964              :       if (pattern971 (x2, 
   26965              : E_V2DImode) != 0)
   26966              :         return NULL;
   26967              :       if (memory_operand (operands[3], E_V2DImode)
   26968              :           && 
   26969              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26970              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3))
   26971              :         return gen_split_1680 (insn, operands);
   26972              :       if (!nonimmediate_operand (operands[3], E_V2DImode)
   26973              :           || !
   26974              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26975              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0))
   26976              :         return NULL;
   26977              :       return gen_split_1704 (insn, operands);
   26978              : 
   26979              :     case E_V32HFmode:
   26980              :       if (pattern971 (x2, 
   26981              : E_V32HFmode) != 0)
   26982              :         return NULL;
   26983              :       if (memory_operand (operands[3], E_V32HFmode)
   26984              :           && (
   26985              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26986              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) && 
   26987              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26988              : (TARGET_AVX512F)))
   26989              :         return gen_split_1681 (insn, operands);
   26990              :       if (!nonimmediate_operand (operands[3], E_V32HFmode)
   26991              :           || !(
   26992              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26993              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) && 
   26994              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   26995              : (TARGET_AVX512F)))
   26996              :         return NULL;
   26997              :       return gen_split_1705 (insn, operands);
   26998              : 
   26999              :     case E_V16HFmode:
   27000              :       if (pattern971 (x2, 
   27001              : E_V16HFmode) != 0)
   27002              :         return NULL;
   27003              :       if (memory_operand (operands[3], E_V16HFmode)
   27004              :           && (
   27005              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27006              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) && 
   27007              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27008              : (TARGET_AVX)))
   27009              :         return gen_split_1682 (insn, operands);
   27010              :       if (!nonimmediate_operand (operands[3], E_V16HFmode)
   27011              :           || !(
   27012              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27013              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) && 
   27014              : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27015              : (TARGET_AVX)))
   27016              :         return NULL;
   27017              :       return gen_split_1706 (insn, operands);
   27018              : 
   27019              :     case E_V8HFmode:
   27020              :       if (pattern971 (x2, 
   27021              : E_V8HFmode) != 0)
   27022              :         return NULL;
   27023              :       if (memory_operand (operands[3], E_V8HFmode)
   27024              :           && 
   27025              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27026              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3))
   27027              :         return gen_split_1683 (insn, operands);
   27028              :       if (!nonimmediate_operand (operands[3], E_V8HFmode)
   27029              :           || !
   27030              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27031              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0))
   27032              :         return NULL;
   27033              :       return gen_split_1707 (insn, operands);
   27034              : 
   27035              :     case E_V32BFmode:
   27036              :       if (pattern971 (x2, 
   27037              : E_V32BFmode) != 0)
   27038              :         return NULL;
   27039              :       if (memory_operand (operands[3], E_V32BFmode)
   27040              :           && (
   27041              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27042              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) && 
   27043              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27044              : (TARGET_AVX512F)))
   27045              :         return gen_split_1684 (insn, operands);
   27046              :       if (!nonimmediate_operand (operands[3], E_V32BFmode)
   27047              :           || !(
   27048              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27049              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) && 
   27050              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27051              : (TARGET_AVX512F)))
   27052              :         return NULL;
   27053              :       return gen_split_1708 (insn, operands);
   27054              : 
   27055              :     case E_V16BFmode:
   27056              :       if (pattern971 (x2, 
   27057              : E_V16BFmode) != 0)
   27058              :         return NULL;
   27059              :       if (memory_operand (operands[3], E_V16BFmode)
   27060              :           && (
   27061              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27062              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) && 
   27063              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27064              : (TARGET_AVX)))
   27065              :         return gen_split_1685 (insn, operands);
   27066              :       if (!nonimmediate_operand (operands[3], E_V16BFmode)
   27067              :           || !(
   27068              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27069              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) && 
   27070              : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27071              : (TARGET_AVX)))
   27072              :         return NULL;
   27073              :       return gen_split_1709 (insn, operands);
   27074              : 
   27075              :     case E_V8BFmode:
   27076              :       if (pattern971 (x2, 
   27077              : E_V8BFmode) != 0)
   27078              :         return NULL;
   27079              :       if (memory_operand (operands[3], E_V8BFmode)
   27080              :           && 
   27081              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27082              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3))
   27083              :         return gen_split_1686 (insn, operands);
   27084              :       if (!nonimmediate_operand (operands[3], E_V8BFmode)
   27085              :           || !
   27086              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27087              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0))
   27088              :         return NULL;
   27089              :       return gen_split_1710 (insn, operands);
   27090              : 
   27091              :     case E_V16SFmode:
   27092              :       if (pattern971 (x2, 
   27093              : E_V16SFmode) != 0)
   27094              :         return NULL;
   27095              :       if (memory_operand (operands[3], E_V16SFmode)
   27096              :           && (
   27097              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27098              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) && 
   27099              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27100              : (TARGET_AVX512F)))
   27101              :         return gen_split_1687 (insn, operands);
   27102              :       if (!nonimmediate_operand (operands[3], E_V16SFmode)
   27103              :           || !(
   27104              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27105              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) && 
   27106              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27107              : (TARGET_AVX512F)))
   27108              :         return NULL;
   27109              :       return gen_split_1711 (insn, operands);
   27110              : 
   27111              :     case E_V8SFmode:
   27112              :       if (pattern971 (x2, 
   27113              : E_V8SFmode) != 0)
   27114              :         return NULL;
   27115              :       if (memory_operand (operands[3], E_V8SFmode)
   27116              :           && (
   27117              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27118              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) && 
   27119              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27120              : (TARGET_AVX)))
   27121              :         return gen_split_1688 (insn, operands);
   27122              :       if (!nonimmediate_operand (operands[3], E_V8SFmode)
   27123              :           || !(
   27124              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27125              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) && 
   27126              : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27127              : (TARGET_AVX)))
   27128              :         return NULL;
   27129              :       return gen_split_1712 (insn, operands);
   27130              : 
   27131              :     case E_V4SFmode:
   27132              :       if (pattern971 (x2, 
   27133              : E_V4SFmode) != 0)
   27134              :         return NULL;
   27135              :       if (memory_operand (operands[3], E_V4SFmode)
   27136              :           && 
   27137              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27138              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3))
   27139              :         return gen_split_1689 (insn, operands);
   27140              :       if (!nonimmediate_operand (operands[3], E_V4SFmode)
   27141              :           || !
   27142              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27143              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0))
   27144              :         return NULL;
   27145              :       return gen_split_1713 (insn, operands);
   27146              : 
   27147              :     case E_V8DFmode:
   27148              :       if (pattern971 (x2, 
   27149              : E_V8DFmode) != 0)
   27150              :         return NULL;
   27151              :       if (memory_operand (operands[3], E_V8DFmode)
   27152              :           && (
   27153              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27154              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) && 
   27155              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27156              : (TARGET_AVX512F)))
   27157              :         return gen_split_1690 (insn, operands);
   27158              :       if (!nonimmediate_operand (operands[3], E_V8DFmode)
   27159              :           || !(
   27160              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27161              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) && 
   27162              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27163              : (TARGET_AVX512F)))
   27164              :         return NULL;
   27165              :       return gen_split_1714 (insn, operands);
   27166              : 
   27167              :     case E_V4DFmode:
   27168              :       if (pattern971 (x2, 
   27169              : E_V4DFmode) != 0)
   27170              :         return NULL;
   27171              :       if (memory_operand (operands[3], E_V4DFmode)
   27172              :           && (
   27173              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27174              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) && 
   27175              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27176              : (TARGET_AVX)))
   27177              :         return gen_split_1691 (insn, operands);
   27178              :       if (!nonimmediate_operand (operands[3], E_V4DFmode)
   27179              :           || !(
   27180              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27181              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) && 
   27182              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27183              : (TARGET_AVX)))
   27184              :         return NULL;
   27185              :       return gen_split_1715 (insn, operands);
   27186              : 
   27187              :     case E_V2DFmode:
   27188              :       if (pattern971 (x2, 
   27189              : E_V2DFmode) != 0)
   27190              :         return NULL;
   27191              :       if (memory_operand (operands[3], E_V2DFmode)
   27192              :           && (
   27193              : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27194              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) && 
   27195              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27196              : (TARGET_SSE2)))
   27197              :         return gen_split_1692 (insn, operands);
   27198              :       if (!nonimmediate_operand (operands[3], E_V2DFmode)
   27199              :           || !(
   27200              : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27201              : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) && 
   27202              : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27203              : (TARGET_SSE2)))
   27204              :         return NULL;
   27205              :       return gen_split_1716 (insn, operands);
   27206              : 
   27207              :     default:
   27208              :       return NULL;
   27209              :     }
   27210              : }
   27211              : 
   27212              :  rtx_insn *
   27213              : split_64 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   27214              : {
   27215              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   27216              :   rtx x2, x3, x4, x5, x6;
   27217              :   rtx_insn *res ATTRIBUTE_UNUSED;
   27218              :   x2 = XEXP (x1, 1);
   27219              :   x3 = XEXP (x2, 0);
   27220              :   switch (GET_CODE (x3))
   27221              :     {
   27222              :     case NOT:
   27223              :       x4 = XEXP (x3, 0);
   27224              :       switch (GET_CODE (x4))
   27225              :         {
   27226              :         case GT:
   27227              :         case LT:
   27228              :           operands[1] = x4;
   27229              :           switch (pattern686 (x2))
   27230              :             {
   27231              :             case 0:
   27232              :               if (!((
   27233              : #line 3414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27234              : (TARGET_SSE && ix86_pre_reload_split ()
   27235              :    && rtx_equal_p (operands[2], operands[4])) && 
   27236              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27237              : (TARGET_AVX)) && 
   27238              : #line 3417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27239              : ( 1)))
   27240              :                 return NULL;
   27241              :               return gen_split_1350 (insn, operands);
   27242              : 
   27243              :             case 1:
   27244              :               if (!(
   27245              : #line 3414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27246              : (TARGET_SSE && ix86_pre_reload_split ()
   27247              :    && rtx_equal_p (operands[2], operands[4])) && 
   27248              : #line 3417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27249              : ( 1)))
   27250              :                 return NULL;
   27251              :               return gen_split_1351 (insn, operands);
   27252              : 
   27253              :             case 2:
   27254              :               if (!((
   27255              : #line 3414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27256              : (TARGET_SSE && ix86_pre_reload_split ()
   27257              :    && rtx_equal_p (operands[2], operands[4])) && 
   27258              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27259              : (TARGET_AVX)) && 
   27260              : #line 3417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27261              : ( 1)))
   27262              :                 return NULL;
   27263              :               return gen_split_1352 (insn, operands);
   27264              : 
   27265              :             case 3:
   27266              :               if (!((
   27267              : #line 3414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27268              : (TARGET_SSE && ix86_pre_reload_split ()
   27269              :    && rtx_equal_p (operands[2], operands[4])) && 
   27270              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27271              : (TARGET_SSE2)) && 
   27272              : #line 3417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27273              : ( 1)))
   27274              :                 return NULL;
   27275              :               return gen_split_1353 (insn, operands);
   27276              : 
   27277              :             default:
   27278              :               return NULL;
   27279              :             }
   27280              : 
   27281              :         default:
   27282              :           return NULL;
   27283              :         }
   27284              : 
   27285              :     case GT:
   27286              :     case LT:
   27287              :       operands[1] = x3;
   27288              :       switch (pattern529 (x2))
   27289              :         {
   27290              :         case 0:
   27291              :           if (((
   27292              : #line 3436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27293              : (TARGET_SSE && ix86_pre_reload_split ()
   27294              :    && rtx_equal_p (operands[2], operands[4])) && 
   27295              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27296              : (TARGET_AVX)) && 
   27297              : #line 3439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27298              : ( 1)))
   27299              :             return gen_split_1354 (insn, operands);
   27300              :           break;
   27301              : 
   27302              :         case 1:
   27303              :           if ((
   27304              : #line 3436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27305              : (TARGET_SSE && ix86_pre_reload_split ()
   27306              :    && rtx_equal_p (operands[2], operands[4])) && 
   27307              : #line 3439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27308              : ( 1)))
   27309              :             return gen_split_1355 (insn, operands);
   27310              :           break;
   27311              : 
   27312              :         case 2:
   27313              :           if (((
   27314              : #line 3436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27315              : (TARGET_SSE && ix86_pre_reload_split ()
   27316              :    && rtx_equal_p (operands[2], operands[4])) && 
   27317              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27318              : (TARGET_AVX)) && 
   27319              : #line 3439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27320              : ( 1)))
   27321              :             return gen_split_1356 (insn, operands);
   27322              :           break;
   27323              : 
   27324              :         case 3:
   27325              :           if (((
   27326              : #line 3436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27327              : (TARGET_SSE && ix86_pre_reload_split ()
   27328              :    && rtx_equal_p (operands[2], operands[4])) && 
   27329              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27330              : (TARGET_SSE2)) && 
   27331              : #line 3439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27332              : ( 1)))
   27333              :             return gen_split_1357 (insn, operands);
   27334              :           break;
   27335              : 
   27336              :         default:
   27337              :           break;
   27338              :         }
   27339              :       x4 = XEXP (x3, 0);
   27340              :       operands[1] = x4;
   27341              :       switch (pattern531 (x2))
   27342              :         {
   27343              :         case 0:
   27344              :           if (!((
   27345              : #line 17650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27346              : (TARGET_SSE4_2 && ix86_pre_reload_split ()) && 
   27347              : #line 697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27348              : (TARGET_AVX2)) && 
   27349              : #line 17652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27350              : ( 1)))
   27351              :             return NULL;
   27352              :           return gen_split_3317 (insn, operands);
   27353              : 
   27354              :         case 1:
   27355              :           if (!(
   27356              : #line 17650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27357              : (TARGET_SSE4_2 && ix86_pre_reload_split ()) && 
   27358              : #line 17652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27359              : ( 1)))
   27360              :             return NULL;
   27361              :           return gen_split_3318 (insn, operands);
   27362              : 
   27363              :         case 2:
   27364              :           switch (GET_MODE (operands[0]))
   27365              :             {
   27366              :             case E_V4DImode:
   27367              :               if (pattern956 (x2, 
   27368              : E_V4DImode) != 0)
   27369              :                 return NULL;
   27370              :               if (((
   27371              : #line 17667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27372              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   27373              : #line 697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27374              : (TARGET_AVX2)) && 
   27375              : #line 17669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27376              : ( 1)))
   27377              :                 return gen_split_3319 (insn, operands);
   27378              :               if (!(
   27379              : #line 17679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27380              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   27381              : #line 769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27382              : (TARGET_AVX2)))
   27383              :                 return NULL;
   27384              :               return gen_split_3325 (insn, operands);
   27385              : 
   27386              :             case E_V2DImode:
   27387              :               if (pattern956 (x2, 
   27388              : E_V2DImode) != 0)
   27389              :                 return NULL;
   27390              :               if ((
   27391              : #line 17667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27392              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   27393              : #line 17669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27394              : ( 1)))
   27395              :                 return gen_split_3320 (insn, operands);
   27396              :               if (!
   27397              : #line 17679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27398              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   27399              :                 return NULL;
   27400              :               return gen_split_3326 (insn, operands);
   27401              : 
   27402              :             case E_V16HImode:
   27403              :               if (pattern956 (x2, 
   27404              : E_V16HImode) != 0
   27405              :                   || !(
   27406              : #line 17679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27407              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   27408              : #line 767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27409              : (TARGET_AVX2)))
   27410              :                 return NULL;
   27411              :               return gen_split_3321 (insn, operands);
   27412              : 
   27413              :             case E_V8HImode:
   27414              :               if (pattern956 (x2, 
   27415              : E_V8HImode) != 0
   27416              :                   || !
   27417              : #line 17679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27418              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   27419              :                 return NULL;
   27420              :               return gen_split_3322 (insn, operands);
   27421              : 
   27422              :             case E_V8SImode:
   27423              :               if (pattern956 (x2, 
   27424              : E_V8SImode) != 0
   27425              :                   || !(
   27426              : #line 17679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27427              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   27428              : #line 768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27429              : (TARGET_AVX2)))
   27430              :                 return NULL;
   27431              :               return gen_split_3323 (insn, operands);
   27432              : 
   27433              :             case E_V4SImode:
   27434              :               if (pattern956 (x2, 
   27435              : E_V4SImode) != 0
   27436              :                   || !
   27437              : #line 17679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27438              : (TARGET_SSE2 && ix86_pre_reload_split ()))
   27439              :                 return NULL;
   27440              :               return gen_split_3324 (insn, operands);
   27441              : 
   27442              :             default:
   27443              :               return NULL;
   27444              :             }
   27445              : 
   27446              :         default:
   27447              :           return NULL;
   27448              :         }
   27449              : 
   27450              :     case REG:
   27451              :     case SUBREG:
   27452              :     case MEM:
   27453              :       operands[1] = x3;
   27454              :       x5 = XEXP (x2, 1);
   27455              :       operands[2] = x5;
   27456              :       switch (GET_MODE (operands[0]))
   27457              :         {
   27458              :         case E_V32BFmode:
   27459              :           if (pattern957 (x2, 
   27460              : E_V32BFmode) != 0
   27461              :               || !((
   27462              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27463              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   27464              : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27465              : (TARGET_AVX512F)) && 
   27466              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27467              : ( 1)))
   27468              :             return NULL;
   27469              :           return gen_split_1570 (insn, operands);
   27470              : 
   27471              :         case E_V16BFmode:
   27472              :           if (pattern957 (x2, 
   27473              : E_V16BFmode) != 0
   27474              :               || !((
   27475              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27476              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   27477              : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27478              : (TARGET_AVX)) && 
   27479              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27480              : ( 1)))
   27481              :             return NULL;
   27482              :           return gen_split_1571 (insn, operands);
   27483              : 
   27484              :         case E_V8BFmode:
   27485              :           if (pattern957 (x2, 
   27486              : E_V8BFmode) != 0
   27487              :               || !((
   27488              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27489              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   27490              : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27491              : (TARGET_SSE2)) && 
   27492              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27493              : ( 1)))
   27494              :             return NULL;
   27495              :           return gen_split_1572 (insn, operands);
   27496              : 
   27497              :         case E_V32HFmode:
   27498              :           if (pattern957 (x2, 
   27499              : E_V32HFmode) != 0
   27500              :               || !((
   27501              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27502              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   27503              : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27504              : (TARGET_AVX512F)) && 
   27505              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27506              : ( 1)))
   27507              :             return NULL;
   27508              :           return gen_split_1573 (insn, operands);
   27509              : 
   27510              :         case E_V16HFmode:
   27511              :           if (pattern957 (x2, 
   27512              : E_V16HFmode) != 0
   27513              :               || !((
   27514              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27515              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   27516              : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27517              : (TARGET_AVX)) && 
   27518              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27519              : ( 1)))
   27520              :             return NULL;
   27521              :           return gen_split_1574 (insn, operands);
   27522              : 
   27523              :         case E_V8HFmode:
   27524              :           if (pattern957 (x2, 
   27525              : E_V8HFmode) != 0
   27526              :               || !((
   27527              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27528              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   27529              : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27530              : (TARGET_SSE2)) && 
   27531              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27532              : ( 1)))
   27533              :             return NULL;
   27534              :           return gen_split_1575 (insn, operands);
   27535              : 
   27536              :         case E_V16SFmode:
   27537              :           if (pattern957 (x2, 
   27538              : E_V16SFmode) != 0
   27539              :               || !((
   27540              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27541              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   27542              : #line 419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27543              : (TARGET_AVX512F)) && 
   27544              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27545              : ( 1)))
   27546              :             return NULL;
   27547              :           return gen_split_1576 (insn, operands);
   27548              : 
   27549              :         case E_V8SFmode:
   27550              :           if (pattern957 (x2, 
   27551              : E_V8SFmode) != 0
   27552              :               || !((
   27553              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27554              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   27555              : #line 419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27556              : (TARGET_AVX)) && 
   27557              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27558              : ( 1)))
   27559              :             return NULL;
   27560              :           return gen_split_1577 (insn, operands);
   27561              : 
   27562              :         case E_V4SFmode:
   27563              :           if (pattern957 (x2, 
   27564              : E_V4SFmode) != 0
   27565              :               || !(
   27566              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27567              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   27568              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27569              : ( 1)))
   27570              :             return NULL;
   27571              :           return gen_split_1578 (insn, operands);
   27572              : 
   27573              :         case E_V8DFmode:
   27574              :           if (pattern957 (x2, 
   27575              : E_V8DFmode) != 0
   27576              :               || !((
   27577              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27578              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   27579              : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27580              : (TARGET_AVX512F)) && 
   27581              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27582              : ( 1)))
   27583              :             return NULL;
   27584              :           return gen_split_1579 (insn, operands);
   27585              : 
   27586              :         case E_V4DFmode:
   27587              :           if (pattern957 (x2, 
   27588              : E_V4DFmode) != 0
   27589              :               || !((
   27590              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27591              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   27592              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27593              : (TARGET_AVX)) && 
   27594              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27595              : ( 1)))
   27596              :             return NULL;
   27597              :           return gen_split_1580 (insn, operands);
   27598              : 
   27599              :         case E_V2DFmode:
   27600              :           if (pattern957 (x2, 
   27601              : E_V2DFmode) != 0
   27602              :               || !((
   27603              : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27604              : (TARGET_SSE && ix86_pre_reload_split ()) && 
   27605              : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27606              : (TARGET_SSE2)) && 
   27607              : #line 5827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27608              : ( 1)))
   27609              :             return NULL;
   27610              :           return gen_split_1581 (insn, operands);
   27611              : 
   27612              :         default:
   27613              :           return NULL;
   27614              :         }
   27615              : 
   27616              :     case AND:
   27617              :       return split_63 (x1, insn);
   27618              : 
   27619              :     case IOR:
   27620              :       x4 = XEXP (x3, 0);
   27621              :       switch (GET_CODE (x4))
   27622              :         {
   27623              :         case REG:
   27624              :         case SUBREG:
   27625              :         case MEM:
   27626              :         case NOT:
   27627              :           switch (pattern535 (x2))
   27628              :             {
   27629              :             case 0:
   27630              :               if (!((
   27631              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27632              : ((64 == 64 || TARGET_AVX512VL
   27633              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27634              :    && ix86_pre_reload_split ()
   27635              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27636              :                     STRIP_UNARY (operands[4]))
   27637              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27638              :                        STRIP_UNARY (operands[4]))
   27639              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27640              :                        STRIP_UNARY (operands[3]))
   27641              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27642              :                        STRIP_UNARY (operands[3])))) && 
   27643              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27644              : (TARGET_AVX512F)) && 
   27645              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27646              : ( 1)))
   27647              :                 return NULL;
   27648              :               return gen_split_1750 (insn, operands);
   27649              : 
   27650              :             case 1:
   27651              :               if (!((
   27652              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27653              : ((32 == 64 || TARGET_AVX512VL
   27654              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27655              :    && ix86_pre_reload_split ()
   27656              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27657              :                     STRIP_UNARY (operands[4]))
   27658              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27659              :                        STRIP_UNARY (operands[4]))
   27660              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27661              :                        STRIP_UNARY (operands[3]))
   27662              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27663              :                        STRIP_UNARY (operands[3])))) && 
   27664              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27665              : (TARGET_AVX)) && 
   27666              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27667              : ( 1)))
   27668              :                 return NULL;
   27669              :               return gen_split_1777 (insn, operands);
   27670              : 
   27671              :             case 2:
   27672              :               if (!(
   27673              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27674              : ((16 == 64 || TARGET_AVX512VL
   27675              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27676              :    && ix86_pre_reload_split ()
   27677              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27678              :                     STRIP_UNARY (operands[4]))
   27679              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27680              :                        STRIP_UNARY (operands[4]))
   27681              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27682              :                        STRIP_UNARY (operands[3]))
   27683              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27684              :                        STRIP_UNARY (operands[3])))) && 
   27685              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27686              : ( 1)))
   27687              :                 return NULL;
   27688              :               return gen_split_1804 (insn, operands);
   27689              : 
   27690              :             case 3:
   27691              :               if (!((
   27692              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27693              : ((64 == 64 || TARGET_AVX512VL
   27694              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27695              :    && ix86_pre_reload_split ()
   27696              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27697              :                     STRIP_UNARY (operands[4]))
   27698              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27699              :                        STRIP_UNARY (operands[4]))
   27700              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27701              :                        STRIP_UNARY (operands[3]))
   27702              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27703              :                        STRIP_UNARY (operands[3])))) && 
   27704              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27705              : (TARGET_AVX512F)) && 
   27706              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27707              : ( 1)))
   27708              :                 return NULL;
   27709              :               return gen_split_1831 (insn, operands);
   27710              : 
   27711              :             case 4:
   27712              :               if (!((
   27713              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27714              : ((32 == 64 || TARGET_AVX512VL
   27715              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27716              :    && ix86_pre_reload_split ()
   27717              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27718              :                     STRIP_UNARY (operands[4]))
   27719              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27720              :                        STRIP_UNARY (operands[4]))
   27721              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27722              :                        STRIP_UNARY (operands[3]))
   27723              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27724              :                        STRIP_UNARY (operands[3])))) && 
   27725              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27726              : (TARGET_AVX)) && 
   27727              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27728              : ( 1)))
   27729              :                 return NULL;
   27730              :               return gen_split_1858 (insn, operands);
   27731              : 
   27732              :             case 5:
   27733              :               if (!(
   27734              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27735              : ((16 == 64 || TARGET_AVX512VL
   27736              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27737              :    && ix86_pre_reload_split ()
   27738              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27739              :                     STRIP_UNARY (operands[4]))
   27740              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27741              :                        STRIP_UNARY (operands[4]))
   27742              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27743              :                        STRIP_UNARY (operands[3]))
   27744              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27745              :                        STRIP_UNARY (operands[3])))) && 
   27746              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27747              : ( 1)))
   27748              :                 return NULL;
   27749              :               return gen_split_1885 (insn, operands);
   27750              : 
   27751              :             case 6:
   27752              :               if (!((
   27753              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27754              : ((64 == 64 || TARGET_AVX512VL
   27755              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27756              :    && ix86_pre_reload_split ()
   27757              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27758              :                     STRIP_UNARY (operands[4]))
   27759              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27760              :                        STRIP_UNARY (operands[4]))
   27761              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27762              :                        STRIP_UNARY (operands[3]))
   27763              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27764              :                        STRIP_UNARY (operands[3])))) && 
   27765              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27766              : (TARGET_AVX512F)) && 
   27767              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27768              : ( 1)))
   27769              :                 return NULL;
   27770              :               return gen_split_1912 (insn, operands);
   27771              : 
   27772              :             case 7:
   27773              :               if (!((
   27774              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27775              : ((32 == 64 || TARGET_AVX512VL
   27776              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27777              :    && ix86_pre_reload_split ()
   27778              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27779              :                     STRIP_UNARY (operands[4]))
   27780              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27781              :                        STRIP_UNARY (operands[4]))
   27782              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27783              :                        STRIP_UNARY (operands[3]))
   27784              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27785              :                        STRIP_UNARY (operands[3])))) && 
   27786              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27787              : (TARGET_AVX)) && 
   27788              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27789              : ( 1)))
   27790              :                 return NULL;
   27791              :               return gen_split_1939 (insn, operands);
   27792              : 
   27793              :             case 8:
   27794              :               if (!(
   27795              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27796              : ((16 == 64 || TARGET_AVX512VL
   27797              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27798              :    && ix86_pre_reload_split ()
   27799              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27800              :                     STRIP_UNARY (operands[4]))
   27801              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27802              :                        STRIP_UNARY (operands[4]))
   27803              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27804              :                        STRIP_UNARY (operands[3]))
   27805              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27806              :                        STRIP_UNARY (operands[3])))) && 
   27807              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27808              : ( 1)))
   27809              :                 return NULL;
   27810              :               return gen_split_1966 (insn, operands);
   27811              : 
   27812              :             case 9:
   27813              :               if (!((
   27814              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27815              : ((64 == 64 || TARGET_AVX512VL
   27816              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27817              :    && ix86_pre_reload_split ()
   27818              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27819              :                     STRIP_UNARY (operands[4]))
   27820              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27821              :                        STRIP_UNARY (operands[4]))
   27822              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27823              :                        STRIP_UNARY (operands[3]))
   27824              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27825              :                        STRIP_UNARY (operands[3])))) && 
   27826              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27827              : (TARGET_AVX512F)) && 
   27828              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27829              : ( 1)))
   27830              :                 return NULL;
   27831              :               return gen_split_1993 (insn, operands);
   27832              : 
   27833              :             case 10:
   27834              :               if (!((
   27835              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27836              : ((32 == 64 || TARGET_AVX512VL
   27837              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27838              :    && ix86_pre_reload_split ()
   27839              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27840              :                     STRIP_UNARY (operands[4]))
   27841              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27842              :                        STRIP_UNARY (operands[4]))
   27843              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27844              :                        STRIP_UNARY (operands[3]))
   27845              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27846              :                        STRIP_UNARY (operands[3])))) && 
   27847              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27848              : (TARGET_AVX)) && 
   27849              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27850              : ( 1)))
   27851              :                 return NULL;
   27852              :               return gen_split_2020 (insn, operands);
   27853              : 
   27854              :             case 11:
   27855              :               if (!(
   27856              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27857              : ((16 == 64 || TARGET_AVX512VL
   27858              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27859              :    && ix86_pre_reload_split ()
   27860              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27861              :                     STRIP_UNARY (operands[4]))
   27862              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27863              :                        STRIP_UNARY (operands[4]))
   27864              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27865              :                        STRIP_UNARY (operands[3]))
   27866              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27867              :                        STRIP_UNARY (operands[3])))) && 
   27868              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27869              : ( 1)))
   27870              :                 return NULL;
   27871              :               return gen_split_2047 (insn, operands);
   27872              : 
   27873              :             case 12:
   27874              :               if (!((
   27875              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27876              : ((64 == 64 || TARGET_AVX512VL
   27877              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27878              :    && ix86_pre_reload_split ()
   27879              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27880              :                     STRIP_UNARY (operands[4]))
   27881              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27882              :                        STRIP_UNARY (operands[4]))
   27883              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27884              :                        STRIP_UNARY (operands[3]))
   27885              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27886              :                        STRIP_UNARY (operands[3])))) && 
   27887              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27888              : (TARGET_AVX512F)) && 
   27889              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27890              : ( 1)))
   27891              :                 return NULL;
   27892              :               return gen_split_1753 (insn, operands);
   27893              : 
   27894              :             case 13:
   27895              :               if (!((
   27896              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27897              : ((32 == 64 || TARGET_AVX512VL
   27898              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27899              :    && ix86_pre_reload_split ()
   27900              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27901              :                     STRIP_UNARY (operands[4]))
   27902              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27903              :                        STRIP_UNARY (operands[4]))
   27904              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27905              :                        STRIP_UNARY (operands[3]))
   27906              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27907              :                        STRIP_UNARY (operands[3])))) && 
   27908              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27909              : (TARGET_AVX)) && 
   27910              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27911              : ( 1)))
   27912              :                 return NULL;
   27913              :               return gen_split_1780 (insn, operands);
   27914              : 
   27915              :             case 14:
   27916              :               if (!(
   27917              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27918              : ((16 == 64 || TARGET_AVX512VL
   27919              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27920              :    && ix86_pre_reload_split ()
   27921              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27922              :                     STRIP_UNARY (operands[4]))
   27923              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27924              :                        STRIP_UNARY (operands[4]))
   27925              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27926              :                        STRIP_UNARY (operands[3]))
   27927              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27928              :                        STRIP_UNARY (operands[3])))) && 
   27929              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27930              : ( 1)))
   27931              :                 return NULL;
   27932              :               return gen_split_1807 (insn, operands);
   27933              : 
   27934              :             case 15:
   27935              :               if (!((
   27936              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27937              : ((64 == 64 || TARGET_AVX512VL
   27938              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27939              :    && ix86_pre_reload_split ()
   27940              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27941              :                     STRIP_UNARY (operands[4]))
   27942              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27943              :                        STRIP_UNARY (operands[4]))
   27944              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27945              :                        STRIP_UNARY (operands[3]))
   27946              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27947              :                        STRIP_UNARY (operands[3])))) && 
   27948              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27949              : (TARGET_AVX512F)) && 
   27950              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27951              : ( 1)))
   27952              :                 return NULL;
   27953              :               return gen_split_1834 (insn, operands);
   27954              : 
   27955              :             case 16:
   27956              :               if (!((
   27957              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27958              : ((32 == 64 || TARGET_AVX512VL
   27959              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27960              :    && ix86_pre_reload_split ()
   27961              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27962              :                     STRIP_UNARY (operands[4]))
   27963              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27964              :                        STRIP_UNARY (operands[4]))
   27965              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27966              :                        STRIP_UNARY (operands[3]))
   27967              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27968              :                        STRIP_UNARY (operands[3])))) && 
   27969              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27970              : (TARGET_AVX)) && 
   27971              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27972              : ( 1)))
   27973              :                 return NULL;
   27974              :               return gen_split_1861 (insn, operands);
   27975              : 
   27976              :             case 17:
   27977              :               if (!(
   27978              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27979              : ((16 == 64 || TARGET_AVX512VL
   27980              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   27981              :    && ix86_pre_reload_split ()
   27982              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   27983              :                     STRIP_UNARY (operands[4]))
   27984              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27985              :                        STRIP_UNARY (operands[4]))
   27986              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   27987              :                        STRIP_UNARY (operands[3]))
   27988              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   27989              :                        STRIP_UNARY (operands[3])))) && 
   27990              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27991              : ( 1)))
   27992              :                 return NULL;
   27993              :               return gen_split_1888 (insn, operands);
   27994              : 
   27995              :             case 18:
   27996              :               if (!((
   27997              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   27998              : ((64 == 64 || TARGET_AVX512VL
   27999              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28000              :    && ix86_pre_reload_split ()
   28001              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28002              :                     STRIP_UNARY (operands[4]))
   28003              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28004              :                        STRIP_UNARY (operands[4]))
   28005              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28006              :                        STRIP_UNARY (operands[3]))
   28007              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28008              :                        STRIP_UNARY (operands[3])))) && 
   28009              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28010              : (TARGET_AVX512F)) && 
   28011              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28012              : ( 1)))
   28013              :                 return NULL;
   28014              :               return gen_split_1915 (insn, operands);
   28015              : 
   28016              :             case 19:
   28017              :               if (!((
   28018              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28019              : ((32 == 64 || TARGET_AVX512VL
   28020              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28021              :    && ix86_pre_reload_split ()
   28022              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28023              :                     STRIP_UNARY (operands[4]))
   28024              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28025              :                        STRIP_UNARY (operands[4]))
   28026              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28027              :                        STRIP_UNARY (operands[3]))
   28028              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28029              :                        STRIP_UNARY (operands[3])))) && 
   28030              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28031              : (TARGET_AVX)) && 
   28032              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28033              : ( 1)))
   28034              :                 return NULL;
   28035              :               return gen_split_1942 (insn, operands);
   28036              : 
   28037              :             case 20:
   28038              :               if (!(
   28039              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28040              : ((16 == 64 || TARGET_AVX512VL
   28041              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28042              :    && ix86_pre_reload_split ()
   28043              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28044              :                     STRIP_UNARY (operands[4]))
   28045              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28046              :                        STRIP_UNARY (operands[4]))
   28047              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28048              :                        STRIP_UNARY (operands[3]))
   28049              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28050              :                        STRIP_UNARY (operands[3])))) && 
   28051              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28052              : ( 1)))
   28053              :                 return NULL;
   28054              :               return gen_split_1969 (insn, operands);
   28055              : 
   28056              :             case 21:
   28057              :               if (!((
   28058              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28059              : ((64 == 64 || TARGET_AVX512VL
   28060              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28061              :    && ix86_pre_reload_split ()
   28062              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28063              :                     STRIP_UNARY (operands[4]))
   28064              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28065              :                        STRIP_UNARY (operands[4]))
   28066              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28067              :                        STRIP_UNARY (operands[3]))
   28068              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28069              :                        STRIP_UNARY (operands[3])))) && 
   28070              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28071              : (TARGET_AVX512F)) && 
   28072              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28073              : ( 1)))
   28074              :                 return NULL;
   28075              :               return gen_split_1996 (insn, operands);
   28076              : 
   28077              :             case 22:
   28078              :               if (!((
   28079              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28080              : ((32 == 64 || TARGET_AVX512VL
   28081              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28082              :    && ix86_pre_reload_split ()
   28083              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28084              :                     STRIP_UNARY (operands[4]))
   28085              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28086              :                        STRIP_UNARY (operands[4]))
   28087              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28088              :                        STRIP_UNARY (operands[3]))
   28089              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28090              :                        STRIP_UNARY (operands[3])))) && 
   28091              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28092              : (TARGET_AVX)) && 
   28093              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28094              : ( 1)))
   28095              :                 return NULL;
   28096              :               return gen_split_2023 (insn, operands);
   28097              : 
   28098              :             case 23:
   28099              :               if (!(
   28100              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28101              : ((16 == 64 || TARGET_AVX512VL
   28102              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28103              :    && ix86_pre_reload_split ()
   28104              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28105              :                     STRIP_UNARY (operands[4]))
   28106              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28107              :                        STRIP_UNARY (operands[4]))
   28108              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28109              :                        STRIP_UNARY (operands[3]))
   28110              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28111              :                        STRIP_UNARY (operands[3])))) && 
   28112              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28113              : ( 1)))
   28114              :                 return NULL;
   28115              :               return gen_split_2050 (insn, operands);
   28116              : 
   28117              :             case 24:
   28118              :               if (!((
   28119              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28120              : ((64 == 64 || TARGET_AVX512VL
   28121              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28122              :    && ix86_pre_reload_split ()
   28123              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28124              :                     STRIP_UNARY (operands[4]))
   28125              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28126              :                        STRIP_UNARY (operands[4]))
   28127              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28128              :                        STRIP_UNARY (operands[3]))
   28129              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28130              :                        STRIP_UNARY (operands[3])))) && 
   28131              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28132              : (TARGET_AVX512F)) && 
   28133              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28134              : ( 1)))
   28135              :                 return NULL;
   28136              :               return gen_split_1756 (insn, operands);
   28137              : 
   28138              :             case 25:
   28139              :               if (!((
   28140              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28141              : ((32 == 64 || TARGET_AVX512VL
   28142              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28143              :    && ix86_pre_reload_split ()
   28144              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28145              :                     STRIP_UNARY (operands[4]))
   28146              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28147              :                        STRIP_UNARY (operands[4]))
   28148              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28149              :                        STRIP_UNARY (operands[3]))
   28150              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28151              :                        STRIP_UNARY (operands[3])))) && 
   28152              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28153              : (TARGET_AVX)) && 
   28154              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28155              : ( 1)))
   28156              :                 return NULL;
   28157              :               return gen_split_1783 (insn, operands);
   28158              : 
   28159              :             case 26:
   28160              :               if (!(
   28161              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28162              : ((16 == 64 || TARGET_AVX512VL
   28163              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28164              :    && ix86_pre_reload_split ()
   28165              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28166              :                     STRIP_UNARY (operands[4]))
   28167              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28168              :                        STRIP_UNARY (operands[4]))
   28169              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28170              :                        STRIP_UNARY (operands[3]))
   28171              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28172              :                        STRIP_UNARY (operands[3])))) && 
   28173              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28174              : ( 1)))
   28175              :                 return NULL;
   28176              :               return gen_split_1810 (insn, operands);
   28177              : 
   28178              :             case 27:
   28179              :               if (!((
   28180              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28181              : ((64 == 64 || TARGET_AVX512VL
   28182              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28183              :    && ix86_pre_reload_split ()
   28184              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28185              :                     STRIP_UNARY (operands[4]))
   28186              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28187              :                        STRIP_UNARY (operands[4]))
   28188              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28189              :                        STRIP_UNARY (operands[3]))
   28190              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28191              :                        STRIP_UNARY (operands[3])))) && 
   28192              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28193              : (TARGET_AVX512F)) && 
   28194              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28195              : ( 1)))
   28196              :                 return NULL;
   28197              :               return gen_split_1837 (insn, operands);
   28198              : 
   28199              :             case 28:
   28200              :               if (!((
   28201              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28202              : ((32 == 64 || TARGET_AVX512VL
   28203              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28204              :    && ix86_pre_reload_split ()
   28205              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28206              :                     STRIP_UNARY (operands[4]))
   28207              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28208              :                        STRIP_UNARY (operands[4]))
   28209              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28210              :                        STRIP_UNARY (operands[3]))
   28211              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28212              :                        STRIP_UNARY (operands[3])))) && 
   28213              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28214              : (TARGET_AVX)) && 
   28215              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28216              : ( 1)))
   28217              :                 return NULL;
   28218              :               return gen_split_1864 (insn, operands);
   28219              : 
   28220              :             case 29:
   28221              :               if (!(
   28222              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28223              : ((16 == 64 || TARGET_AVX512VL
   28224              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28225              :    && ix86_pre_reload_split ()
   28226              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28227              :                     STRIP_UNARY (operands[4]))
   28228              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28229              :                        STRIP_UNARY (operands[4]))
   28230              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28231              :                        STRIP_UNARY (operands[3]))
   28232              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28233              :                        STRIP_UNARY (operands[3])))) && 
   28234              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28235              : ( 1)))
   28236              :                 return NULL;
   28237              :               return gen_split_1891 (insn, operands);
   28238              : 
   28239              :             case 30:
   28240              :               if (!((
   28241              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28242              : ((64 == 64 || TARGET_AVX512VL
   28243              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28244              :    && ix86_pre_reload_split ()
   28245              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28246              :                     STRIP_UNARY (operands[4]))
   28247              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28248              :                        STRIP_UNARY (operands[4]))
   28249              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28250              :                        STRIP_UNARY (operands[3]))
   28251              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28252              :                        STRIP_UNARY (operands[3])))) && 
   28253              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28254              : (TARGET_AVX512F)) && 
   28255              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28256              : ( 1)))
   28257              :                 return NULL;
   28258              :               return gen_split_1918 (insn, operands);
   28259              : 
   28260              :             case 31:
   28261              :               if (!((
   28262              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28263              : ((32 == 64 || TARGET_AVX512VL
   28264              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28265              :    && ix86_pre_reload_split ()
   28266              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28267              :                     STRIP_UNARY (operands[4]))
   28268              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28269              :                        STRIP_UNARY (operands[4]))
   28270              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28271              :                        STRIP_UNARY (operands[3]))
   28272              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28273              :                        STRIP_UNARY (operands[3])))) && 
   28274              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28275              : (TARGET_AVX)) && 
   28276              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28277              : ( 1)))
   28278              :                 return NULL;
   28279              :               return gen_split_1945 (insn, operands);
   28280              : 
   28281              :             case 32:
   28282              :               if (!(
   28283              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28284              : ((16 == 64 || TARGET_AVX512VL
   28285              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28286              :    && ix86_pre_reload_split ()
   28287              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28288              :                     STRIP_UNARY (operands[4]))
   28289              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28290              :                        STRIP_UNARY (operands[4]))
   28291              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28292              :                        STRIP_UNARY (operands[3]))
   28293              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28294              :                        STRIP_UNARY (operands[3])))) && 
   28295              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28296              : ( 1)))
   28297              :                 return NULL;
   28298              :               return gen_split_1972 (insn, operands);
   28299              : 
   28300              :             case 33:
   28301              :               if (!((
   28302              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28303              : ((64 == 64 || TARGET_AVX512VL
   28304              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28305              :    && ix86_pre_reload_split ()
   28306              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28307              :                     STRIP_UNARY (operands[4]))
   28308              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28309              :                        STRIP_UNARY (operands[4]))
   28310              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28311              :                        STRIP_UNARY (operands[3]))
   28312              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28313              :                        STRIP_UNARY (operands[3])))) && 
   28314              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28315              : (TARGET_AVX512F)) && 
   28316              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28317              : ( 1)))
   28318              :                 return NULL;
   28319              :               return gen_split_1999 (insn, operands);
   28320              : 
   28321              :             case 34:
   28322              :               if (!((
   28323              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28324              : ((32 == 64 || TARGET_AVX512VL
   28325              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28326              :    && ix86_pre_reload_split ()
   28327              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28328              :                     STRIP_UNARY (operands[4]))
   28329              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28330              :                        STRIP_UNARY (operands[4]))
   28331              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28332              :                        STRIP_UNARY (operands[3]))
   28333              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28334              :                        STRIP_UNARY (operands[3])))) && 
   28335              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28336              : (TARGET_AVX)) && 
   28337              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28338              : ( 1)))
   28339              :                 return NULL;
   28340              :               return gen_split_2026 (insn, operands);
   28341              : 
   28342              :             case 35:
   28343              :               if (!(
   28344              : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28345              : ((16 == 64 || TARGET_AVX512VL
   28346              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28347              :    && ix86_pre_reload_split ()
   28348              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28349              :                     STRIP_UNARY (operands[4]))
   28350              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28351              :                        STRIP_UNARY (operands[4]))
   28352              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28353              :                        STRIP_UNARY (operands[3]))
   28354              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28355              :                        STRIP_UNARY (operands[3])))) && 
   28356              : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28357              : ( 1)))
   28358              :                 return NULL;
   28359              :               return gen_split_2053 (insn, operands);
   28360              : 
   28361              :             case 36:
   28362              :               if (!((
   28363              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28364              : ((64 == 64 || TARGET_AVX512VL
   28365              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28366              :    && ix86_pre_reload_split ()) && 
   28367              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28368              : (TARGET_AVX512F)) && 
   28369              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28370              : ( 1)))
   28371              :                 return NULL;
   28372              :               return gen_split_3040 (insn, operands);
   28373              : 
   28374              :             case 37:
   28375              :               if (!((
   28376              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28377              : ((32 == 64 || TARGET_AVX512VL
   28378              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28379              :    && ix86_pre_reload_split ()) && 
   28380              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28381              : (TARGET_AVX)) && 
   28382              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28383              : ( 1)))
   28384              :                 return NULL;
   28385              :               return gen_split_3049 (insn, operands);
   28386              : 
   28387              :             case 38:
   28388              :               if (!(
   28389              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28390              : ((16 == 64 || TARGET_AVX512VL
   28391              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28392              :    && ix86_pre_reload_split ()) && 
   28393              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28394              : ( 1)))
   28395              :                 return NULL;
   28396              :               return gen_split_3058 (insn, operands);
   28397              : 
   28398              :             case 39:
   28399              :               if (!((
   28400              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28401              : ((64 == 64 || TARGET_AVX512VL
   28402              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28403              :    && ix86_pre_reload_split ()) && 
   28404              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28405              : (TARGET_AVX512F)) && 
   28406              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28407              : ( 1)))
   28408              :                 return NULL;
   28409              :               return gen_split_3067 (insn, operands);
   28410              : 
   28411              :             case 40:
   28412              :               if (!((
   28413              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28414              : ((32 == 64 || TARGET_AVX512VL
   28415              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28416              :    && ix86_pre_reload_split ()) && 
   28417              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28418              : (TARGET_AVX)) && 
   28419              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28420              : ( 1)))
   28421              :                 return NULL;
   28422              :               return gen_split_3076 (insn, operands);
   28423              : 
   28424              :             case 41:
   28425              :               if (!(
   28426              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28427              : ((16 == 64 || TARGET_AVX512VL
   28428              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28429              :    && ix86_pre_reload_split ()) && 
   28430              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28431              : ( 1)))
   28432              :                 return NULL;
   28433              :               return gen_split_3085 (insn, operands);
   28434              : 
   28435              :             case 42:
   28436              :               if (!((
   28437              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28438              : ((64 == 64 || TARGET_AVX512VL
   28439              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28440              :    && ix86_pre_reload_split ()) && 
   28441              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28442              : (TARGET_AVX512F)) && 
   28443              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28444              : ( 1)))
   28445              :                 return NULL;
   28446              :               return gen_split_3094 (insn, operands);
   28447              : 
   28448              :             case 43:
   28449              :               if (!((
   28450              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28451              : ((32 == 64 || TARGET_AVX512VL
   28452              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28453              :    && ix86_pre_reload_split ()) && 
   28454              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28455              : (TARGET_AVX)) && 
   28456              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28457              : ( 1)))
   28458              :                 return NULL;
   28459              :               return gen_split_3103 (insn, operands);
   28460              : 
   28461              :             case 44:
   28462              :               if (!(
   28463              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28464              : ((16 == 64 || TARGET_AVX512VL
   28465              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28466              :    && ix86_pre_reload_split ()) && 
   28467              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28468              : ( 1)))
   28469              :                 return NULL;
   28470              :               return gen_split_3112 (insn, operands);
   28471              : 
   28472              :             case 45:
   28473              :               if (!((
   28474              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28475              : ((64 == 64 || TARGET_AVX512VL
   28476              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28477              :    && ix86_pre_reload_split ()) && 
   28478              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28479              : (TARGET_AVX512F)) && 
   28480              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28481              : ( 1)))
   28482              :                 return NULL;
   28483              :               return gen_split_3121 (insn, operands);
   28484              : 
   28485              :             case 46:
   28486              :               if (!((
   28487              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28488              : ((32 == 64 || TARGET_AVX512VL
   28489              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28490              :    && ix86_pre_reload_split ()) && 
   28491              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28492              : (TARGET_AVX)) && 
   28493              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28494              : ( 1)))
   28495              :                 return NULL;
   28496              :               return gen_split_3130 (insn, operands);
   28497              : 
   28498              :             case 47:
   28499              :               if (!(
   28500              : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28501              : ((16 == 64 || TARGET_AVX512VL
   28502              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28503              :    && ix86_pre_reload_split ()) && 
   28504              : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28505              : ( 1)))
   28506              :                 return NULL;
   28507              :               return gen_split_3139 (insn, operands);
   28508              : 
   28509              :             default:
   28510              :               return NULL;
   28511              :             }
   28512              : 
   28513              :         case AND:
   28514              :           switch (pattern537 (x2))
   28515              :             {
   28516              :             case 0:
   28517              :               if (!((
   28518              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28519              : ((64 == 64 || TARGET_AVX512VL
   28520              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28521              :    && ix86_pre_reload_split ()
   28522              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28523              :                     STRIP_UNARY (operands[4]))
   28524              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28525              :                        STRIP_UNARY (operands[4]))
   28526              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28527              :                        STRIP_UNARY (operands[3]))
   28528              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28529              :                        STRIP_UNARY (operands[3])))) && 
   28530              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28531              : (TARGET_AVX512F)) && 
   28532              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28533              : ( 1)))
   28534              :                 return NULL;
   28535              :               return gen_split_2398 (insn, operands);
   28536              : 
   28537              :             case 1:
   28538              :               if (!((
   28539              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28540              : ((32 == 64 || TARGET_AVX512VL
   28541              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28542              :    && ix86_pre_reload_split ()
   28543              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28544              :                     STRIP_UNARY (operands[4]))
   28545              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28546              :                        STRIP_UNARY (operands[4]))
   28547              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28548              :                        STRIP_UNARY (operands[3]))
   28549              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28550              :                        STRIP_UNARY (operands[3])))) && 
   28551              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28552              : (TARGET_AVX)) && 
   28553              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28554              : ( 1)))
   28555              :                 return NULL;
   28556              :               return gen_split_2425 (insn, operands);
   28557              : 
   28558              :             case 2:
   28559              :               if (!(
   28560              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28561              : ((16 == 64 || TARGET_AVX512VL
   28562              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28563              :    && ix86_pre_reload_split ()
   28564              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28565              :                     STRIP_UNARY (operands[4]))
   28566              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28567              :                        STRIP_UNARY (operands[4]))
   28568              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28569              :                        STRIP_UNARY (operands[3]))
   28570              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28571              :                        STRIP_UNARY (operands[3])))) && 
   28572              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28573              : ( 1)))
   28574              :                 return NULL;
   28575              :               return gen_split_2452 (insn, operands);
   28576              : 
   28577              :             case 3:
   28578              :               if (!((
   28579              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28580              : ((64 == 64 || TARGET_AVX512VL
   28581              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28582              :    && ix86_pre_reload_split ()
   28583              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28584              :                     STRIP_UNARY (operands[4]))
   28585              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28586              :                        STRIP_UNARY (operands[4]))
   28587              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28588              :                        STRIP_UNARY (operands[3]))
   28589              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28590              :                        STRIP_UNARY (operands[3])))) && 
   28591              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28592              : (TARGET_AVX512F)) && 
   28593              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28594              : ( 1)))
   28595              :                 return NULL;
   28596              :               return gen_split_2479 (insn, operands);
   28597              : 
   28598              :             case 4:
   28599              :               if (!((
   28600              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28601              : ((32 == 64 || TARGET_AVX512VL
   28602              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28603              :    && ix86_pre_reload_split ()
   28604              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28605              :                     STRIP_UNARY (operands[4]))
   28606              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28607              :                        STRIP_UNARY (operands[4]))
   28608              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28609              :                        STRIP_UNARY (operands[3]))
   28610              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28611              :                        STRIP_UNARY (operands[3])))) && 
   28612              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28613              : (TARGET_AVX)) && 
   28614              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28615              : ( 1)))
   28616              :                 return NULL;
   28617              :               return gen_split_2506 (insn, operands);
   28618              : 
   28619              :             case 5:
   28620              :               if (!(
   28621              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28622              : ((16 == 64 || TARGET_AVX512VL
   28623              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28624              :    && ix86_pre_reload_split ()
   28625              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28626              :                     STRIP_UNARY (operands[4]))
   28627              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28628              :                        STRIP_UNARY (operands[4]))
   28629              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28630              :                        STRIP_UNARY (operands[3]))
   28631              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28632              :                        STRIP_UNARY (operands[3])))) && 
   28633              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28634              : ( 1)))
   28635              :                 return NULL;
   28636              :               return gen_split_2533 (insn, operands);
   28637              : 
   28638              :             case 6:
   28639              :               if (!((
   28640              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28641              : ((64 == 64 || TARGET_AVX512VL
   28642              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28643              :    && ix86_pre_reload_split ()
   28644              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28645              :                     STRIP_UNARY (operands[4]))
   28646              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28647              :                        STRIP_UNARY (operands[4]))
   28648              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28649              :                        STRIP_UNARY (operands[3]))
   28650              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28651              :                        STRIP_UNARY (operands[3])))) && 
   28652              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28653              : (TARGET_AVX512F)) && 
   28654              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28655              : ( 1)))
   28656              :                 return NULL;
   28657              :               return gen_split_2560 (insn, operands);
   28658              : 
   28659              :             case 7:
   28660              :               if (!((
   28661              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28662              : ((32 == 64 || TARGET_AVX512VL
   28663              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28664              :    && ix86_pre_reload_split ()
   28665              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28666              :                     STRIP_UNARY (operands[4]))
   28667              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28668              :                        STRIP_UNARY (operands[4]))
   28669              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28670              :                        STRIP_UNARY (operands[3]))
   28671              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28672              :                        STRIP_UNARY (operands[3])))) && 
   28673              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28674              : (TARGET_AVX)) && 
   28675              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28676              : ( 1)))
   28677              :                 return NULL;
   28678              :               return gen_split_2587 (insn, operands);
   28679              : 
   28680              :             case 8:
   28681              :               if (!(
   28682              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28683              : ((16 == 64 || TARGET_AVX512VL
   28684              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28685              :    && ix86_pre_reload_split ()
   28686              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28687              :                     STRIP_UNARY (operands[4]))
   28688              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28689              :                        STRIP_UNARY (operands[4]))
   28690              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28691              :                        STRIP_UNARY (operands[3]))
   28692              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28693              :                        STRIP_UNARY (operands[3])))) && 
   28694              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28695              : ( 1)))
   28696              :                 return NULL;
   28697              :               return gen_split_2614 (insn, operands);
   28698              : 
   28699              :             case 9:
   28700              :               if (!((
   28701              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28702              : ((64 == 64 || TARGET_AVX512VL
   28703              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28704              :    && ix86_pre_reload_split ()
   28705              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28706              :                     STRIP_UNARY (operands[4]))
   28707              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28708              :                        STRIP_UNARY (operands[4]))
   28709              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28710              :                        STRIP_UNARY (operands[3]))
   28711              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28712              :                        STRIP_UNARY (operands[3])))) && 
   28713              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28714              : (TARGET_AVX512F)) && 
   28715              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28716              : ( 1)))
   28717              :                 return NULL;
   28718              :               return gen_split_2641 (insn, operands);
   28719              : 
   28720              :             case 10:
   28721              :               if (!((
   28722              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28723              : ((32 == 64 || TARGET_AVX512VL
   28724              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28725              :    && ix86_pre_reload_split ()
   28726              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28727              :                     STRIP_UNARY (operands[4]))
   28728              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28729              :                        STRIP_UNARY (operands[4]))
   28730              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28731              :                        STRIP_UNARY (operands[3]))
   28732              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28733              :                        STRIP_UNARY (operands[3])))) && 
   28734              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28735              : (TARGET_AVX)) && 
   28736              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28737              : ( 1)))
   28738              :                 return NULL;
   28739              :               return gen_split_2668 (insn, operands);
   28740              : 
   28741              :             case 11:
   28742              :               if (!(
   28743              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28744              : ((16 == 64 || TARGET_AVX512VL
   28745              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28746              :    && ix86_pre_reload_split ()
   28747              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28748              :                     STRIP_UNARY (operands[4]))
   28749              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28750              :                        STRIP_UNARY (operands[4]))
   28751              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28752              :                        STRIP_UNARY (operands[3]))
   28753              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28754              :                        STRIP_UNARY (operands[3])))) && 
   28755              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28756              : ( 1)))
   28757              :                 return NULL;
   28758              :               return gen_split_2695 (insn, operands);
   28759              : 
   28760              :             default:
   28761              :               return NULL;
   28762              :             }
   28763              : 
   28764              :         case IOR:
   28765              :           switch (pattern537 (x2))
   28766              :             {
   28767              :             case 0:
   28768              :               if (!((
   28769              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28770              : ((64 == 64 || TARGET_AVX512VL
   28771              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28772              :    && ix86_pre_reload_split ()
   28773              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28774              :                     STRIP_UNARY (operands[4]))
   28775              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28776              :                        STRIP_UNARY (operands[4]))
   28777              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28778              :                        STRIP_UNARY (operands[3]))
   28779              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28780              :                        STRIP_UNARY (operands[3])))) && 
   28781              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28782              : (TARGET_AVX512F)) && 
   28783              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28784              : ( 1)))
   28785              :                 return NULL;
   28786              :               return gen_split_2401 (insn, operands);
   28787              : 
   28788              :             case 1:
   28789              :               if (!((
   28790              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28791              : ((32 == 64 || TARGET_AVX512VL
   28792              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28793              :    && ix86_pre_reload_split ()
   28794              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28795              :                     STRIP_UNARY (operands[4]))
   28796              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28797              :                        STRIP_UNARY (operands[4]))
   28798              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28799              :                        STRIP_UNARY (operands[3]))
   28800              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28801              :                        STRIP_UNARY (operands[3])))) && 
   28802              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28803              : (TARGET_AVX)) && 
   28804              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28805              : ( 1)))
   28806              :                 return NULL;
   28807              :               return gen_split_2428 (insn, operands);
   28808              : 
   28809              :             case 2:
   28810              :               if (!(
   28811              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28812              : ((16 == 64 || TARGET_AVX512VL
   28813              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28814              :    && ix86_pre_reload_split ()
   28815              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28816              :                     STRIP_UNARY (operands[4]))
   28817              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28818              :                        STRIP_UNARY (operands[4]))
   28819              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28820              :                        STRIP_UNARY (operands[3]))
   28821              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28822              :                        STRIP_UNARY (operands[3])))) && 
   28823              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28824              : ( 1)))
   28825              :                 return NULL;
   28826              :               return gen_split_2455 (insn, operands);
   28827              : 
   28828              :             case 3:
   28829              :               if (!((
   28830              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28831              : ((64 == 64 || TARGET_AVX512VL
   28832              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28833              :    && ix86_pre_reload_split ()
   28834              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28835              :                     STRIP_UNARY (operands[4]))
   28836              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28837              :                        STRIP_UNARY (operands[4]))
   28838              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28839              :                        STRIP_UNARY (operands[3]))
   28840              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28841              :                        STRIP_UNARY (operands[3])))) && 
   28842              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28843              : (TARGET_AVX512F)) && 
   28844              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28845              : ( 1)))
   28846              :                 return NULL;
   28847              :               return gen_split_2482 (insn, operands);
   28848              : 
   28849              :             case 4:
   28850              :               if (!((
   28851              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28852              : ((32 == 64 || TARGET_AVX512VL
   28853              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28854              :    && ix86_pre_reload_split ()
   28855              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28856              :                     STRIP_UNARY (operands[4]))
   28857              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28858              :                        STRIP_UNARY (operands[4]))
   28859              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28860              :                        STRIP_UNARY (operands[3]))
   28861              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28862              :                        STRIP_UNARY (operands[3])))) && 
   28863              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28864              : (TARGET_AVX)) && 
   28865              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28866              : ( 1)))
   28867              :                 return NULL;
   28868              :               return gen_split_2509 (insn, operands);
   28869              : 
   28870              :             case 5:
   28871              :               if (!(
   28872              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28873              : ((16 == 64 || TARGET_AVX512VL
   28874              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28875              :    && ix86_pre_reload_split ()
   28876              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28877              :                     STRIP_UNARY (operands[4]))
   28878              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28879              :                        STRIP_UNARY (operands[4]))
   28880              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28881              :                        STRIP_UNARY (operands[3]))
   28882              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28883              :                        STRIP_UNARY (operands[3])))) && 
   28884              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28885              : ( 1)))
   28886              :                 return NULL;
   28887              :               return gen_split_2536 (insn, operands);
   28888              : 
   28889              :             case 6:
   28890              :               if (!((
   28891              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28892              : ((64 == 64 || TARGET_AVX512VL
   28893              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28894              :    && ix86_pre_reload_split ()
   28895              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28896              :                     STRIP_UNARY (operands[4]))
   28897              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28898              :                        STRIP_UNARY (operands[4]))
   28899              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28900              :                        STRIP_UNARY (operands[3]))
   28901              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28902              :                        STRIP_UNARY (operands[3])))) && 
   28903              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28904              : (TARGET_AVX512F)) && 
   28905              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28906              : ( 1)))
   28907              :                 return NULL;
   28908              :               return gen_split_2563 (insn, operands);
   28909              : 
   28910              :             case 7:
   28911              :               if (!((
   28912              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28913              : ((32 == 64 || TARGET_AVX512VL
   28914              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28915              :    && ix86_pre_reload_split ()
   28916              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28917              :                     STRIP_UNARY (operands[4]))
   28918              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28919              :                        STRIP_UNARY (operands[4]))
   28920              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28921              :                        STRIP_UNARY (operands[3]))
   28922              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28923              :                        STRIP_UNARY (operands[3])))) && 
   28924              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28925              : (TARGET_AVX)) && 
   28926              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28927              : ( 1)))
   28928              :                 return NULL;
   28929              :               return gen_split_2590 (insn, operands);
   28930              : 
   28931              :             case 8:
   28932              :               if (!(
   28933              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28934              : ((16 == 64 || TARGET_AVX512VL
   28935              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28936              :    && ix86_pre_reload_split ()
   28937              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28938              :                     STRIP_UNARY (operands[4]))
   28939              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28940              :                        STRIP_UNARY (operands[4]))
   28941              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28942              :                        STRIP_UNARY (operands[3]))
   28943              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28944              :                        STRIP_UNARY (operands[3])))) && 
   28945              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28946              : ( 1)))
   28947              :                 return NULL;
   28948              :               return gen_split_2617 (insn, operands);
   28949              : 
   28950              :             case 9:
   28951              :               if (!((
   28952              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28953              : ((64 == 64 || TARGET_AVX512VL
   28954              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28955              :    && ix86_pre_reload_split ()
   28956              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28957              :                     STRIP_UNARY (operands[4]))
   28958              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28959              :                        STRIP_UNARY (operands[4]))
   28960              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28961              :                        STRIP_UNARY (operands[3]))
   28962              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28963              :                        STRIP_UNARY (operands[3])))) && 
   28964              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28965              : (TARGET_AVX512F)) && 
   28966              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28967              : ( 1)))
   28968              :                 return NULL;
   28969              :               return gen_split_2644 (insn, operands);
   28970              : 
   28971              :             case 10:
   28972              :               if (!((
   28973              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28974              : ((32 == 64 || TARGET_AVX512VL
   28975              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28976              :    && ix86_pre_reload_split ()
   28977              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28978              :                     STRIP_UNARY (operands[4]))
   28979              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28980              :                        STRIP_UNARY (operands[4]))
   28981              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   28982              :                        STRIP_UNARY (operands[3]))
   28983              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   28984              :                        STRIP_UNARY (operands[3])))) && 
   28985              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28986              : (TARGET_AVX)) && 
   28987              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28988              : ( 1)))
   28989              :                 return NULL;
   28990              :               return gen_split_2671 (insn, operands);
   28991              : 
   28992              :             case 11:
   28993              :               if (!(
   28994              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   28995              : ((16 == 64 || TARGET_AVX512VL
   28996              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   28997              :    && ix86_pre_reload_split ()
   28998              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   28999              :                     STRIP_UNARY (operands[4]))
   29000              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29001              :                        STRIP_UNARY (operands[4]))
   29002              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29003              :                        STRIP_UNARY (operands[3]))
   29004              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29005              :                        STRIP_UNARY (operands[3])))) && 
   29006              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29007              : ( 1)))
   29008              :                 return NULL;
   29009              :               return gen_split_2698 (insn, operands);
   29010              : 
   29011              :             default:
   29012              :               return NULL;
   29013              :             }
   29014              : 
   29015              :         case XOR:
   29016              :           switch (pattern537 (x2))
   29017              :             {
   29018              :             case 0:
   29019              :               if (!((
   29020              : #line 14187 "/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              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29025              :                     STRIP_UNARY (operands[4]))
   29026              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29027              :                        STRIP_UNARY (operands[4]))
   29028              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29029              :                        STRIP_UNARY (operands[3]))
   29030              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29031              :                        STRIP_UNARY (operands[3])))) && 
   29032              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29033              : (TARGET_AVX512F)) && 
   29034              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29035              : ( 1)))
   29036              :                 return NULL;
   29037              :               return gen_split_2404 (insn, operands);
   29038              : 
   29039              :             case 1:
   29040              :               if (!((
   29041              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29042              : ((32 == 64 || TARGET_AVX512VL
   29043              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29044              :    && ix86_pre_reload_split ()
   29045              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29046              :                     STRIP_UNARY (operands[4]))
   29047              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29048              :                        STRIP_UNARY (operands[4]))
   29049              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29050              :                        STRIP_UNARY (operands[3]))
   29051              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29052              :                        STRIP_UNARY (operands[3])))) && 
   29053              : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29054              : (TARGET_AVX)) && 
   29055              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29056              : ( 1)))
   29057              :                 return NULL;
   29058              :               return gen_split_2431 (insn, operands);
   29059              : 
   29060              :             case 2:
   29061              :               if (!(
   29062              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29063              : ((16 == 64 || TARGET_AVX512VL
   29064              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29065              :    && ix86_pre_reload_split ()
   29066              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29067              :                     STRIP_UNARY (operands[4]))
   29068              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29069              :                        STRIP_UNARY (operands[4]))
   29070              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29071              :                        STRIP_UNARY (operands[3]))
   29072              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29073              :                        STRIP_UNARY (operands[3])))) && 
   29074              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29075              : ( 1)))
   29076              :                 return NULL;
   29077              :               return gen_split_2458 (insn, operands);
   29078              : 
   29079              :             case 3:
   29080              :               if (!((
   29081              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29082              : ((64 == 64 || TARGET_AVX512VL
   29083              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29084              :    && ix86_pre_reload_split ()
   29085              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29086              :                     STRIP_UNARY (operands[4]))
   29087              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29088              :                        STRIP_UNARY (operands[4]))
   29089              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29090              :                        STRIP_UNARY (operands[3]))
   29091              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29092              :                        STRIP_UNARY (operands[3])))) && 
   29093              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29094              : (TARGET_AVX512F)) && 
   29095              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29096              : ( 1)))
   29097              :                 return NULL;
   29098              :               return gen_split_2485 (insn, operands);
   29099              : 
   29100              :             case 4:
   29101              :               if (!((
   29102              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29103              : ((32 == 64 || TARGET_AVX512VL
   29104              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29105              :    && ix86_pre_reload_split ()
   29106              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29107              :                     STRIP_UNARY (operands[4]))
   29108              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29109              :                        STRIP_UNARY (operands[4]))
   29110              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29111              :                        STRIP_UNARY (operands[3]))
   29112              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29113              :                        STRIP_UNARY (operands[3])))) && 
   29114              : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29115              : (TARGET_AVX)) && 
   29116              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29117              : ( 1)))
   29118              :                 return NULL;
   29119              :               return gen_split_2512 (insn, operands);
   29120              : 
   29121              :             case 5:
   29122              :               if (!(
   29123              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29124              : ((16 == 64 || TARGET_AVX512VL
   29125              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29126              :    && ix86_pre_reload_split ()
   29127              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29128              :                     STRIP_UNARY (operands[4]))
   29129              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29130              :                        STRIP_UNARY (operands[4]))
   29131              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29132              :                        STRIP_UNARY (operands[3]))
   29133              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29134              :                        STRIP_UNARY (operands[3])))) && 
   29135              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29136              : ( 1)))
   29137              :                 return NULL;
   29138              :               return gen_split_2539 (insn, operands);
   29139              : 
   29140              :             case 6:
   29141              :               if (!((
   29142              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29143              : ((64 == 64 || TARGET_AVX512VL
   29144              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29145              :    && ix86_pre_reload_split ()
   29146              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29147              :                     STRIP_UNARY (operands[4]))
   29148              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29149              :                        STRIP_UNARY (operands[4]))
   29150              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29151              :                        STRIP_UNARY (operands[3]))
   29152              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29153              :                        STRIP_UNARY (operands[3])))) && 
   29154              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29155              : (TARGET_AVX512F)) && 
   29156              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29157              : ( 1)))
   29158              :                 return NULL;
   29159              :               return gen_split_2566 (insn, operands);
   29160              : 
   29161              :             case 7:
   29162              :               if (!((
   29163              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29164              : ((32 == 64 || TARGET_AVX512VL
   29165              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29166              :    && ix86_pre_reload_split ()
   29167              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29168              :                     STRIP_UNARY (operands[4]))
   29169              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29170              :                        STRIP_UNARY (operands[4]))
   29171              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29172              :                        STRIP_UNARY (operands[3]))
   29173              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29174              :                        STRIP_UNARY (operands[3])))) && 
   29175              : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29176              : (TARGET_AVX)) && 
   29177              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29178              : ( 1)))
   29179              :                 return NULL;
   29180              :               return gen_split_2593 (insn, operands);
   29181              : 
   29182              :             case 8:
   29183              :               if (!(
   29184              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29185              : ((16 == 64 || TARGET_AVX512VL
   29186              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29187              :    && ix86_pre_reload_split ()
   29188              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29189              :                     STRIP_UNARY (operands[4]))
   29190              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29191              :                        STRIP_UNARY (operands[4]))
   29192              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29193              :                        STRIP_UNARY (operands[3]))
   29194              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29195              :                        STRIP_UNARY (operands[3])))) && 
   29196              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29197              : ( 1)))
   29198              :                 return NULL;
   29199              :               return gen_split_2620 (insn, operands);
   29200              : 
   29201              :             case 9:
   29202              :               if (!((
   29203              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29204              : ((64 == 64 || TARGET_AVX512VL
   29205              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29206              :    && ix86_pre_reload_split ()
   29207              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29208              :                     STRIP_UNARY (operands[4]))
   29209              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29210              :                        STRIP_UNARY (operands[4]))
   29211              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29212              :                        STRIP_UNARY (operands[3]))
   29213              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29214              :                        STRIP_UNARY (operands[3])))) && 
   29215              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29216              : (TARGET_AVX512F)) && 
   29217              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29218              : ( 1)))
   29219              :                 return NULL;
   29220              :               return gen_split_2647 (insn, operands);
   29221              : 
   29222              :             case 10:
   29223              :               if (!((
   29224              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29225              : ((32 == 64 || TARGET_AVX512VL
   29226              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29227              :    && ix86_pre_reload_split ()
   29228              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29229              :                     STRIP_UNARY (operands[4]))
   29230              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29231              :                        STRIP_UNARY (operands[4]))
   29232              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29233              :                        STRIP_UNARY (operands[3]))
   29234              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29235              :                        STRIP_UNARY (operands[3])))) && 
   29236              : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29237              : (TARGET_AVX)) && 
   29238              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29239              : ( 1)))
   29240              :                 return NULL;
   29241              :               return gen_split_2674 (insn, operands);
   29242              : 
   29243              :             case 11:
   29244              :               if (!(
   29245              : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29246              : ((16 == 64 || TARGET_AVX512VL
   29247              :     || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
   29248              :    && ix86_pre_reload_split ()
   29249              :    && (rtx_equal_p (STRIP_UNARY (operands[1]),
   29250              :                     STRIP_UNARY (operands[4]))
   29251              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29252              :                        STRIP_UNARY (operands[4]))
   29253              :        || rtx_equal_p (STRIP_UNARY (operands[1]),
   29254              :                        STRIP_UNARY (operands[3]))
   29255              :        || rtx_equal_p (STRIP_UNARY (operands[2]),
   29256              :                        STRIP_UNARY (operands[3])))) && 
   29257              : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29258              : ( 1)))
   29259              :                 return NULL;
   29260              :               return gen_split_2701 (insn, operands);
   29261              : 
   29262              :             default:
   29263              :               return NULL;
   29264              :             }
   29265              : 
   29266              :         default:
   29267              :           return NULL;
   29268              :         }
   29269              : 
   29270              :     case XOR:
   29271              :       return split_62 (x1, insn);
   29272              : 
   29273              :     case VEC_DUPLICATE:
   29274              :       x4 = XEXP (x3, 0);
   29275              :       if (GET_CODE (x4) != NOT)
   29276              :         return NULL;
   29277              :       x6 = XEXP (x4, 0);
   29278              :       operands[1] = x6;
   29279              :       x5 = XEXP (x2, 1);
   29280              :       operands[2] = x5;
   29281              :       switch (GET_MODE (operands[0]))
   29282              :         {
   29283              :         case E_V4SImode:
   29284              :           if (pattern1073 (x2, 
   29285              : E_V4SImode, 
   29286              : E_SImode) != 0)
   29287              :             return NULL;
   29288              :           if (register_operand (operands[1], E_SImode)
   29289              :               && 
   29290              : #line 18955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29291              : (TARGET_SSE))
   29292              :             return gen_split_3436 (insn, operands);
   29293              :           if (!nonimmediate_operand (operands[1], E_SImode)
   29294              :               || !
   29295              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29296              : (TARGET_AVX2))
   29297              :             return NULL;
   29298              :           return gen_split_3446 (insn, operands);
   29299              : 
   29300              :         case E_V2DImode:
   29301              :           if (pattern1073 (x2, 
   29302              : E_V2DImode, 
   29303              : E_DImode) != 0)
   29304              :             return NULL;
   29305              :           if (register_operand (operands[1], E_DImode)
   29306              :               && 
   29307              : #line 18955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29308              : (TARGET_SSE))
   29309              :             return gen_split_3437 (insn, operands);
   29310              :           if (!nonimmediate_operand (operands[1], E_DImode)
   29311              :               || !
   29312              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29313              : (TARGET_AVX2))
   29314              :             return NULL;
   29315              :           return gen_split_3449 (insn, operands);
   29316              : 
   29317              :         case E_V64QImode:
   29318              :           if (pattern604 (x2, 
   29319              : E_V64QImode, 
   29320              : E_QImode) != 0
   29321              :               || !(
   29322              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29323              : (TARGET_AVX2) && 
   29324              : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29325              : (TARGET_AVX512BW)))
   29326              :             return NULL;
   29327              :           return gen_split_3438 (insn, operands);
   29328              : 
   29329              :         case E_V32QImode:
   29330              :           if (pattern604 (x2, 
   29331              : E_V32QImode, 
   29332              : E_QImode) != 0
   29333              :               || !
   29334              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29335              : (TARGET_AVX2))
   29336              :             return NULL;
   29337              :           return gen_split_3439 (insn, operands);
   29338              : 
   29339              :         case E_V16QImode:
   29340              :           if (pattern604 (x2, 
   29341              : E_V16QImode, 
   29342              : E_QImode) != 0
   29343              :               || !
   29344              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29345              : (TARGET_AVX2))
   29346              :             return NULL;
   29347              :           return gen_split_3440 (insn, operands);
   29348              : 
   29349              :         case E_V32HImode:
   29350              :           if (pattern604 (x2, 
   29351              : E_V32HImode, 
   29352              : E_HImode) != 0
   29353              :               || !(
   29354              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29355              : (TARGET_AVX2) && 
   29356              : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29357              : (TARGET_AVX512BW)))
   29358              :             return NULL;
   29359              :           return gen_split_3441 (insn, operands);
   29360              : 
   29361              :         case E_V16HImode:
   29362              :           if (pattern604 (x2, 
   29363              : E_V16HImode, 
   29364              : E_HImode) != 0
   29365              :               || !
   29366              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29367              : (TARGET_AVX2))
   29368              :             return NULL;
   29369              :           return gen_split_3442 (insn, operands);
   29370              : 
   29371              :         case E_V8HImode:
   29372              :           if (pattern604 (x2, 
   29373              : E_V8HImode, 
   29374              : E_HImode) != 0
   29375              :               || !
   29376              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29377              : (TARGET_AVX2))
   29378              :             return NULL;
   29379              :           return gen_split_3443 (insn, operands);
   29380              : 
   29381              :         case E_V16SImode:
   29382              :           if (pattern604 (x2, 
   29383              : E_V16SImode, 
   29384              : E_SImode) != 0
   29385              :               || !(
   29386              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29387              : (TARGET_AVX2) && 
   29388              : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29389              : (TARGET_AVX512F)))
   29390              :             return NULL;
   29391              :           return gen_split_3444 (insn, operands);
   29392              : 
   29393              :         case E_V8SImode:
   29394              :           if (pattern604 (x2, 
   29395              : E_V8SImode, 
   29396              : E_SImode) != 0
   29397              :               || !
   29398              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29399              : (TARGET_AVX2))
   29400              :             return NULL;
   29401              :           return gen_split_3445 (insn, operands);
   29402              : 
   29403              :         case E_V8DImode:
   29404              :           if (pattern604 (x2, 
   29405              : E_V8DImode, 
   29406              : E_DImode) != 0
   29407              :               || !(
   29408              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29409              : (TARGET_AVX2) && 
   29410              : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29411              : (TARGET_AVX512F)))
   29412              :             return NULL;
   29413              :           return gen_split_3447 (insn, operands);
   29414              : 
   29415              :         case E_V4DImode:
   29416              :           if (pattern604 (x2, 
   29417              : E_V4DImode, 
   29418              : E_DImode) != 0
   29419              :               || !
   29420              : #line 18971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29421              : (TARGET_AVX2))
   29422              :             return NULL;
   29423              :           return gen_split_3448 (insn, operands);
   29424              : 
   29425              :         default:
   29426              :           return NULL;
   29427              :         }
   29428              : 
   29429              :     default:
   29430              :       return NULL;
   29431              :     }
   29432              : }
   29433              : 
   29434              :  rtx_insn *
   29435              : split_85 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   29436              : {
   29437              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   29438              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   29439              :   rtx x10, x11, x12, x13;
   29440              :   rtx_insn *res ATTRIBUTE_UNUSED;
   29441              :   x2 = XEXP (x1, 1);
   29442              :   x3 = XEXP (x2, 0);
   29443              :   switch (GET_CODE (x3))
   29444              :     {
   29445              :     case UNSPEC:
   29446              :       if (XVECLEN (x3, 0) != 1
   29447              :           || XINT (x3, 1) != 178)
   29448              :         return NULL;
   29449              :       x4 = XEXP (x2, 2);
   29450              :       if (GET_CODE (x4) != AND
   29451              :           || GET_MODE (x4) != E_QImode)
   29452              :         return NULL;
   29453              :       x5 = XEXP (x4, 1);
   29454              :       if (GET_CODE (x5) != CONST_INT)
   29455              :         return NULL;
   29456              :       x6 = XVECEXP (x3, 0, 0);
   29457              :       operands[1] = x6;
   29458              :       x7 = XEXP (x2, 1);
   29459              :       operands[2] = x7;
   29460              :       switch (pattern1111 (x2))
   29461              :         {
   29462              :         case 0:
   29463              :           if (!((
   29464              : #line 1636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29465              : (TARGET_AVX512F) && 
   29466              : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29467              : (TARGET_AVX512VL)) && 
   29468              : #line 1638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29469              : ( 1)))
   29470              :             return NULL;
   29471              :           return gen_split_1212 (insn, operands);
   29472              : 
   29473              :         case 1:
   29474              :           if (!((
   29475              : #line 1636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29476              : (TARGET_AVX512F) && 
   29477              : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29478              : (TARGET_AVX512VL)) && 
   29479              : #line 1638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29480              : ( 1)))
   29481              :             return NULL;
   29482              :           return gen_split_1213 (insn, operands);
   29483              : 
   29484              :         case 2:
   29485              :           if (!((
   29486              : #line 1636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29487              : (TARGET_AVX512F) && 
   29488              : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29489              : (TARGET_AVX512VL)) && 
   29490              : #line 1638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29491              : ( 1)))
   29492              :             return NULL;
   29493              :           return gen_split_1214 (insn, operands);
   29494              : 
   29495              :         case 3:
   29496              :           if (!((
   29497              : #line 1636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29498              : (TARGET_AVX512F) && 
   29499              : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29500              : (TARGET_AVX512VL)) && 
   29501              : #line 1638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29502              : ( 1)))
   29503              :             return NULL;
   29504              :           return gen_split_1215 (insn, operands);
   29505              : 
   29506              :         case 4:
   29507              :           if (!((
   29508              : #line 1655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29509              : (TARGET_AVX512F) && 
   29510              : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29511              : (TARGET_AVX512VL)) && 
   29512              : #line 1657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29513              : ( 1)))
   29514              :             return NULL;
   29515              :           return gen_split_1216 (insn, operands);
   29516              : 
   29517              :         case 5:
   29518              :           if (!((
   29519              : #line 1655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29520              : (TARGET_AVX512F) && 
   29521              : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29522              : (TARGET_AVX512VL)) && 
   29523              : #line 1657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29524              : ( 1)))
   29525              :             return NULL;
   29526              :           return gen_split_1217 (insn, operands);
   29527              : 
   29528              :         default:
   29529              :           return NULL;
   29530              :         }
   29531              : 
   29532              :     case MINUS:
   29533              :       x7 = XEXP (x2, 1);
   29534              :       if (GET_CODE (x7) != PLUS)
   29535              :         return NULL;
   29536              :       operands[6] = x2;
   29537              :       x8 = XEXP (x3, 0);
   29538              :       operands[1] = x8;
   29539              :       x9 = XEXP (x3, 1);
   29540              :       operands[2] = x9;
   29541              :       x10 = XEXP (x7, 0);
   29542              :       operands[3] = x10;
   29543              :       x11 = XEXP (x7, 1);
   29544              :       operands[4] = x11;
   29545              :       x4 = XEXP (x2, 2);
   29546              :       operands[5] = x4;
   29547              :       if (!const_int_operand (operands[5], E_VOIDmode))
   29548              :         return NULL;
   29549              :       switch (GET_MODE (operands[0]))
   29550              :         {
   29551              :         case E_V8SFmode:
   29552              :           if (pattern1456 (x2, 
   29553              : E_V8SFmode) != 0
   29554              :               || !(
   29555              : #line 3607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29556              : (TARGET_SSE3
   29557              :    && can_create_pseudo_p ()
   29558              :    && ((rtx_equal_p (operands[1], operands[3])
   29559              :         && rtx_equal_p (operands[2], operands[4]))
   29560              :        || (rtx_equal_p (operands[1], operands[4])
   29561              :            && rtx_equal_p (operands[2], operands[3])))) && 
   29562              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29563              : (TARGET_AVX)))
   29564              :             return NULL;
   29565              :           return gen_split_1358 (insn, operands);
   29566              : 
   29567              :         case E_V4SFmode:
   29568              :           if (pattern1456 (x2, 
   29569              : E_V4SFmode) != 0
   29570              :               || !
   29571              : #line 3607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29572              : (TARGET_SSE3
   29573              :    && can_create_pseudo_p ()
   29574              :    && ((rtx_equal_p (operands[1], operands[3])
   29575              :         && rtx_equal_p (operands[2], operands[4]))
   29576              :        || (rtx_equal_p (operands[1], operands[4])
   29577              :            && rtx_equal_p (operands[2], operands[3])))))
   29578              :             return NULL;
   29579              :           return gen_split_1359 (insn, operands);
   29580              : 
   29581              :         case E_V4DFmode:
   29582              :           if (pattern1456 (x2, 
   29583              : E_V4DFmode) != 0
   29584              :               || !(
   29585              : #line 3607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29586              : (TARGET_SSE3
   29587              :    && can_create_pseudo_p ()
   29588              :    && ((rtx_equal_p (operands[1], operands[3])
   29589              :         && rtx_equal_p (operands[2], operands[4]))
   29590              :        || (rtx_equal_p (operands[1], operands[4])
   29591              :            && rtx_equal_p (operands[2], operands[3])))) && 
   29592              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29593              : (TARGET_AVX)))
   29594              :             return NULL;
   29595              :           return gen_split_1360 (insn, operands);
   29596              : 
   29597              :         case E_V2DFmode:
   29598              :           if (pattern1456 (x2, 
   29599              : E_V2DFmode) != 0
   29600              :               || !(
   29601              : #line 3607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29602              : (TARGET_SSE3
   29603              :    && can_create_pseudo_p ()
   29604              :    && ((rtx_equal_p (operands[1], operands[3])
   29605              :         && rtx_equal_p (operands[2], operands[4]))
   29606              :        || (rtx_equal_p (operands[1], operands[4])
   29607              :            && rtx_equal_p (operands[2], operands[3])))) && 
   29608              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29609              : (TARGET_SSE2)))
   29610              :             return NULL;
   29611              :           return gen_split_1361 (insn, operands);
   29612              : 
   29613              :         default:
   29614              :           return NULL;
   29615              :         }
   29616              : 
   29617              :     case PLUS:
   29618              :       x7 = XEXP (x2, 1);
   29619              :       if (GET_CODE (x7) != MINUS)
   29620              :         return NULL;
   29621              :       operands[6] = x2;
   29622              :       x8 = XEXP (x3, 0);
   29623              :       operands[1] = x8;
   29624              :       x9 = XEXP (x3, 1);
   29625              :       operands[2] = x9;
   29626              :       x10 = XEXP (x7, 0);
   29627              :       operands[3] = x10;
   29628              :       x11 = XEXP (x7, 1);
   29629              :       operands[4] = x11;
   29630              :       x4 = XEXP (x2, 2);
   29631              :       operands[5] = x4;
   29632              :       if (!const_int_operand (operands[5], E_VOIDmode))
   29633              :         return NULL;
   29634              :       switch (GET_MODE (operands[0]))
   29635              :         {
   29636              :         case E_V8SFmode:
   29637              :           if (pattern1457 (x2, 
   29638              : E_V8SFmode) != 0
   29639              :               || !(
   29640              : #line 3629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29641              : (TARGET_SSE3
   29642              :    && can_create_pseudo_p ()
   29643              :    && ((rtx_equal_p (operands[1], operands[3])
   29644              :         && rtx_equal_p (operands[2], operands[4]))
   29645              :        || (rtx_equal_p (operands[1], operands[4])
   29646              :            && rtx_equal_p (operands[2], operands[3])))) && 
   29647              : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29648              : (TARGET_AVX)))
   29649              :             return NULL;
   29650              :           return gen_split_1362 (insn, operands);
   29651              : 
   29652              :         case E_V4SFmode:
   29653              :           if (pattern1457 (x2, 
   29654              : E_V4SFmode) != 0
   29655              :               || !
   29656              : #line 3629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29657              : (TARGET_SSE3
   29658              :    && can_create_pseudo_p ()
   29659              :    && ((rtx_equal_p (operands[1], operands[3])
   29660              :         && rtx_equal_p (operands[2], operands[4]))
   29661              :        || (rtx_equal_p (operands[1], operands[4])
   29662              :            && rtx_equal_p (operands[2], operands[3])))))
   29663              :             return NULL;
   29664              :           return gen_split_1363 (insn, operands);
   29665              : 
   29666              :         case E_V4DFmode:
   29667              :           if (pattern1457 (x2, 
   29668              : E_V4DFmode) != 0
   29669              :               || !(
   29670              : #line 3629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29671              : (TARGET_SSE3
   29672              :    && can_create_pseudo_p ()
   29673              :    && ((rtx_equal_p (operands[1], operands[3])
   29674              :         && rtx_equal_p (operands[2], operands[4]))
   29675              :        || (rtx_equal_p (operands[1], operands[4])
   29676              :            && rtx_equal_p (operands[2], operands[3])))) && 
   29677              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29678              : (TARGET_AVX)))
   29679              :             return NULL;
   29680              :           return gen_split_1364 (insn, operands);
   29681              : 
   29682              :         case E_V2DFmode:
   29683              :           if (pattern1457 (x2, 
   29684              : E_V2DFmode) != 0
   29685              :               || !(
   29686              : #line 3629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29687              : (TARGET_SSE3
   29688              :    && can_create_pseudo_p ()
   29689              :    && ((rtx_equal_p (operands[1], operands[3])
   29690              :         && rtx_equal_p (operands[2], operands[4]))
   29691              :        || (rtx_equal_p (operands[1], operands[4])
   29692              :            && rtx_equal_p (operands[2], operands[3])))) && 
   29693              : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29694              : (TARGET_SSE2)))
   29695              :             return NULL;
   29696              :           return gen_split_1365 (insn, operands);
   29697              : 
   29698              :         default:
   29699              :           return NULL;
   29700              :         }
   29701              : 
   29702              :     case CONST_INT:
   29703              :     case CONST_DOUBLE:
   29704              :     case CONST_VECTOR:
   29705              :     case REG:
   29706              :     case SUBREG:
   29707              :     case MEM:
   29708              :       return split_61 (x1, insn);
   29709              : 
   29710              :     case VEC_DUPLICATE:
   29711              :       x8 = XEXP (x3, 0);
   29712              :       switch (GET_CODE (x8))
   29713              :         {
   29714              :         case VEC_SELECT:
   29715              :           x12 = XEXP (x8, 1);
   29716              :           if (GET_CODE (x12) != PARALLEL
   29717              :               || XVECLEN (x12, 0) != 1)
   29718              :             return NULL;
   29719              :           x13 = XVECEXP (x12, 0, 0);
   29720              :           if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   29721              :             return NULL;
   29722              :           x4 = XEXP (x2, 2);
   29723              :           if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   29724              :             return NULL;
   29725              :           switch (pattern1014 (x2))
   29726              :             {
   29727              :             case 0:
   29728              :               if (!(
   29729              : #line 12366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29730              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29731              : #line 12368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29732              : ( 1)))
   29733              :                 return NULL;
   29734              :               return gen_split_1622 (insn, operands);
   29735              : 
   29736              :             case 1:
   29737              :               if (!(
   29738              : #line 12366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29739              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29740              : #line 12368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29741              : ( 1)))
   29742              :                 return NULL;
   29743              :               return gen_split_1623 (insn, operands);
   29744              : 
   29745              :             case 2:
   29746              :               if (!(
   29747              : #line 12366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29748              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29749              : #line 12368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29750              : ( 1)))
   29751              :                 return NULL;
   29752              :               return gen_split_1624 (insn, operands);
   29753              : 
   29754              :             default:
   29755              :               return NULL;
   29756              :             }
   29757              : 
   29758              :         case ZERO_EXTEND:
   29759              :           switch (pattern315 (x2))
   29760              :             {
   29761              :             case 0:
   29762              :               if (!((
   29763              : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29764              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) && 
   29765              : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29766              : (TARGET_AVX512F)) && 
   29767              : #line 12408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29768              : ( 1)))
   29769              :                 return NULL;
   29770              :               return gen_split_1625 (insn, operands);
   29771              : 
   29772              :             case 1:
   29773              :               if (!(
   29774              : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29775              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) && 
   29776              : #line 12408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29777              : ( 1)))
   29778              :                 return NULL;
   29779              :               return gen_split_1626 (insn, operands);
   29780              : 
   29781              :             case 2:
   29782              :               if (!(
   29783              : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29784              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) && 
   29785              : #line 12408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29786              : ( 1)))
   29787              :                 return NULL;
   29788              :               return gen_split_1627 (insn, operands);
   29789              : 
   29790              :             case 3:
   29791              :               if (!((
   29792              : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29793              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) && 
   29794              : #line 796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29795              : (TARGET_AVX512F)) && 
   29796              : #line 12408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29797              : ( 1)))
   29798              :                 return NULL;
   29799              :               return gen_split_1628 (insn, operands);
   29800              : 
   29801              :             case 4:
   29802              :               if (!((
   29803              : #line 12520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29804              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29805              : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29806              : (TARGET_AVX512F)) && 
   29807              : #line 12522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29808              : ( 1)))
   29809              :                 return NULL;
   29810              :               return gen_split_1632 (insn, operands);
   29811              : 
   29812              :             case 5:
   29813              :               if (!(
   29814              : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29815              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) && 
   29816              : #line 12408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29817              : ( 1)))
   29818              :                 return NULL;
   29819              :               return gen_split_1629 (insn, operands);
   29820              : 
   29821              :             case 6:
   29822              :               if (!((
   29823              : #line 12520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29824              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29825              : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29826              : (TARGET_AVX)) && 
   29827              : #line 12522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29828              : ( 1)))
   29829              :                 return NULL;
   29830              :               return gen_split_1633 (insn, operands);
   29831              : 
   29832              :             case 7:
   29833              :               if (!(
   29834              : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29835              : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) && 
   29836              : #line 12408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29837              : ( 1)))
   29838              :                 return NULL;
   29839              :               return gen_split_1630 (insn, operands);
   29840              : 
   29841              :             case 8:
   29842              :               if (!(
   29843              : #line 12520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29844              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   29845              : #line 12522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29846              : ( 1)))
   29847              :                 return NULL;
   29848              :               return gen_split_1634 (insn, operands);
   29849              : 
   29850              :             default:
   29851              :               return NULL;
   29852              :             }
   29853              : 
   29854              :         case CONST_INT:
   29855              :         case CONST_WIDE_INT:
   29856              :         case CONST_POLY_INT:
   29857              :         case CONST_FIXED:
   29858              :         case CONST_DOUBLE:
   29859              :         case CONST_VECTOR:
   29860              :         case CONST:
   29861              :         case REG:
   29862              :         case SUBREG:
   29863              :         case LABEL_REF:
   29864              :         case SYMBOL_REF:
   29865              :         case HIGH:
   29866              :           x7 = XEXP (x2, 1);
   29867              :           switch (GET_CODE (x7))
   29868              :             {
   29869              :             case SUBREG:
   29870              :             case MEM:
   29871              :               if (!rtx_equal_p (x7, operands[0]))
   29872              :                 return NULL;
   29873              :               x4 = XEXP (x2, 2);
   29874              :               if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
   29875              :                 return NULL;
   29876              :               operands[1] = x8;
   29877              :               switch (GET_MODE (operands[0]))
   29878              :                 {
   29879              :                 case E_V4SImode:
   29880              :                   if (pattern1196 (x2, 
   29881              : E_SImode, 
   29882              : E_V4SImode) != 0
   29883              :                       || !
   29884              : #line 12596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29885              : (TARGET_SSE && reload_completed))
   29886              :                     return NULL;
   29887              :                   return gen_split_1636 (insn, operands);
   29888              : 
   29889              :                 case E_V4SFmode:
   29890              :                   if (pattern1196 (x2, 
   29891              : E_SFmode, 
   29892              : E_V4SFmode) != 0
   29893              :                       || !
   29894              : #line 12596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29895              : (TARGET_SSE && reload_completed))
   29896              :                     return NULL;
   29897              :                   return gen_split_1637 (insn, operands);
   29898              : 
   29899              :                 default:
   29900              :                   return NULL;
   29901              :                 }
   29902              : 
   29903              :             case REG:
   29904              :               operands[1] = x7;
   29905              :               operands[2] = x8;
   29906              :               x4 = XEXP (x2, 2);
   29907              :               operands[3] = x4;
   29908              :               if (!const_int_operand (operands[3], E_SImode))
   29909              :                 return NULL;
   29910              :               switch (GET_MODE (operands[0]))
   29911              :                 {
   29912              :                 case E_V8HImode:
   29913              :                   if (pattern1072 (x2, 
   29914              : E_V8HImode, 
   29915              : E_HImode) != 0
   29916              :                       || !
   29917              : #line 20287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29918              : (TARGET_AVX2 && reload_completed
   29919              :    && INTVAL (operands[3]) > 1
   29920              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   29921              :        < GET_MODE_NUNITS (V8HImode))))
   29922              :                     return NULL;
   29923              :                   return gen_split_3474 (insn, operands);
   29924              : 
   29925              :                 case E_V8HFmode:
   29926              :                   if (pattern1072 (x2, 
   29927              : E_V8HFmode, 
   29928              : E_HFmode) != 0
   29929              :                       || !
   29930              : #line 20287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29931              : (TARGET_AVX2 && reload_completed
   29932              :    && INTVAL (operands[3]) > 1
   29933              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   29934              :        < GET_MODE_NUNITS (V8HFmode))))
   29935              :                     return NULL;
   29936              :                   return gen_split_3475 (insn, operands);
   29937              : 
   29938              :                 case E_V8BFmode:
   29939              :                   if (pattern1072 (x2, 
   29940              : E_V8BFmode, 
   29941              : E_BFmode) != 0
   29942              :                       || !
   29943              : #line 20287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29944              : (TARGET_AVX2 && reload_completed
   29945              :    && INTVAL (operands[3]) > 1
   29946              :    && ((unsigned) exact_log2 (INTVAL (operands[3]))
   29947              :        < GET_MODE_NUNITS (V8BFmode))))
   29948              :                     return NULL;
   29949              :                   return gen_split_3476 (insn, operands);
   29950              : 
   29951              :                 default:
   29952              :                   return NULL;
   29953              :                 }
   29954              : 
   29955              :             default:
   29956              :               return NULL;
   29957              :             }
   29958              : 
   29959              :         default:
   29960              :           return NULL;
   29961              :         }
   29962              : 
   29963              :     case SIGN_EXTEND:
   29964              :       switch (pattern415 (x2))
   29965              :         {
   29966              :         case 0:
   29967              :           if (!(
   29968              : #line 24637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29969              : (TARGET_AVX512VL && TARGET_AVX512BW
   29970              :    && ix86_pre_reload_split ()) && 
   29971              : #line 24640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29972              : ( 1)))
   29973              :             return NULL;
   29974              :           return gen_split_3610 (insn, operands);
   29975              : 
   29976              :         case 1:
   29977              :           if (!(
   29978              : #line 24815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29979              : (TARGET_AVX512VL
   29980              :    && ix86_pre_reload_split ()) && 
   29981              : #line 24818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29982              : ( 1)))
   29983              :             return NULL;
   29984              :           return gen_split_3618 (insn, operands);
   29985              : 
   29986              :         case 2:
   29987              :           if (!(
   29988              : #line 25259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29989              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   29990              : #line 25261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29991              : ( 1)))
   29992              :             return NULL;
   29993              :           return gen_split_3644 (insn, operands);
   29994              : 
   29995              :         case 3:
   29996              :           if (!(
   29997              : #line 25103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   29998              : (TARGET_AVX512VL
   29999              :    && ix86_pre_reload_split ()) && 
   30000              : #line 25106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30001              : ( 1)))
   30002              :             return NULL;
   30003              :           return gen_split_3636 (insn, operands);
   30004              : 
   30005              :         case 4:
   30006              :           if (!(
   30007              : #line 25513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30008              : (TARGET_AVX512VL
   30009              :    && ix86_pre_reload_split ()) && 
   30010              : #line 25516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30011              : ( 1)))
   30012              :             return NULL;
   30013              :           return gen_split_3655 (insn, operands);
   30014              : 
   30015              :         case 5:
   30016              :           if (!(
   30017              : #line 25790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30018              : (TARGET_AVX512VL
   30019              :    && ix86_pre_reload_split ()) && 
   30020              : #line 25793 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30021              : ( 1)))
   30022              :             return NULL;
   30023              :           return gen_split_3667 (insn, operands);
   30024              : 
   30025              :         case 6:
   30026              :           if (!(
   30027              : #line 24909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30028              : (TARGET_AVX512VL
   30029              :    && ix86_pre_reload_split ()) && 
   30030              : #line 24912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30031              : ( 1)))
   30032              :             return NULL;
   30033              :           return gen_split_3624 (insn, operands);
   30034              : 
   30035              :         case 7:
   30036              :           if (!(
   30037              : #line 25349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30038              : (TARGET_AVX512VL
   30039              :    && ix86_pre_reload_split ()) && 
   30040              : #line 25352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30041              : ( 1)))
   30042              :             return NULL;
   30043              :           return gen_split_3648 (insn, operands);
   30044              : 
   30045              :         case 8:
   30046              :           if (!(
   30047              : #line 25604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30048              : (TARGET_AVX512VL
   30049              :    && ix86_pre_reload_split ()) && 
   30050              : #line 25607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30051              : ( 1)))
   30052              :             return NULL;
   30053              :           return gen_split_3659 (insn, operands);
   30054              : 
   30055              :         default:
   30056              :           return NULL;
   30057              :         }
   30058              : 
   30059              :     case ZERO_EXTEND:
   30060              :       switch (pattern415 (x2))
   30061              :         {
   30062              :         case 0:
   30063              :           if (!(
   30064              : #line 24637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30065              : (TARGET_AVX512VL && TARGET_AVX512BW
   30066              :    && ix86_pre_reload_split ()) && 
   30067              : #line 24640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30068              : ( 1)))
   30069              :             return NULL;
   30070              :           return gen_split_3611 (insn, operands);
   30071              : 
   30072              :         case 1:
   30073              :           if (!(
   30074              : #line 24815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30075              : (TARGET_AVX512VL
   30076              :    && ix86_pre_reload_split ()) && 
   30077              : #line 24818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30078              : ( 1)))
   30079              :             return NULL;
   30080              :           return gen_split_3619 (insn, operands);
   30081              : 
   30082              :         case 2:
   30083              :           if (!(
   30084              : #line 25259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30085              : (TARGET_AVX512F && ix86_pre_reload_split ()) && 
   30086              : #line 25261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30087              : ( 1)))
   30088              :             return NULL;
   30089              :           return gen_split_3645 (insn, operands);
   30090              : 
   30091              :         case 3:
   30092              :           if (!(
   30093              : #line 25103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30094              : (TARGET_AVX512VL
   30095              :    && ix86_pre_reload_split ()) && 
   30096              : #line 25106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30097              : ( 1)))
   30098              :             return NULL;
   30099              :           return gen_split_3637 (insn, operands);
   30100              : 
   30101              :         case 4:
   30102              :           if (!(
   30103              : #line 25513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30104              : (TARGET_AVX512VL
   30105              :    && ix86_pre_reload_split ()) && 
   30106              : #line 25516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30107              : ( 1)))
   30108              :             return NULL;
   30109              :           return gen_split_3656 (insn, operands);
   30110              : 
   30111              :         case 5:
   30112              :           if (!(
   30113              : #line 25790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30114              : (TARGET_AVX512VL
   30115              :    && ix86_pre_reload_split ()) && 
   30116              : #line 25793 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30117              : ( 1)))
   30118              :             return NULL;
   30119              :           return gen_split_3668 (insn, operands);
   30120              : 
   30121              :         case 6:
   30122              :           if (!(
   30123              : #line 24909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30124              : (TARGET_AVX512VL
   30125              :    && ix86_pre_reload_split ()) && 
   30126              : #line 24912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30127              : ( 1)))
   30128              :             return NULL;
   30129              :           return gen_split_3625 (insn, operands);
   30130              : 
   30131              :         case 7:
   30132              :           if (!(
   30133              : #line 25349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30134              : (TARGET_AVX512VL
   30135              :    && ix86_pre_reload_split ()) && 
   30136              : #line 25352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30137              : ( 1)))
   30138              :             return NULL;
   30139              :           return gen_split_3649 (insn, operands);
   30140              : 
   30141              :         case 8:
   30142              :           if (!(
   30143              : #line 25604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30144              : (TARGET_AVX512VL
   30145              :    && ix86_pre_reload_split ()) && 
   30146              : #line 25607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30147              : ( 1)))
   30148              :             return NULL;
   30149              :           return gen_split_3660 (insn, operands);
   30150              : 
   30151              :         default:
   30152              :           return NULL;
   30153              :         }
   30154              : 
   30155              :     default:
   30156              :       return NULL;
   30157              :     }
   30158              : }
   30159              : 
   30160              :  rtx_insn *
   30161              : split_insns (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
   30162              : {
   30163              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   30164              :   rtx x2, x3;
   30165              :   rtx_insn *res ATTRIBUTE_UNUSED;
   30166              :   recog_data.insn = NULL;
   30167              :   switch (GET_CODE (x1))
   30168              :     {
   30169              :     case EH_RETURN:
   30170              :       if (!
   30171              : #line 21217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30172              : (epilogue_completed))
   30173              :         return NULL;
   30174              :       return gen_split_875 (insn, operands);
   30175              : 
   30176              :     case PARALLEL:
   30177              :     case UNSPEC:
   30178              :     case UNSPEC_VOLATILE:
   30179              :     case SET:
   30180              :       switch (GET_CODE (x1))
   30181              :         {
   30182              :         case SET:
   30183              :           res = split_14 (x1, insn);
   30184              :           if (res != NULL_RTX)
   30185              :             return res;
   30186              :           break;
   30187              : 
   30188              :         case PARALLEL:
   30189              :           res = split_37 (x1, insn);
   30190              :           if (res != NULL_RTX)
   30191              :             return res;
   30192              :           break;
   30193              : 
   30194              :         default:
   30195              :           break;
   30196              :         }
   30197              :       operands[0] = x1;
   30198              :       if (tls_address_pattern (operands[0], E_VOIDmode)
   30199              :           && 
   30200              : #line 23764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30201              : (TARGET_TLS_DIRECT_SEG_REFS))
   30202              :         return gen_split_936 (insn, operands);
   30203              :       switch (GET_CODE (x1))
   30204              :         {
   30205              :         case PARALLEL:
   30206              :           return split_88 (x1, insn);
   30207              : 
   30208              :         case SET:
   30209              :           x2 = XEXP (x1, 1);
   30210              :           switch (GET_CODE (x2))
   30211              :             {
   30212              :             case NEG:
   30213              :               res = split_41 (x1, insn);
   30214              :               if (res != NULL_RTX)
   30215              :                 return res;
   30216              :               break;
   30217              : 
   30218              :             case IF_THEN_ELSE:
   30219              :               res = split_43 (x1, insn);
   30220              :               if (res != NULL_RTX)
   30221              :                 return res;
   30222              :               break;
   30223              : 
   30224              :             case UNSPEC:
   30225              :               res = split_44 (x1, insn);
   30226              :               if (res != NULL_RTX)
   30227              :                 return res;
   30228              :               break;
   30229              : 
   30230              :             case COMPARE:
   30231              :               res = split_45 (x1, insn);
   30232              :               if (res != NULL_RTX)
   30233              :                 return res;
   30234              :               break;
   30235              : 
   30236              :             case NOT:
   30237              :               res = split_46 (x1, insn);
   30238              :               if (res != NULL_RTX)
   30239              :                 return res;
   30240              :               break;
   30241              : 
   30242              :             case REG:
   30243              :             case SUBREG:
   30244              :             case MEM:
   30245              :               res = split_47 (x1, insn);
   30246              :               if (res != NULL_RTX)
   30247              :                 return res;
   30248              :               break;
   30249              : 
   30250              :             case CONST_INT:
   30251              :             case CONST_DOUBLE:
   30252              :             case CONST_VECTOR:
   30253              :               operands[1] = x2;
   30254              :               x3 = XEXP (x1, 0);
   30255              :               operands[0] = x3;
   30256              :               switch (GET_MODE (operands[0]))
   30257              :                 {
   30258              :                 case E_V8QImode:
   30259              :                   if (nonimmediate_gr_operand (operands[0], E_V8QImode)
   30260              :                       && const0_operand (operands[1], E_V8QImode)
   30261              :                       && 
   30262              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30263              : (!TARGET_64BIT && reload_completed))
   30264              :                     return gen_split_1024 (insn, operands);
   30265              :                   if (memory_operand (operands[0], E_V8QImode)
   30266              :                       && x86_64_const_vector_operand (operands[1], E_V8QImode)
   30267              :                       && (
   30268              : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30269              : (TARGET_64BIT) && 
   30270              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30271              : ( reload_completed)))
   30272              :                     return gen_split_1060 (insn, operands);
   30273              :                   break;
   30274              : 
   30275              :                 case E_V4HImode:
   30276              :                   if (nonimmediate_gr_operand (operands[0], E_V4HImode)
   30277              :                       && const0_operand (operands[1], E_V4HImode)
   30278              :                       && 
   30279              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30280              : (!TARGET_64BIT && reload_completed))
   30281              :                     return gen_split_1025 (insn, operands);
   30282              :                   if (memory_operand (operands[0], E_V4HImode)
   30283              :                       && x86_64_const_vector_operand (operands[1], E_V4HImode)
   30284              :                       && (
   30285              : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30286              : (TARGET_64BIT) && 
   30287              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30288              : ( reload_completed)))
   30289              :                     return gen_split_1061 (insn, operands);
   30290              :                   break;
   30291              : 
   30292              :                 case E_V2SImode:
   30293              :                   if (nonimmediate_gr_operand (operands[0], E_V2SImode)
   30294              :                       && const0_operand (operands[1], E_V2SImode)
   30295              :                       && 
   30296              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30297              : (!TARGET_64BIT && reload_completed))
   30298              :                     return gen_split_1026 (insn, operands);
   30299              :                   if (memory_operand (operands[0], E_V2SImode)
   30300              :                       && x86_64_const_vector_operand (operands[1], E_V2SImode)
   30301              :                       && (
   30302              : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30303              : (TARGET_64BIT) && 
   30304              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30305              : ( reload_completed)))
   30306              :                     return gen_split_1064 (insn, operands);
   30307              :                   break;
   30308              : 
   30309              :                 case E_V1DImode:
   30310              :                   if (nonimmediate_gr_operand (operands[0], E_V1DImode)
   30311              :                       && const0_operand (operands[1], E_V1DImode)
   30312              :                       && 
   30313              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30314              : (!TARGET_64BIT && reload_completed))
   30315              :                     return gen_split_1027 (insn, operands);
   30316              :                   if (memory_operand (operands[0], E_V1DImode)
   30317              :                       && x86_64_const_vector_operand (operands[1], E_V1DImode)
   30318              :                       && (
   30319              : #line 90 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30320              : (TARGET_64BIT) && 
   30321              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30322              : ( reload_completed)))
   30323              :                     return gen_split_1066 (insn, operands);
   30324              :                   break;
   30325              : 
   30326              :                 case E_V2SFmode:
   30327              :                   if (nonimmediate_gr_operand (operands[0], E_V2SFmode)
   30328              :                       && const0_operand (operands[1], E_V2SFmode)
   30329              :                       && 
   30330              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30331              : (!TARGET_64BIT && reload_completed))
   30332              :                     return gen_split_1028 (insn, operands);
   30333              :                   if (memory_operand (operands[0], E_V2SFmode)
   30334              :                       && x86_64_const_vector_operand (operands[1], E_V2SFmode)
   30335              :                       && (
   30336              : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30337              : (TARGET_64BIT) && 
   30338              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30339              : ( reload_completed)))
   30340              :                     return gen_split_1065 (insn, operands);
   30341              :                   break;
   30342              : 
   30343              :                 case E_V4HFmode:
   30344              :                   if (nonimmediate_gr_operand (operands[0], E_V4HFmode)
   30345              :                       && const0_operand (operands[1], E_V4HFmode)
   30346              :                       && 
   30347              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30348              : (!TARGET_64BIT && reload_completed))
   30349              :                     return gen_split_1029 (insn, operands);
   30350              :                   if (memory_operand (operands[0], E_V4HFmode)
   30351              :                       && x86_64_const_vector_operand (operands[1], E_V4HFmode)
   30352              :                       && (
   30353              : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30354              : (TARGET_64BIT) && 
   30355              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30356              : ( reload_completed)))
   30357              :                     return gen_split_1062 (insn, operands);
   30358              :                   break;
   30359              : 
   30360              :                 case E_V4BFmode:
   30361              :                   if (nonimmediate_gr_operand (operands[0], E_V4BFmode)
   30362              :                       && const0_operand (operands[1], E_V4BFmode)
   30363              :                       && 
   30364              : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30365              : (!TARGET_64BIT && reload_completed))
   30366              :                     return gen_split_1030 (insn, operands);
   30367              :                   if (memory_operand (operands[0], E_V4BFmode)
   30368              :                       && x86_64_const_vector_operand (operands[1], E_V4BFmode)
   30369              :                       && (
   30370              : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30371              : (TARGET_64BIT) && 
   30372              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30373              : ( reload_completed)))
   30374              :                     return gen_split_1063 (insn, operands);
   30375              :                   break;
   30376              : 
   30377              :                 case E_V2QImode:
   30378              :                   if (memory_operand (operands[0], E_V2QImode)
   30379              :                       && x86_64_const_vector_operand (operands[1], E_V2QImode)
   30380              :                       && 
   30381              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30382              : ( reload_completed))
   30383              :                     return gen_split_1054 (insn, operands);
   30384              :                   break;
   30385              : 
   30386              :                 case E_V4QImode:
   30387              :                   if (memory_operand (operands[0], E_V4QImode)
   30388              :                       && x86_64_const_vector_operand (operands[1], E_V4QImode)
   30389              :                       && 
   30390              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30391              : ( reload_completed))
   30392              :                     return gen_split_1055 (insn, operands);
   30393              :                   break;
   30394              : 
   30395              :                 case E_V2HImode:
   30396              :                   if (memory_operand (operands[0], E_V2HImode)
   30397              :                       && x86_64_const_vector_operand (operands[1], E_V2HImode)
   30398              :                       && 
   30399              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30400              : ( reload_completed))
   30401              :                     return gen_split_1056 (insn, operands);
   30402              :                   break;
   30403              : 
   30404              :                 case E_V1SImode:
   30405              :                   if (memory_operand (operands[0], E_V1SImode)
   30406              :                       && x86_64_const_vector_operand (operands[1], E_V1SImode)
   30407              :                       && 
   30408              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30409              : ( reload_completed))
   30410              :                     return gen_split_1057 (insn, operands);
   30411              :                   break;
   30412              : 
   30413              :                 case E_V2HFmode:
   30414              :                   if (memory_operand (operands[0], E_V2HFmode)
   30415              :                       && x86_64_const_vector_operand (operands[1], E_V2HFmode)
   30416              :                       && 
   30417              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30418              : ( reload_completed))
   30419              :                     return gen_split_1058 (insn, operands);
   30420              :                   break;
   30421              : 
   30422              :                 case E_V2BFmode:
   30423              :                   if (memory_operand (operands[0], E_V2BFmode)
   30424              :                       && x86_64_const_vector_operand (operands[1], E_V2BFmode)
   30425              :                       && 
   30426              : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30427              : ( reload_completed))
   30428              :                     return gen_split_1059 (insn, operands);
   30429              :                   break;
   30430              : 
   30431              :                 default:
   30432              :                   break;
   30433              :                 }
   30434              :               break;
   30435              : 
   30436              :             case PLUS:
   30437              :               res = split_48 (x1, insn);
   30438              :               if (res != NULL_RTX)
   30439              :                 return res;
   30440              :               break;
   30441              : 
   30442              :             case MINUS:
   30443              :               res = split_49 (x1, insn);
   30444              :               if (res != NULL_RTX)
   30445              :                 return res;
   30446              :               break;
   30447              : 
   30448              :             case VEC_SELECT:
   30449              :               res = split_51 (x1, insn);
   30450              :               if (res != NULL_RTX)
   30451              :                 return res;
   30452              :               break;
   30453              : 
   30454              :             case LT:
   30455              :               x3 = XEXP (x1, 0);
   30456              :               operands[0] = x3;
   30457              :               switch (pattern240 (x2))
   30458              :                 {
   30459              :                 case 0:
   30460              :                   if ((
   30461              : #line 3901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30462              : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()) && 
   30463              : #line 3903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30464              : ( 1)))
   30465              :                     return gen_split_1096 (insn, operands);
   30466              :                   break;
   30467              : 
   30468              :                 case 1:
   30469              :                   if ((
   30470              : #line 3901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30471              : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()) && 
   30472              : #line 3903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30473              : ( 1)))
   30474              :                     return gen_split_1097 (insn, operands);
   30475              :                   break;
   30476              : 
   30477              :                 case 2:
   30478              :                   if ((
   30479              : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30480              : (TARGET_SSE2 && ix86_pre_reload_split ()) && 
   30481              : #line 3992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
   30482              : ( 1)))
   30483              :                     return gen_split_1101 (insn, operands);
   30484              :                   break;
   30485              : 
   30486              :                 default:
   30487              :                   break;
   30488              :                 }
   30489              :               break;
   30490              : 
   30491              :             case AND:
   30492              :               res = split_52 (x1, insn);
   30493              :               if (res != NULL_RTX)
   30494              :                 return res;
   30495              :               break;
   30496              : 
   30497              :             case VEC_CONCAT:
   30498              :               res = split_53 (x1, insn);
   30499              :               if (res != NULL_RTX)
   30500              :                 return res;
   30501              :               break;
   30502              : 
   30503              :             case VEC_MERGE:
   30504              :               res = split_54 (x1, insn);
   30505              :               if (res != NULL_RTX)
   30506              :                 return res;
   30507              :               break;
   30508              : 
   30509              :             case ZERO_EXTEND:
   30510              :               res = split_55 (x1, insn);
   30511              :               if (res != NULL_RTX)
   30512              :                 return res;
   30513              :               break;
   30514              : 
   30515              :             case IOR:
   30516              :               x3 = XEXP (x1, 0);
   30517              :               operands[0] = x3;
   30518              :               switch (pattern242 (x2))
   30519              :                 {
   30520              :                 case 0:
   30521              :                   if (
   30522              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30523              : (TARGET_AVX512F && reload_completed))
   30524              :                     return gen_split_1234 (insn, operands);
   30525              :                   break;
   30526              : 
   30527              :                 case 1:
   30528              :                   if (
   30529              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30530              : (TARGET_AVX512F && reload_completed))
   30531              :                     return gen_split_1237 (insn, operands);
   30532              :                   break;
   30533              : 
   30534              :                 case 2:
   30535              :                   if ((
   30536              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30537              : (TARGET_AVX512F && reload_completed) && 
   30538              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30539              : (TARGET_AVX512BW)))
   30540              :                     return gen_split_1240 (insn, operands);
   30541              :                   break;
   30542              : 
   30543              :                 case 3:
   30544              :                   if ((
   30545              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30546              : (TARGET_AVX512F && reload_completed) && 
   30547              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30548              : (TARGET_AVX512BW)))
   30549              :                     return gen_split_1243 (insn, operands);
   30550              :                   break;
   30551              : 
   30552              :                 default:
   30553              :                   break;
   30554              :                 }
   30555              :               break;
   30556              : 
   30557              :             case XOR:
   30558              :               x3 = XEXP (x1, 0);
   30559              :               operands[0] = x3;
   30560              :               switch (pattern242 (x2))
   30561              :                 {
   30562              :                 case 0:
   30563              :                   if (
   30564              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30565              : (TARGET_AVX512F && reload_completed))
   30566              :                     return gen_split_1235 (insn, operands);
   30567              :                   break;
   30568              : 
   30569              :                 case 1:
   30570              :                   if (
   30571              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30572              : (TARGET_AVX512F && reload_completed))
   30573              :                     return gen_split_1238 (insn, operands);
   30574              :                   break;
   30575              : 
   30576              :                 case 2:
   30577              :                   if ((
   30578              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30579              : (TARGET_AVX512F && reload_completed) && 
   30580              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30581              : (TARGET_AVX512BW)))
   30582              :                     return gen_split_1241 (insn, operands);
   30583              :                   break;
   30584              : 
   30585              :                 case 3:
   30586              :                   if ((
   30587              : #line 2138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30588              : (TARGET_AVX512F && reload_completed) && 
   30589              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30590              : (TARGET_AVX512BW)))
   30591              :                     return gen_split_1244 (insn, operands);
   30592              :                   break;
   30593              : 
   30594              :                 default:
   30595              :                   break;
   30596              :                 }
   30597              :               break;
   30598              : 
   30599              :             case ASHIFT:
   30600              :               switch (pattern55 (x1))
   30601              :                 {
   30602              :                 case 0:
   30603              :                   if (
   30604              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30605              : (TARGET_AVX512F && reload_completed))
   30606              :                     return gen_split_1266 (insn, operands);
   30607              :                   break;
   30608              : 
   30609              :                 case 1:
   30610              :                   if (
   30611              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30612              : (TARGET_AVX512F && reload_completed))
   30613              :                     return gen_split_1268 (insn, operands);
   30614              :                   break;
   30615              : 
   30616              :                 case 2:
   30617              :                   if ((
   30618              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30619              : (TARGET_AVX512F && reload_completed) && 
   30620              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30621              : (TARGET_AVX512BW)))
   30622              :                     return gen_split_1270 (insn, operands);
   30623              :                   break;
   30624              : 
   30625              :                 case 3:
   30626              :                   if ((
   30627              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30628              : (TARGET_AVX512F && reload_completed) && 
   30629              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30630              : (TARGET_AVX512BW)))
   30631              :                     return gen_split_1272 (insn, operands);
   30632              :                   break;
   30633              : 
   30634              :                 default:
   30635              :                   break;
   30636              :                 }
   30637              :               break;
   30638              : 
   30639              :             case LSHIFTRT:
   30640              :               switch (pattern55 (x1))
   30641              :                 {
   30642              :                 case 0:
   30643              :                   if (
   30644              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30645              : (TARGET_AVX512F && reload_completed))
   30646              :                     return gen_split_1267 (insn, operands);
   30647              :                   break;
   30648              : 
   30649              :                 case 1:
   30650              :                   if (
   30651              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30652              : (TARGET_AVX512F && reload_completed))
   30653              :                     return gen_split_1269 (insn, operands);
   30654              :                   break;
   30655              : 
   30656              :                 case 2:
   30657              :                   if ((
   30658              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30659              : (TARGET_AVX512F && reload_completed) && 
   30660              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30661              : (TARGET_AVX512BW)))
   30662              :                     return gen_split_1271 (insn, operands);
   30663              :                   break;
   30664              : 
   30665              :                 case 3:
   30666              :                   if ((
   30667              : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30668              : (TARGET_AVX512F && reload_completed) && 
   30669              : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30670              : (TARGET_AVX512BW)))
   30671              :                     return gen_split_1273 (insn, operands);
   30672              :                   break;
   30673              : 
   30674              :                 default:
   30675              :                   break;
   30676              :                 }
   30677              :               break;
   30678              : 
   30679              :             case SIGN_EXTEND:
   30680              :               res = split_56 (x1, insn);
   30681              :               if (res != NULL_RTX)
   30682              :                 return res;
   30683              :               break;
   30684              : 
   30685              :             case SS_PLUS:
   30686              :               if (pattern57 (x1) == 0
   30687              :                   && 
   30688              : #line 22975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30689              : (TARGET_SSSE3 && reload_completed
   30690              :    && SSE_REGNO_P (REGNO (operands[0]))))
   30691              :                 return gen_split_3557 (insn, operands);
   30692              :               break;
   30693              : 
   30694              :             case SS_MINUS:
   30695              :               if (pattern57 (x1) == 0
   30696              :                   && 
   30697              : #line 22975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
   30698              : (TARGET_SSSE3 && reload_completed
   30699              :    && SSE_REGNO_P (REGNO (operands[0]))))
   30700              :                 return gen_split_3559 (insn, operands);
   30701              :               break;
   30702              : 
   30703              :             case NE:
   30704              :             case EQ:
   30705              :               res = split_57 (x1, insn);
   30706              :               if (res != NULL_RTX)
   30707              :                 return res;
   30708              :               break;
   30709              : 
   30710              :             default:
   30711              :               break;
   30712              :             }
   30713              :           x3 = XEXP (x1, 0);
   30714              :           operands[0] = x3;
   30715              :           return split_87 (x1, insn);
   30716              : 
   30717              :         default:
   30718              :           return NULL;
   30719              :         }
   30720              : 
   30721              :     default:
   30722              :       return NULL;
   30723              :     }
   30724              : }
   30725              : 
   30726              :  rtx_insn *
   30727              : peephole2_5 (rtx x1 ATTRIBUTE_UNUSED,
   30728              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   30729              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   30730              : {
   30731              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   30732              :   rtx x2, x3, x4, x5, x6, x7;
   30733              :   rtx_insn *res ATTRIBUTE_UNUSED;
   30734              :   x2 = XEXP (x1, 0);
   30735              :   switch (GET_CODE (x2))
   30736              :     {
   30737              :     case REG:
   30738              :       if (peep2_current_count < 2)
   30739              :         return NULL;
   30740              :       operands[0] = x2;
   30741              :       x3 = PATTERN (peep2_next_insn (1));
   30742              :       if (GET_CODE (x3) != SET)
   30743              :         return NULL;
   30744              :       x4 = XEXP (x3, 0);
   30745              :       if (GET_CODE (x4) != STRICT_LOW_PART)
   30746              :         return NULL;
   30747              :       x5 = XEXP (x4, 0);
   30748              :       operands[1] = x5;
   30749              :       x6 = XEXP (x3, 1);
   30750              :       operands[2] = x6;
   30751              :       switch (GET_MODE (operands[0]))
   30752              :         {
   30753              :         case E_SImode:
   30754              :           if (!general_reg_operand (operands[0], E_SImode))
   30755              :             return NULL;
   30756              :           switch (pattern1350 ())
   30757              :             {
   30758              :             case 0:
   30759              :               if (!
   30760              : #line 4959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30761              : (REGNO (operands[0]) == REGNO (operands[1])
   30762              :    && (SImode != SImode
   30763              :        || !TARGET_ZERO_EXTEND_WITH_AND
   30764              :        || !optimize_function_for_speed_p (cfun))))
   30765              :                 return NULL;
   30766              :               *pmatch_len_ = 1;
   30767              :               return gen_peephole2_45 (insn, operands);
   30768              : 
   30769              :             case 1:
   30770              :               if (!
   30771              : #line 4959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30772              : (REGNO (operands[0]) == REGNO (operands[1])
   30773              :    && (SImode != SImode
   30774              :        || !TARGET_ZERO_EXTEND_WITH_AND
   30775              :        || !optimize_function_for_speed_p (cfun))))
   30776              :                 return NULL;
   30777              :               *pmatch_len_ = 1;
   30778              :               return gen_peephole2_47 (insn, operands);
   30779              : 
   30780              :             default:
   30781              :               return NULL;
   30782              :             }
   30783              : 
   30784              :         case E_DImode:
   30785              :           if (!general_reg_operand (operands[0], E_DImode))
   30786              :             return NULL;
   30787              :           switch (pattern1350 ())
   30788              :             {
   30789              :             case 0:
   30790              :               if (!(
   30791              : #line 4959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30792              : (REGNO (operands[0]) == REGNO (operands[1])
   30793              :    && (DImode != SImode
   30794              :        || !TARGET_ZERO_EXTEND_WITH_AND
   30795              :        || !optimize_function_for_speed_p (cfun))) && 
   30796              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30797              : (TARGET_64BIT)))
   30798              :                 return NULL;
   30799              :               *pmatch_len_ = 1;
   30800              :               return gen_peephole2_46 (insn, operands);
   30801              : 
   30802              :             case 1:
   30803              :               if (!(
   30804              : #line 4959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30805              : (REGNO (operands[0]) == REGNO (operands[1])
   30806              :    && (DImode != SImode
   30807              :        || !TARGET_ZERO_EXTEND_WITH_AND
   30808              :        || !optimize_function_for_speed_p (cfun))) && 
   30809              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30810              : (TARGET_64BIT)))
   30811              :                 return NULL;
   30812              :               *pmatch_len_ = 1;
   30813              :               return gen_peephole2_48 (insn, operands);
   30814              : 
   30815              :             default:
   30816              :               return NULL;
   30817              :             }
   30818              : 
   30819              :         default:
   30820              :           return NULL;
   30821              :         }
   30822              : 
   30823              :     case SUBREG:
   30824              :     case MEM:
   30825              :       operands[0] = x2;
   30826              :       switch (GET_MODE (operands[0]))
   30827              :         {
   30828              :         case E_QImode:
   30829              :           if (!memory_operand (operands[0], E_QImode)
   30830              :               || !
   30831              : #line 28370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30832              : (optimize_insn_for_speed_p ()
   30833              :    && ((QImode == HImode
   30834              :        && TARGET_LCP_STALL)
   30835              :        || (!TARGET_USE_MOV0
   30836              :           && TARGET_SPLIT_LONG_MOVES
   30837              :           && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))
   30838              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   30839              :             return NULL;
   30840              :           *pmatch_len_ = 0;
   30841              :           return gen_peephole2_278 (insn, operands);
   30842              : 
   30843              :         case E_HImode:
   30844              :           if (!memory_operand (operands[0], E_HImode)
   30845              :               || !
   30846              : #line 28370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30847              : (optimize_insn_for_speed_p ()
   30848              :    && ((HImode == HImode
   30849              :        && TARGET_LCP_STALL)
   30850              :        || (!TARGET_USE_MOV0
   30851              :           && TARGET_SPLIT_LONG_MOVES
   30852              :           && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))
   30853              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   30854              :             return NULL;
   30855              :           *pmatch_len_ = 0;
   30856              :           return gen_peephole2_279 (insn, operands);
   30857              : 
   30858              :         default:
   30859              :           return NULL;
   30860              :         }
   30861              : 
   30862              :     case STRICT_LOW_PART:
   30863              :       x7 = XEXP (x2, 0);
   30864              :       operands[0] = x7;
   30865              :       switch (GET_MODE (operands[0]))
   30866              :         {
   30867              :         case E_QImode:
   30868              :           if (!general_reg_operand (operands[0], E_QImode)
   30869              :               || !
   30870              : #line 29190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30871              : ((! TARGET_USE_MOV0 || optimize_insn_for_size_p ())
   30872              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   30873              :             return NULL;
   30874              :           *pmatch_len_ = 0;
   30875              :           return gen_peephole2_365 (insn, operands);
   30876              : 
   30877              :         case E_HImode:
   30878              :           if (!general_reg_operand (operands[0], E_HImode)
   30879              :               || !
   30880              : #line 29190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30881              : ((! TARGET_USE_MOV0 || optimize_insn_for_size_p ())
   30882              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   30883              :             return NULL;
   30884              :           *pmatch_len_ = 0;
   30885              :           return gen_peephole2_366 (insn, operands);
   30886              : 
   30887              :         default:
   30888              :           return NULL;
   30889              :         }
   30890              : 
   30891              :     default:
   30892              :       return NULL;
   30893              :     }
   30894              : }
   30895              : 
   30896              :  rtx_insn *
   30897              : peephole2_8 (rtx x1 ATTRIBUTE_UNUSED,
   30898              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   30899              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   30900              : {
   30901              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   30902              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   30903              :   rtx_insn *res ATTRIBUTE_UNUSED;
   30904              :   x2 = XEXP (x1, 1);
   30905              :   switch (GET_CODE (x2))
   30906              :     {
   30907              :     case CONST_INT:
   30908              :     case CONST_WIDE_INT:
   30909              :     case CONST_POLY_INT:
   30910              :     case CONST_FIXED:
   30911              :     case CONST_DOUBLE:
   30912              :     case CONST_VECTOR:
   30913              :     case CONST:
   30914              :     case LABEL_REF:
   30915              :     case SYMBOL_REF:
   30916              :     case HIGH:
   30917              :       operands[1] = x2;
   30918              :       x3 = XEXP (x1, 0);
   30919              :       operands[0] = x3;
   30920              :       switch (GET_CODE (operands[0]))
   30921              :         {
   30922              :         case MEM:
   30923              :           if (push_operand (operands[0], E_DImode)
   30924              :               && immediate_operand (operands[1], E_DImode)
   30925              :               && 
   30926              : #line 2228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30927              : (TARGET_64BIT
   30928              :    && !symbolic_operand (operands[1], DImode)
   30929              :    && !x86_64_immediate_operand (operands[1], DImode)))
   30930              :             {
   30931              :               *pmatch_len_ = 0;
   30932              :               res = gen_peephole2_3 (insn, operands);
   30933              :               if (res != NULL_RTX)
   30934              :                 return res;
   30935              :             }
   30936              :           break;
   30937              : 
   30938              :         case REG:
   30939              :         case SUBREG:
   30940              :           res = peephole2_4 (x1, insn, pmatch_len_);
   30941              :           if (res != NULL_RTX)
   30942              :             return res;
   30943              :           break;
   30944              : 
   30945              :         default:
   30946              :           break;
   30947              :         }
   30948              :       switch (GET_MODE (operands[0]))
   30949              :         {
   30950              :         case E_HImode:
   30951              :           if (memory_operand (operands[0], E_HImode)
   30952              :               && const_int_operand (operands[1], E_HImode)
   30953              :               && 
   30954              : #line 2987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30955              : ((operands[1] == const0_rtx || operands[1] == constm1_rtx)
   30956              :    && optimize_insn_for_size_p () && optimize_size > 1
   30957              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   30958              :             {
   30959              :               *pmatch_len_ = 0;
   30960              :               res = gen_peephole2_8 (insn, operands);
   30961              :               if (res != NULL_RTX)
   30962              :                 return res;
   30963              :             }
   30964              :           break;
   30965              : 
   30966              :         case E_SImode:
   30967              :           if (memory_operand (operands[0], E_SImode)
   30968              :               && const_int_operand (operands[1], E_SImode)
   30969              :               && 
   30970              : #line 2987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30971              : ((operands[1] == const0_rtx || operands[1] == constm1_rtx)
   30972              :    && optimize_insn_for_size_p () && optimize_size > 1
   30973              :    && peep2_regno_dead_p (0, FLAGS_REG)))
   30974              :             {
   30975              :               *pmatch_len_ = 0;
   30976              :               res = gen_peephole2_9 (insn, operands);
   30977              :               if (res != NULL_RTX)
   30978              :                 return res;
   30979              :             }
   30980              :           break;
   30981              : 
   30982              :         case E_DImode:
   30983              :           if (memory_operand (operands[0], E_DImode)
   30984              :               && const_int_operand (operands[1], E_DImode)
   30985              :               && (
   30986              : #line 2987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30987              : ((operands[1] == const0_rtx || operands[1] == constm1_rtx)
   30988              :    && optimize_insn_for_size_p () && optimize_size > 1
   30989              :    && peep2_regno_dead_p (0, FLAGS_REG)) && 
   30990              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   30991              : (TARGET_64BIT)))
   30992              :             {
   30993              :               *pmatch_len_ = 0;
   30994              :               res = gen_peephole2_10 (insn, operands);
   30995              :               if (res != NULL_RTX)
   30996              :                 return res;
   30997              :             }
   30998              :           break;
   30999              : 
   31000              :         default:
   31001              :           break;
   31002              :         }
   31003              :       if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
   31004              :         {
   31005              :           res = peephole2_5 (x1, insn, pmatch_len_);
   31006              :           if (res != NULL_RTX)
   31007              :             return res;
   31008              :         }
   31009              :       operands[1] = x2;
   31010              :       operands[0] = x3;
   31011              :       switch (GET_MODE (operands[0]))
   31012              :         {
   31013              :         case E_QImode:
   31014              :           if (memory_operand (operands[0], E_QImode)
   31015              :               && immediate_operand (operands[1], E_QImode)
   31016              :               && 
   31017              : #line 28386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31018              : (optimize_insn_for_speed_p ()
   31019              :    && ((QImode == HImode
   31020              :        && TARGET_LCP_STALL)
   31021              :        || (TARGET_SPLIT_LONG_MOVES
   31022              :           && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))))
   31023              :             {
   31024              :               *pmatch_len_ = 0;
   31025              :               res = gen_peephole2_281 (insn, operands);
   31026              :               if (res != NULL_RTX)
   31027              :                 return res;
   31028              :             }
   31029              :           break;
   31030              : 
   31031              :         case E_HImode:
   31032              :           if (memory_operand (operands[0], E_HImode)
   31033              :               && immediate_operand (operands[1], E_HImode)
   31034              :               && 
   31035              : #line 28386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31036              : (optimize_insn_for_speed_p ()
   31037              :    && ((HImode == HImode
   31038              :        && TARGET_LCP_STALL)
   31039              :        || (TARGET_SPLIT_LONG_MOVES
   31040              :           && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))))
   31041              :             {
   31042              :               *pmatch_len_ = 0;
   31043              :               res = gen_peephole2_282 (insn, operands);
   31044              :               if (res != NULL_RTX)
   31045              :                 return res;
   31046              :             }
   31047              :           break;
   31048              : 
   31049              :         default:
   31050              :           break;
   31051              :         }
   31052              :       break;
   31053              : 
   31054              :     case REG:
   31055              :       res = peephole2_6 (x1, insn, pmatch_len_);
   31056              :       if (res != NULL_RTX)
   31057              :         return res;
   31058              :       break;
   31059              : 
   31060              :     case SUBREG:
   31061              :     case MEM:
   31062              :       res = peephole2_7 (x1, insn, pmatch_len_);
   31063              :       if (res != NULL_RTX)
   31064              :         return res;
   31065              :       break;
   31066              : 
   31067              :     default:
   31068              :       break;
   31069              :     }
   31070              :   if (peep2_current_count < 2)
   31071              :     return NULL;
   31072              :   x4 = PATTERN (peep2_next_insn (1));
   31073              :   if (GET_CODE (x4) != SET)
   31074              :     return NULL;
   31075              :   x3 = XEXP (x1, 0);
   31076              :   switch (GET_MODE (x3))
   31077              :     {
   31078              :     case E_HImode:
   31079              :       if (peep2_current_count >= 3
   31080              :           && peep2_current_count >= 4)
   31081              :         {
   31082              :           operands[2] = x3;
   31083              :           if (general_reg_operand (operands[2], E_HImode))
   31084              :             {
   31085              :               operands[3] = x2;
   31086              :               if (general_gr_operand (operands[3], E_HImode))
   31087              :                 {
   31088              :                   x5 = XEXP (x4, 0);
   31089              :                   operands[0] = x5;
   31090              :                   if (general_reg_operand (operands[0], E_HImode))
   31091              :                     {
   31092              :                       x6 = XEXP (x4, 1);
   31093              :                       if (pattern964 (x6, 
   31094              : E_HImode) == 0
   31095              :                           && 
   31096              : #line 26987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31097              : (TARGET_CMOVE
   31098              :   && REGNO (operands[2]) != REGNO (operands[0])
   31099              :   && REGNO (operands[2]) != REGNO (operands[1])
   31100              :   && peep2_reg_dead_p (2, operands[1])
   31101              :   && peep2_reg_dead_p (4, operands[2])
   31102              :   && !reg_overlap_mentioned_p (operands[0], operands[3])
   31103              :   && !reg_mentioned_p (operands[2], operands[6])))
   31104              :                         {
   31105              :                           *pmatch_len_ = 3;
   31106              :                           res = gen_peephole2_226 (insn, operands);
   31107              :                           if (res != NULL_RTX)
   31108              :                             return res;
   31109              :                         }
   31110              :                     }
   31111              :                 }
   31112              :             }
   31113              :         }
   31114              :       operands[0] = x3;
   31115              :       operands[1] = x2;
   31116              :       if (x86_64_general_operand (operands[1], E_HImode)
   31117              :           && general_reg_operand (operands[0], E_HImode))
   31118              :         {
   31119              :           x5 = XEXP (x4, 0);
   31120              :           operands[2] = x5;
   31121              :           if (general_reg_operand (operands[2], E_HImode))
   31122              :             {
   31123              :               x6 = XEXP (x4, 1);
   31124              :               if (rtx_equal_p (x6, operands[0])
   31125              :                   && 
   31126              : #line 27584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31127              : (peep2_reg_dead_p (2, operands[0])))
   31128              :                 {
   31129              :                   *pmatch_len_ = 1;
   31130              :                   res = gen_peephole2_250 (insn, operands);
   31131              :                   if (res != NULL_RTX)
   31132              :                     return res;
   31133              :                 }
   31134              :             }
   31135              :         }
   31136              :       if (peep2_current_count < 3
   31137              :           || pattern849 (x4, 
   31138              : E_HImode) != 0)
   31139              :         return NULL;
   31140              :       switch (GET_MODE (operands[4]))
   31141              :         {
   31142              :         case E_HImode:
   31143              :           x7 = PATTERN (peep2_next_insn (2));
   31144              :           x8 = XVECEXP (x7, 0, 0);
   31145              :           x9 = XEXP (x8, 1);
   31146              :           if (pattern1896 (x9, 
   31147              : E_HImode) != 0
   31148              :               || !
   31149              : #line 29032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31150              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31151              :    && (REGNO (operands[4]) == REGNO (operands[0])
   31152              :        || REGNO (operands[4]) == REGNO (operands[3]))
   31153              :    && (rtx_equal_p (operands[REGNO (operands[4]) == REGNO (operands[0])
   31154              :                              ? 3 : 0], operands[5])
   31155              :        ? rtx_equal_p (operands[2], operands[6])
   31156              :        : rtx_equal_p (operands[2], operands[5])
   31157              :          && rtx_equal_p (operands[REGNO (operands[4]) == REGNO (operands[0])
   31158              :                                   ? 3 : 0], operands[6]))
   31159              :    && peep2_reg_dead_p (4, operands[4])
   31160              :    && peep2_reg_dead_p (5, operands[REGNO (operands[4]) == REGNO (operands[0])
   31161              :                                     ? 3 : 0])
   31162              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31163              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31164              :    && !reg_overlap_mentioned_p (operands[3], operands[0])
   31165              :    && !reg_overlap_mentioned_p (operands[3], operands[1])
   31166              :    && !reg_overlap_mentioned_p (operands[3], operands[2])
   31167              :    && (HImode != QImode
   31168              :        || immediate_operand (operands[2], QImode)
   31169              :        || any_QIreg_operand (operands[2], QImode))))
   31170              :             return NULL;
   31171              :           *pmatch_len_ = 4;
   31172              :           return gen_peephole2_356 (insn, operands);
   31173              : 
   31174              :         case E_SImode:
   31175              :           x7 = PATTERN (peep2_next_insn (2));
   31176              :           x8 = XVECEXP (x7, 0, 0);
   31177              :           x9 = XEXP (x8, 1);
   31178              :           if (pattern1897 (x9, 
   31179              : E_HImode) != 0
   31180              :               || !
   31181              : #line 29076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31182              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31183              :    && (REGNO (operands[5]) == REGNO (operands[0])
   31184              :        || REGNO (operands[5]) == REGNO (operands[3]))
   31185              :    && REGNO (operands[5]) == REGNO (operands[4])
   31186              :    && (rtx_equal_p (operands[REGNO (operands[5]) == REGNO (operands[0])
   31187              :                              ? 3 : 0], operands[6])
   31188              :        ? (REG_P (operands[2])
   31189              :           ? REG_P (operands[7]) && REGNO (operands[2]) == REGNO (operands[7])
   31190              :           : rtx_equal_p (operands[2], operands[7]))
   31191              :        : (rtx_equal_p (operands[REGNO (operands[5]) == REGNO (operands[0])
   31192              :                                 ? 3 : 0], operands[7])
   31193              :           && REG_P (operands[2])
   31194              :           && REGNO (operands[2]) == REGNO (operands[6])))
   31195              :    && peep2_reg_dead_p (4, operands[5])
   31196              :    && peep2_reg_dead_p (5, operands[REGNO (operands[5]) == REGNO (operands[0])
   31197              :                                     ? 3 : 0])
   31198              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31199              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31200              :    && !reg_overlap_mentioned_p (operands[3], operands[0])
   31201              :    && !reg_overlap_mentioned_p (operands[3], operands[1])
   31202              :    && !reg_overlap_mentioned_p (operands[3], operands[2])
   31203              :    && (HImode != QImode
   31204              :        || immediate_operand (operands[2], SImode)
   31205              :        || any_QIreg_operand (operands[2], SImode))))
   31206              :             return NULL;
   31207              :           *pmatch_len_ = 4;
   31208              :           return gen_peephole2_360 (insn, operands);
   31209              : 
   31210              :         default:
   31211              :           return NULL;
   31212              :         }
   31213              : 
   31214              :     case E_QImode:
   31215              :       operands[0] = x3;
   31216              :       operands[1] = x2;
   31217              :       if (x86_64_general_operand (operands[1], E_QImode)
   31218              :           && general_reg_operand (operands[0], E_QImode))
   31219              :         {
   31220              :           x5 = XEXP (x4, 0);
   31221              :           operands[2] = x5;
   31222              :           if (general_reg_operand (operands[2], E_QImode))
   31223              :             {
   31224              :               x6 = XEXP (x4, 1);
   31225              :               if (rtx_equal_p (x6, operands[0])
   31226              :                   && 
   31227              : #line 27584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31228              : (peep2_reg_dead_p (2, operands[0])))
   31229              :                 {
   31230              :                   *pmatch_len_ = 1;
   31231              :                   res = gen_peephole2_249 (insn, operands);
   31232              :                   if (res != NULL_RTX)
   31233              :                     return res;
   31234              :                 }
   31235              :             }
   31236              :         }
   31237              :       if (peep2_current_count < 3
   31238              :           || pattern849 (x4, 
   31239              : E_QImode) != 0)
   31240              :         return NULL;
   31241              :       switch (GET_MODE (operands[4]))
   31242              :         {
   31243              :         case E_QImode:
   31244              :           x7 = PATTERN (peep2_next_insn (2));
   31245              :           x8 = XVECEXP (x7, 0, 0);
   31246              :           x9 = XEXP (x8, 1);
   31247              :           if (pattern1896 (x9, 
   31248              : E_QImode) != 0
   31249              :               || !
   31250              : #line 29032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31251              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31252              :    && (REGNO (operands[4]) == REGNO (operands[0])
   31253              :        || REGNO (operands[4]) == REGNO (operands[3]))
   31254              :    && (rtx_equal_p (operands[REGNO (operands[4]) == REGNO (operands[0])
   31255              :                              ? 3 : 0], operands[5])
   31256              :        ? rtx_equal_p (operands[2], operands[6])
   31257              :        : rtx_equal_p (operands[2], operands[5])
   31258              :          && rtx_equal_p (operands[REGNO (operands[4]) == REGNO (operands[0])
   31259              :                                   ? 3 : 0], operands[6]))
   31260              :    && peep2_reg_dead_p (4, operands[4])
   31261              :    && peep2_reg_dead_p (5, operands[REGNO (operands[4]) == REGNO (operands[0])
   31262              :                                     ? 3 : 0])
   31263              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31264              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31265              :    && !reg_overlap_mentioned_p (operands[3], operands[0])
   31266              :    && !reg_overlap_mentioned_p (operands[3], operands[1])
   31267              :    && !reg_overlap_mentioned_p (operands[3], operands[2])
   31268              :    && (QImode != QImode
   31269              :        || immediate_operand (operands[2], QImode)
   31270              :        || any_QIreg_operand (operands[2], QImode))))
   31271              :             return NULL;
   31272              :           *pmatch_len_ = 4;
   31273              :           return gen_peephole2_355 (insn, operands);
   31274              : 
   31275              :         case E_SImode:
   31276              :           x7 = PATTERN (peep2_next_insn (2));
   31277              :           x8 = XVECEXP (x7, 0, 0);
   31278              :           x9 = XEXP (x8, 1);
   31279              :           if (pattern1897 (x9, 
   31280              : E_QImode) != 0
   31281              :               || !
   31282              : #line 29076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31283              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31284              :    && (REGNO (operands[5]) == REGNO (operands[0])
   31285              :        || REGNO (operands[5]) == REGNO (operands[3]))
   31286              :    && REGNO (operands[5]) == REGNO (operands[4])
   31287              :    && (rtx_equal_p (operands[REGNO (operands[5]) == REGNO (operands[0])
   31288              :                              ? 3 : 0], operands[6])
   31289              :        ? (REG_P (operands[2])
   31290              :           ? REG_P (operands[7]) && REGNO (operands[2]) == REGNO (operands[7])
   31291              :           : rtx_equal_p (operands[2], operands[7]))
   31292              :        : (rtx_equal_p (operands[REGNO (operands[5]) == REGNO (operands[0])
   31293              :                                 ? 3 : 0], operands[7])
   31294              :           && REG_P (operands[2])
   31295              :           && REGNO (operands[2]) == REGNO (operands[6])))
   31296              :    && peep2_reg_dead_p (4, operands[5])
   31297              :    && peep2_reg_dead_p (5, operands[REGNO (operands[5]) == REGNO (operands[0])
   31298              :                                     ? 3 : 0])
   31299              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31300              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31301              :    && !reg_overlap_mentioned_p (operands[3], operands[0])
   31302              :    && !reg_overlap_mentioned_p (operands[3], operands[1])
   31303              :    && !reg_overlap_mentioned_p (operands[3], operands[2])
   31304              :    && (QImode != QImode
   31305              :        || immediate_operand (operands[2], SImode)
   31306              :        || any_QIreg_operand (operands[2], SImode))))
   31307              :             return NULL;
   31308              :           *pmatch_len_ = 4;
   31309              :           return gen_peephole2_359 (insn, operands);
   31310              : 
   31311              :         default:
   31312              :           return NULL;
   31313              :         }
   31314              : 
   31315              :     default:
   31316              :       return NULL;
   31317              :     }
   31318              : }
   31319              : 
   31320              :  rtx_insn *
   31321              : peephole2_14 (rtx x1 ATTRIBUTE_UNUSED,
   31322              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31323              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31324              : {
   31325              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31326              :   rtx x2, x3, x4, x5, x6;
   31327              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31328              :   x2 = XEXP (x1, 0);
   31329              :   operands[0] = x2;
   31330              :   res = peephole2_12 (x1, insn, pmatch_len_);
   31331              :   if (res != NULL_RTX)
   31332              :     return res;
   31333              :   if (peep2_current_count < 2)
   31334              :     return NULL;
   31335              :   if (peep2_current_count >= 3
   31336              :       && peep2_current_count >= 4)
   31337              :     {
   31338              :       if (general_reg_operand (x2, E_SImode))
   31339              :         {
   31340              :           res = peephole2_13 (x1, insn, pmatch_len_);
   31341              :           if (res != NULL_RTX)
   31342              :             return res;
   31343              :         }
   31344              :       if (peep2_current_count >= 5
   31345              :           && pattern606 (x1, 
   31346              : E_SImode) == 0
   31347              :           && 
   31348              : #line 27534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31349              : (optimize_insn_for_size_p ()
   31350              :    && INSN_UID (peep2_next_insn (0)) == ix86_last_zero_store_uid))
   31351              :         {
   31352              :           *pmatch_len_ = 4;
   31353              :           res = gen_peephole2_243 (insn, operands);
   31354              :           if (res != NULL_RTX)
   31355              :             return res;
   31356              :         }
   31357              :     }
   31358              :   operands[3] = x2;
   31359              :   if (peep2_current_count >= 3)
   31360              :     {
   31361              :       x3 = XEXP (x1, 1);
   31362              :       if (pattern418 (x3, 
   31363              : E_SImode) == 0
   31364              :           && 
   31365              : #line 27552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31366              : (optimize_insn_for_size_p ()
   31367              :    && INSN_UID (peep2_next_insn (0)) == ix86_last_zero_store_uid))
   31368              :         {
   31369              :           *pmatch_len_ = 2;
   31370              :           res = gen_peephole2_245 (insn, operands);
   31371              :           if (res != NULL_RTX)
   31372              :             return res;
   31373              :         }
   31374              :     }
   31375              :   if (general_reg_operand (operands[3], E_SImode))
   31376              :     {
   31377              :       x3 = XEXP (x1, 1);
   31378              :       switch (pattern419 (x3, 
   31379              : E_SImode))
   31380              :         {
   31381              :         case 0:
   31382              :           if ((
   31383              : #line 28083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31384              : (GET_MODE (operands[2]) == word_mode
   31385              :    && peep2_reg_dead_p (0, operands[3])
   31386              :    && peep2_reg_dead_p (2, operands[2])
   31387              :    && !reg_mentioned_p (operands[3], operands[0])
   31388              :    && !reg_mentioned_p (operands[3], operands[1])) && 
   31389              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31390              : (ptr_mode == SImode)))
   31391              :             {
   31392              :               *pmatch_len_ = 1;
   31393              :               res = gen_peephole2_261 (insn, operands);
   31394              :               if (res != NULL_RTX)
   31395              :                 return res;
   31396              :             }
   31397              :           break;
   31398              : 
   31399              :         case 1:
   31400              :           if ((
   31401              : #line 28083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31402              : (GET_MODE (operands[2]) == word_mode
   31403              :    && peep2_reg_dead_p (0, operands[3])
   31404              :    && peep2_reg_dead_p (2, operands[2])
   31405              :    && !reg_mentioned_p (operands[3], operands[0])
   31406              :    && !reg_mentioned_p (operands[3], operands[1])) && 
   31407              : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31408              : (ptr_mode == DImode)))
   31409              :             {
   31410              :               *pmatch_len_ = 1;
   31411              :               res = gen_peephole2_263 (insn, operands);
   31412              :               if (res != NULL_RTX)
   31413              :                 return res;
   31414              :             }
   31415              :           break;
   31416              : 
   31417              :         default:
   31418              :           break;
   31419              :         }
   31420              :     }
   31421              :   x4 = PATTERN (peep2_next_insn (1));
   31422              :   if (GET_CODE (x4) != SET)
   31423              :     return NULL;
   31424              :   operands[2] = x2;
   31425              :   if (memory_operand (operands[2], E_SImode))
   31426              :     {
   31427              :       x3 = XEXP (x1, 1);
   31428              :       operands[0] = x3;
   31429              :       if (general_reg_operand (operands[0], E_SImode))
   31430              :         {
   31431              :           x5 = XEXP (x4, 1);
   31432              :           if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
   31433              :             {
   31434              :               x6 = XEXP (x4, 0);
   31435              :               operands[1] = x6;
   31436              :               if (memory_operand (operands[1], E_SImode)
   31437              :                   && 
   31438              : #line 27567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31439              : (optimize_insn_for_size_p ()
   31440              :    && INSN_UID (peep2_next_insn (0)) == ix86_last_zero_store_uid))
   31441              :                 {
   31442              :                   *pmatch_len_ = 1;
   31443              :                   res = gen_peephole2_247 (insn, operands);
   31444              :                   if (res != NULL_RTX)
   31445              :                     return res;
   31446              :                 }
   31447              :             }
   31448              :         }
   31449              :     }
   31450              :   operands[0] = x2;
   31451              :   if (!general_reg_operand (operands[0], E_SImode))
   31452              :     return NULL;
   31453              :   x3 = XEXP (x1, 1);
   31454              :   operands[1] = x3;
   31455              :   if (!x86_64_general_operand (operands[1], E_SImode))
   31456              :     return NULL;
   31457              :   x6 = XEXP (x4, 0);
   31458              :   operands[2] = x6;
   31459              :   if (!general_reg_operand (operands[2], E_SImode))
   31460              :     return NULL;
   31461              :   x5 = XEXP (x4, 1);
   31462              :   if (!rtx_equal_p (x5, operands[0])
   31463              :       || !
   31464              : #line 27584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31465              : (peep2_reg_dead_p (2, operands[0])))
   31466              :     return NULL;
   31467              :   *pmatch_len_ = 1;
   31468              :   return gen_peephole2_251 (insn, operands);
   31469              : }
   31470              : 
   31471              :  rtx_insn *
   31472              : peephole2_17 (rtx x1 ATTRIBUTE_UNUSED,
   31473              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31474              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31475              : {
   31476              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31477              :   rtx x2, x3;
   31478              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31479              :   x2 = PATTERN (peep2_next_insn (1));
   31480              :   if (GET_CODE (x2) != SET)
   31481              :     return NULL;
   31482              :   x3 = XEXP (x2, 0);
   31483              :   if (!general_reg_operand (x3, E_DImode))
   31484              :     return NULL;
   31485              :   operands[8] = x3;
   31486              :   switch (pattern962 (x1, 
   31487              : E_DImode, 
   31488              : E_TImode))
   31489              :     {
   31490              :     case 0:
   31491              :       if ((
   31492              : #line 10003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31493              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31494              :    && peep2_reg_dead_p (4, operands[0])
   31495              :    && peep2_reg_dead_p (3, operands[2])
   31496              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31497              :    && !reg_overlap_mentioned_p (operands[2], operands[1])
   31498              :    && !reg_overlap_mentioned_p (operands[6], operands[9])
   31499              :    && (rtx_equal_p (operands[6], operands[0])
   31500              :        ? (rtx_equal_p (operands[7], operands[1])
   31501              :           && rtx_equal_p (operands[8], operands[2]))
   31502              :        : (rtx_equal_p (operands[8], operands[0])
   31503              :           && rtx_equal_p (operands[9], operands[1])
   31504              :           && rtx_equal_p (operands[6], operands[2])))) && 
   31505              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31506              : (TARGET_64BIT)))
   31507              :         {
   31508              :           *pmatch_len_ = 3;
   31509              :           res = gen_peephole2_117 (insn, operands);
   31510              :           if (res != NULL_RTX)
   31511              :             return res;
   31512              :         }
   31513              :       break;
   31514              : 
   31515              :     case 1:
   31516              :       if ((
   31517              : #line 10058 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31518              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31519              :    && peep2_reg_dead_p (6, operands[0])
   31520              :    && peep2_reg_dead_p (3, operands[2])
   31521              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31522              :    && !reg_overlap_mentioned_p (operands[2], operands[1])
   31523              :    && !reg_overlap_mentioned_p (operands[6], operands[9])
   31524              :    && !reg_overlap_mentioned_p (operands[0], operands[10])
   31525              :    && !reg_overlap_mentioned_p (operands[10], operands[1])
   31526              :    && !reg_overlap_mentioned_p (operands[0], operands[11])
   31527              :    && !reg_overlap_mentioned_p (operands[11], operands[1])
   31528              :    && (rtx_equal_p (operands[6], operands[0])
   31529              :        ? (rtx_equal_p (operands[7], operands[1])
   31530              :           && rtx_equal_p (operands[8], operands[2]))
   31531              :        : (rtx_equal_p (operands[8], operands[0])
   31532              :           && rtx_equal_p (operands[9], operands[1])
   31533              :           && rtx_equal_p (operands[6], operands[2])))) && 
   31534              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31535              : (TARGET_64BIT)))
   31536              :         {
   31537              :           *pmatch_len_ = 5;
   31538              :           res = gen_peephole2_119 (insn, operands);
   31539              :           if (res != NULL_RTX)
   31540              :             return res;
   31541              :         }
   31542              :       break;
   31543              : 
   31544              :     default:
   31545              :       break;
   31546              :     }
   31547              :   operands[0] = x3;
   31548              :   if (pattern965 (x1, 
   31549              : E_DImode) != 0
   31550              :       || !(
   31551              : #line 26987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31552              : (TARGET_CMOVE
   31553              :   && REGNO (operands[2]) != REGNO (operands[0])
   31554              :   && REGNO (operands[2]) != REGNO (operands[1])
   31555              :   && peep2_reg_dead_p (2, operands[1])
   31556              :   && peep2_reg_dead_p (4, operands[2])
   31557              :   && !reg_overlap_mentioned_p (operands[0], operands[3])
   31558              :   && !reg_mentioned_p (operands[2], operands[6])) && 
   31559              : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31560              : (TARGET_64BIT)))
   31561              :     return NULL;
   31562              :   *pmatch_len_ = 3;
   31563              :   return gen_peephole2_228 (insn, operands);
   31564              : }
   31565              : 
   31566              :  rtx_insn *
   31567              : peephole2_22 (rtx x1 ATTRIBUTE_UNUSED,
   31568              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31569              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31570              : {
   31571              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31572              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   31573              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31574              :   if (peep2_current_count >= 3)
   31575              :     {
   31576              :       res = peephole2_20 (x1, insn, pmatch_len_);
   31577              :       if (res != NULL_RTX)
   31578              :         return res;
   31579              :     }
   31580              :   x2 = XEXP (x1, 0);
   31581              :   operands[0] = x2;
   31582              :   x3 = XEXP (x1, 1);
   31583              :   operands[1] = x3;
   31584              :   if (fp_register_operand (operands[1], E_VOIDmode)
   31585              :       && fp_register_operand (operands[0], E_VOIDmode))
   31586              :     {
   31587              :       res = peephole2_21 (x1, insn, pmatch_len_);
   31588              :       if (res != NULL_RTX)
   31589              :         return res;
   31590              :     }
   31591              :   if (general_reg_operand (operands[1], E_QImode))
   31592              :     {
   31593              :       x4 = PATTERN (peep2_next_insn (1));
   31594              :       if (pattern420 (x4, 
   31595              : E_QImode) == 0
   31596              :           && 
   31597              : #line 28546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31598              : (REGNO (operands[0]) != REGNO (operands[1])
   31599              :    && (QImode != QImode
   31600              :        || any_QIreg_operand (operands[1], QImode))))
   31601              :         {
   31602              :           *pmatch_len_ = 1;
   31603              :           res = gen_peephole2_301 (insn, operands);
   31604              :           if (res != NULL_RTX)
   31605              :             return res;
   31606              :         }
   31607              :     }
   31608              :   if (general_reg_operand (operands[1], E_HImode))
   31609              :     {
   31610              :       x4 = PATTERN (peep2_next_insn (1));
   31611              :       if (pattern420 (x4, 
   31612              : E_HImode) == 0
   31613              :           && 
   31614              : #line 28546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31615              : (REGNO (operands[0]) != REGNO (operands[1])
   31616              :    && (HImode != QImode
   31617              :        || any_QIreg_operand (operands[1], QImode))))
   31618              :         {
   31619              :           *pmatch_len_ = 1;
   31620              :           res = gen_peephole2_302 (insn, operands);
   31621              :           if (res != NULL_RTX)
   31622              :             return res;
   31623              :         }
   31624              :     }
   31625              :   if (general_reg_operand (operands[1], E_DImode))
   31626              :     {
   31627              :       x4 = PATTERN (peep2_next_insn (1));
   31628              :       if (pattern420 (x4, 
   31629              : E_DImode) == 0
   31630              :           && (
   31631              : #line 28546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31632              : (REGNO (operands[0]) != REGNO (operands[1])
   31633              :    && (DImode != QImode
   31634              :        || any_QIreg_operand (operands[1], QImode))) && 
   31635              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31636              : (TARGET_64BIT)))
   31637              :         {
   31638              :           *pmatch_len_ = 1;
   31639              :           res = gen_peephole2_304 (insn, operands);
   31640              :           if (res != NULL_RTX)
   31641              :             return res;
   31642              :         }
   31643              :     }
   31644              :   if (peep2_current_count < 3
   31645              :       || peep2_current_count < 4)
   31646              :     return NULL;
   31647              :   if (memory_operand (operands[1], E_QImode))
   31648              :     {
   31649              :       x4 = PATTERN (peep2_next_insn (1));
   31650              :       if (pattern734 (x4, 
   31651              : E_QImode) == 0)
   31652              :         {
   31653              :           x5 = XVECEXP (x4, 0, 0);
   31654              :           x6 = XEXP (x5, 1);
   31655              :           operands[3] = x6;
   31656              :           if (pattern1359 (x4, 
   31657              : E_QImode) == 0)
   31658              :             {
   31659              :               x7 = PATTERN (peep2_next_insn (2));
   31660              :               x8 = XEXP (x7, 0);
   31661              :               if (rtx_equal_p (x8, operands[1]))
   31662              :                 {
   31663              :                   x9 = PATTERN (peep2_next_insn (3));
   31664              :                   if (pattern1850 (x9) == 0
   31665              :                       && 
   31666              : #line 28637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31667              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31668              :    && peep2_reg_dead_p (4, operands[0])
   31669              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31670              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31671              :    && (QImode != QImode
   31672              :        || immediate_operand (operands[2], QImode)
   31673              :        || any_QIreg_operand (operands[2], QImode))
   31674              :    && ix86_match_ccmode (peep2_next_insn (3),
   31675              :                          (GET_CODE (operands[3]) == PLUS
   31676              :                           || GET_CODE (operands[3]) == MINUS)
   31677              :                          ? CCGOCmode : CCNOmode)))
   31678              :                     {
   31679              :                       *pmatch_len_ = 3;
   31680              :                       res = gen_peephole2_315 (insn, operands);
   31681              :                       if (res != NULL_RTX)
   31682              :                         return res;
   31683              :                     }
   31684              :                 }
   31685              :               if (peep2_current_count >= 5
   31686              :                   && pattern1851 (x8, 
   31687              : E_QImode) == 0
   31688              :                   && 
   31689              : #line 28918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31690              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31691              :    && peep2_reg_dead_p (3, operands[0])
   31692              :    && peep2_reg_dead_p (5, operands[4])
   31693              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31694              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31695              :    && !reg_overlap_mentioned_p (operands[4], operands[1])
   31696              :    && (QImode != QImode
   31697              :        || immediate_operand (operands[2], QImode)
   31698              :        || any_QIreg_operand (operands[2], QImode))
   31699              :    && ix86_match_ccmode (peep2_next_insn (4),
   31700              :                          (GET_CODE (operands[3]) == PLUS
   31701              :                           || GET_CODE (operands[3]) == MINUS)
   31702              :                          ? CCGOCmode : CCNOmode)))
   31703              :                 {
   31704              :                   *pmatch_len_ = 4;
   31705              :                   res = gen_peephole2_345 (insn, operands);
   31706              :                   if (res != NULL_RTX)
   31707              :                     return res;
   31708              :                 }
   31709              :             }
   31710              :           if (GET_CODE (x6) == XOR
   31711              :               && pattern1360 (x4, 
   31712              : E_QImode) == 0
   31713              :               && 
   31714              : #line 28843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31715              : (TARGET_APX_NDD
   31716              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31717              :    && REGNO (operands[3]) == REGNO (operands[0])
   31718              :    && (rtx_equal_p (operands[0], operands[5])
   31719              :        ? rtx_equal_p (operands[2], operands[6])
   31720              :        : rtx_equal_p (operands[2], operands[5])
   31721              :          && rtx_equal_p (operands[0], operands[6]))
   31722              :    && peep2_reg_dead_p (3, operands[4])
   31723              :    && peep2_reg_dead_p (4, operands[0])
   31724              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31725              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31726              :    && (QImode != QImode
   31727              :        || immediate_operand (operands[2], QImode)
   31728              :        || any_QIreg_operand (operands[2], QImode))))
   31729              :             {
   31730              :               *pmatch_len_ = 3;
   31731              :               res = gen_peephole2_339 (insn, operands);
   31732              :               if (res != NULL_RTX)
   31733              :                 return res;
   31734              :             }
   31735              :         }
   31736              :     }
   31737              :   if (memory_operand (operands[1], E_HImode))
   31738              :     {
   31739              :       x4 = PATTERN (peep2_next_insn (1));
   31740              :       if (pattern734 (x4, 
   31741              : E_HImode) == 0)
   31742              :         {
   31743              :           x5 = XVECEXP (x4, 0, 0);
   31744              :           x6 = XEXP (x5, 1);
   31745              :           operands[3] = x6;
   31746              :           if (pattern1359 (x4, 
   31747              : E_HImode) == 0)
   31748              :             {
   31749              :               x7 = PATTERN (peep2_next_insn (2));
   31750              :               x8 = XEXP (x7, 0);
   31751              :               if (rtx_equal_p (x8, operands[1]))
   31752              :                 {
   31753              :                   x9 = PATTERN (peep2_next_insn (3));
   31754              :                   if (pattern1850 (x9) == 0
   31755              :                       && 
   31756              : #line 28637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31757              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31758              :    && peep2_reg_dead_p (4, operands[0])
   31759              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31760              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31761              :    && (HImode != QImode
   31762              :        || immediate_operand (operands[2], QImode)
   31763              :        || any_QIreg_operand (operands[2], QImode))
   31764              :    && ix86_match_ccmode (peep2_next_insn (3),
   31765              :                          (GET_CODE (operands[3]) == PLUS
   31766              :                           || GET_CODE (operands[3]) == MINUS)
   31767              :                          ? CCGOCmode : CCNOmode)))
   31768              :                     {
   31769              :                       *pmatch_len_ = 3;
   31770              :                       res = gen_peephole2_316 (insn, operands);
   31771              :                       if (res != NULL_RTX)
   31772              :                         return res;
   31773              :                     }
   31774              :                 }
   31775              :               if (peep2_current_count >= 5
   31776              :                   && pattern1851 (x8, 
   31777              : E_HImode) == 0
   31778              :                   && 
   31779              : #line 28918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31780              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31781              :    && peep2_reg_dead_p (3, operands[0])
   31782              :    && peep2_reg_dead_p (5, operands[4])
   31783              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31784              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31785              :    && !reg_overlap_mentioned_p (operands[4], operands[1])
   31786              :    && (HImode != QImode
   31787              :        || immediate_operand (operands[2], QImode)
   31788              :        || any_QIreg_operand (operands[2], QImode))
   31789              :    && ix86_match_ccmode (peep2_next_insn (4),
   31790              :                          (GET_CODE (operands[3]) == PLUS
   31791              :                           || GET_CODE (operands[3]) == MINUS)
   31792              :                          ? CCGOCmode : CCNOmode)))
   31793              :                 {
   31794              :                   *pmatch_len_ = 4;
   31795              :                   res = gen_peephole2_346 (insn, operands);
   31796              :                   if (res != NULL_RTX)
   31797              :                     return res;
   31798              :                 }
   31799              :             }
   31800              :           if (GET_CODE (x6) == XOR
   31801              :               && pattern1360 (x4, 
   31802              : E_HImode) == 0
   31803              :               && 
   31804              : #line 28843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31805              : (TARGET_APX_NDD
   31806              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31807              :    && REGNO (operands[3]) == REGNO (operands[0])
   31808              :    && (rtx_equal_p (operands[0], operands[5])
   31809              :        ? rtx_equal_p (operands[2], operands[6])
   31810              :        : rtx_equal_p (operands[2], operands[5])
   31811              :          && rtx_equal_p (operands[0], operands[6]))
   31812              :    && peep2_reg_dead_p (3, operands[4])
   31813              :    && peep2_reg_dead_p (4, operands[0])
   31814              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31815              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31816              :    && (HImode != QImode
   31817              :        || immediate_operand (operands[2], QImode)
   31818              :        || any_QIreg_operand (operands[2], QImode))))
   31819              :             {
   31820              :               *pmatch_len_ = 3;
   31821              :               res = gen_peephole2_340 (insn, operands);
   31822              :               if (res != NULL_RTX)
   31823              :                 return res;
   31824              :             }
   31825              :         }
   31826              :     }
   31827              :   if (!memory_operand (operands[1], E_DImode))
   31828              :     return NULL;
   31829              :   x4 = PATTERN (peep2_next_insn (1));
   31830              :   if (pattern734 (x4, 
   31831              : E_DImode) != 0)
   31832              :     return NULL;
   31833              :   x5 = XVECEXP (x4, 0, 0);
   31834              :   x6 = XEXP (x5, 1);
   31835              :   operands[3] = x6;
   31836              :   if (pattern1361 (x4, 
   31837              : E_DImode) == 0
   31838              :       && pattern1358 (x5) == 0)
   31839              :     {
   31840              :       x7 = PATTERN (peep2_next_insn (2));
   31841              :       x8 = XEXP (x7, 0);
   31842              :       if (rtx_equal_p (x8, operands[1]))
   31843              :         {
   31844              :           x9 = PATTERN (peep2_next_insn (3));
   31845              :           if (pattern1850 (x9) == 0
   31846              :               && (
   31847              : #line 28637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31848              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31849              :    && peep2_reg_dead_p (4, operands[0])
   31850              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31851              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31852              :    && (DImode != QImode
   31853              :        || immediate_operand (operands[2], QImode)
   31854              :        || any_QIreg_operand (operands[2], QImode))
   31855              :    && ix86_match_ccmode (peep2_next_insn (3),
   31856              :                          (GET_CODE (operands[3]) == PLUS
   31857              :                           || GET_CODE (operands[3]) == MINUS)
   31858              :                          ? CCGOCmode : CCNOmode)) && 
   31859              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31860              : (TARGET_64BIT)))
   31861              :             {
   31862              :               *pmatch_len_ = 3;
   31863              :               res = gen_peephole2_318 (insn, operands);
   31864              :               if (res != NULL_RTX)
   31865              :                 return res;
   31866              :             }
   31867              :         }
   31868              :       if (peep2_current_count >= 5
   31869              :           && pattern1851 (x8, 
   31870              : E_DImode) == 0
   31871              :           && (
   31872              : #line 28918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31873              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31874              :    && peep2_reg_dead_p (3, operands[0])
   31875              :    && peep2_reg_dead_p (5, operands[4])
   31876              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31877              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31878              :    && !reg_overlap_mentioned_p (operands[4], operands[1])
   31879              :    && (DImode != QImode
   31880              :        || immediate_operand (operands[2], QImode)
   31881              :        || any_QIreg_operand (operands[2], QImode))
   31882              :    && ix86_match_ccmode (peep2_next_insn (4),
   31883              :                          (GET_CODE (operands[3]) == PLUS
   31884              :                           || GET_CODE (operands[3]) == MINUS)
   31885              :                          ? CCGOCmode : CCNOmode)) && 
   31886              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31887              : (TARGET_64BIT)))
   31888              :         {
   31889              :           *pmatch_len_ = 4;
   31890              :           res = gen_peephole2_348 (insn, operands);
   31891              :           if (res != NULL_RTX)
   31892              :             return res;
   31893              :         }
   31894              :     }
   31895              :   if (GET_CODE (x6) != XOR
   31896              :       || pattern1362 (x4, 
   31897              : E_DImode) != 0)
   31898              :     return NULL;
   31899              :   x7 = PATTERN (peep2_next_insn (2));
   31900              :   if (GET_CODE (x7) != SET
   31901              :       || pattern1832 (x7, 
   31902              : E_DImode) != 0
   31903              :       || !(
   31904              : #line 28843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31905              : (TARGET_APX_NDD
   31906              :    && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   31907              :    && REGNO (operands[3]) == REGNO (operands[0])
   31908              :    && (rtx_equal_p (operands[0], operands[5])
   31909              :        ? rtx_equal_p (operands[2], operands[6])
   31910              :        : rtx_equal_p (operands[2], operands[5])
   31911              :          && rtx_equal_p (operands[0], operands[6]))
   31912              :    && peep2_reg_dead_p (3, operands[4])
   31913              :    && peep2_reg_dead_p (4, operands[0])
   31914              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   31915              :    && !reg_overlap_mentioned_p (operands[0], operands[2])
   31916              :    && (DImode != QImode
   31917              :        || immediate_operand (operands[2], QImode)
   31918              :        || any_QIreg_operand (operands[2], QImode))) && 
   31919              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31920              : (TARGET_64BIT)))
   31921              :     return NULL;
   31922              :   *pmatch_len_ = 3;
   31923              :   return gen_peephole2_342 (insn, operands);
   31924              : }
   31925              : 
   31926              :  rtx_insn *
   31927              : peephole2_41 (rtx x1 ATTRIBUTE_UNUSED,
   31928              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   31929              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   31930              : {
   31931              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   31932              :   rtx x2, x3, x4, x5, x6, x7, x8;
   31933              :   rtx_insn *res ATTRIBUTE_UNUSED;
   31934              :   x2 = XVECEXP (x1, 0, 1);
   31935              :   if (pattern236 (x2, 
   31936              : E_CCmode, 
   31937              : 17) != 0)
   31938              :     return NULL;
   31939              :   x3 = XVECEXP (x1, 0, 0);
   31940              :   x4 = XEXP (x3, 1);
   31941              :   switch (XWINT (x4, 0))
   31942              :     {
   31943              :     case 0L:
   31944              :       res = peephole2_40 (x1, insn, pmatch_len_);
   31945              :       if (res != NULL_RTX)
   31946              :         return res;
   31947              :       break;
   31948              : 
   31949              :     case 1L:
   31950              :       x5 = XEXP (x3, 0);
   31951              :       if (GET_CODE (x5) == ZERO_EXTRACT
   31952              :           && pattern1076 (x5) == 0
   31953              :           && 
   31954              : #line 19417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   31955              : (TARGET_64BIT && !TARGET_USE_BT))
   31956              :         {
   31957              :           *pmatch_len_ = 0;
   31958              :           res = gen_peephole2_185 (insn, operands);
   31959              :           if (res != NULL_RTX)
   31960              :             return res;
   31961              :         }
   31962              :       break;
   31963              : 
   31964              :     default:
   31965              :       break;
   31966              :     }
   31967              :   if (peep2_current_count < 2
   31968              :       || peep2_current_count < 3)
   31969              :     return NULL;
   31970              :   x5 = XEXP (x3, 0);
   31971              :   operands[0] = x5;
   31972              :   x6 = PATTERN (peep2_next_insn (1));
   31973              :   if (pattern421 (x6, 
   31974              : UNSPEC_VOLATILE, 
   31975              : 3) != 0)
   31976              :     return NULL;
   31977              :   x7 = XVECEXP (x6, 0, 1);
   31978              :   if (GET_CODE (x7) != SET)
   31979              :     return NULL;
   31980              :   x8 = PATTERN (peep2_next_insn (2));
   31981              :   if (pattern1546 (x8) != 0)
   31982              :     return NULL;
   31983              :   switch (GET_MODE (operands[0]))
   31984              :     {
   31985              :     case E_SImode:
   31986              :       if (!register_operand (operands[0], E_SImode))
   31987              :         return NULL;
   31988              :       operands[1] = x4;
   31989              :       switch (pattern1835 (x6, 
   31990              : E_SImode))
   31991              :         {
   31992              :         case 0:
   31993              :           if (
   31994              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   31995              : (REGNO (operands[0]) == REGNO (operands[2])))
   31996              :             {
   31997              :               *pmatch_len_ = 2;
   31998              :               res = gen_peephole2_439 (insn, operands);
   31999              :               if (res != NULL_RTX)
   32000              :                 return res;
   32001              :             }
   32002              :           break;
   32003              : 
   32004              :         case 1:
   32005              :           if (
   32006              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32007              : (REGNO (operands[0]) == REGNO (operands[2])))
   32008              :             {
   32009              :               *pmatch_len_ = 2;
   32010              :               res = gen_peephole2_441 (insn, operands);
   32011              :               if (res != NULL_RTX)
   32012              :                 return res;
   32013              :             }
   32014              :           break;
   32015              : 
   32016              :         case 2:
   32017              :           if (
   32018              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32019              : (REGNO (operands[0]) == REGNO (operands[2])))
   32020              :             {
   32021              :               *pmatch_len_ = 2;
   32022              :               res = gen_peephole2_443 (insn, operands);
   32023              :               if (res != NULL_RTX)
   32024              :                 return res;
   32025              :             }
   32026              :           break;
   32027              : 
   32028              :         case 3:
   32029              :           if ((
   32030              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32031              : (REGNO (operands[0]) == REGNO (operands[2])) && 
   32032              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32033              : (TARGET_64BIT)))
   32034              :             {
   32035              :               *pmatch_len_ = 2;
   32036              :               res = gen_peephole2_445 (insn, operands);
   32037              :               if (res != NULL_RTX)
   32038              :                 return res;
   32039              :             }
   32040              :           break;
   32041              : 
   32042              :         default:
   32043              :           break;
   32044              :         }
   32045              :       operands[2] = x4;
   32046              :       if (pattern1786 (x6, 
   32047              : E_SImode) != 0
   32048              :           || !
   32049              : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32050              : (peep2_reg_dead_p (3, operands[0])
   32051              :    && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
   32052              :       == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   32053              :    && !reg_overlap_mentioned_p (operands[0], operands[1])))
   32054              :         return NULL;
   32055              :       *pmatch_len_ = 2;
   32056              :       return gen_peephole2_453 (insn, operands);
   32057              : 
   32058              :     case E_DImode:
   32059              :       if (!register_operand (operands[0], E_DImode))
   32060              :         return NULL;
   32061              :       operands[1] = x4;
   32062              :       switch (pattern1835 (x6, 
   32063              : E_DImode))
   32064              :         {
   32065              :         case 0:
   32066              :           if ((
   32067              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32068              : (REGNO (operands[0]) == REGNO (operands[2])) && 
   32069              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32070              : (TARGET_64BIT)))
   32071              :             {
   32072              :               *pmatch_len_ = 2;
   32073              :               res = gen_peephole2_440 (insn, operands);
   32074              :               if (res != NULL_RTX)
   32075              :                 return res;
   32076              :             }
   32077              :           break;
   32078              : 
   32079              :         case 1:
   32080              :           if ((
   32081              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32082              : (REGNO (operands[0]) == REGNO (operands[2])) && 
   32083              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32084              : (TARGET_64BIT)))
   32085              :             {
   32086              :               *pmatch_len_ = 2;
   32087              :               res = gen_peephole2_442 (insn, operands);
   32088              :               if (res != NULL_RTX)
   32089              :                 return res;
   32090              :             }
   32091              :           break;
   32092              : 
   32093              :         case 2:
   32094              :           if ((
   32095              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32096              : (REGNO (operands[0]) == REGNO (operands[2])) && 
   32097              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32098              : (TARGET_64BIT)))
   32099              :             {
   32100              :               *pmatch_len_ = 2;
   32101              :               res = gen_peephole2_444 (insn, operands);
   32102              :               if (res != NULL_RTX)
   32103              :                 return res;
   32104              :             }
   32105              :           break;
   32106              : 
   32107              :         case 3:
   32108              :           if ((
   32109              : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32110              : (REGNO (operands[0]) == REGNO (operands[2])) && 
   32111              : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32112              : (TARGET_64BIT)))
   32113              :             {
   32114              :               *pmatch_len_ = 2;
   32115              :               res = gen_peephole2_446 (insn, operands);
   32116              :               if (res != NULL_RTX)
   32117              :                 return res;
   32118              :             }
   32119              :           break;
   32120              : 
   32121              :         default:
   32122              :           break;
   32123              :         }
   32124              :       operands[2] = x4;
   32125              :       if (pattern1786 (x6, 
   32126              : E_DImode) != 0
   32127              :           || !(
   32128              : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32129              : (peep2_reg_dead_p (3, operands[0])
   32130              :    && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
   32131              :       == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   32132              :    && !reg_overlap_mentioned_p (operands[0], operands[1])) && 
   32133              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32134              : (TARGET_64BIT)))
   32135              :         return NULL;
   32136              :       *pmatch_len_ = 2;
   32137              :       return gen_peephole2_454 (insn, operands);
   32138              : 
   32139              :     case E_QImode:
   32140              :       if (pattern1787 (x4, 
   32141              : E_QImode) != 0
   32142              :           || !
   32143              : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32144              : (peep2_reg_dead_p (3, operands[0])
   32145              :    && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
   32146              :       == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   32147              :    && !reg_overlap_mentioned_p (operands[0], operands[1])))
   32148              :         return NULL;
   32149              :       *pmatch_len_ = 2;
   32150              :       return gen_peephole2_451 (insn, operands);
   32151              : 
   32152              :     case E_HImode:
   32153              :       if (pattern1787 (x4, 
   32154              : E_HImode) != 0
   32155              :           || !
   32156              : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
   32157              : (peep2_reg_dead_p (3, operands[0])
   32158              :    && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
   32159              :       == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   32160              :    && !reg_overlap_mentioned_p (operands[0], operands[1])))
   32161              :         return NULL;
   32162              :       *pmatch_len_ = 2;
   32163              :       return gen_peephole2_452 (insn, operands);
   32164              : 
   32165              :     default:
   32166              :       return NULL;
   32167              :     }
   32168              : }
   32169              : 
   32170              :  rtx_insn *
   32171              : peephole2_49 (rtx x1 ATTRIBUTE_UNUSED,
   32172              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   32173              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   32174              : {
   32175              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   32176              :   rtx x2, x3, x4, x5, x6, x7, x8;
   32177              :   rtx_insn *res ATTRIBUTE_UNUSED;
   32178              :   x2 = XVECEXP (x1, 0, 1);
   32179              :   x3 = XEXP (x2, 0);
   32180              :   if (GET_CODE (x3) != MEM
   32181              :       || GET_MODE (x3) != E_BLKmode)
   32182              :     return NULL;
   32183              :   x4 = XEXP (x3, 0);
   32184              :   if (GET_CODE (x4) != SCRATCH)
   32185              :     return NULL;
   32186              :   x5 = XVECEXP (x1, 0, 0);
   32187              :   x6 = XEXP (x5, 1);
   32188              :   x7 = XEXP (x6, 1);
   32189              :   operands[1] = x7;
   32190              :   x8 = XEXP (x6, 0);
   32191              :   if (!rtx_equal_p (x8, operands[0]))
   32192              :     return NULL;
   32193              :   switch (GET_MODE (operands[0]))
   32194              :     {
   32195              :     case E_SImode:
   32196              :       if (!register_operand (operands[0], E_SImode)
   32197              :           || GET_MODE (x6) != E_SImode
   32198              :           || !x86_64_nonmemory_operand (operands[1], E_SImode)
   32199              :           || !(
   32200              : #line 27741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32201              : (peep2_regno_dead_p (0, FLAGS_REG)) && 
   32202              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32203              : (Pmode == SImode)))
   32204              :         return NULL;
   32205              :       *pmatch_len_ = 0;
   32206              :       return gen_peephole2_253 (insn, operands);
   32207              : 
   32208              :     case E_DImode:
   32209              :       if (!register_operand (operands[0], E_DImode)
   32210              :           || GET_MODE (x6) != E_DImode
   32211              :           || !x86_64_nonmemory_operand (operands[1], E_DImode)
   32212              :           || !(
   32213              : #line 27741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32214              : (peep2_regno_dead_p (0, FLAGS_REG)) && 
   32215              : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32216              : (Pmode == DImode)))
   32217              :         return NULL;
   32218              :       *pmatch_len_ = 0;
   32219              :       return gen_peephole2_254 (insn, operands);
   32220              : 
   32221              :     default:
   32222              :       return NULL;
   32223              :     }
   32224              : }
   32225              : 
   32226              :  rtx_insn *
   32227              : peephole2_51 (rtx x1 ATTRIBUTE_UNUSED,
   32228              :         rtx_insn *insn ATTRIBUTE_UNUSED,
   32229              :         int *pmatch_len_ ATTRIBUTE_UNUSED)
   32230              : {
   32231              :   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
   32232              :   rtx x2, x3, x4, x5, x6, x7, x8, x9;
   32233              :   rtx x10, x11, x12, x13, x14;
   32234              :   rtx_insn *res ATTRIBUTE_UNUSED;
   32235              :   if (peep2_current_count < 3)
   32236              :     return NULL;
   32237              :   x2 = XVECEXP (x1, 0, 0);
   32238              :   x3 = XEXP (x2, 1);
   32239              :   operands[2] = x3;
   32240              :   x4 = XEXP (x2, 0);
   32241              :   operands[0] = x4;
   32242              :   x5 = XEXP (x3, 1);
   32243              :   operands[1] = x5;
   32244              :   x6 = XEXP (x3, 0);
   32245              :   if (!rtx_equal_p (x6, operands[0]))
   32246              :     return NULL;
   32247              :   x7 = PATTERN (peep2_next_insn (1));
   32248              :   if (GET_CODE (x7) != SET)
   32249              :     return NULL;
   32250              :   x8 = XEXP (x7, 1);
   32251              :   if (!rtx_equal_p (x8, operands[0]))
   32252              :     return NULL;
   32253              :   x9 = XEXP (x7, 0);
   32254              :   if (!rtx_equal_p (x9, operands[1]))
   32255              :     return NULL;
   32256              :   x10 = PATTERN (peep2_next_insn (2));
   32257              :   if (GET_CODE (x10) != SET)
   32258              :     return NULL;
   32259              :   x11 = XEXP (x10, 1);
   32260              :   if (GET_CODE (x11) != COMPARE)
   32261              :     return NULL;
   32262              :   x12 = XEXP (x11, 1);
   32263              :   if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
   32264              :     return NULL;
   32265              :   x13 = XEXP (x10, 0);
   32266              :   if (GET_CODE (x13) != REG
   32267              :       || REGNO (x13) != 17)
   32268              :     return NULL;
   32269              :   x14 = XEXP (x11, 0);
   32270              :   if (!rtx_equal_p (x14, operands[0]))
   32271              :     return NULL;
   32272              :   switch (GET_MODE (operands[0]))
   32273              :     {
   32274              :     case E_QImode:
   32275              :       if (!register_operand (operands[0], E_QImode)
   32276              :           || !plusminuslogic_operator (operands[2], E_QImode)
   32277              :           || !memory_operand (operands[1], E_QImode)
   32278              :           || !
   32279              : #line 28772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32280              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32281              :    && COMMUTATIVE_ARITH_P (operands[2])
   32282              :    && peep2_reg_dead_p (3, operands[0])
   32283              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32284              :    && ix86_match_ccmode (peep2_next_insn (2),
   32285              :                          GET_CODE (operands[2]) == PLUS
   32286              :                          ? CCGOCmode : CCNOmode)))
   32287              :         return NULL;
   32288              :       *pmatch_len_ = 2;
   32289              :       return gen_peephole2_331 (insn, operands);
   32290              : 
   32291              :     case E_HImode:
   32292              :       if (!register_operand (operands[0], E_HImode)
   32293              :           || !plusminuslogic_operator (operands[2], E_HImode)
   32294              :           || !memory_operand (operands[1], E_HImode)
   32295              :           || !
   32296              : #line 28772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32297              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32298              :    && COMMUTATIVE_ARITH_P (operands[2])
   32299              :    && peep2_reg_dead_p (3, operands[0])
   32300              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32301              :    && ix86_match_ccmode (peep2_next_insn (2),
   32302              :                          GET_CODE (operands[2]) == PLUS
   32303              :                          ? CCGOCmode : CCNOmode)))
   32304              :         return NULL;
   32305              :       *pmatch_len_ = 2;
   32306              :       return gen_peephole2_332 (insn, operands);
   32307              : 
   32308              :     case E_SImode:
   32309              :       if (!register_operand (operands[0], E_SImode)
   32310              :           || !plusminuslogic_operator (operands[2], E_SImode)
   32311              :           || !memory_operand (operands[1], E_SImode)
   32312              :           || !
   32313              : #line 28772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32314              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32315              :    && COMMUTATIVE_ARITH_P (operands[2])
   32316              :    && peep2_reg_dead_p (3, operands[0])
   32317              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32318              :    && ix86_match_ccmode (peep2_next_insn (2),
   32319              :                          GET_CODE (operands[2]) == PLUS
   32320              :                          ? CCGOCmode : CCNOmode)))
   32321              :         return NULL;
   32322              :       *pmatch_len_ = 2;
   32323              :       return gen_peephole2_333 (insn, operands);
   32324              : 
   32325              :     case E_DImode:
   32326              :       if (!register_operand (operands[0], E_DImode)
   32327              :           || !plusminuslogic_operator (operands[2], E_DImode)
   32328              :           || !memory_operand (operands[1], E_DImode)
   32329              :           || !(
   32330              : #line 28772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32331              : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   32332              :    && COMMUTATIVE_ARITH_P (operands[2])
   32333              :    && peep2_reg_dead_p (3, operands[0])
   32334              :    && !reg_overlap_mentioned_p (operands[0], operands[1])
   32335              :    && ix86_match_ccmode (peep2_next_insn (2),
   32336              :                          GET_CODE (operands[2]) == PLUS
   32337              :                          ? CCGOCmode : CCNOmode)) && 
   32338              : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
   32339              : (TARGET_64BIT)))
   32340              :         return NULL;
   32341              :       *pmatch_len_ = 2;
   32342              :       return gen_peephole2_334 (insn, operands);
   32343              : 
   32344              :     default:
   32345              :       return NULL;
   32346              :     }
   32347              : }
        

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.