LCOV - code coverage report
Current view: top level - objdir/gcc - insn-extract.c (source / functions) Hit Total Coverage
Test: gcc.info Lines: 8993 9544 94.2 %
Date: 2020-03-28 11:57:23 Functions: 1 1 100.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 0 -

           Branch data     Line data    Source code
       1                 :            : /* Generated automatically by the program `genextract'
       2                 :            :    from the machine description file `md'.  */
       3                 :            : 
       4                 :            : #define IN_TARGET_CODE 1
       5                 :            : #include "config.h"
       6                 :            : #include "system.h"
       7                 :            : #include "coretypes.h"
       8                 :            : #include "tm.h"
       9                 :            : #include "rtl.h"
      10                 :            : #include "insn-config.h"
      11                 :            : #include "recog.h"
      12                 :            : #include "diagnostic-core.h"
      13                 :            : 
      14                 :            : /* This variable is used as the "location" of any missing operand
      15                 :            :    whose numbers are skipped by a given pattern.  */
      16                 :            : static rtx junk ATTRIBUTE_UNUSED;
      17                 :            : 
      18                 :            : void
      19                 : 1102350000 : insn_extract (rtx_insn *insn)
      20                 :            : {
      21                 : 1102350000 :   rtx *ro = recog_data.operand;
      22                 : 1102350000 :   rtx **ro_loc = recog_data.operand_loc;
      23                 : 1102350000 :   rtx pat = PATTERN (insn);
      24                 : 1102350000 :   int i ATTRIBUTE_UNUSED; /* only for peepholes */
      25                 :            : 
      26                 : 1102350000 :   if (flag_checking)
      27                 :            :     {
      28                 : 1102350000 :       memset (ro, 0xab, sizeof (*ro) * MAX_RECOG_OPERANDS);
      29                 : 1102350000 :       memset (ro_loc, 0xab, sizeof (*ro_loc) * MAX_RECOG_OPERANDS);
      30                 :            :     }
      31                 :            : 
      32                 : 1102350000 :   switch (INSN_CODE (insn))
      33                 :            :     {
      34                 :          0 :     default:
      35                 :            :       /* Control reaches here if insn_extract has been called with an
      36                 :            :          unrecognizable insn (code -1), or an insn whose INSN_CODE
      37                 :            :          corresponds to a DEFINE_EXPAND in the machine description;
      38                 :            :          either way, a bug.  */
      39                 :          0 :       if (INSN_CODE (insn) < 0)
      40                 :          0 :         fatal_insn ("unrecognizable insn:", insn);
      41                 :            :       else
      42                 :          0 :         fatal_insn ("insn with invalid code number:", insn);
      43                 :            : 
      44                 :        720 :     case 6033:  /* atomic_bit_test_and_complementdi_1 */
      45                 :        720 :     case 6032:  /* atomic_bit_test_and_complementsi_1 */
      46                 :        720 :     case 6031:  /* atomic_bit_test_and_complementhi_1 */
      47                 :        720 :       ro[0] = *(ro_loc[0] = &XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 0));
      48                 :        720 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 0), 2));
      49                 :        720 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 1));
      50                 :        720 :       recog_data.dup_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 0), 0);
      51                 :        720 :       recog_data.dup_num[0] = 0;
      52                 :        720 :       recog_data.dup_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0), 0);
      53                 :        720 :       recog_data.dup_num[1] = 0;
      54                 :        720 :       recog_data.dup_loc[2] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0), 2);
      55                 :        720 :       recog_data.dup_num[2] = 1;
      56                 :        720 :       break;
      57                 :            : 
      58                 :       1096 :     case 6036:  /* atomic_bit_test_and_resetdi_1 */
      59                 :       1096 :     case 6035:  /* atomic_bit_test_and_resetsi_1 */
      60                 :       1096 :     case 6034:  /* atomic_bit_test_and_resethi_1 */
      61                 :       1096 :     case 6030:  /* atomic_bit_test_and_setdi_1 */
      62                 :       1096 :     case 6029:  /* atomic_bit_test_and_setsi_1 */
      63                 :       1096 :     case 6028:  /* atomic_bit_test_and_sethi_1 */
      64                 :       1096 :       ro[0] = *(ro_loc[0] = &XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 0));
      65                 :       1096 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 0), 2));
      66                 :       1096 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 1));
      67                 :       1096 :       recog_data.dup_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 0), 0);
      68                 :       1096 :       recog_data.dup_num[0] = 0;
      69                 :       1096 :       break;
      70                 :            : 
      71                 :     132654 :     case 6027:  /* atomic_xordi */
      72                 :     132654 :     case 6026:  /* atomic_ordi */
      73                 :     132654 :     case 6025:  /* atomic_anddi */
      74                 :     132654 :     case 6024:  /* atomic_xorsi */
      75                 :     132654 :     case 6023:  /* atomic_orsi */
      76                 :     132654 :     case 6022:  /* atomic_andsi */
      77                 :     132654 :     case 6021:  /* atomic_xorhi */
      78                 :     132654 :     case 6020:  /* atomic_orhi */
      79                 :     132654 :     case 6019:  /* atomic_andhi */
      80                 :     132654 :     case 6018:  /* atomic_xorqi */
      81                 :     132654 :     case 6017:  /* atomic_orqi */
      82                 :     132654 :     case 6016:  /* atomic_andqi */
      83                 :     132654 :     case 6015:  /* atomic_subdi */
      84                 :     132654 :     case 6014:  /* atomic_subsi */
      85                 :     132654 :     case 6013:  /* atomic_subhi */
      86                 :     132654 :     case 6012:  /* atomic_subqi */
      87                 :     132654 :     case 6011:  /* atomic_adddi */
      88                 :     132654 :     case 6010:  /* atomic_addsi */
      89                 :     132654 :     case 6009:  /* atomic_addhi */
      90                 :     132654 :     case 6008:  /* atomic_addqi */
      91                 :     132654 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
      92                 :     132654 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0), 1));
      93                 :     132654 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
      94                 :     132654 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0), 0);
      95                 :     132654 :       recog_data.dup_num[0] = 0;
      96                 :     132654 :       break;
      97                 :            : 
      98                 :     171291 :     case 6007:  /* atomic_exchangedi */
      99                 :     171291 :     case 6006:  /* atomic_exchangesi */
     100                 :     171291 :     case 6005:  /* atomic_exchangehi */
     101                 :     171291 :     case 6004:  /* atomic_exchangeqi */
     102                 :     171291 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
     103                 :     171291 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
     104                 :     171291 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 1), 1));
     105                 :     171291 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
     106                 :     171291 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0);
     107                 :     171291 :       recog_data.dup_num[0] = 1;
     108                 :     171291 :       break;
     109                 :            : 
     110                 :       2070 :     case 6003:  /* *atomic_fetch_add_cmpdi */
     111                 :       2070 :     case 6002:  /* *atomic_fetch_add_cmpsi */
     112                 :       2070 :     case 6001:  /* *atomic_fetch_add_cmphi */
     113                 :       2070 :     case 6000:  /* *atomic_fetch_add_cmpqi */
     114                 :       2070 :       ro[0] = *(ro_loc[0] = &XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 0));
     115                 :       2070 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 1));
     116                 :       2070 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1));
     117                 :       2070 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 1));
     118                 :       2070 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0);
     119                 :       2070 :       recog_data.dup_num[0] = 0;
     120                 :       2070 :       recog_data.dup_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0);
     121                 :       2070 :       recog_data.dup_num[1] = 0;
     122                 :       2070 :       break;
     123                 :            : 
     124                 :     146856 :     case 5999:  /* atomic_fetch_adddi */
     125                 :     146856 :     case 5998:  /* atomic_fetch_addsi */
     126                 :     146856 :     case 5997:  /* atomic_fetch_addhi */
     127                 :     146856 :     case 5996:  /* atomic_fetch_addqi */
     128                 :     146856 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
     129                 :     146856 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
     130                 :     146856 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 1));
     131                 :     146856 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
     132                 :     146856 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0);
     133                 :     146856 :       recog_data.dup_num[0] = 1;
     134                 :     146856 :       recog_data.dup_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0);
     135                 :     146856 :       recog_data.dup_num[1] = 1;
     136                 :     146856 :       break;
     137                 :            : 
     138                 :     250409 :     case 5995:  /* atomic_compare_and_swapdi_1 */
     139                 :     250409 :     case 5994:  /* atomic_compare_and_swapsi_1 */
     140                 :     250409 :     case 5993:  /* atomic_compare_and_swaphi_1 */
     141                 :     250409 :     case 5992:  /* atomic_compare_and_swapqi_1 */
     142                 :     250409 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
     143                 :     250409 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
     144                 :     250409 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
     145                 :     250409 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2));
     146                 :     250409 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 3));
     147                 :     250409 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0);
     148                 :     250409 :       recog_data.dup_num[0] = 1;
     149                 :     250409 :       break;
     150                 :            : 
     151                 :       1580 :     case 5991:  /* atomic_compare_and_swapti_doubleword */
     152                 :       1580 :     case 5990:  /* atomic_compare_and_swapdi_doubleword */
     153                 :       1580 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
     154                 :       1580 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
     155                 :       1580 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
     156                 :       1580 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2));
     157                 :       1580 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 3));
     158                 :       1580 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 4));
     159                 :       1580 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0);
     160                 :       1580 :       recog_data.dup_num[0] = 1;
     161                 :       1580 :       break;
     162                 :            : 
     163                 :       1386 :     case 5979:  /* mfence_nosse */
     164                 :       1386 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
     165                 :       1386 :       recog_data.dup_loc[0] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0);
     166                 :       1386 :       recog_data.dup_num[0] = 0;
     167                 :       1386 :       break;
     168                 :            : 
     169                 :       1992 :     case 5771:  /* *restore_multiple_leave_returndi */
     170                 :       1992 :     case 5770:  /* *restore_multiple_leave_returnsi */
     171                 :       1992 :     case 5769:  /* *restore_multiple_and_returndi */
     172                 :       1992 :     case 5768:  /* *restore_multiple_and_returnsi */
     173                 :       1992 :       ro[0] = *(ro_loc[0] = &PATTERN (insn));
     174                 :       1992 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
     175                 :       1992 :       break;
     176                 :            : 
     177                 :      22284 :     case 5767:  /* *restore_multipledi */
     178                 :      22284 :     case 5766:  /* *restore_multiplesi */
     179                 :      22284 :     case 5765:  /* *save_multipledi */
     180                 :      22284 :     case 5764:  /* *save_multiplesi */
     181                 :      22284 :       ro[0] = *(ro_loc[0] = &PATTERN (insn));
     182                 :      22284 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 0), 0));
     183                 :      22284 :       break;
     184                 :            : 
     185                 :        122 :     case 5632:  /* avx512dq_vmfpclassv2df_mask */
     186                 :        122 :     case 5630:  /* avx512dq_vmfpclassv4sf_mask */
     187                 :        122 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     188                 :        122 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 0));
     189                 :        122 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 1));
     190                 :        122 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
     191                 :        122 :       break;
     192                 :            : 
     193                 :       1128 :     case 5664:  /* avx512f_vgetmantv2df_mask_round */
     194                 :       1128 :     case 5660:  /* avx512f_vgetmantv4sf_mask_round */
     195                 :       1128 :     case 5616:  /* avx512dq_rangesv2df_mask_round */
     196                 :       1128 :     case 5612:  /* avx512dq_rangesv4sf_mask_round */
     197                 :       1128 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     198                 :       1128 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0, 0));
     199                 :       1128 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0, 1));
     200                 :       1128 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0, 2));
     201                 :       1128 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
     202                 :       1128 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
     203                 :       1128 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (pat, 1), 0, 1));
     204                 :       1128 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
     205                 :       1128 :       recog_data.dup_num[0] = 1;
     206                 :       1128 :       break;
     207                 :            : 
     208                 :       1023 :     case 5663:  /* avx512f_vgetmantv2df_round */
     209                 :       1023 :     case 5659:  /* avx512f_vgetmantv4sf_round */
     210                 :       1023 :     case 5615:  /* avx512dq_rangesv2df_round */
     211                 :       1023 :     case 5611:  /* avx512dq_rangesv4sf_round */
     212                 :       1023 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     213                 :       1023 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
     214                 :       1023 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 1));
     215                 :       1023 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 2));
     216                 :       1023 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (pat, 1), 0, 1));
     217                 :       1023 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
     218                 :       1023 :       recog_data.dup_num[0] = 1;
     219                 :       1023 :       break;
     220                 :            : 
     221                 :       3147 :     case 5574:  /* compressstorev8hi_mask */
     222                 :       3147 :     case 5573:  /* compressstorev16hi_mask */
     223                 :       3147 :     case 5572:  /* compressstorev32hi_mask */
     224                 :       3147 :     case 5571:  /* compressstorev32qi_mask */
     225                 :       3147 :     case 5570:  /* compressstorev16qi_mask */
     226                 :       3147 :     case 5569:  /* compressstorev64qi_mask */
     227                 :       3147 :     case 5568:  /* avx512vl_compressstorev2df_mask */
     228                 :       3147 :     case 5567:  /* avx512vl_compressstorev2di_mask */
     229                 :       3147 :     case 5566:  /* avx512vl_compressstorev4sf_mask */
     230                 :       3147 :     case 5565:  /* avx512vl_compressstorev4si_mask */
     231                 :       3147 :     case 5564:  /* avx512vl_compressstorev4df_mask */
     232                 :       3147 :     case 5563:  /* avx512vl_compressstorev4di_mask */
     233                 :       3147 :     case 5562:  /* avx512vl_compressstorev8sf_mask */
     234                 :       3147 :     case 5561:  /* avx512vl_compressstorev8si_mask */
     235                 :       3147 :     case 5560:  /* avx512f_compressstorev8df_mask */
     236                 :       3147 :     case 5559:  /* avx512f_compressstorev8di_mask */
     237                 :       3147 :     case 5558:  /* avx512f_compressstorev16sf_mask */
     238                 :       3147 :     case 5557:  /* avx512f_compressstorev16si_mask */
     239                 :       3147 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     240                 :       3147 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (pat, 1), 0, 0));
     241                 :       3147 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (pat, 1), 0, 2));
     242                 :       3147 :       recog_data.dup_loc[0] = &XVECEXP (XEXP (pat, 1), 0, 1);
     243                 :       3147 :       recog_data.dup_num[0] = 0;
     244                 :       3147 :       break;
     245                 :            : 
     246                 :      10658 :     case 5538:  /* *avx512f_scatterdiv2df */
     247                 :      10658 :     case 5537:  /* *avx512f_scatterdiv2df */
     248                 :      10658 :     case 5536:  /* *avx512f_scatterdiv2di */
     249                 :      10658 :     case 5535:  /* *avx512f_scatterdiv2di */
     250                 :      10658 :     case 5534:  /* *avx512f_scatterdiv4sf */
     251                 :      10658 :     case 5533:  /* *avx512f_scatterdiv4sf */
     252                 :      10658 :     case 5532:  /* *avx512f_scatterdiv4si */
     253                 :      10658 :     case 5531:  /* *avx512f_scatterdiv4si */
     254                 :      10658 :     case 5530:  /* *avx512f_scatterdiv4df */
     255                 :      10658 :     case 5529:  /* *avx512f_scatterdiv4df */
     256                 :      10658 :     case 5528:  /* *avx512f_scatterdiv4di */
     257                 :      10658 :     case 5527:  /* *avx512f_scatterdiv4di */
     258                 :      10658 :     case 5526:  /* *avx512f_scatterdiv8sf */
     259                 :      10658 :     case 5525:  /* *avx512f_scatterdiv8sf */
     260                 :      10658 :     case 5524:  /* *avx512f_scatterdiv8si */
     261                 :      10658 :     case 5523:  /* *avx512f_scatterdiv8si */
     262                 :      10658 :     case 5522:  /* *avx512f_scatterdiv8df */
     263                 :      10658 :     case 5521:  /* *avx512f_scatterdiv8df */
     264                 :      10658 :     case 5520:  /* *avx512f_scatterdiv8di */
     265                 :      10658 :     case 5519:  /* *avx512f_scatterdiv8di */
     266                 :      10658 :     case 5518:  /* *avx512f_scatterdiv16sf */
     267                 :      10658 :     case 5517:  /* *avx512f_scatterdiv16sf */
     268                 :      10658 :     case 5516:  /* *avx512f_scatterdiv16si */
     269                 :      10658 :     case 5515:  /* *avx512f_scatterdiv16si */
     270                 :      10658 :     case 5514:  /* *avx512f_scattersiv2df */
     271                 :      10658 :     case 5513:  /* *avx512f_scattersiv2df */
     272                 :      10658 :     case 5512:  /* *avx512f_scattersiv2di */
     273                 :      10658 :     case 5511:  /* *avx512f_scattersiv2di */
     274                 :      10658 :     case 5510:  /* *avx512f_scattersiv4sf */
     275                 :      10658 :     case 5509:  /* *avx512f_scattersiv4sf */
     276                 :      10658 :     case 5508:  /* *avx512f_scattersiv4si */
     277                 :      10658 :     case 5507:  /* *avx512f_scattersiv4si */
     278                 :      10658 :     case 5506:  /* *avx512f_scattersiv4df */
     279                 :      10658 :     case 5505:  /* *avx512f_scattersiv4df */
     280                 :      10658 :     case 5504:  /* *avx512f_scattersiv4di */
     281                 :      10658 :     case 5503:  /* *avx512f_scattersiv4di */
     282                 :      10658 :     case 5502:  /* *avx512f_scattersiv8sf */
     283                 :      10658 :     case 5501:  /* *avx512f_scattersiv8sf */
     284                 :      10658 :     case 5500:  /* *avx512f_scattersiv8si */
     285                 :      10658 :     case 5499:  /* *avx512f_scattersiv8si */
     286                 :      10658 :     case 5498:  /* *avx512f_scattersiv8df */
     287                 :      10658 :     case 5497:  /* *avx512f_scattersiv8df */
     288                 :      10658 :     case 5496:  /* *avx512f_scattersiv8di */
     289                 :      10658 :     case 5495:  /* *avx512f_scattersiv8di */
     290                 :      10658 :     case 5494:  /* *avx512f_scattersiv16sf */
     291                 :      10658 :     case 5493:  /* *avx512f_scattersiv16sf */
     292                 :      10658 :     case 5492:  /* *avx512f_scattersiv16si */
     293                 :      10658 :     case 5491:  /* *avx512f_scattersiv16si */
     294                 :      10658 :       ro[0] = *(ro_loc[0] = &XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 0), 0), 0, 0));
     295                 :      10658 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
     296                 :      10658 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 0), 0), 0, 1));
     297                 :      10658 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
     298                 :      10658 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 0), 0), 0, 2));
     299                 :      10658 :       ro[5] = *(ro_loc[5] = &XEXP (XVECEXP (pat, 0, 0), 0));
     300                 :      10658 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
     301                 :      10658 :       break;
     302                 :            : 
     303                 :       3462 :     case 5490:  /* *avx512f_gatherdiv2df_2 */
     304                 :       3462 :     case 5489:  /* *avx512f_gatherdiv2df_2 */
     305                 :       3462 :     case 5488:  /* *avx512f_gatherdiv2di_2 */
     306                 :       3462 :     case 5487:  /* *avx512f_gatherdiv2di_2 */
     307                 :       3462 :     case 5486:  /* *avx512f_gatherdiv4sf_2 */
     308                 :       3462 :     case 5485:  /* *avx512f_gatherdiv4sf_2 */
     309                 :       3462 :     case 5484:  /* *avx512f_gatherdiv4si_2 */
     310                 :       3462 :     case 5483:  /* *avx512f_gatherdiv4si_2 */
     311                 :       3462 :     case 5482:  /* *avx512f_gatherdiv4df_2 */
     312                 :       3462 :     case 5481:  /* *avx512f_gatherdiv4df_2 */
     313                 :       3462 :     case 5480:  /* *avx512f_gatherdiv4di_2 */
     314                 :       3462 :     case 5479:  /* *avx512f_gatherdiv4di_2 */
     315                 :       3462 :     case 5478:  /* *avx512f_gatherdiv8sf_2 */
     316                 :       3462 :     case 5477:  /* *avx512f_gatherdiv8sf_2 */
     317                 :       3462 :     case 5476:  /* *avx512f_gatherdiv8si_2 */
     318                 :       3462 :     case 5475:  /* *avx512f_gatherdiv8si_2 */
     319                 :       3462 :     case 5474:  /* *avx512f_gatherdiv8df_2 */
     320                 :       3462 :     case 5473:  /* *avx512f_gatherdiv8df_2 */
     321                 :       3462 :     case 5472:  /* *avx512f_gatherdiv8di_2 */
     322                 :       3462 :     case 5471:  /* *avx512f_gatherdiv8di_2 */
     323                 :       3462 :     case 5470:  /* *avx512f_gatherdiv16sf_2 */
     324                 :       3462 :     case 5469:  /* *avx512f_gatherdiv16sf_2 */
     325                 :       3462 :     case 5468:  /* *avx512f_gatherdiv16si_2 */
     326                 :       3462 :     case 5467:  /* *avx512f_gatherdiv16si_2 */
     327                 :       3462 :     case 5442:  /* *avx512f_gathersiv2df_2 */
     328                 :       3462 :     case 5441:  /* *avx512f_gathersiv2df_2 */
     329                 :       3462 :     case 5440:  /* *avx512f_gathersiv2di_2 */
     330                 :       3462 :     case 5439:  /* *avx512f_gathersiv2di_2 */
     331                 :       3462 :     case 5438:  /* *avx512f_gathersiv4sf_2 */
     332                 :       3462 :     case 5437:  /* *avx512f_gathersiv4sf_2 */
     333                 :       3462 :     case 5436:  /* *avx512f_gathersiv4si_2 */
     334                 :       3462 :     case 5435:  /* *avx512f_gathersiv4si_2 */
     335                 :       3462 :     case 5434:  /* *avx512f_gathersiv4df_2 */
     336                 :       3462 :     case 5433:  /* *avx512f_gathersiv4df_2 */
     337                 :       3462 :     case 5432:  /* *avx512f_gathersiv4di_2 */
     338                 :       3462 :     case 5431:  /* *avx512f_gathersiv4di_2 */
     339                 :       3462 :     case 5430:  /* *avx512f_gathersiv8sf_2 */
     340                 :       3462 :     case 5429:  /* *avx512f_gathersiv8sf_2 */
     341                 :       3462 :     case 5428:  /* *avx512f_gathersiv8si_2 */
     342                 :       3462 :     case 5427:  /* *avx512f_gathersiv8si_2 */
     343                 :       3462 :     case 5426:  /* *avx512f_gathersiv8df_2 */
     344                 :       3462 :     case 5425:  /* *avx512f_gathersiv8df_2 */
     345                 :       3462 :     case 5424:  /* *avx512f_gathersiv8di_2 */
     346                 :       3462 :     case 5423:  /* *avx512f_gathersiv8di_2 */
     347                 :       3462 :     case 5422:  /* *avx512f_gathersiv16sf_2 */
     348                 :       3462 :     case 5421:  /* *avx512f_gathersiv16sf_2 */
     349                 :       3462 :     case 5420:  /* *avx512f_gathersiv16si_2 */
     350                 :       3462 :     case 5419:  /* *avx512f_gathersiv16si_2 */
     351                 :       3462 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
     352                 :       3462 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
     353                 :       3462 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2), 0), 0, 1));
     354                 :       3462 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2), 0), 0, 0));
     355                 :       3462 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2), 0), 0, 2));
     356                 :       3462 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2));
     357                 :       3462 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
     358                 :       3462 :       break;
     359                 :            : 
     360                 :       6599 :     case 5466:  /* *avx512f_gatherdiv2df */
     361                 :       6599 :     case 5465:  /* *avx512f_gatherdiv2df */
     362                 :       6599 :     case 5464:  /* *avx512f_gatherdiv2di */
     363                 :       6599 :     case 5463:  /* *avx512f_gatherdiv2di */
     364                 :       6599 :     case 5462:  /* *avx512f_gatherdiv4sf */
     365                 :       6599 :     case 5461:  /* *avx512f_gatherdiv4sf */
     366                 :       6599 :     case 5460:  /* *avx512f_gatherdiv4si */
     367                 :       6599 :     case 5459:  /* *avx512f_gatherdiv4si */
     368                 :       6599 :     case 5458:  /* *avx512f_gatherdiv4df */
     369                 :       6599 :     case 5457:  /* *avx512f_gatherdiv4df */
     370                 :       6599 :     case 5456:  /* *avx512f_gatherdiv4di */
     371                 :       6599 :     case 5455:  /* *avx512f_gatherdiv4di */
     372                 :       6599 :     case 5454:  /* *avx512f_gatherdiv8sf */
     373                 :       6599 :     case 5453:  /* *avx512f_gatherdiv8sf */
     374                 :       6599 :     case 5452:  /* *avx512f_gatherdiv8si */
     375                 :       6599 :     case 5451:  /* *avx512f_gatherdiv8si */
     376                 :       6599 :     case 5450:  /* *avx512f_gatherdiv8df */
     377                 :       6599 :     case 5449:  /* *avx512f_gatherdiv8df */
     378                 :       6599 :     case 5448:  /* *avx512f_gatherdiv8di */
     379                 :       6599 :     case 5447:  /* *avx512f_gatherdiv8di */
     380                 :       6599 :     case 5446:  /* *avx512f_gatherdiv16sf */
     381                 :       6599 :     case 5445:  /* *avx512f_gatherdiv16sf */
     382                 :       6599 :     case 5444:  /* *avx512f_gatherdiv16si */
     383                 :       6599 :     case 5443:  /* *avx512f_gatherdiv16si */
     384                 :       6599 :     case 5418:  /* *avx512f_gathersiv2df */
     385                 :       6599 :     case 5417:  /* *avx512f_gathersiv2df */
     386                 :       6599 :     case 5416:  /* *avx512f_gathersiv2di */
     387                 :       6599 :     case 5415:  /* *avx512f_gathersiv2di */
     388                 :       6599 :     case 5414:  /* *avx512f_gathersiv4sf */
     389                 :       6599 :     case 5413:  /* *avx512f_gathersiv4sf */
     390                 :       6599 :     case 5412:  /* *avx512f_gathersiv4si */
     391                 :       6599 :     case 5411:  /* *avx512f_gathersiv4si */
     392                 :       6599 :     case 5410:  /* *avx512f_gathersiv4df */
     393                 :       6599 :     case 5409:  /* *avx512f_gathersiv4df */
     394                 :       6599 :     case 5408:  /* *avx512f_gathersiv4di */
     395                 :       6599 :     case 5407:  /* *avx512f_gathersiv4di */
     396                 :       6599 :     case 5406:  /* *avx512f_gathersiv8sf */
     397                 :       6599 :     case 5405:  /* *avx512f_gathersiv8sf */
     398                 :       6599 :     case 5404:  /* *avx512f_gathersiv8si */
     399                 :       6599 :     case 5403:  /* *avx512f_gathersiv8si */
     400                 :       6599 :     case 5402:  /* *avx512f_gathersiv8df */
     401                 :       6599 :     case 5401:  /* *avx512f_gathersiv8df */
     402                 :       6599 :     case 5400:  /* *avx512f_gathersiv8di */
     403                 :       6599 :     case 5399:  /* *avx512f_gathersiv8di */
     404                 :       6599 :     case 5398:  /* *avx512f_gathersiv16sf */
     405                 :       6599 :     case 5397:  /* *avx512f_gathersiv16sf */
     406                 :       6599 :     case 5396:  /* *avx512f_gathersiv16si */
     407                 :       6599 :     case 5395:  /* *avx512f_gathersiv16si */
     408                 :       6599 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
     409                 :       6599 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
     410                 :       6599 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 1), 0));
     411                 :       6599 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2), 0), 0, 1));
     412                 :       6599 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2), 0), 0, 0));
     413                 :       6599 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2), 0), 0, 2));
     414                 :       6599 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2));
     415                 :       6599 :       ro[7] = *(ro_loc[7] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
     416                 :       6599 :       break;
     417                 :            : 
     418                 :        303 :     case 5394:  /* *avx2_gatherdiv8sf_4 */
     419                 :        303 :     case 5393:  /* *avx2_gatherdiv8sf_4 */
     420                 :        303 :     case 5392:  /* *avx2_gatherdiv8si_4 */
     421                 :        303 :     case 5391:  /* *avx2_gatherdiv8si_4 */
     422                 :        303 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
     423                 :        303 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
     424                 :        303 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 1), 0), 0, 0));
     425                 :        303 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 1), 0), 0, 1));
     426                 :        303 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 3));
     427                 :        303 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 1), 0), 0, 2));
     428                 :        303 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 1));
     429                 :        303 :       break;
     430                 :            : 
     431                 :        310 :     case 5390:  /* *avx2_gatherdiv8sf_3 */
     432                 :        310 :     case 5389:  /* *avx2_gatherdiv8sf_3 */
     433                 :        310 :     case 5388:  /* *avx2_gatherdiv8si_3 */
     434                 :        310 :     case 5387:  /* *avx2_gatherdiv8si_3 */
     435                 :        310 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
     436                 :        310 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
     437                 :        310 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 0));
     438                 :        310 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 1), 0), 0, 0));
     439                 :        310 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 1), 0), 0, 1));
     440                 :        310 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 3));
     441                 :        310 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 1), 0), 0, 2));
     442                 :        310 :       ro[7] = *(ro_loc[7] = &XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 1));
     443                 :        310 :       break;
     444                 :            : 
     445                 :       5307 :     case 5386:  /* *avx2_gatherdiv8sf_2 */
     446                 :       5307 :     case 5385:  /* *avx2_gatherdiv8sf_2 */
     447                 :       5307 :     case 5384:  /* *avx2_gatherdiv8si_2 */
     448                 :       5307 :     case 5383:  /* *avx2_gatherdiv8si_2 */
     449                 :       5307 :     case 5382:  /* *avx2_gatherdiv4sf_2 */
     450                 :       5307 :     case 5381:  /* *avx2_gatherdiv4sf_2 */
     451                 :       5307 :     case 5380:  /* *avx2_gatherdiv4si_2 */
     452                 :       5307 :     case 5379:  /* *avx2_gatherdiv4si_2 */
     453                 :       5307 :     case 5378:  /* *avx2_gatherdiv4df_2 */
     454                 :       5307 :     case 5377:  /* *avx2_gatherdiv4df_2 */
     455                 :       5307 :     case 5376:  /* *avx2_gatherdiv4di_2 */
     456                 :       5307 :     case 5375:  /* *avx2_gatherdiv4di_2 */
     457                 :       5307 :     case 5374:  /* *avx2_gatherdiv2df_2 */
     458                 :       5307 :     case 5373:  /* *avx2_gatherdiv2df_2 */
     459                 :       5307 :     case 5372:  /* *avx2_gatherdiv2di_2 */
     460                 :       5307 :     case 5371:  /* *avx2_gatherdiv2di_2 */
     461                 :       5307 :     case 5354:  /* *avx2_gathersiv8sf_2 */
     462                 :       5307 :     case 5353:  /* *avx2_gathersiv8sf_2 */
     463                 :       5307 :     case 5352:  /* *avx2_gathersiv8si_2 */
     464                 :       5307 :     case 5351:  /* *avx2_gathersiv8si_2 */
     465                 :       5307 :     case 5350:  /* *avx2_gathersiv4sf_2 */
     466                 :       5307 :     case 5349:  /* *avx2_gathersiv4sf_2 */
     467                 :       5307 :     case 5348:  /* *avx2_gathersiv4si_2 */
     468                 :       5307 :     case 5347:  /* *avx2_gathersiv4si_2 */
     469                 :       5307 :     case 5346:  /* *avx2_gathersiv4df_2 */
     470                 :       5307 :     case 5345:  /* *avx2_gathersiv4df_2 */
     471                 :       5307 :     case 5344:  /* *avx2_gathersiv4di_2 */
     472                 :       5307 :     case 5343:  /* *avx2_gathersiv4di_2 */
     473                 :       5307 :     case 5342:  /* *avx2_gathersiv2df_2 */
     474                 :       5307 :     case 5341:  /* *avx2_gathersiv2df_2 */
     475                 :       5307 :     case 5340:  /* *avx2_gathersiv2di_2 */
     476                 :       5307 :     case 5339:  /* *avx2_gathersiv2di_2 */
     477                 :       5307 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
     478                 :       5307 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
     479                 :       5307 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1), 0), 0, 0));
     480                 :       5307 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1), 0), 0, 1));
     481                 :       5307 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 3));
     482                 :       5307 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1), 0), 0, 2));
     483                 :       5307 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
     484                 :       5307 :       break;
     485                 :            : 
     486                 :       3880 :     case 5370:  /* *avx2_gatherdiv8sf */
     487                 :       3880 :     case 5369:  /* *avx2_gatherdiv8sf */
     488                 :       3880 :     case 5368:  /* *avx2_gatherdiv8si */
     489                 :       3880 :     case 5367:  /* *avx2_gatherdiv8si */
     490                 :       3880 :     case 5366:  /* *avx2_gatherdiv4sf */
     491                 :       3880 :     case 5365:  /* *avx2_gatherdiv4sf */
     492                 :       3880 :     case 5364:  /* *avx2_gatherdiv4si */
     493                 :       3880 :     case 5363:  /* *avx2_gatherdiv4si */
     494                 :       3880 :     case 5362:  /* *avx2_gatherdiv4df */
     495                 :       3880 :     case 5361:  /* *avx2_gatherdiv4df */
     496                 :       3880 :     case 5360:  /* *avx2_gatherdiv4di */
     497                 :       3880 :     case 5359:  /* *avx2_gatherdiv4di */
     498                 :       3880 :     case 5358:  /* *avx2_gatherdiv2df */
     499                 :       3880 :     case 5357:  /* *avx2_gatherdiv2df */
     500                 :       3880 :     case 5356:  /* *avx2_gatherdiv2di */
     501                 :       3880 :     case 5355:  /* *avx2_gatherdiv2di */
     502                 :       3880 :     case 5338:  /* *avx2_gathersiv8sf */
     503                 :       3880 :     case 5337:  /* *avx2_gathersiv8sf */
     504                 :       3880 :     case 5336:  /* *avx2_gathersiv8si */
     505                 :       3880 :     case 5335:  /* *avx2_gathersiv8si */
     506                 :       3880 :     case 5334:  /* *avx2_gathersiv4sf */
     507                 :       3880 :     case 5333:  /* *avx2_gathersiv4sf */
     508                 :       3880 :     case 5332:  /* *avx2_gathersiv4si */
     509                 :       3880 :     case 5331:  /* *avx2_gathersiv4si */
     510                 :       3880 :     case 5330:  /* *avx2_gathersiv4df */
     511                 :       3880 :     case 5329:  /* *avx2_gathersiv4df */
     512                 :       3880 :     case 5328:  /* *avx2_gathersiv4di */
     513                 :       3880 :     case 5327:  /* *avx2_gathersiv4di */
     514                 :       3880 :     case 5326:  /* *avx2_gathersiv2df */
     515                 :       3880 :     case 5325:  /* *avx2_gathersiv2df */
     516                 :       3880 :     case 5324:  /* *avx2_gathersiv2di */
     517                 :       3880 :     case 5323:  /* *avx2_gathersiv2di */
     518                 :       3880 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
     519                 :       3880 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
     520                 :       3880 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
     521                 :       3880 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1), 0), 0, 0));
     522                 :       3880 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1), 0), 0, 1));
     523                 :       3880 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 3));
     524                 :       3880 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1), 0), 0, 2));
     525                 :       3880 :       ro[7] = *(ro_loc[7] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
     526                 :       3880 :       break;
     527                 :            : 
     528                 :        302 :     case 5317:  /* *vcvtps2ph_mask */
     529                 :        302 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     530                 :        302 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 0));
     531                 :        302 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 1));
     532                 :        302 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
     533                 :        302 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
     534                 :        302 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
     535                 :        302 :       break;
     536                 :            : 
     537                 :        385 :     case 5307:  /* vcvtph2ps_mask */
     538                 :        385 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     539                 :        385 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 0));
     540                 :        385 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
     541                 :        385 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 2));
     542                 :        385 :       break;
     543                 :            : 
     544                 :       2922 :     case 5236:  /* avx2_maskstoreq256 */
     545                 :       2922 :     case 5235:  /* avx2_maskstored256 */
     546                 :       2922 :     case 5234:  /* avx2_maskstoreq */
     547                 :       2922 :     case 5233:  /* avx2_maskstored */
     548                 :       2922 :     case 5232:  /* avx_maskstorepd256 */
     549                 :       2922 :     case 5231:  /* avx_maskstoreps256 */
     550                 :       2922 :     case 5230:  /* avx_maskstorepd */
     551                 :       2922 :     case 5229:  /* avx_maskstoreps */
     552                 :       2922 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     553                 :       2922 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (pat, 1), 0, 0));
     554                 :       2922 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (pat, 1), 0, 1));
     555                 :       2922 :       recog_data.dup_loc[0] = &XVECEXP (XEXP (pat, 1), 0, 2);
     556                 :       2922 :       recog_data.dup_num[0] = 0;
     557                 :       2922 :       break;
     558                 :            : 
     559                 :       2374 :     case 5228:  /* avx2_maskloadq256 */
     560                 :       2374 :     case 5227:  /* avx2_maskloadd256 */
     561                 :       2374 :     case 5226:  /* avx2_maskloadq */
     562                 :       2374 :     case 5225:  /* avx2_maskloadd */
     563                 :       2374 :     case 5224:  /* avx_maskloadpd256 */
     564                 :       2374 :     case 5223:  /* avx_maskloadps256 */
     565                 :       2374 :     case 5222:  /* avx_maskloadpd */
     566                 :       2374 :     case 5221:  /* avx_maskloadps */
     567                 :       2374 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     568                 :       2374 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (pat, 1), 0, 1));
     569                 :       2374 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (pat, 1), 0, 0));
     570                 :       2374 :       break;
     571                 :            : 
     572                 :      32731 :     case 5194:  /* *avx_vperm2f128v4df_nozero */
     573                 :      32731 :     case 5193:  /* *avx_vperm2f128v8sf_nozero */
     574                 :      32731 :     case 5192:  /* *avx_vperm2f128v8si_nozero */
     575                 :      32731 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     576                 :      32731 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
     577                 :      32731 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
     578                 :      32731 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
     579                 :      32731 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 0));
     580                 :      32731 :       break;
     581                 :            : 
     582                 :       4352 :     case 5188:  /* avx512vl_vpermt2varv16qi3_mask */
     583                 :       4352 :     case 5187:  /* avx512vl_vpermt2varv32qi3_mask */
     584                 :       4352 :     case 5186:  /* avx512bw_vpermt2varv64qi3_mask */
     585                 :       4352 :     case 5185:  /* avx512vl_vpermt2varv8hi3_mask */
     586                 :       4352 :     case 5184:  /* avx512vl_vpermt2varv16hi3_mask */
     587                 :       4352 :     case 5183:  /* avx512bw_vpermt2varv32hi3_mask */
     588                 :       4352 :     case 5182:  /* avx512vl_vpermt2varv2df3_mask */
     589                 :       4352 :     case 5181:  /* avx512vl_vpermt2varv2di3_mask */
     590                 :       4352 :     case 5180:  /* avx512vl_vpermt2varv4sf3_mask */
     591                 :       4352 :     case 5179:  /* avx512vl_vpermt2varv4si3_mask */
     592                 :       4352 :     case 5178:  /* avx512vl_vpermt2varv4df3_mask */
     593                 :       4352 :     case 5177:  /* avx512vl_vpermt2varv4di3_mask */
     594                 :       4352 :     case 5176:  /* avx512vl_vpermt2varv8sf3_mask */
     595                 :       4352 :     case 5175:  /* avx512vl_vpermt2varv8si3_mask */
     596                 :       4352 :     case 5174:  /* avx512f_vpermt2varv8df3_mask */
     597                 :       4352 :     case 5173:  /* avx512f_vpermt2varv8di3_mask */
     598                 :       4352 :     case 5172:  /* avx512f_vpermt2varv16sf3_mask */
     599                 :       4352 :     case 5171:  /* avx512f_vpermt2varv16si3_mask */
     600                 :       4352 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     601                 :       4352 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
     602                 :       4352 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
     603                 :       4352 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 2));
     604                 :       4352 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
     605                 :       4352 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
     606                 :       4352 :       recog_data.dup_num[0] = 2;
     607                 :       4352 :       break;
     608                 :            : 
     609                 :       1262 :     case 5134:  /* *avx512vl_vpermi2varv2df3_mask */
     610                 :       1262 :     case 5133:  /* *avx512vl_vpermi2varv4df3_mask */
     611                 :       1262 :     case 5132:  /* *avx512f_vpermi2varv8df3_mask */
     612                 :       1262 :     case 5131:  /* *avx512vl_vpermi2varv4sf3_mask */
     613                 :       1262 :     case 5130:  /* *avx512vl_vpermi2varv8sf3_mask */
     614                 :       1262 :     case 5129:  /* *avx512f_vpermi2varv16sf3_mask */
     615                 :       1262 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     616                 :       1262 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
     617                 :       1262 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
     618                 :       1262 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 2));
     619                 :       1262 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
     620                 :       1262 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 1), 0);
     621                 :       1262 :       recog_data.dup_num[0] = 2;
     622                 :       1262 :       break;
     623                 :            : 
     624                 :       2538 :     case 5128:  /* *avx512vl_vpermi2varv16qi3_mask */
     625                 :       2538 :     case 5127:  /* *avx512vl_vpermi2varv32qi3_mask */
     626                 :       2538 :     case 5126:  /* *avx512bw_vpermi2varv64qi3_mask */
     627                 :       2538 :     case 5125:  /* *avx512vl_vpermi2varv8hi3_mask */
     628                 :       2538 :     case 5124:  /* *avx512vl_vpermi2varv16hi3_mask */
     629                 :       2538 :     case 5123:  /* *avx512bw_vpermi2varv32hi3_mask */
     630                 :       2538 :     case 5122:  /* *avx512vl_vpermi2varv2di3_mask */
     631                 :       2538 :     case 5121:  /* *avx512vl_vpermi2varv4di3_mask */
     632                 :       2538 :     case 5120:  /* *avx512vl_vpermi2varv4si3_mask */
     633                 :       2538 :     case 5119:  /* *avx512vl_vpermi2varv8si3_mask */
     634                 :       2538 :     case 5118:  /* *avx512f_vpermi2varv8di3_mask */
     635                 :       2538 :     case 5117:  /* *avx512f_vpermi2varv16si3_mask */
     636                 :       2538 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     637                 :       2538 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
     638                 :       2538 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
     639                 :       2538 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 2));
     640                 :       2538 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
     641                 :       2538 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
     642                 :       2538 :       recog_data.dup_num[0] = 2;
     643                 :       2538 :       break;
     644                 :            : 
     645                 :       7638 :     case 5072:  /* avx_vbroadcastf128_v4df */
     646                 :       7638 :     case 5071:  /* avx_vbroadcastf128_v8sf */
     647                 :       7638 :     case 5070:  /* avx_vbroadcastf128_v4di */
     648                 :       7638 :     case 5069:  /* avx_vbroadcastf128_v8si */
     649                 :       7638 :     case 5068:  /* avx_vbroadcastf128_v16hi */
     650                 :       7638 :     case 5067:  /* avx_vbroadcastf128_v32qi */
     651                 :       7638 :     case 5056:  /* avx2_vbroadcasti128_v4di */
     652                 :       7638 :     case 5055:  /* avx2_vbroadcasti128_v8si */
     653                 :       7638 :     case 5054:  /* avx2_vbroadcasti128_v16hi */
     654                 :       7638 :     case 5053:  /* avx2_vbroadcasti128_v32qi */
     655                 :       7638 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     656                 :       7638 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
     657                 :       7638 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
     658                 :       7638 :       recog_data.dup_num[0] = 1;
     659                 :       7638 :       break;
     660                 :            : 
     661                 :       2089 :     case 4955:  /* *avx_vpermilpv2df_mask */
     662                 :       2089 :     case 4953:  /* *avx_vpermilpv4df_mask */
     663                 :       2089 :     case 4951:  /* *avx512f_vpermilpv8df_mask */
     664                 :       2089 :     case 4949:  /* *avx_vpermilpv4sf_mask */
     665                 :       2089 :     case 4947:  /* *avx_vpermilpv8sf_mask */
     666                 :       2089 :     case 4945:  /* *avx512f_vpermilpv16sf_mask */
     667                 :       2089 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     668                 :       2089 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
     669                 :       2089 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
     670                 :       2089 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 0));
     671                 :       2089 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
     672                 :       2089 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
     673                 :       2089 :       break;
     674                 :            : 
     675                 :     131727 :     case 5200:  /* *ssse3_palignrv2df_perm */
     676                 :     131727 :     case 5199:  /* *ssse3_palignrv4sf_perm */
     677                 :     131727 :     case 5198:  /* *ssse3_palignrv2di_perm */
     678                 :     131727 :     case 5197:  /* *ssse3_palignrv4si_perm */
     679                 :     131727 :     case 5196:  /* *ssse3_palignrv8hi_perm */
     680                 :     131727 :     case 5195:  /* *ssse3_palignrv16qi_perm */
     681                 :     131727 :     case 4954:  /* *avx_vpermilpv2df */
     682                 :     131727 :     case 4952:  /* *avx_vpermilpv4df */
     683                 :     131727 :     case 4950:  /* *avx512f_vpermilpv8df */
     684                 :     131727 :     case 4948:  /* *avx_vpermilpv4sf */
     685                 :     131727 :     case 4946:  /* *avx_vpermilpv8sf */
     686                 :     131727 :     case 4944:  /* *avx512f_vpermilpv16sf */
     687                 :     131727 :     case 4943:  /* *avx_vperm_broadcast_v4df */
     688                 :     131727 :     case 4942:  /* *avx_vperm_broadcast_v8sf */
     689                 :     131727 :     case 4941:  /* *avx_vperm_broadcast_v4sf */
     690                 :     131727 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     691                 :     131727 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
     692                 :     131727 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
     693                 :     131727 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 0));
     694                 :     131727 :       break;
     695                 :            : 
     696                 :      37806 :     case 4896:  /* *avx_vzeroupper_1 */
     697                 :      37806 :     case 4895:  /* *avx_vzeroupper */
     698                 :      37806 :     case 4894:  /* *avx_vzeroall */
     699                 :      37806 :       ro[0] = *(ro_loc[0] = &PATTERN (insn));
     700                 :      37806 :       break;
     701                 :            : 
     702                 :        832 :     case 4878:  /* xop_maskcmp_uns2v2di3 */
     703                 :        832 :     case 4877:  /* xop_maskcmp_uns2v4si3 */
     704                 :        832 :     case 4876:  /* xop_maskcmp_uns2v8hi3 */
     705                 :        832 :     case 4875:  /* xop_maskcmp_uns2v16qi3 */
     706                 :        832 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     707                 :        832 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (pat, 1), 0, 0));
     708                 :        832 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0));
     709                 :        832 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
     710                 :        832 :       break;
     711                 :            : 
     712                 :       3771 :     case 4874:  /* xop_maskcmp_unsv2di3 */
     713                 :       3771 :     case 4873:  /* xop_maskcmp_unsv4si3 */
     714                 :       3771 :     case 4872:  /* xop_maskcmp_unsv8hi3 */
     715                 :       3771 :     case 4871:  /* xop_maskcmp_unsv16qi3 */
     716                 :       3771 :     case 4870:  /* xop_maskcmpv2di3 */
     717                 :       3771 :     case 4869:  /* xop_maskcmpv4si3 */
     718                 :       3771 :     case 4868:  /* xop_maskcmpv8hi3 */
     719                 :       3771 :     case 4867:  /* xop_maskcmpv16qi3 */
     720                 :       3771 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     721                 :       3771 :       ro[1] = *(ro_loc[1] = &XEXP (pat, 1));
     722                 :       3771 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 0));
     723                 :       3771 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
     724                 :       3771 :       break;
     725                 :            : 
     726                 :       8190 :     case 4858:  /* xop_shlv2di3 */
     727                 :       8190 :     case 4857:  /* xop_shlv4si3 */
     728                 :       8190 :     case 4856:  /* xop_shlv8hi3 */
     729                 :       8190 :     case 4855:  /* xop_shlv16qi3 */
     730                 :       8190 :     case 4854:  /* xop_shav2di3 */
     731                 :       8190 :     case 4853:  /* xop_shav4si3 */
     732                 :       8190 :     case 4852:  /* xop_shav8hi3 */
     733                 :       8190 :     case 4851:  /* xop_shav16qi3 */
     734                 :       8190 :     case 4850:  /* xop_vrotlv2di3 */
     735                 :       8190 :     case 4849:  /* xop_vrotlv4si3 */
     736                 :       8190 :     case 4848:  /* xop_vrotlv8hi3 */
     737                 :       8190 :     case 4847:  /* xop_vrotlv16qi3 */
     738                 :       8190 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     739                 :       8190 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
     740                 :       8190 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
     741                 :       8190 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 1), 1);
     742                 :       8190 :       recog_data.dup_num[0] = 2;
     743                 :       8190 :       recog_data.dup_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 2), 0);
     744                 :       8190 :       recog_data.dup_num[1] = 1;
     745                 :       8190 :       recog_data.dup_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 2), 1), 0);
     746                 :       8190 :       recog_data.dup_num[2] = 2;
     747                 :       8190 :       break;
     748                 :            : 
     749                 :          0 :     case 4838:  /* xop_pperm_pack_v8hi_v16qi */
     750                 :          0 :     case 4837:  /* xop_pperm_pack_v4si_v8hi */
     751                 :          0 :     case 4836:  /* xop_pperm_pack_v2di_v4si */
     752                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
     753                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0));
     754                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 0));
     755                 :          0 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 1), 0));
     756                 :          0 :       break;
     757                 :            : 
     758                 :        200 :     case 4825:  /* xop_phaddubq */
     759                 :        200 :     case 4824:  /* xop_phaddbq */
     760                 :        200 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     761                 :        200 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0));
     762                 :        200 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1), 0), 0);
     763                 :        200 :       recog_data.dup_num[0] = 1;
     764                 :        200 :       recog_data.dup_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0), 0), 0);
     765                 :        200 :       recog_data.dup_num[1] = 1;
     766                 :        200 :       recog_data.dup_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 1), 0), 0);
     767                 :        200 :       recog_data.dup_num[2] = 1;
     768                 :        200 :       recog_data.dup_loc[3] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 0), 0), 0);
     769                 :        200 :       recog_data.dup_num[3] = 1;
     770                 :        200 :       recog_data.dup_loc[4] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 1), 0), 0);
     771                 :        200 :       recog_data.dup_num[4] = 1;
     772                 :        200 :       recog_data.dup_loc[5] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 0), 0), 0);
     773                 :        200 :       recog_data.dup_num[5] = 1;
     774                 :        200 :       recog_data.dup_loc[6] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 1), 0), 0);
     775                 :        200 :       recog_data.dup_num[6] = 1;
     776                 :        200 :       break;
     777                 :            : 
     778                 :        398 :     case 4829:  /* xop_phadduwq */
     779                 :        398 :     case 4828:  /* xop_phaddwq */
     780                 :        398 :     case 4823:  /* xop_phaddubd */
     781                 :        398 :     case 4822:  /* xop_phaddbd */
     782                 :        398 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     783                 :        398 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
     784                 :        398 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0), 0);
     785                 :        398 :       recog_data.dup_num[0] = 1;
     786                 :        398 :       recog_data.dup_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 0), 0);
     787                 :        398 :       recog_data.dup_num[1] = 1;
     788                 :        398 :       recog_data.dup_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 0), 0);
     789                 :        398 :       recog_data.dup_num[2] = 1;
     790                 :        398 :       break;
     791                 :            : 
     792                 :        956 :     case 4834:  /* xop_phsubdq */
     793                 :        956 :     case 4833:  /* xop_phsubwd */
     794                 :        956 :     case 4832:  /* xop_phsubbw */
     795                 :        956 :     case 4831:  /* xop_phaddudq */
     796                 :        956 :     case 4830:  /* xop_phadddq */
     797                 :        956 :     case 4827:  /* xop_phadduwd */
     798                 :        956 :     case 4826:  /* xop_phaddwd */
     799                 :        956 :     case 4821:  /* xop_phaddubw */
     800                 :        956 :     case 4820:  /* xop_phaddbw */
     801                 :        956 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     802                 :        956 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
     803                 :        956 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 0);
     804                 :        956 :       recog_data.dup_num[0] = 1;
     805                 :        956 :       break;
     806                 :            : 
     807                 :        148 :     case 4819:  /* xop_pcmov_v2df */
     808                 :        148 :     case 4818:  /* xop_pcmov_v4df256 */
     809                 :        148 :     case 4817:  /* xop_pcmov_v4sf */
     810                 :        148 :     case 4816:  /* xop_pcmov_v8sf256 */
     811                 :        148 :     case 4815:  /* xop_pcmov_v2di */
     812                 :        148 :     case 4814:  /* xop_pcmov_v4di256 */
     813                 :        148 :     case 4813:  /* xop_pcmov_v4si */
     814                 :        148 :     case 4812:  /* xop_pcmov_v8si256 */
     815                 :        148 :     case 4811:  /* xop_pcmov_v8hi */
     816                 :        148 :     case 4810:  /* xop_pcmov_v16hi256 */
     817                 :        148 :     case 4809:  /* xop_pcmov_v16qi */
     818                 :        148 :     case 4808:  /* xop_pcmov_v32qi256 */
     819                 :        148 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     820                 :        148 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
     821                 :        148 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 2));
     822                 :        148 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 0));
     823                 :        148 :       break;
     824                 :            : 
     825                 :        214 :     case 4807:  /* xop_pmadcsswd */
     826                 :        214 :     case 4806:  /* xop_pmadcswd */
     827                 :        214 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     828                 :        214 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0));
     829                 :        214 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1), 0), 0));
     830                 :        214 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
     831                 :        214 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0), 0), 0);
     832                 :        214 :       recog_data.dup_num[0] = 1;
     833                 :        214 :       recog_data.dup_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 1), 0), 0);
     834                 :        214 :       recog_data.dup_num[1] = 2;
     835                 :        214 :       break;
     836                 :            : 
     837                 :        694 :     case 4805:  /* xop_pmacsswd */
     838                 :        694 :     case 4804:  /* xop_pmacswd */
     839                 :        694 :     case 4803:  /* xop_pmacssdqh */
     840                 :        694 :     case 4802:  /* xop_pmacsdqh */
     841                 :        694 :     case 4801:  /* xop_pmacssdql */
     842                 :        694 :     case 4800:  /* xop_pmacsdql */
     843                 :        694 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     844                 :        694 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
     845                 :        694 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0), 0));
     846                 :        694 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
     847                 :        694 :       break;
     848                 :            : 
     849                 :        530 :     case 4795:  /* avx512er_vmrsqrt28v2df_round */
     850                 :        530 :     case 4793:  /* avx512er_vmrsqrt28v4sf_round */
     851                 :        530 :     case 4783:  /* avx512er_vmrcp28v2df_round */
     852                 :        530 :     case 4781:  /* avx512er_vmrcp28v4sf_round */
     853                 :        530 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     854                 :        530 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
     855                 :        530 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
     856                 :        530 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (pat, 1), 0, 1));
     857                 :        530 :       break;
     858                 :            : 
     859                 :       2381 :     case 4763:  /* *avx512pf_scatterpfv8didf_mask */
     860                 :       2381 :     case 4762:  /* *avx512pf_scatterpfv8didf_mask */
     861                 :       2381 :     case 4761:  /* *avx512pf_scatterpfv8sidf_mask */
     862                 :       2381 :     case 4760:  /* *avx512pf_scatterpfv8sidf_mask */
     863                 :       2381 :     case 4759:  /* *avx512pf_scatterpfv8disf_mask */
     864                 :       2381 :     case 4758:  /* *avx512pf_scatterpfv8disf_mask */
     865                 :       2381 :     case 4757:  /* *avx512pf_scatterpfv16sisf_mask */
     866                 :       2381 :     case 4756:  /* *avx512pf_scatterpfv16sisf_mask */
     867                 :       2381 :     case 4755:  /* *avx512pf_gatherpfv8didf_mask */
     868                 :       2381 :     case 4754:  /* *avx512pf_gatherpfv8didf_mask */
     869                 :       2381 :     case 4753:  /* *avx512pf_gatherpfv8sidf_mask */
     870                 :       2381 :     case 4752:  /* *avx512pf_gatherpfv8sidf_mask */
     871                 :       2381 :     case 4751:  /* *avx512pf_gatherpfv8disf_mask */
     872                 :       2381 :     case 4750:  /* *avx512pf_gatherpfv8disf_mask */
     873                 :       2381 :     case 4749:  /* *avx512pf_gatherpfv16sisf_mask */
     874                 :       2381 :     case 4748:  /* *avx512pf_gatherpfv16sisf_mask */
     875                 :       2381 :       ro[0] = *(ro_loc[0] = &XVECEXP (pat, 0, 0));
     876                 :       2381 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 0), 0, 1));
     877                 :       2381 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 0), 0, 0));
     878                 :       2381 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 0), 0, 2));
     879                 :       2381 :       ro[4] = *(ro_loc[4] = &XVECEXP (pat, 0, 2));
     880                 :       2381 :       ro[5] = *(ro_loc[5] = &XVECEXP (pat, 0, 1));
     881                 :       2381 :       break;
     882                 :            : 
     883                 :       1348 :     case 4747:  /* sse4_2_pcmpistr_cconly */
     884                 :       1348 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0));
     885                 :       1348 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 2), 0));
     886                 :       1348 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
     887                 :       1348 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
     888                 :       1348 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2));
     889                 :       1348 :       break;
     890                 :            : 
     891                 :       1565 :     case 4746:  /* sse4_2_pcmpistrm */
     892                 :       1565 :     case 4745:  /* sse4_2_pcmpistri */
     893                 :       1565 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
     894                 :       1565 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
     895                 :       1565 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
     896                 :       1565 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2));
     897                 :       1565 :       recog_data.dup_loc[0] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 2);
     898                 :       1565 :       recog_data.dup_num[0] = 3;
     899                 :       1565 :       recog_data.dup_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 1);
     900                 :       1565 :       recog_data.dup_num[1] = 2;
     901                 :       1565 :       recog_data.dup_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 0);
     902                 :       1565 :       recog_data.dup_num[2] = 1;
     903                 :       1565 :       break;
     904                 :            : 
     905                 :        491 :     case 4744:  /* sse4_2_pcmpistr */
     906                 :        491 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
     907                 :        491 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
     908                 :        491 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
     909                 :        491 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
     910                 :        491 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2));
     911                 :        491 :       recog_data.dup_loc[0] = &XVECEXP (XEXP (XVECEXP (pat, 0, 2), 1), 0, 2);
     912                 :        491 :       recog_data.dup_num[0] = 4;
     913                 :        491 :       recog_data.dup_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 2), 1), 0, 1);
     914                 :        491 :       recog_data.dup_num[1] = 3;
     915                 :        491 :       recog_data.dup_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 2), 1), 0, 0);
     916                 :        491 :       recog_data.dup_num[2] = 2;
     917                 :        491 :       recog_data.dup_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 2);
     918                 :        491 :       recog_data.dup_num[3] = 4;
     919                 :        491 :       recog_data.dup_loc[4] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 1);
     920                 :        491 :       recog_data.dup_num[4] = 3;
     921                 :        491 :       recog_data.dup_loc[5] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 0);
     922                 :        491 :       recog_data.dup_num[5] = 2;
     923                 :        491 :       break;
     924                 :            : 
     925                 :       1006 :     case 4743:  /* sse4_2_pcmpestr_cconly */
     926                 :       1006 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0));
     927                 :       1006 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 2), 0));
     928                 :       1006 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
     929                 :       1006 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
     930                 :       1006 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2));
     931                 :       1006 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 3));
     932                 :       1006 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 4));
     933                 :       1006 :       break;
     934                 :            : 
     935                 :       1614 :     case 4742:  /* sse4_2_pcmpestrm */
     936                 :       1614 :     case 4741:  /* sse4_2_pcmpestri */
     937                 :       1614 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
     938                 :       1614 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
     939                 :       1614 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
     940                 :       1614 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2));
     941                 :       1614 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 3));
     942                 :       1614 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 4));
     943                 :       1614 :       recog_data.dup_loc[0] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 4);
     944                 :       1614 :       recog_data.dup_num[0] = 5;
     945                 :       1614 :       recog_data.dup_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 3);
     946                 :       1614 :       recog_data.dup_num[1] = 4;
     947                 :       1614 :       recog_data.dup_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 2);
     948                 :       1614 :       recog_data.dup_num[2] = 3;
     949                 :       1614 :       recog_data.dup_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 1);
     950                 :       1614 :       recog_data.dup_num[3] = 2;
     951                 :       1614 :       recog_data.dup_loc[4] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 0);
     952                 :       1614 :       recog_data.dup_num[4] = 1;
     953                 :       1614 :       break;
     954                 :            : 
     955                 :        485 :     case 4740:  /* sse4_2_pcmpestr */
     956                 :        485 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
     957                 :        485 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
     958                 :        485 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
     959                 :        485 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
     960                 :        485 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2));
     961                 :        485 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 3));
     962                 :        485 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 4));
     963                 :        485 :       recog_data.dup_loc[0] = &XVECEXP (XEXP (XVECEXP (pat, 0, 2), 1), 0, 4);
     964                 :        485 :       recog_data.dup_num[0] = 6;
     965                 :        485 :       recog_data.dup_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 2), 1), 0, 3);
     966                 :        485 :       recog_data.dup_num[1] = 5;
     967                 :        485 :       recog_data.dup_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 2), 1), 0, 2);
     968                 :        485 :       recog_data.dup_num[2] = 4;
     969                 :        485 :       recog_data.dup_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 2), 1), 0, 1);
     970                 :        485 :       recog_data.dup_num[3] = 3;
     971                 :        485 :       recog_data.dup_loc[4] = &XVECEXP (XEXP (XVECEXP (pat, 0, 2), 1), 0, 0);
     972                 :        485 :       recog_data.dup_num[4] = 2;
     973                 :        485 :       recog_data.dup_loc[5] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 4);
     974                 :        485 :       recog_data.dup_num[5] = 6;
     975                 :        485 :       recog_data.dup_loc[6] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 3);
     976                 :        485 :       recog_data.dup_num[6] = 5;
     977                 :        485 :       recog_data.dup_loc[7] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 2);
     978                 :        485 :       recog_data.dup_num[7] = 4;
     979                 :        485 :       recog_data.dup_loc[8] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 1);
     980                 :        485 :       recog_data.dup_num[8] = 3;
     981                 :        485 :       recog_data.dup_loc[9] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 0);
     982                 :        485 :       recog_data.dup_num[9] = 2;
     983                 :        485 :       break;
     984                 :            : 
     985                 :          0 :     case 4694:  /* *sse4_1_zero_extendv2hiv2di2_mask_2 */
     986                 :          0 :     case 4692:  /* *sse4_1_sign_extendv2hiv2di2_mask_2 */
     987                 :          0 :     case 4662:  /* *avx2_zero_extendv4qiv4di2_mask_2 */
     988                 :          0 :     case 4660:  /* *avx2_sign_extendv4qiv4di2_mask_2 */
     989                 :          0 :     case 4618:  /* *sse4_1_zero_extendv4qiv4si2_mask_2 */
     990                 :          0 :     case 4616:  /* *sse4_1_sign_extendv4qiv4si2_mask_2 */
     991                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
     992                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0), 0));
     993                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
     994                 :          0 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 2));
     995                 :          0 :       break;
     996                 :            : 
     997                 :          4 :     case 4693:  /* *sse4_1_zero_extendv2hiv2di2_2 */
     998                 :          4 :     case 4691:  /* *sse4_1_sign_extendv2hiv2di2_2 */
     999                 :          4 :     case 4661:  /* *avx2_zero_extendv4qiv4di2_2 */
    1000                 :          4 :     case 4659:  /* *avx2_sign_extendv4qiv4di2_2 */
    1001                 :          4 :     case 4617:  /* *sse4_1_zero_extendv4qiv4si2_2 */
    1002                 :          4 :     case 4615:  /* *sse4_1_sign_extendv4qiv4si2_2 */
    1003                 :          4 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1004                 :          4 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0));
    1005                 :          4 :       break;
    1006                 :            : 
    1007                 :          0 :     case 4714:  /* *sse4_1_zero_extendv2siv2di2_mask_2 */
    1008                 :          0 :     case 4712:  /* *sse4_1_sign_extendv2siv2di2_mask_2 */
    1009                 :          0 :     case 4682:  /* *avx2_zero_extendv4hiv4di2_mask_2 */
    1010                 :          0 :     case 4680:  /* *avx2_sign_extendv4hiv4di2_mask_2 */
    1011                 :          0 :     case 4650:  /* *avx512f_zero_extendv8qiv8di2_mask_2 */
    1012                 :          0 :     case 4648:  /* *avx512f_sign_extendv8qiv8di2_mask_2 */
    1013                 :          0 :     case 4638:  /* *sse4_1_zero_extendv4hiv4si2_mask_2 */
    1014                 :          0 :     case 4636:  /* *sse4_1_sign_extendv4hiv4si2_mask_2 */
    1015                 :          0 :     case 4606:  /* *avx2_zero_extendv8qiv8si2_mask_2 */
    1016                 :          0 :     case 4604:  /* *avx2_sign_extendv8qiv8si2_mask_2 */
    1017                 :          0 :     case 4590:  /* *sse4_1_zero_extendv8qiv8hi2_mask_2 */
    1018                 :          0 :     case 4588:  /* *sse4_1_sign_extendv8qiv8hi2_mask_2 */
    1019                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1020                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0));
    1021                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    1022                 :          0 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 2));
    1023                 :          0 :       break;
    1024                 :            : 
    1025                 :          9 :     case 4713:  /* *sse4_1_zero_extendv2siv2di2_2 */
    1026                 :          9 :     case 4711:  /* *sse4_1_sign_extendv2siv2di2_2 */
    1027                 :          9 :     case 4681:  /* *avx2_zero_extendv4hiv4di2_2 */
    1028                 :          9 :     case 4679:  /* *avx2_sign_extendv4hiv4di2_2 */
    1029                 :          9 :     case 4649:  /* *avx512f_zero_extendv8qiv8di2_2 */
    1030                 :          9 :     case 4647:  /* *avx512f_sign_extendv8qiv8di2_2 */
    1031                 :          9 :     case 4637:  /* *sse4_1_zero_extendv4hiv4si2_2 */
    1032                 :          9 :     case 4635:  /* *sse4_1_sign_extendv4hiv4si2_2 */
    1033                 :          9 :     case 4605:  /* *avx2_zero_extendv8qiv8si2_2 */
    1034                 :          9 :     case 4603:  /* *avx2_sign_extendv8qiv8si2_2 */
    1035                 :          9 :     case 4589:  /* *sse4_1_zero_extendv8qiv8hi2_2 */
    1036                 :          9 :     case 4587:  /* *sse4_1_sign_extendv8qiv8hi2_2 */
    1037                 :          9 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1038                 :          9 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
    1039                 :          9 :       break;
    1040                 :            : 
    1041                 :        240 :     case 4546:  /* *avx_blendvpd256_ltint */
    1042                 :        240 :     case 4545:  /* *avx_blendvps256_ltint */
    1043                 :        240 :     case 4544:  /* *sse4_1_blendvpd_ltint */
    1044                 :        240 :     case 4543:  /* *sse4_1_blendvps_ltint */
    1045                 :        240 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1046                 :        240 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (pat, 1), 0, 0));
    1047                 :        240 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (pat, 1), 0, 1));
    1048                 :        240 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 2), 0), 0));
    1049                 :        240 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 2), 0), 1));
    1050                 :        240 :       break;
    1051                 :            : 
    1052                 :        252 :     case 4565:  /* *sse4_1_pblendvb_lt */
    1053                 :        252 :     case 4564:  /* *avx2_pblendvb_lt */
    1054                 :        252 :     case 4542:  /* *sse4_1_blendvpd_lt */
    1055                 :        252 :     case 4541:  /* *avx_blendvpd256_lt */
    1056                 :        252 :     case 4540:  /* *sse4_1_blendvps_lt */
    1057                 :        252 :     case 4539:  /* *avx_blendvps256_lt */
    1058                 :        252 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1059                 :        252 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (pat, 1), 0, 0));
    1060                 :        252 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (pat, 1), 0, 1));
    1061                 :        252 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 2), 0));
    1062                 :        252 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 2), 1));
    1063                 :        252 :       break;
    1064                 :            : 
    1065                 :        769 :     case 4466:  /* *ssse3_pmulhrswv8hi3_mask */
    1066                 :        769 :     case 4464:  /* *avx2_pmulhrswv16hi3_mask */
    1067                 :        769 :     case 4462:  /* *avx512bw_pmulhrswv32hi3_mask */
    1068                 :        769 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1069                 :        769 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0), 0), 0));
    1070                 :        769 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0), 1), 0));
    1071                 :        769 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 1));
    1072                 :        769 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    1073                 :        769 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    1074                 :        769 :       break;
    1075                 :            : 
    1076                 :        658 :     case 4467:  /* *ssse3_pmulhrswv4hi3 */
    1077                 :        658 :     case 4465:  /* *ssse3_pmulhrswv8hi3 */
    1078                 :        658 :     case 4463:  /* *avx2_pmulhrswv16hi3 */
    1079                 :        658 :     case 4461:  /* *avx512bw_pmulhrswv32hi3 */
    1080                 :        658 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1081                 :        658 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0), 0));
    1082                 :        658 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 1), 0));
    1083                 :        658 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    1084                 :        658 :       break;
    1085                 :            : 
    1086                 :        579 :     case 4458:  /* avx512bw_umulhrswv32hi3_mask */
    1087                 :        579 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1088                 :        579 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0), 0), 0));
    1089                 :        579 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0), 1), 0));
    1090                 :        579 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
    1091                 :        579 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    1092                 :        579 :       break;
    1093                 :            : 
    1094                 :        117 :     case 4457:  /* avx512bw_umulhrswv32hi3 */
    1095                 :        117 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1096                 :        117 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0), 0));
    1097                 :        117 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 1), 0));
    1098                 :        117 :       break;
    1099                 :            : 
    1100                 :       1232 :     case 4445:  /* avx2_phsubdv8si3 */
    1101                 :       1232 :     case 4444:  /* avx2_phadddv8si3 */
    1102                 :       1232 :     case 4439:  /* ssse3_phsubswv8hi3 */
    1103                 :       1232 :     case 4438:  /* ssse3_phsubwv8hi3 */
    1104                 :       1232 :     case 4437:  /* ssse3_phaddswv8hi3 */
    1105                 :       1232 :     case 4436:  /* ssse3_phaddwv8hi3 */
    1106                 :       1232 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1107                 :       1232 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0));
    1108                 :       1232 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 0), 0), 0));
    1109                 :       1232 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 1), 0);
    1110                 :       1232 :       recog_data.dup_num[0] = 1;
    1111                 :       1232 :       recog_data.dup_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1), 0), 0);
    1112                 :       1232 :       recog_data.dup_num[1] = 1;
    1113                 :       1232 :       recog_data.dup_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1), 1), 0);
    1114                 :       1232 :       recog_data.dup_num[2] = 1;
    1115                 :       1232 :       recog_data.dup_loc[3] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0), 0), 0);
    1116                 :       1232 :       recog_data.dup_num[3] = 1;
    1117                 :       1232 :       recog_data.dup_loc[4] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0), 1), 0);
    1118                 :       1232 :       recog_data.dup_num[4] = 1;
    1119                 :       1232 :       recog_data.dup_loc[5] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 1), 0), 0);
    1120                 :       1232 :       recog_data.dup_num[5] = 1;
    1121                 :       1232 :       recog_data.dup_loc[6] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 1), 1), 0);
    1122                 :       1232 :       recog_data.dup_num[6] = 1;
    1123                 :       1232 :       recog_data.dup_loc[7] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 0), 1), 0);
    1124                 :       1232 :       recog_data.dup_num[7] = 2;
    1125                 :       1232 :       recog_data.dup_loc[8] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 1), 0), 0);
    1126                 :       1232 :       recog_data.dup_num[8] = 2;
    1127                 :       1232 :       recog_data.dup_loc[9] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 1), 1), 0);
    1128                 :       1232 :       recog_data.dup_num[9] = 2;
    1129                 :       1232 :       recog_data.dup_loc[10] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 0), 0), 0);
    1130                 :       1232 :       recog_data.dup_num[10] = 2;
    1131                 :       1232 :       recog_data.dup_loc[11] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 0), 1), 0);
    1132                 :       1232 :       recog_data.dup_num[11] = 2;
    1133                 :       1232 :       recog_data.dup_loc[12] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 1), 0), 0);
    1134                 :       1232 :       recog_data.dup_num[12] = 2;
    1135                 :       1232 :       recog_data.dup_loc[13] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 1), 1), 0);
    1136                 :       1232 :       recog_data.dup_num[13] = 2;
    1137                 :       1232 :       break;
    1138                 :            : 
    1139                 :        585 :     case 4435:  /* avx2_phsubswv16hi3 */
    1140                 :        585 :     case 4434:  /* avx2_phsubwv16hi3 */
    1141                 :        585 :     case 4433:  /* avx2_phaddswv16hi3 */
    1142                 :        585 :     case 4432:  /* avx2_phaddwv16hi3 */
    1143                 :        585 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1144                 :        585 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0), 0));
    1145                 :        585 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 0), 0), 0), 0));
    1146                 :        585 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 1), 0);
    1147                 :        585 :       recog_data.dup_num[0] = 1;
    1148                 :        585 :       recog_data.dup_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 1), 0), 0);
    1149                 :        585 :       recog_data.dup_num[1] = 1;
    1150                 :        585 :       recog_data.dup_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 1), 1), 0);
    1151                 :        585 :       recog_data.dup_num[2] = 1;
    1152                 :        585 :       recog_data.dup_loc[3] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1), 0), 0), 0);
    1153                 :        585 :       recog_data.dup_num[3] = 1;
    1154                 :        585 :       recog_data.dup_loc[4] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1), 0), 1), 0);
    1155                 :        585 :       recog_data.dup_num[4] = 1;
    1156                 :        585 :       recog_data.dup_loc[5] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1), 1), 0), 0);
    1157                 :        585 :       recog_data.dup_num[5] = 1;
    1158                 :        585 :       recog_data.dup_loc[6] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1), 1), 1), 0);
    1159                 :        585 :       recog_data.dup_num[6] = 1;
    1160                 :        585 :       recog_data.dup_loc[7] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0), 0), 0), 0);
    1161                 :        585 :       recog_data.dup_num[7] = 1;
    1162                 :        585 :       recog_data.dup_loc[8] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0), 0), 1), 0);
    1163                 :        585 :       recog_data.dup_num[8] = 1;
    1164                 :        585 :       recog_data.dup_loc[9] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0), 1), 0), 0);
    1165                 :        585 :       recog_data.dup_num[9] = 1;
    1166                 :        585 :       recog_data.dup_loc[10] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0), 1), 1), 0);
    1167                 :        585 :       recog_data.dup_num[10] = 1;
    1168                 :        585 :       recog_data.dup_loc[11] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 1), 0), 0), 0);
    1169                 :        585 :       recog_data.dup_num[11] = 1;
    1170                 :        585 :       recog_data.dup_loc[12] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 1), 0), 1), 0);
    1171                 :        585 :       recog_data.dup_num[12] = 1;
    1172                 :        585 :       recog_data.dup_loc[13] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 1), 1), 0), 0);
    1173                 :        585 :       recog_data.dup_num[13] = 1;
    1174                 :        585 :       recog_data.dup_loc[14] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 1), 1), 1), 0);
    1175                 :        585 :       recog_data.dup_num[14] = 1;
    1176                 :        585 :       recog_data.dup_loc[15] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 0), 0), 1), 0);
    1177                 :        585 :       recog_data.dup_num[15] = 2;
    1178                 :        585 :       recog_data.dup_loc[16] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 0), 1), 0), 0);
    1179                 :        585 :       recog_data.dup_num[16] = 2;
    1180                 :        585 :       recog_data.dup_loc[17] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 0), 1), 1), 0);
    1181                 :        585 :       recog_data.dup_num[17] = 2;
    1182                 :        585 :       recog_data.dup_loc[18] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 1), 0), 0), 0);
    1183                 :        585 :       recog_data.dup_num[18] = 2;
    1184                 :        585 :       recog_data.dup_loc[19] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 1), 0), 1), 0);
    1185                 :        585 :       recog_data.dup_num[19] = 2;
    1186                 :        585 :       recog_data.dup_loc[20] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 1), 1), 0), 0);
    1187                 :        585 :       recog_data.dup_num[20] = 2;
    1188                 :        585 :       recog_data.dup_loc[21] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 1), 1), 1), 0);
    1189                 :        585 :       recog_data.dup_num[21] = 2;
    1190                 :        585 :       recog_data.dup_loc[22] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 0), 0), 0), 0);
    1191                 :        585 :       recog_data.dup_num[22] = 2;
    1192                 :        585 :       recog_data.dup_loc[23] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 0), 0), 1), 0);
    1193                 :        585 :       recog_data.dup_num[23] = 2;
    1194                 :        585 :       recog_data.dup_loc[24] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 0), 1), 0), 0);
    1195                 :        585 :       recog_data.dup_num[24] = 2;
    1196                 :        585 :       recog_data.dup_loc[25] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 0), 1), 1), 0);
    1197                 :        585 :       recog_data.dup_num[25] = 2;
    1198                 :        585 :       recog_data.dup_loc[26] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 1), 0), 0), 0);
    1199                 :        585 :       recog_data.dup_num[26] = 2;
    1200                 :        585 :       recog_data.dup_loc[27] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 1), 0), 1), 0);
    1201                 :        585 :       recog_data.dup_num[27] = 2;
    1202                 :        585 :       recog_data.dup_loc[28] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 1), 1), 0), 0);
    1203                 :        585 :       recog_data.dup_num[28] = 2;
    1204                 :        585 :       recog_data.dup_loc[29] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 1), 1), 1), 0);
    1205                 :        585 :       recog_data.dup_num[29] = 2;
    1206                 :        585 :       break;
    1207                 :            : 
    1208                 :         10 :     case 4413:  /* *sse2_movmskpd_uext_shift */
    1209                 :         10 :     case 4412:  /* *sse2_movmskpd_ext_shift */
    1210                 :         10 :     case 4411:  /* *avx_movmskpd256_uext_shift */
    1211                 :         10 :     case 4410:  /* *avx_movmskpd256_ext_shift */
    1212                 :         10 :     case 4409:  /* *sse_movmskps_uext_shift */
    1213                 :         10 :     case 4408:  /* *sse_movmskps_ext_shift */
    1214                 :         10 :     case 4407:  /* *avx_movmskps256_uext_shift */
    1215                 :         10 :     case 4406:  /* *avx_movmskps256_ext_shift */
    1216                 :         10 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1217                 :         10 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0), 0), 0));
    1218                 :         10 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0), 0), 1));
    1219                 :         10 :       break;
    1220                 :            : 
    1221                 :         71 :     case 4405:  /* *sse2_movmskpd_shift */
    1222                 :         71 :     case 4404:  /* *avx_movmskpd256_shift */
    1223                 :         71 :     case 4403:  /* *sse_movmskps_shift */
    1224                 :         71 :     case 4402:  /* *avx_movmskps256_shift */
    1225                 :         71 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1226                 :         71 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    1227                 :         71 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    1228                 :         71 :       break;
    1229                 :            : 
    1230                 :         24 :     case 4423:  /* *sse2_pmovmskb_ext_lt */
    1231                 :         24 :     case 4422:  /* *sse2_pmovmskb_zext_lt */
    1232                 :         24 :     case 4421:  /* *avx2_pmovmskb_zext_lt */
    1233                 :         24 :     case 4401:  /* *sse2_movmskpd_uext_lt */
    1234                 :         24 :     case 4400:  /* *sse2_movmskpd_ext_lt */
    1235                 :         24 :     case 4399:  /* *avx_movmskpd256_uext_lt */
    1236                 :         24 :     case 4398:  /* *avx_movmskpd256_ext_lt */
    1237                 :         24 :     case 4397:  /* *sse_movmskps_uext_lt */
    1238                 :         24 :     case 4396:  /* *sse_movmskps_ext_lt */
    1239                 :         24 :     case 4395:  /* *avx_movmskps256_uext_lt */
    1240                 :         24 :     case 4394:  /* *avx_movmskps256_ext_lt */
    1241                 :         24 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1242                 :         24 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0), 0));
    1243                 :         24 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0), 1));
    1244                 :         24 :       break;
    1245                 :            : 
    1246                 :       2411 :     case 4374:  /* *sse2_uavgv8hi3_mask */
    1247                 :       2411 :     case 4372:  /* *avx2_uavgv16hi3_mask */
    1248                 :       2411 :     case 4370:  /* *avx512bw_uavgv32hi3_mask */
    1249                 :       2411 :     case 4368:  /* *sse2_uavgv16qi3_mask */
    1250                 :       2411 :     case 4366:  /* *avx2_uavgv32qi3_mask */
    1251                 :       2411 :     case 4364:  /* *avx512bw_uavgv64qi3_mask */
    1252                 :       2411 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1253                 :       2411 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0), 0));
    1254                 :       2411 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 1), 0));
    1255                 :       2411 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
    1256                 :       2411 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    1257                 :       2411 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 1));
    1258                 :       2411 :       break;
    1259                 :            : 
    1260                 :       1159 :     case 4373:  /* *sse2_uavgv8hi3 */
    1261                 :       1159 :     case 4371:  /* *avx2_uavgv16hi3 */
    1262                 :       1159 :     case 4369:  /* *avx512bw_uavgv32hi3 */
    1263                 :       1159 :     case 4367:  /* *sse2_uavgv16qi3 */
    1264                 :       1159 :     case 4365:  /* *avx2_uavgv32qi3 */
    1265                 :       1159 :     case 4363:  /* *avx512bw_uavgv64qi3 */
    1266                 :       1159 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1267                 :       1159 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0));
    1268                 :       1159 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 1), 0));
    1269                 :       1159 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    1270                 :       1159 :       break;
    1271                 :            : 
    1272                 :        341 :     case 4332:  /* sse2_pshufhw_1_mask */
    1273                 :        341 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1274                 :        341 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    1275                 :        341 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 4));
    1276                 :        341 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 5));
    1277                 :        341 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 6));
    1278                 :        341 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 7));
    1279                 :        341 :       ro[6] = *(ro_loc[6] = &XEXP (XEXP (pat, 1), 1));
    1280                 :        341 :       ro[7] = *(ro_loc[7] = &XEXP (XEXP (pat, 1), 2));
    1281                 :        341 :       break;
    1282                 :            : 
    1283                 :        964 :     case 4331:  /* sse2_pshufhw_1 */
    1284                 :        964 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1285                 :        964 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
    1286                 :        964 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 4));
    1287                 :        964 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 5));
    1288                 :        964 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 6));
    1289                 :        964 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 7));
    1290                 :        964 :       break;
    1291                 :            : 
    1292                 :        325 :     case 4330:  /* avx2_pshufhw_1_mask */
    1293                 :        325 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1294                 :        325 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    1295                 :        325 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 4));
    1296                 :        325 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 5));
    1297                 :        325 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 6));
    1298                 :        325 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 7));
    1299                 :        325 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 12));
    1300                 :        325 :       ro[7] = *(ro_loc[7] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 13));
    1301                 :        325 :       ro[8] = *(ro_loc[8] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 14));
    1302                 :        325 :       ro[9] = *(ro_loc[9] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 15));
    1303                 :        325 :       ro[10] = *(ro_loc[10] = &XEXP (XEXP (pat, 1), 1));
    1304                 :        325 :       ro[11] = *(ro_loc[11] = &XEXP (XEXP (pat, 1), 2));
    1305                 :        325 :       break;
    1306                 :            : 
    1307                 :        162 :     case 4329:  /* avx2_pshufhw_1 */
    1308                 :        162 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1309                 :        162 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
    1310                 :        162 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 4));
    1311                 :        162 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 5));
    1312                 :        162 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 6));
    1313                 :        162 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 7));
    1314                 :        162 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 12));
    1315                 :        162 :       ro[7] = *(ro_loc[7] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 13));
    1316                 :        162 :       ro[8] = *(ro_loc[8] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 14));
    1317                 :        162 :       ro[9] = *(ro_loc[9] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 15));
    1318                 :        162 :       break;
    1319                 :            : 
    1320                 :        325 :     case 4324:  /* avx2_pshuflw_1_mask */
    1321                 :        325 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1322                 :        325 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    1323                 :        325 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 0));
    1324                 :        325 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 1));
    1325                 :        325 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 2));
    1326                 :        325 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 3));
    1327                 :        325 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 8));
    1328                 :        325 :       ro[7] = *(ro_loc[7] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 9));
    1329                 :        325 :       ro[8] = *(ro_loc[8] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 10));
    1330                 :        325 :       ro[9] = *(ro_loc[9] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 11));
    1331                 :        325 :       ro[10] = *(ro_loc[10] = &XEXP (XEXP (pat, 1), 1));
    1332                 :        325 :       ro[11] = *(ro_loc[11] = &XEXP (XEXP (pat, 1), 2));
    1333                 :        325 :       break;
    1334                 :            : 
    1335                 :        160 :     case 4323:  /* avx2_pshuflw_1 */
    1336                 :        160 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1337                 :        160 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
    1338                 :        160 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 0));
    1339                 :        160 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 1));
    1340                 :        160 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 2));
    1341                 :        160 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 3));
    1342                 :        160 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 8));
    1343                 :        160 :       ro[7] = *(ro_loc[7] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 9));
    1344                 :        160 :       ro[8] = *(ro_loc[8] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 10));
    1345                 :        160 :       ro[9] = *(ro_loc[9] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 11));
    1346                 :        160 :       break;
    1347                 :            : 
    1348                 :       1180 :     case 4963:  /* avx512f_permv8di_1_mask */
    1349                 :       1180 :     case 4961:  /* avx512f_permv8df_1_mask */
    1350                 :       1180 :     case 4318:  /* avx2_pshufd_1_mask */
    1351                 :       1180 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1352                 :       1180 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    1353                 :       1180 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 0));
    1354                 :       1180 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 1));
    1355                 :       1180 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 2));
    1356                 :       1180 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 3));
    1357                 :       1180 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 4));
    1358                 :       1180 :       ro[7] = *(ro_loc[7] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 5));
    1359                 :       1180 :       ro[8] = *(ro_loc[8] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 6));
    1360                 :       1180 :       ro[9] = *(ro_loc[9] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 7));
    1361                 :       1180 :       ro[10] = *(ro_loc[10] = &XEXP (XEXP (pat, 1), 1));
    1362                 :       1180 :       ro[11] = *(ro_loc[11] = &XEXP (XEXP (pat, 1), 2));
    1363                 :       1180 :       break;
    1364                 :            : 
    1365                 :       7000 :     case 4962:  /* avx512f_permv8di_1 */
    1366                 :       7000 :     case 4960:  /* avx512f_permv8df_1 */
    1367                 :       7000 :     case 4317:  /* avx2_pshufd_1 */
    1368                 :       7000 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1369                 :       7000 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
    1370                 :       7000 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 0));
    1371                 :       7000 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 1));
    1372                 :       7000 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 2));
    1373                 :       7000 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 3));
    1374                 :       7000 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 4));
    1375                 :       7000 :       ro[7] = *(ro_loc[7] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 5));
    1376                 :       7000 :       ro[8] = *(ro_loc[8] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 6));
    1377                 :       7000 :       ro[9] = *(ro_loc[9] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 7));
    1378                 :       7000 :       break;
    1379                 :            : 
    1380                 :        375 :     case 4316:  /* avx512f_pshufd_1_mask */
    1381                 :        375 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1382                 :        375 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    1383                 :        375 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 0));
    1384                 :        375 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 1));
    1385                 :        375 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 2));
    1386                 :        375 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 3));
    1387                 :        375 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 4));
    1388                 :        375 :       ro[7] = *(ro_loc[7] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 5));
    1389                 :        375 :       ro[8] = *(ro_loc[8] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 6));
    1390                 :        375 :       ro[9] = *(ro_loc[9] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 7));
    1391                 :        375 :       ro[10] = *(ro_loc[10] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 8));
    1392                 :        375 :       ro[11] = *(ro_loc[11] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 9));
    1393                 :        375 :       ro[12] = *(ro_loc[12] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 10));
    1394                 :        375 :       ro[13] = *(ro_loc[13] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 11));
    1395                 :        375 :       ro[14] = *(ro_loc[14] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 12));
    1396                 :        375 :       ro[15] = *(ro_loc[15] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 13));
    1397                 :        375 :       ro[16] = *(ro_loc[16] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 14));
    1398                 :        375 :       ro[17] = *(ro_loc[17] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 15));
    1399                 :        375 :       ro[18] = *(ro_loc[18] = &XEXP (XEXP (pat, 1), 1));
    1400                 :        375 :       ro[19] = *(ro_loc[19] = &XEXP (XEXP (pat, 1), 2));
    1401                 :        375 :       break;
    1402                 :            : 
    1403                 :        215 :     case 4315:  /* avx512f_pshufd_1 */
    1404                 :        215 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1405                 :        215 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
    1406                 :        215 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 0));
    1407                 :        215 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 1));
    1408                 :        215 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 2));
    1409                 :        215 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 3));
    1410                 :        215 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 4));
    1411                 :        215 :       ro[7] = *(ro_loc[7] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 5));
    1412                 :        215 :       ro[8] = *(ro_loc[8] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 6));
    1413                 :        215 :       ro[9] = *(ro_loc[9] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 7));
    1414                 :        215 :       ro[10] = *(ro_loc[10] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 8));
    1415                 :        215 :       ro[11] = *(ro_loc[11] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 9));
    1416                 :        215 :       ro[12] = *(ro_loc[12] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 10));
    1417                 :        215 :       ro[13] = *(ro_loc[13] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 11));
    1418                 :        215 :       ro[14] = *(ro_loc[14] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 12));
    1419                 :        215 :       ro[15] = *(ro_loc[15] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 13));
    1420                 :        215 :       ro[16] = *(ro_loc[16] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 14));
    1421                 :        215 :       ro[17] = *(ro_loc[17] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 15));
    1422                 :        215 :       break;
    1423                 :            : 
    1424                 :        242 :     case 5212:  /* vec_set_lo_v8sf_mask */
    1425                 :        242 :     case 5210:  /* vec_set_lo_v8si_mask */
    1426                 :        242 :     case 5204:  /* vec_set_lo_v4df_mask */
    1427                 :        242 :     case 5202:  /* vec_set_lo_v4di_mask */
    1428                 :        242 :     case 4294:  /* vec_set_lo_v8di_mask */
    1429                 :        242 :     case 4292:  /* vec_set_lo_v8df_mask */
    1430                 :        242 :     case 4286:  /* vec_set_lo_v16si_mask */
    1431                 :        242 :     case 4284:  /* vec_set_lo_v16sf_mask */
    1432                 :        242 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1433                 :        242 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0));
    1434                 :        242 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    1435                 :        242 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
    1436                 :        242 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    1437                 :        242 :       break;
    1438                 :            : 
    1439                 :       5088 :     case 4561:  /* sse4_1_packusdw_mask */
    1440                 :       5088 :     case 4559:  /* avx2_packusdw_mask */
    1441                 :       5088 :     case 4557:  /* avx512bw_packusdw_mask */
    1442                 :       5088 :     case 4230:  /* sse2_packuswb_mask */
    1443                 :       5088 :     case 4228:  /* avx2_packuswb_mask */
    1444                 :       5088 :     case 4226:  /* avx512bw_packuswb_mask */
    1445                 :       5088 :     case 4224:  /* sse2_packssdw_mask */
    1446                 :       5088 :     case 4222:  /* avx2_packssdw_mask */
    1447                 :       5088 :     case 4220:  /* avx512bw_packssdw_mask */
    1448                 :       5088 :     case 4218:  /* sse2_packsswb_mask */
    1449                 :       5088 :     case 4216:  /* avx2_packsswb_mask */
    1450                 :       5088 :     case 4214:  /* avx512bw_packsswb_mask */
    1451                 :       5088 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1452                 :       5088 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    1453                 :       5088 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0));
    1454                 :       5088 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
    1455                 :       5088 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    1456                 :       5088 :       break;
    1457                 :            : 
    1458                 :          0 :     case 4212:  /* *avx512vl_testnmv2di3_zext_mask */
    1459                 :          0 :     case 4211:  /* *avx512vl_testnmv2di3_zext_mask */
    1460                 :          0 :     case 4210:  /* *avx512vl_testnmv2di3_zext_mask */
    1461                 :          0 :     case 4209:  /* *avx512vl_testnmv4di3_zext_mask */
    1462                 :          0 :     case 4208:  /* *avx512vl_testnmv4di3_zext_mask */
    1463                 :          0 :     case 4207:  /* *avx512vl_testnmv4di3_zext_mask */
    1464                 :          0 :     case 4206:  /* *avx512f_testnmv8di3_zext_mask */
    1465                 :          0 :     case 4205:  /* *avx512f_testnmv8di3_zext_mask */
    1466                 :          0 :     case 4204:  /* *avx512f_testnmv8di3_zext_mask */
    1467                 :          0 :     case 4203:  /* *avx512vl_testnmv4si3_zext_mask */
    1468                 :          0 :     case 4202:  /* *avx512vl_testnmv4si3_zext_mask */
    1469                 :          0 :     case 4201:  /* *avx512vl_testnmv4si3_zext_mask */
    1470                 :          0 :     case 4200:  /* *avx512vl_testnmv8si3_zext_mask */
    1471                 :          0 :     case 4199:  /* *avx512vl_testnmv8si3_zext_mask */
    1472                 :          0 :     case 4198:  /* *avx512vl_testnmv8si3_zext_mask */
    1473                 :          0 :     case 4197:  /* *avx512f_testnmv16si3_zext_mask */
    1474                 :          0 :     case 4196:  /* *avx512f_testnmv16si3_zext_mask */
    1475                 :          0 :     case 4195:  /* *avx512f_testnmv16si3_zext_mask */
    1476                 :          0 :     case 4194:  /* *avx512vl_testnmv8hi3_zext_mask */
    1477                 :          0 :     case 4193:  /* *avx512vl_testnmv8hi3_zext_mask */
    1478                 :          0 :     case 4192:  /* *avx512vl_testnmv8hi3_zext_mask */
    1479                 :          0 :     case 4191:  /* *avx512vl_testnmv16hi3_zext_mask */
    1480                 :          0 :     case 4190:  /* *avx512vl_testnmv16hi3_zext_mask */
    1481                 :          0 :     case 4189:  /* *avx512vl_testnmv16hi3_zext_mask */
    1482                 :          0 :     case 4188:  /* *avx512bw_testnmv32hi3_zext_mask */
    1483                 :          0 :     case 4187:  /* *avx512bw_testnmv32hi3_zext_mask */
    1484                 :          0 :     case 4186:  /* *avx512bw_testnmv32hi3_zext_mask */
    1485                 :          0 :     case 4185:  /* *avx512vl_testnmv16qi3_zext_mask */
    1486                 :          0 :     case 4184:  /* *avx512vl_testnmv16qi3_zext_mask */
    1487                 :          0 :     case 4183:  /* *avx512vl_testnmv16qi3_zext_mask */
    1488                 :          0 :     case 4182:  /* *avx512vl_testnmv32qi3_zext_mask */
    1489                 :          0 :     case 4181:  /* *avx512vl_testnmv32qi3_zext_mask */
    1490                 :          0 :     case 4180:  /* *avx512vl_testnmv32qi3_zext_mask */
    1491                 :          0 :     case 4179:  /* *avx512bw_testnmv64qi3_zext_mask */
    1492                 :          0 :     case 4178:  /* *avx512bw_testnmv64qi3_zext_mask */
    1493                 :          0 :     case 4177:  /* *avx512bw_testnmv64qi3_zext_mask */
    1494                 :          0 :     case 4140:  /* *avx512vl_testmv2di3_zext_mask */
    1495                 :          0 :     case 4139:  /* *avx512vl_testmv2di3_zext_mask */
    1496                 :          0 :     case 4138:  /* *avx512vl_testmv2di3_zext_mask */
    1497                 :          0 :     case 4137:  /* *avx512vl_testmv4di3_zext_mask */
    1498                 :          0 :     case 4136:  /* *avx512vl_testmv4di3_zext_mask */
    1499                 :          0 :     case 4135:  /* *avx512vl_testmv4di3_zext_mask */
    1500                 :          0 :     case 4134:  /* *avx512f_testmv8di3_zext_mask */
    1501                 :          0 :     case 4133:  /* *avx512f_testmv8di3_zext_mask */
    1502                 :          0 :     case 4132:  /* *avx512f_testmv8di3_zext_mask */
    1503                 :          0 :     case 4131:  /* *avx512vl_testmv4si3_zext_mask */
    1504                 :          0 :     case 4130:  /* *avx512vl_testmv4si3_zext_mask */
    1505                 :          0 :     case 4129:  /* *avx512vl_testmv4si3_zext_mask */
    1506                 :          0 :     case 4128:  /* *avx512vl_testmv8si3_zext_mask */
    1507                 :          0 :     case 4127:  /* *avx512vl_testmv8si3_zext_mask */
    1508                 :          0 :     case 4126:  /* *avx512vl_testmv8si3_zext_mask */
    1509                 :          0 :     case 4125:  /* *avx512f_testmv16si3_zext_mask */
    1510                 :          0 :     case 4124:  /* *avx512f_testmv16si3_zext_mask */
    1511                 :          0 :     case 4123:  /* *avx512f_testmv16si3_zext_mask */
    1512                 :          0 :     case 4122:  /* *avx512vl_testmv8hi3_zext_mask */
    1513                 :          0 :     case 4121:  /* *avx512vl_testmv8hi3_zext_mask */
    1514                 :          0 :     case 4120:  /* *avx512vl_testmv8hi3_zext_mask */
    1515                 :          0 :     case 4119:  /* *avx512vl_testmv16hi3_zext_mask */
    1516                 :          0 :     case 4118:  /* *avx512vl_testmv16hi3_zext_mask */
    1517                 :          0 :     case 4117:  /* *avx512vl_testmv16hi3_zext_mask */
    1518                 :          0 :     case 4116:  /* *avx512bw_testmv32hi3_zext_mask */
    1519                 :          0 :     case 4115:  /* *avx512bw_testmv32hi3_zext_mask */
    1520                 :          0 :     case 4114:  /* *avx512bw_testmv32hi3_zext_mask */
    1521                 :          0 :     case 4113:  /* *avx512vl_testmv16qi3_zext_mask */
    1522                 :          0 :     case 4112:  /* *avx512vl_testmv16qi3_zext_mask */
    1523                 :          0 :     case 4111:  /* *avx512vl_testmv16qi3_zext_mask */
    1524                 :          0 :     case 4110:  /* *avx512vl_testmv32qi3_zext_mask */
    1525                 :          0 :     case 4109:  /* *avx512vl_testmv32qi3_zext_mask */
    1526                 :          0 :     case 4108:  /* *avx512vl_testmv32qi3_zext_mask */
    1527                 :          0 :     case 4107:  /* *avx512bw_testmv64qi3_zext_mask */
    1528                 :          0 :     case 4106:  /* *avx512bw_testmv64qi3_zext_mask */
    1529                 :          0 :     case 4105:  /* *avx512bw_testmv64qi3_zext_mask */
    1530                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1531                 :          0 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 0));
    1532                 :          0 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 1));
    1533                 :          0 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    1534                 :          0 :       break;
    1535                 :            : 
    1536                 :        248 :     case 5631:  /* avx512dq_vmfpclassv2df */
    1537                 :        248 :     case 5629:  /* avx512dq_vmfpclassv4sf */
    1538                 :        248 :     case 4176:  /* *avx512vl_testnmv2di3_zext */
    1539                 :        248 :     case 4175:  /* *avx512vl_testnmv2di3_zext */
    1540                 :        248 :     case 4174:  /* *avx512vl_testnmv2di3_zext */
    1541                 :        248 :     case 4173:  /* *avx512vl_testnmv4di3_zext */
    1542                 :        248 :     case 4172:  /* *avx512vl_testnmv4di3_zext */
    1543                 :        248 :     case 4171:  /* *avx512vl_testnmv4di3_zext */
    1544                 :        248 :     case 4170:  /* *avx512f_testnmv8di3_zext */
    1545                 :        248 :     case 4169:  /* *avx512f_testnmv8di3_zext */
    1546                 :        248 :     case 4168:  /* *avx512f_testnmv8di3_zext */
    1547                 :        248 :     case 4167:  /* *avx512vl_testnmv4si3_zext */
    1548                 :        248 :     case 4166:  /* *avx512vl_testnmv4si3_zext */
    1549                 :        248 :     case 4165:  /* *avx512vl_testnmv4si3_zext */
    1550                 :        248 :     case 4164:  /* *avx512vl_testnmv8si3_zext */
    1551                 :        248 :     case 4163:  /* *avx512vl_testnmv8si3_zext */
    1552                 :        248 :     case 4162:  /* *avx512vl_testnmv8si3_zext */
    1553                 :        248 :     case 4161:  /* *avx512f_testnmv16si3_zext */
    1554                 :        248 :     case 4160:  /* *avx512f_testnmv16si3_zext */
    1555                 :        248 :     case 4159:  /* *avx512f_testnmv16si3_zext */
    1556                 :        248 :     case 4158:  /* *avx512vl_testnmv8hi3_zext */
    1557                 :        248 :     case 4157:  /* *avx512vl_testnmv8hi3_zext */
    1558                 :        248 :     case 4156:  /* *avx512vl_testnmv8hi3_zext */
    1559                 :        248 :     case 4155:  /* *avx512vl_testnmv16hi3_zext */
    1560                 :        248 :     case 4154:  /* *avx512vl_testnmv16hi3_zext */
    1561                 :        248 :     case 4153:  /* *avx512vl_testnmv16hi3_zext */
    1562                 :        248 :     case 4152:  /* *avx512bw_testnmv32hi3_zext */
    1563                 :        248 :     case 4151:  /* *avx512bw_testnmv32hi3_zext */
    1564                 :        248 :     case 4150:  /* *avx512bw_testnmv32hi3_zext */
    1565                 :        248 :     case 4149:  /* *avx512vl_testnmv16qi3_zext */
    1566                 :        248 :     case 4148:  /* *avx512vl_testnmv16qi3_zext */
    1567                 :        248 :     case 4147:  /* *avx512vl_testnmv16qi3_zext */
    1568                 :        248 :     case 4146:  /* *avx512vl_testnmv32qi3_zext */
    1569                 :        248 :     case 4145:  /* *avx512vl_testnmv32qi3_zext */
    1570                 :        248 :     case 4144:  /* *avx512vl_testnmv32qi3_zext */
    1571                 :        248 :     case 4143:  /* *avx512bw_testnmv64qi3_zext */
    1572                 :        248 :     case 4142:  /* *avx512bw_testnmv64qi3_zext */
    1573                 :        248 :     case 4141:  /* *avx512bw_testnmv64qi3_zext */
    1574                 :        248 :     case 4104:  /* *avx512vl_testmv2di3_zext */
    1575                 :        248 :     case 4103:  /* *avx512vl_testmv2di3_zext */
    1576                 :        248 :     case 4102:  /* *avx512vl_testmv2di3_zext */
    1577                 :        248 :     case 4101:  /* *avx512vl_testmv4di3_zext */
    1578                 :        248 :     case 4100:  /* *avx512vl_testmv4di3_zext */
    1579                 :        248 :     case 4099:  /* *avx512vl_testmv4di3_zext */
    1580                 :        248 :     case 4098:  /* *avx512f_testmv8di3_zext */
    1581                 :        248 :     case 4097:  /* *avx512f_testmv8di3_zext */
    1582                 :        248 :     case 4096:  /* *avx512f_testmv8di3_zext */
    1583                 :        248 :     case 4095:  /* *avx512vl_testmv4si3_zext */
    1584                 :        248 :     case 4094:  /* *avx512vl_testmv4si3_zext */
    1585                 :        248 :     case 4093:  /* *avx512vl_testmv4si3_zext */
    1586                 :        248 :     case 4092:  /* *avx512vl_testmv8si3_zext */
    1587                 :        248 :     case 4091:  /* *avx512vl_testmv8si3_zext */
    1588                 :        248 :     case 4090:  /* *avx512vl_testmv8si3_zext */
    1589                 :        248 :     case 4089:  /* *avx512f_testmv16si3_zext */
    1590                 :        248 :     case 4088:  /* *avx512f_testmv16si3_zext */
    1591                 :        248 :     case 4087:  /* *avx512f_testmv16si3_zext */
    1592                 :        248 :     case 4086:  /* *avx512vl_testmv8hi3_zext */
    1593                 :        248 :     case 4085:  /* *avx512vl_testmv8hi3_zext */
    1594                 :        248 :     case 4084:  /* *avx512vl_testmv8hi3_zext */
    1595                 :        248 :     case 4083:  /* *avx512vl_testmv16hi3_zext */
    1596                 :        248 :     case 4082:  /* *avx512vl_testmv16hi3_zext */
    1597                 :        248 :     case 4081:  /* *avx512vl_testmv16hi3_zext */
    1598                 :        248 :     case 4080:  /* *avx512bw_testmv32hi3_zext */
    1599                 :        248 :     case 4079:  /* *avx512bw_testmv32hi3_zext */
    1600                 :        248 :     case 4078:  /* *avx512bw_testmv32hi3_zext */
    1601                 :        248 :     case 4077:  /* *avx512vl_testmv16qi3_zext */
    1602                 :        248 :     case 4076:  /* *avx512vl_testmv16qi3_zext */
    1603                 :        248 :     case 4075:  /* *avx512vl_testmv16qi3_zext */
    1604                 :        248 :     case 4074:  /* *avx512vl_testmv32qi3_zext */
    1605                 :        248 :     case 4073:  /* *avx512vl_testmv32qi3_zext */
    1606                 :        248 :     case 4072:  /* *avx512vl_testmv32qi3_zext */
    1607                 :        248 :     case 4071:  /* *avx512bw_testmv64qi3_zext */
    1608                 :        248 :     case 4070:  /* *avx512bw_testmv64qi3_zext */
    1609                 :        248 :     case 4069:  /* *avx512bw_testmv64qi3_zext */
    1610                 :        248 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1611                 :        248 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    1612                 :        248 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    1613                 :        248 :       break;
    1614                 :            : 
    1615                 :      11851 :     case 5948:  /* avx512vl_vpshufbitqmbv16qi_mask */
    1616                 :      11851 :     case 5946:  /* avx512vl_vpshufbitqmbv32qi_mask */
    1617                 :      11851 :     case 5944:  /* avx512vl_vpshufbitqmbv64qi_mask */
    1618                 :      11851 :     case 5628:  /* avx512dq_fpclassv2df_mask */
    1619                 :      11851 :     case 5626:  /* avx512dq_fpclassv4df_mask */
    1620                 :      11851 :     case 5624:  /* avx512dq_fpclassv8df_mask */
    1621                 :      11851 :     case 5622:  /* avx512dq_fpclassv4sf_mask */
    1622                 :      11851 :     case 5620:  /* avx512dq_fpclassv8sf_mask */
    1623                 :      11851 :     case 5618:  /* avx512dq_fpclassv16sf_mask */
    1624                 :      11851 :     case 5316:  /* *vcvtps2ph */
    1625                 :      11851 :     case 4068:  /* avx512vl_testnmv2di3_mask */
    1626                 :      11851 :     case 4066:  /* avx512vl_testnmv4di3_mask */
    1627                 :      11851 :     case 4064:  /* avx512f_testnmv8di3_mask */
    1628                 :      11851 :     case 4062:  /* avx512vl_testnmv4si3_mask */
    1629                 :      11851 :     case 4060:  /* avx512vl_testnmv8si3_mask */
    1630                 :      11851 :     case 4058:  /* avx512f_testnmv16si3_mask */
    1631                 :      11851 :     case 4056:  /* avx512vl_testnmv8hi3_mask */
    1632                 :      11851 :     case 4054:  /* avx512vl_testnmv16hi3_mask */
    1633                 :      11851 :     case 4052:  /* avx512bw_testnmv32hi3_mask */
    1634                 :      11851 :     case 4050:  /* avx512vl_testnmv16qi3_mask */
    1635                 :      11851 :     case 4048:  /* avx512vl_testnmv32qi3_mask */
    1636                 :      11851 :     case 4046:  /* avx512bw_testnmv64qi3_mask */
    1637                 :      11851 :     case 4044:  /* avx512vl_testmv2di3_mask */
    1638                 :      11851 :     case 4042:  /* avx512vl_testmv4di3_mask */
    1639                 :      11851 :     case 4040:  /* avx512f_testmv8di3_mask */
    1640                 :      11851 :     case 4038:  /* avx512vl_testmv4si3_mask */
    1641                 :      11851 :     case 4036:  /* avx512vl_testmv8si3_mask */
    1642                 :      11851 :     case 4034:  /* avx512f_testmv16si3_mask */
    1643                 :      11851 :     case 4032:  /* avx512vl_testmv8hi3_mask */
    1644                 :      11851 :     case 4030:  /* avx512vl_testmv16hi3_mask */
    1645                 :      11851 :     case 4028:  /* avx512bw_testmv32hi3_mask */
    1646                 :      11851 :     case 4026:  /* avx512vl_testmv16qi3_mask */
    1647                 :      11851 :     case 4024:  /* avx512vl_testmv32qi3_mask */
    1648                 :      11851 :     case 4022:  /* avx512bw_testmv64qi3_mask */
    1649                 :      11851 :     case 3879:  /* avx512vl_gtv8hi3_mask */
    1650                 :      11851 :     case 3877:  /* avx512vl_gtv16hi3_mask */
    1651                 :      11851 :     case 3875:  /* avx512bw_gtv32hi3_mask */
    1652                 :      11851 :     case 3873:  /* avx512vl_gtv32qi3_mask */
    1653                 :      11851 :     case 3871:  /* avx512vl_gtv16qi3_mask */
    1654                 :      11851 :     case 3869:  /* avx512bw_gtv64qi3_mask */
    1655                 :      11851 :     case 3867:  /* avx512vl_gtv2di3_mask */
    1656                 :      11851 :     case 3865:  /* avx512vl_gtv4di3_mask */
    1657                 :      11851 :     case 3863:  /* avx512f_gtv8di3_mask */
    1658                 :      11851 :     case 3861:  /* avx512vl_gtv4si3_mask */
    1659                 :      11851 :     case 3859:  /* avx512vl_gtv8si3_mask */
    1660                 :      11851 :     case 3857:  /* avx512f_gtv16si3_mask */
    1661                 :      11851 :     case 3846:  /* avx512vl_eqv2di3_mask_1 */
    1662                 :      11851 :     case 3844:  /* avx512vl_eqv4di3_mask_1 */
    1663                 :      11851 :     case 3842:  /* avx512f_eqv8di3_mask_1 */
    1664                 :      11851 :     case 3840:  /* avx512vl_eqv4si3_mask_1 */
    1665                 :      11851 :     case 3838:  /* avx512vl_eqv8si3_mask_1 */
    1666                 :      11851 :     case 3836:  /* avx512f_eqv16si3_mask_1 */
    1667                 :      11851 :     case 3834:  /* avx512vl_eqv8hi3_mask_1 */
    1668                 :      11851 :     case 3832:  /* avx512vl_eqv16hi3_mask_1 */
    1669                 :      11851 :     case 3830:  /* avx512bw_eqv32hi3_mask_1 */
    1670                 :      11851 :     case 3828:  /* avx512vl_eqv32qi3_mask_1 */
    1671                 :      11851 :     case 3826:  /* avx512vl_eqv16qi3_mask_1 */
    1672                 :      11851 :     case 3824:  /* avx512bw_eqv64qi3_mask_1 */
    1673                 :      11851 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1674                 :      11851 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    1675                 :      11851 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    1676                 :      11851 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
    1677                 :      11851 :       break;
    1678                 :            : 
    1679                 :       2298 :     case 3542:  /* *sse4_1_mulv2siv2di3_mask */
    1680                 :       2298 :     case 3540:  /* *vec_widen_smult_even_v8si_mask */
    1681                 :       2298 :     case 3538:  /* *vec_widen_smult_even_v16si_mask */
    1682                 :       2298 :     case 3536:  /* *vec_widen_umult_even_v4si_mask */
    1683                 :       2298 :     case 3534:  /* *vec_widen_umult_even_v8si_mask */
    1684                 :       2298 :     case 3532:  /* *vec_widen_umult_even_v16si_mask */
    1685                 :       2298 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1686                 :       2298 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
    1687                 :       2298 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0), 0));
    1688                 :       2298 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
    1689                 :       2298 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    1690                 :       2298 :       break;
    1691                 :            : 
    1692                 :       2368 :     case 3530:  /* *umulv8hi3_highpart_mask */
    1693                 :       2368 :     case 3528:  /* *smulv8hi3_highpart_mask */
    1694                 :       2368 :     case 3526:  /* *umulv16hi3_highpart_mask */
    1695                 :       2368 :     case 3524:  /* *smulv16hi3_highpart_mask */
    1696                 :       2368 :     case 3522:  /* *umulv32hi3_highpart_mask */
    1697                 :       2368 :     case 3520:  /* *smulv32hi3_highpart_mask */
    1698                 :       2368 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1699                 :       2368 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0));
    1700                 :       2368 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 1), 0));
    1701                 :       2368 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
    1702                 :       2368 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    1703                 :       2368 :       break;
    1704                 :            : 
    1705                 :       5095 :     case 3404:  /* avx512f_us_truncatev8div16qi2_mask_store */
    1706                 :       5095 :     case 3403:  /* avx512f_truncatev8div16qi2_mask_store */
    1707                 :       5095 :     case 3402:  /* avx512f_ss_truncatev8div16qi2_mask_store */
    1708                 :       5095 :     case 3389:  /* avx512vl_us_truncatev2div2si2_mask_store */
    1709                 :       5095 :     case 3388:  /* avx512vl_truncatev2div2si2_mask_store */
    1710                 :       5095 :     case 3387:  /* avx512vl_ss_truncatev2div2si2_mask_store */
    1711                 :       5095 :     case 3374:  /* avx512vl_us_truncatev2div2hi2_mask_store */
    1712                 :       5095 :     case 3373:  /* avx512vl_truncatev2div2hi2_mask_store */
    1713                 :       5095 :     case 3372:  /* avx512vl_ss_truncatev2div2hi2_mask_store */
    1714                 :       5095 :     case 3362:  /* avx512vl_us_truncatev4div4hi2_mask_store */
    1715                 :       5095 :     case 3361:  /* avx512vl_truncatev4div4hi2_mask_store */
    1716                 :       5095 :     case 3360:  /* avx512vl_ss_truncatev4div4hi2_mask_store */
    1717                 :       5095 :     case 3359:  /* avx512vl_us_truncatev4siv4hi2_mask_store */
    1718                 :       5095 :     case 3358:  /* avx512vl_truncatev4siv4hi2_mask_store */
    1719                 :       5095 :     case 3357:  /* avx512vl_ss_truncatev4siv4hi2_mask_store */
    1720                 :       5095 :     case 3329:  /* avx512vl_us_truncatev8siv8qi2_mask_store */
    1721                 :       5095 :     case 3328:  /* avx512vl_truncatev8siv8qi2_mask_store */
    1722                 :       5095 :     case 3327:  /* avx512vl_ss_truncatev8siv8qi2_mask_store */
    1723                 :       5095 :     case 3326:  /* avx512vl_us_truncatev8hiv8qi2_mask_store */
    1724                 :       5095 :     case 3325:  /* avx512vl_truncatev8hiv8qi2_mask_store */
    1725                 :       5095 :     case 3324:  /* avx512vl_ss_truncatev8hiv8qi2_mask_store */
    1726                 :       5095 :     case 3305:  /* avx512vl_us_truncatev4div4qi2_mask_store */
    1727                 :       5095 :     case 3304:  /* avx512vl_truncatev4div4qi2_mask_store */
    1728                 :       5095 :     case 3303:  /* avx512vl_ss_truncatev4div4qi2_mask_store */
    1729                 :       5095 :     case 3302:  /* avx512vl_us_truncatev4siv4qi2_mask_store */
    1730                 :       5095 :     case 3301:  /* avx512vl_truncatev4siv4qi2_mask_store */
    1731                 :       5095 :     case 3300:  /* avx512vl_ss_truncatev4siv4qi2_mask_store */
    1732                 :       5095 :     case 3281:  /* avx512vl_us_truncatev2div2qi2_mask_store */
    1733                 :       5095 :     case 3280:  /* avx512vl_truncatev2div2qi2_mask_store */
    1734                 :       5095 :     case 3279:  /* avx512vl_ss_truncatev2div2qi2_mask_store */
    1735                 :       5095 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1736                 :       5095 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    1737                 :       5095 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    1738                 :       5095 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0);
    1739                 :       5095 :       recog_data.dup_num[0] = 0;
    1740                 :       5095 :       recog_data.dup_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 1), 0);
    1741                 :       5095 :       recog_data.dup_num[1] = 0;
    1742                 :       5095 :       break;
    1743                 :            : 
    1744                 :          0 :     case 3395:  /* *avx512f_us_truncatev8div16qi2_store */
    1745                 :          0 :     case 3394:  /* *avx512f_truncatev8div16qi2_store */
    1746                 :          0 :     case 3393:  /* *avx512f_ss_truncatev8div16qi2_store */
    1747                 :          0 :     case 3380:  /* *avx512vl_us_truncatev2div2si2_store */
    1748                 :          0 :     case 3379:  /* *avx512vl_truncatev2div2si2_store */
    1749                 :          0 :     case 3378:  /* *avx512vl_ss_truncatev2div2si2_store */
    1750                 :          0 :     case 3365:  /* *avx512vl_us_truncatev2div2hi2_store */
    1751                 :          0 :     case 3364:  /* *avx512vl_truncatev2div2hi2_store */
    1752                 :          0 :     case 3363:  /* *avx512vl_ss_truncatev2div2hi2_store */
    1753                 :          0 :     case 3344:  /* *avx512vl_us_truncatev4div4hi2_store */
    1754                 :          0 :     case 3343:  /* *avx512vl_truncatev4div4hi2_store */
    1755                 :          0 :     case 3342:  /* *avx512vl_ss_truncatev4div4hi2_store */
    1756                 :          0 :     case 3341:  /* *avx512vl_us_truncatev4siv4hi2_store */
    1757                 :          0 :     case 3340:  /* *avx512vl_truncatev4siv4hi2_store */
    1758                 :          0 :     case 3339:  /* *avx512vl_ss_truncatev4siv4hi2_store */
    1759                 :          0 :     case 3311:  /* *avx512vl_us_truncatev8siv8qi2_store */
    1760                 :          0 :     case 3310:  /* *avx512vl_truncatev8siv8qi2_store */
    1761                 :          0 :     case 3309:  /* *avx512vl_ss_truncatev8siv8qi2_store */
    1762                 :          0 :     case 3308:  /* *avx512vl_us_truncatev8hiv8qi2_store */
    1763                 :          0 :     case 3307:  /* *avx512vl_truncatev8hiv8qi2_store */
    1764                 :          0 :     case 3306:  /* *avx512vl_ss_truncatev8hiv8qi2_store */
    1765                 :          0 :     case 3287:  /* *avx512vl_us_truncatev4div4qi2_store */
    1766                 :          0 :     case 3286:  /* *avx512vl_truncatev4div4qi2_store */
    1767                 :          0 :     case 3285:  /* *avx512vl_ss_truncatev4div4qi2_store */
    1768                 :          0 :     case 3284:  /* *avx512vl_us_truncatev4siv4qi2_store */
    1769                 :          0 :     case 3283:  /* *avx512vl_truncatev4siv4qi2_store */
    1770                 :          0 :     case 3282:  /* *avx512vl_ss_truncatev4siv4qi2_store */
    1771                 :          0 :     case 3272:  /* *avx512vl_us_truncatev2div2qi2_store */
    1772                 :          0 :     case 3271:  /* *avx512vl_truncatev2div2qi2_store */
    1773                 :          0 :     case 3270:  /* *avx512vl_ss_truncatev2div2qi2_store */
    1774                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1775                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    1776                 :          0 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 1), 0);
    1777                 :          0 :       recog_data.dup_num[0] = 0;
    1778                 :          0 :       break;
    1779                 :            : 
    1780                 :      10768 :     case 3194:  /* sse2_shufpd_v2df */
    1781                 :      10768 :     case 3193:  /* sse2_shufpd_v2di */
    1782                 :      10768 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1783                 :      10768 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    1784                 :      10768 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    1785                 :      10768 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 0));
    1786                 :      10768 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 1));
    1787                 :      10768 :       break;
    1788                 :            : 
    1789                 :        299 :     case 3180:  /* sse2_shufpd_v2df_mask */
    1790                 :        299 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1791                 :        299 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    1792                 :        299 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    1793                 :        299 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 0));
    1794                 :        299 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 1));
    1795                 :        299 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 1));
    1796                 :        299 :       ro[6] = *(ro_loc[6] = &XEXP (XEXP (pat, 1), 2));
    1797                 :        299 :       break;
    1798                 :            : 
    1799                 :       1252 :     case 4314:  /* avx512f_shuf_i32x4_1_mask */
    1800                 :       1252 :     case 4312:  /* avx512f_shuf_f32x4_1_mask */
    1801                 :       1252 :     case 3175:  /* avx512f_shufps512_1_mask */
    1802                 :       1252 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1803                 :       1252 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    1804                 :       1252 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    1805                 :       1252 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 0));
    1806                 :       1252 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 1));
    1807                 :       1252 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 2));
    1808                 :       1252 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 3));
    1809                 :       1252 :       ro[7] = *(ro_loc[7] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 4));
    1810                 :       1252 :       ro[8] = *(ro_loc[8] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 5));
    1811                 :       1252 :       ro[9] = *(ro_loc[9] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 6));
    1812                 :       1252 :       ro[10] = *(ro_loc[10] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 7));
    1813                 :       1252 :       ro[11] = *(ro_loc[11] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 8));
    1814                 :       1252 :       ro[12] = *(ro_loc[12] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 9));
    1815                 :       1252 :       ro[13] = *(ro_loc[13] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 10));
    1816                 :       1252 :       ro[14] = *(ro_loc[14] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 11));
    1817                 :       1252 :       ro[15] = *(ro_loc[15] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 12));
    1818                 :       1252 :       ro[16] = *(ro_loc[16] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 13));
    1819                 :       1252 :       ro[17] = *(ro_loc[17] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 14));
    1820                 :       1252 :       ro[18] = *(ro_loc[18] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 15));
    1821                 :       1252 :       ro[19] = *(ro_loc[19] = &XEXP (XEXP (pat, 1), 1));
    1822                 :       1252 :       ro[20] = *(ro_loc[20] = &XEXP (XEXP (pat, 1), 2));
    1823                 :       1252 :       break;
    1824                 :            : 
    1825                 :       1209 :     case 4313:  /* avx512f_shuf_i32x4_1 */
    1826                 :       1209 :     case 4311:  /* avx512f_shuf_f32x4_1 */
    1827                 :       1209 :     case 3174:  /* avx512f_shufps512_1 */
    1828                 :       1209 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1829                 :       1209 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    1830                 :       1209 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    1831                 :       1209 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 0));
    1832                 :       1209 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 1));
    1833                 :       1209 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 2));
    1834                 :       1209 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 3));
    1835                 :       1209 :       ro[7] = *(ro_loc[7] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 4));
    1836                 :       1209 :       ro[8] = *(ro_loc[8] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 5));
    1837                 :       1209 :       ro[9] = *(ro_loc[9] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 6));
    1838                 :       1209 :       ro[10] = *(ro_loc[10] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 7));
    1839                 :       1209 :       ro[11] = *(ro_loc[11] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 8));
    1840                 :       1209 :       ro[12] = *(ro_loc[12] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 9));
    1841                 :       1209 :       ro[13] = *(ro_loc[13] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 10));
    1842                 :       1209 :       ro[14] = *(ro_loc[14] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 11));
    1843                 :       1209 :       ro[15] = *(ro_loc[15] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 12));
    1844                 :       1209 :       ro[16] = *(ro_loc[16] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 13));
    1845                 :       1209 :       ro[17] = *(ro_loc[17] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 14));
    1846                 :       1209 :       ro[18] = *(ro_loc[18] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 15));
    1847                 :       1209 :       break;
    1848                 :            : 
    1849                 :          0 :     case 3173:  /* *avx512f_rndscalev2df_round */
    1850                 :          0 :     case 3171:  /* *avx512f_rndscalev4sf_round */
    1851                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1852                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    1853                 :          0 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0, 0));
    1854                 :          0 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0, 1));
    1855                 :          0 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (pat, 1), 0, 1));
    1856                 :          0 :       break;
    1857                 :            : 
    1858                 :         94 :     case 4739:  /* *sse4_1_roundsd */
    1859                 :         94 :     case 4738:  /* *sse4_1_roundss */
    1860                 :         94 :     case 3172:  /* *avx512f_rndscalev2df */
    1861                 :         94 :     case 3170:  /* *avx512f_rndscalev4sf */
    1862                 :         94 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1863                 :         94 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
    1864                 :         94 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 0));
    1865                 :         94 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 1));
    1866                 :         94 :       break;
    1867                 :            : 
    1868                 :         82 :     case 3169:  /* avx512f_rndscalev2df_mask_round */
    1869                 :         82 :     case 3165:  /* avx512f_rndscalev4sf_mask_round */
    1870                 :         82 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1871                 :         82 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    1872                 :         82 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0, 0));
    1873                 :         82 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0, 1));
    1874                 :         82 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    1875                 :         82 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    1876                 :         82 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (pat, 1), 0, 1));
    1877                 :         82 :       break;
    1878                 :            : 
    1879                 :         48 :     case 3168:  /* avx512f_rndscalev2df_round */
    1880                 :         48 :     case 3164:  /* avx512f_rndscalev4sf_round */
    1881                 :         48 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1882                 :         48 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    1883                 :         48 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
    1884                 :         48 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 1));
    1885                 :         48 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (pat, 1), 0, 1));
    1886                 :         48 :       break;
    1887                 :            : 
    1888                 :        884 :     case 3167:  /* avx512f_rndscalev2df_mask */
    1889                 :        884 :     case 3163:  /* avx512f_rndscalev4sf_mask */
    1890                 :        884 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1891                 :        884 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
    1892                 :        884 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 0));
    1893                 :        884 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 1));
    1894                 :        884 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    1895                 :        884 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    1896                 :        884 :       break;
    1897                 :            : 
    1898                 :       1340 :     case 4737:  /* sse4_1_roundsd */
    1899                 :       1340 :     case 4736:  /* sse4_1_roundss */
    1900                 :       1340 :     case 3166:  /* avx512f_rndscalev2df */
    1901                 :       1340 :     case 3162:  /* avx512f_rndscalev4sf */
    1902                 :       1340 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1903                 :       1340 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
    1904                 :       1340 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    1905                 :       1340 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    1906                 :       1340 :       break;
    1907                 :            : 
    1908                 :        518 :     case 3137:  /* avx512f_sfixupimmv2df_mask_round */
    1909                 :        518 :     case 3135:  /* avx512f_sfixupimmv4sf_mask_round */
    1910                 :        518 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1911                 :        518 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0, 0));
    1912                 :        518 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0, 1));
    1913                 :        518 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0, 2));
    1914                 :        518 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0, 3));
    1915                 :        518 :       ro[5] = *(ro_loc[5] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    1916                 :        518 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (pat, 1), 0, 1));
    1917                 :        518 :       recog_data.dup_loc[0] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1);
    1918                 :        518 :       recog_data.dup_num[0] = 1;
    1919                 :        518 :       recog_data.dup_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    1920                 :        518 :       recog_data.dup_num[1] = 1;
    1921                 :        518 :       break;
    1922                 :            : 
    1923                 :        102 :     case 3136:  /* avx512f_sfixupimmv2df_mask */
    1924                 :        102 :     case 3134:  /* avx512f_sfixupimmv4sf_mask */
    1925                 :        102 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1926                 :        102 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 0));
    1927                 :        102 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 1));
    1928                 :        102 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 2));
    1929                 :        102 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 3));
    1930                 :        102 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    1931                 :        102 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 0), 1);
    1932                 :        102 :       recog_data.dup_num[0] = 1;
    1933                 :        102 :       recog_data.dup_loc[1] = &XEXP (XEXP (pat, 1), 1);
    1934                 :        102 :       recog_data.dup_num[1] = 1;
    1935                 :        102 :       break;
    1936                 :            : 
    1937                 :        450 :     case 3133:  /* avx512f_sfixupimmv2df_maskz_1_round */
    1938                 :        450 :     case 3129:  /* avx512f_sfixupimmv4sf_maskz_1_round */
    1939                 :        450 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1940                 :        450 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0, 0));
    1941                 :        450 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0, 1));
    1942                 :        450 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0, 2));
    1943                 :        450 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0, 3));
    1944                 :        450 :       ro[5] = *(ro_loc[5] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    1945                 :        450 :       ro[6] = *(ro_loc[6] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    1946                 :        450 :       ro[7] = *(ro_loc[7] = &XVECEXP (XEXP (pat, 1), 0, 1));
    1947                 :        450 :       recog_data.dup_loc[0] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1);
    1948                 :        450 :       recog_data.dup_num[0] = 1;
    1949                 :        450 :       break;
    1950                 :            : 
    1951                 :         90 :     case 3132:  /* avx512f_sfixupimmv2df_maskz_1 */
    1952                 :         90 :     case 3128:  /* avx512f_sfixupimmv4sf_maskz_1 */
    1953                 :         90 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1954                 :         90 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 0));
    1955                 :         90 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 1));
    1956                 :         90 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 2));
    1957                 :         90 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 3));
    1958                 :         90 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 1));
    1959                 :         90 :       ro[6] = *(ro_loc[6] = &XEXP (XEXP (pat, 1), 2));
    1960                 :         90 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 0), 1);
    1961                 :         90 :       recog_data.dup_num[0] = 1;
    1962                 :         90 :       break;
    1963                 :            : 
    1964                 :        358 :     case 3131:  /* avx512f_sfixupimmv2df_round */
    1965                 :        358 :     case 3127:  /* avx512f_sfixupimmv4sf_round */
    1966                 :        358 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1967                 :        358 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
    1968                 :        358 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 1));
    1969                 :        358 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 2));
    1970                 :        358 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 3));
    1971                 :        358 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    1972                 :        358 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    1973                 :        358 :       recog_data.dup_num[0] = 1;
    1974                 :        358 :       break;
    1975                 :            : 
    1976                 :         76 :     case 3130:  /* avx512f_sfixupimmv2df */
    1977                 :         76 :     case 3126:  /* avx512f_sfixupimmv4sf */
    1978                 :         76 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1979                 :         76 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    1980                 :         76 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    1981                 :         76 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 2));
    1982                 :         76 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 3));
    1983                 :         76 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    1984                 :         76 :       recog_data.dup_num[0] = 1;
    1985                 :         76 :       break;
    1986                 :            : 
    1987                 :        479 :     case 3125:  /* avx512vl_fixupimmv2df_mask_round */
    1988                 :        479 :     case 3123:  /* avx512vl_fixupimmv4df_mask_round */
    1989                 :        479 :     case 3121:  /* avx512f_fixupimmv8df_mask_round */
    1990                 :        479 :     case 3119:  /* avx512vl_fixupimmv4sf_mask_round */
    1991                 :        479 :     case 3117:  /* avx512vl_fixupimmv8sf_mask_round */
    1992                 :        479 :     case 3115:  /* avx512f_fixupimmv16sf_mask_round */
    1993                 :        479 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    1994                 :        479 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
    1995                 :        479 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 1));
    1996                 :        479 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 2));
    1997                 :        479 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 3));
    1998                 :        479 :       ro[5] = *(ro_loc[5] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    1999                 :        479 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2000                 :        479 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    2001                 :        479 :       recog_data.dup_num[0] = 1;
    2002                 :        479 :       break;
    2003                 :            : 
    2004                 :        450 :     case 3113:  /* avx512vl_fixupimmv2df_maskz_1_round */
    2005                 :        450 :     case 3109:  /* avx512vl_fixupimmv4df_maskz_1_round */
    2006                 :        450 :     case 3105:  /* avx512f_fixupimmv8df_maskz_1_round */
    2007                 :        450 :     case 3101:  /* avx512vl_fixupimmv4sf_maskz_1_round */
    2008                 :        450 :     case 3097:  /* avx512vl_fixupimmv8sf_maskz_1_round */
    2009                 :        450 :     case 3093:  /* avx512f_fixupimmv16sf_maskz_1_round */
    2010                 :        450 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2011                 :        450 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
    2012                 :        450 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 1));
    2013                 :        450 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 2));
    2014                 :        450 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 3));
    2015                 :        450 :       ro[5] = *(ro_loc[5] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    2016                 :        450 :       ro[6] = *(ro_loc[6] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    2017                 :        450 :       ro[7] = *(ro_loc[7] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2018                 :        450 :       break;
    2019                 :            : 
    2020                 :        358 :     case 3111:  /* avx512vl_fixupimmv2df_round */
    2021                 :        358 :     case 3107:  /* avx512vl_fixupimmv4df_round */
    2022                 :        358 :     case 3103:  /* avx512f_fixupimmv8df_round */
    2023                 :        358 :     case 3099:  /* avx512vl_fixupimmv4sf_round */
    2024                 :        358 :     case 3095:  /* avx512vl_fixupimmv8sf_round */
    2025                 :        358 :     case 3091:  /* avx512f_fixupimmv16sf_round */
    2026                 :        358 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2027                 :        358 :       ro[1] = *(ro_loc[1] = &XVECEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0, 0));
    2028                 :        358 :       ro[2] = *(ro_loc[2] = &XVECEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0, 1));
    2029                 :        358 :       ro[3] = *(ro_loc[3] = &XVECEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0, 2));
    2030                 :        358 :       ro[4] = *(ro_loc[4] = &XVECEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0, 3));
    2031                 :        358 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2032                 :        358 :       break;
    2033                 :            : 
    2034                 :       1753 :     case 3124:  /* avx512vl_fixupimmv2df_mask */
    2035                 :       1753 :     case 3122:  /* avx512vl_fixupimmv4df_mask */
    2036                 :       1753 :     case 3120:  /* avx512f_fixupimmv8df_mask */
    2037                 :       1753 :     case 3118:  /* avx512vl_fixupimmv4sf_mask */
    2038                 :       1753 :     case 3116:  /* avx512vl_fixupimmv8sf_mask */
    2039                 :       1753 :     case 3114:  /* avx512f_fixupimmv16sf_mask */
    2040                 :       1753 :     case 3045:  /* avx512vl_vternlogv2di_mask */
    2041                 :       1753 :     case 3044:  /* avx512vl_vternlogv4di_mask */
    2042                 :       1753 :     case 3043:  /* avx512f_vternlogv8di_mask */
    2043                 :       1753 :     case 3042:  /* avx512vl_vternlogv4si_mask */
    2044                 :       1753 :     case 3041:  /* avx512vl_vternlogv8si_mask */
    2045                 :       1753 :     case 3040:  /* avx512f_vternlogv16si_mask */
    2046                 :       1753 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2047                 :       1753 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    2048                 :       1753 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    2049                 :       1753 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 2));
    2050                 :       1753 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 3));
    2051                 :       1753 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    2052                 :       1753 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    2053                 :       1753 :       recog_data.dup_num[0] = 1;
    2054                 :       1753 :       break;
    2055                 :            : 
    2056                 :       1610 :     case 3112:  /* avx512vl_fixupimmv2df_maskz_1 */
    2057                 :       1610 :     case 3108:  /* avx512vl_fixupimmv4df_maskz_1 */
    2058                 :       1610 :     case 3104:  /* avx512f_fixupimmv8df_maskz_1 */
    2059                 :       1610 :     case 3100:  /* avx512vl_fixupimmv4sf_maskz_1 */
    2060                 :       1610 :     case 3096:  /* avx512vl_fixupimmv8sf_maskz_1 */
    2061                 :       1610 :     case 3092:  /* avx512f_fixupimmv16sf_maskz_1 */
    2062                 :       1610 :     case 3039:  /* avx512vl_vternlogv2di_maskz_1 */
    2063                 :       1610 :     case 3037:  /* avx512vl_vternlogv4di_maskz_1 */
    2064                 :       1610 :     case 3035:  /* avx512f_vternlogv8di_maskz_1 */
    2065                 :       1610 :     case 3033:  /* avx512vl_vternlogv4si_maskz_1 */
    2066                 :       1610 :     case 3031:  /* avx512vl_vternlogv8si_maskz_1 */
    2067                 :       1610 :     case 3029:  /* avx512f_vternlogv16si_maskz_1 */
    2068                 :       1610 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2069                 :       1610 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    2070                 :       1610 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    2071                 :       1610 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 2));
    2072                 :       1610 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 3));
    2073                 :       1610 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 1));
    2074                 :       1610 :       ro[6] = *(ro_loc[6] = &XEXP (XEXP (pat, 1), 2));
    2075                 :       1610 :       break;
    2076                 :            : 
    2077                 :       2572 :     case 4886:  /* xop_vpermil2v2df3 */
    2078                 :       2572 :     case 4885:  /* xop_vpermil2v4df3 */
    2079                 :       2572 :     case 4884:  /* xop_vpermil2v4sf3 */
    2080                 :       2572 :     case 4883:  /* xop_vpermil2v8sf3 */
    2081                 :       2572 :     case 4527:  /* sse4a_insertqi */
    2082                 :       2572 :     case 3110:  /* avx512vl_fixupimmv2df */
    2083                 :       2572 :     case 3106:  /* avx512vl_fixupimmv4df */
    2084                 :       2572 :     case 3102:  /* avx512f_fixupimmv8df */
    2085                 :       2572 :     case 3098:  /* avx512vl_fixupimmv4sf */
    2086                 :       2572 :     case 3094:  /* avx512vl_fixupimmv8sf */
    2087                 :       2572 :     case 3090:  /* avx512f_fixupimmv16sf */
    2088                 :       2572 :     case 3038:  /* avx512vl_vternlogv2di */
    2089                 :       2572 :     case 3036:  /* avx512vl_vternlogv4di */
    2090                 :       2572 :     case 3034:  /* avx512f_vternlogv8di */
    2091                 :       2572 :     case 3032:  /* avx512vl_vternlogv4si */
    2092                 :       2572 :     case 3030:  /* avx512vl_vternlogv8si */
    2093                 :       2572 :     case 3028:  /* avx512f_vternlogv16si */
    2094                 :       2572 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2095                 :       2572 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (pat, 1), 0, 0));
    2096                 :       2572 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2097                 :       2572 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (pat, 1), 0, 2));
    2098                 :       2572 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (pat, 1), 0, 3));
    2099                 :       2572 :       break;
    2100                 :            : 
    2101                 :        566 :     case 3077:  /* avx512f_sgetexpv2df_mask_round */
    2102                 :        566 :     case 3073:  /* avx512f_sgetexpv4sf_mask_round */
    2103                 :        566 :     case 3003:  /* avx512f_vmscalefv2df_mask_round */
    2104                 :        566 :     case 2999:  /* avx512f_vmscalefv4sf_mask_round */
    2105                 :        566 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2106                 :        566 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0, 0));
    2107                 :        566 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0, 1));
    2108                 :        566 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    2109                 :        566 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    2110                 :        566 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2111                 :        566 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    2112                 :        566 :       recog_data.dup_num[0] = 1;
    2113                 :        566 :       break;
    2114                 :            : 
    2115                 :        868 :     case 3075:  /* avx512f_sgetexpv2df_mask */
    2116                 :        868 :     case 3071:  /* avx512f_sgetexpv4sf_mask */
    2117                 :        868 :     case 3002:  /* avx512f_vmscalefv2df_mask */
    2118                 :        868 :     case 2998:  /* avx512f_vmscalefv4sf_mask */
    2119                 :        868 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2120                 :        868 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 0));
    2121                 :        868 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 1));
    2122                 :        868 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    2123                 :        868 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2124                 :        868 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    2125                 :        868 :       recog_data.dup_num[0] = 1;
    2126                 :        868 :       break;
    2127                 :            : 
    2128                 :        429 :     case 3076:  /* avx512f_sgetexpv2df_round */
    2129                 :        429 :     case 3072:  /* avx512f_sgetexpv4sf_round */
    2130                 :        429 :     case 3001:  /* avx512f_vmscalefv2df_round */
    2131                 :        429 :     case 2997:  /* avx512f_vmscalefv4sf_round */
    2132                 :        429 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2133                 :        429 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
    2134                 :        429 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 1));
    2135                 :        429 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2136                 :        429 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    2137                 :        429 :       recog_data.dup_num[0] = 1;
    2138                 :        429 :       break;
    2139                 :            : 
    2140                 :        437 :     case 3074:  /* avx512f_sgetexpv2df */
    2141                 :        437 :     case 3070:  /* avx512f_sgetexpv4sf */
    2142                 :        437 :     case 3000:  /* avx512f_vmscalefv2df */
    2143                 :        437 :     case 2996:  /* avx512f_vmscalefv4sf */
    2144                 :        437 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2145                 :        437 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    2146                 :        437 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    2147                 :        437 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    2148                 :        437 :       recog_data.dup_num[0] = 1;
    2149                 :        437 :       break;
    2150                 :            : 
    2151                 :        199 :     case 2928:  /* *avx512dq_vextracti64x2_1 */
    2152                 :        199 :     case 2926:  /* *avx512dq_vextractf64x2_1 */
    2153                 :        199 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2154                 :        199 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
    2155                 :        199 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 0));
    2156                 :        199 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 1));
    2157                 :        199 :       break;
    2158                 :            : 
    2159                 :       2253 :     case 4959:  /* avx2_permv4df_1_mask */
    2160                 :       2253 :     case 4957:  /* avx2_permv4di_1_mask */
    2161                 :       2253 :     case 4326:  /* sse2_pshuflw_1_mask */
    2162                 :       2253 :     case 4320:  /* sse2_pshufd_1_mask */
    2163                 :       2253 :     case 2933:  /* avx512f_vextracti32x4_1_mask */
    2164                 :       2253 :     case 2931:  /* avx512f_vextractf32x4_1_mask */
    2165                 :       2253 :     case 2925:  /* avx512f_vextracti32x4_1_maskm */
    2166                 :       2253 :     case 2924:  /* avx512f_vextractf32x4_1_maskm */
    2167                 :       2253 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2168                 :       2253 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    2169                 :       2253 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 0));
    2170                 :       2253 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 1));
    2171                 :       2253 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 2));
    2172                 :       2253 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 3));
    2173                 :       2253 :       ro[6] = *(ro_loc[6] = &XEXP (XEXP (pat, 1), 1));
    2174                 :       2253 :       ro[7] = *(ro_loc[7] = &XEXP (XEXP (pat, 1), 2));
    2175                 :       2253 :       break;
    2176                 :            : 
    2177                 :        598 :     case 2929:  /* avx512dq_vextracti64x2_1_mask */
    2178                 :        598 :     case 2927:  /* avx512dq_vextractf64x2_1_mask */
    2179                 :        598 :     case 2923:  /* avx512dq_vextracti64x2_1_maskm */
    2180                 :        598 :     case 2922:  /* avx512dq_vextractf64x2_1_maskm */
    2181                 :        598 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2182                 :        598 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    2183                 :        598 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 0));
    2184                 :        598 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 1));
    2185                 :        598 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    2186                 :        598 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    2187                 :        598 :       break;
    2188                 :            : 
    2189                 :        704 :     case 2917:  /* sse4_1_insertps */
    2190                 :        704 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2191                 :        704 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2192                 :        704 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (pat, 1), 0, 0));
    2193                 :        704 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (pat, 1), 0, 2));
    2194                 :        704 :       break;
    2195                 :            : 
    2196                 :     287481 :     case 4362:  /* vec_setv4di_0 */
    2197                 :     287481 :     case 4361:  /* vec_setv8di_0 */
    2198                 :     287481 :     case 4333:  /* sse2_loadld */
    2199                 :     287481 :     case 3206:  /* vec_setv4df_0 */
    2200                 :     287481 :     case 3205:  /* vec_setv8df_0 */
    2201                 :     287481 :     case 2918:  /* vec_setv2df_0 */
    2202                 :     287481 :     case 2916:  /* vec_setv16sf_0 */
    2203                 :     287481 :     case 2915:  /* vec_setv16si_0 */
    2204                 :     287481 :     case 2914:  /* vec_setv8sf_0 */
    2205                 :     287481 :     case 2913:  /* vec_setv8si_0 */
    2206                 :     287481 :     case 2911:  /* vec_setv4sf_0 */
    2207                 :     287481 :     case 2910:  /* vec_setv4si_0 */
    2208                 :     287481 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2209                 :     287481 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
    2210                 :     287481 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    2211                 :     287481 :       break;
    2212                 :            : 
    2213                 :      12474 :     case 3201:  /* sse2_movsd */
    2214                 :      12474 :     case 2900:  /* sse_movss */
    2215                 :      12474 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2216                 :      12474 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
    2217                 :      12474 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 0));
    2218                 :      12474 :       break;
    2219                 :            : 
    2220                 :       1081 :     case 5219:  /* vec_set_lo_v32qi */
    2221                 :       1081 :     case 5217:  /* vec_set_lo_v16hi */
    2222                 :       1081 :     case 5211:  /* vec_set_lo_v8sf */
    2223                 :       1081 :     case 5209:  /* vec_set_lo_v8si */
    2224                 :       1081 :     case 5203:  /* vec_set_lo_v4df */
    2225                 :       1081 :     case 5201:  /* vec_set_lo_v4di */
    2226                 :       1081 :     case 4293:  /* vec_set_lo_v8di */
    2227                 :       1081 :     case 4291:  /* vec_set_lo_v8df */
    2228                 :       1081 :     case 4285:  /* vec_set_lo_v16si */
    2229                 :       1081 :     case 4283:  /* vec_set_lo_v16sf */
    2230                 :       1081 :     case 3200:  /* sse2_loadlpd */
    2231                 :       1081 :     case 2899:  /* sse_loadlps */
    2232                 :       1081 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2233                 :       1081 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
    2234                 :       1081 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 0));
    2235                 :       1081 :       break;
    2236                 :            : 
    2237                 :     260313 :     case 4301:  /* *avx512dq_shuf_f64x2_1 */
    2238                 :     260313 :     case 4299:  /* *avx512dq_shuf_i64x2_1 */
    2239                 :     260313 :     case 3178:  /* avx_shufpd256_1 */
    2240                 :     260313 :     case 2895:  /* sse_shufps_v4sf */
    2241                 :     260313 :     case 2894:  /* sse_shufps_v4si */
    2242                 :     260313 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2243                 :     260313 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    2244                 :     260313 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    2245                 :     260313 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 0));
    2246                 :     260313 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 1));
    2247                 :     260313 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 2));
    2248                 :     260313 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 3));
    2249                 :     260313 :       break;
    2250                 :            : 
    2251                 :       1384 :     case 4302:  /* avx512dq_shuf_f64x2_1_mask */
    2252                 :       1384 :     case 4300:  /* avx512dq_shuf_i64x2_1_mask */
    2253                 :       1384 :     case 3179:  /* avx_shufpd256_1_mask */
    2254                 :       1384 :     case 2893:  /* sse_shufps_v4sf_mask */
    2255                 :       1384 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2256                 :       1384 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    2257                 :       1384 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    2258                 :       1384 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 0));
    2259                 :       1384 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 1));
    2260                 :       1384 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 2));
    2261                 :       1384 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 3));
    2262                 :       1384 :       ro[7] = *(ro_loc[7] = &XEXP (XEXP (pat, 1), 1));
    2263                 :       1384 :       ro[8] = *(ro_loc[8] = &XEXP (XEXP (pat, 1), 2));
    2264                 :       1384 :       break;
    2265                 :            : 
    2266                 :       2634 :     case 4310:  /* avx512vl_shuf_f32x4_1_mask */
    2267                 :       2634 :     case 4308:  /* avx512vl_shuf_i32x4_1_mask */
    2268                 :       2634 :     case 4306:  /* avx512f_shuf_i64x2_1_mask */
    2269                 :       2634 :     case 4304:  /* avx512f_shuf_f64x2_1_mask */
    2270                 :       2634 :     case 3177:  /* avx512f_shufpd512_1_mask */
    2271                 :       2634 :     case 2892:  /* avx_shufps256_1_mask */
    2272                 :       2634 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2273                 :       2634 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    2274                 :       2634 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    2275                 :       2634 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 0));
    2276                 :       2634 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 1));
    2277                 :       2634 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 2));
    2278                 :       2634 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 3));
    2279                 :       2634 :       ro[7] = *(ro_loc[7] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 4));
    2280                 :       2634 :       ro[8] = *(ro_loc[8] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 5));
    2281                 :       2634 :       ro[9] = *(ro_loc[9] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 6));
    2282                 :       2634 :       ro[10] = *(ro_loc[10] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 7));
    2283                 :       2634 :       ro[11] = *(ro_loc[11] = &XEXP (XEXP (pat, 1), 1));
    2284                 :       2634 :       ro[12] = *(ro_loc[12] = &XEXP (XEXP (pat, 1), 2));
    2285                 :       2634 :       break;
    2286                 :            : 
    2287                 :      36918 :     case 4309:  /* avx512vl_shuf_f32x4_1 */
    2288                 :      36918 :     case 4307:  /* avx512vl_shuf_i32x4_1 */
    2289                 :      36918 :     case 4305:  /* avx512f_shuf_i64x2_1 */
    2290                 :      36918 :     case 4303:  /* avx512f_shuf_f64x2_1 */
    2291                 :      36918 :     case 3176:  /* avx512f_shufpd512_1 */
    2292                 :      36918 :     case 2891:  /* avx_shufps256_1 */
    2293                 :      36918 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2294                 :      36918 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    2295                 :      36918 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    2296                 :      36918 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 0));
    2297                 :      36918 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 1));
    2298                 :      36918 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 2));
    2299                 :      36918 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 3));
    2300                 :      36918 :       ro[7] = *(ro_loc[7] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 4));
    2301                 :      36918 :       ro[8] = *(ro_loc[8] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 5));
    2302                 :      36918 :       ro[9] = *(ro_loc[9] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 6));
    2303                 :      36918 :       ro[10] = *(ro_loc[10] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 7));
    2304                 :      36918 :       break;
    2305                 :            : 
    2306                 :       2164 :     case 2890:  /* avx512f_movsldup512_mask */
    2307                 :       2164 :     case 2888:  /* sse3_movsldup_mask */
    2308                 :       2164 :     case 2886:  /* avx_movsldup256_mask */
    2309                 :       2164 :     case 2884:  /* avx512f_movshdup512_mask */
    2310                 :       2164 :     case 2882:  /* sse3_movshdup_mask */
    2311                 :       2164 :     case 2880:  /* avx_movshdup256_mask */
    2312                 :       2164 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2313                 :       2164 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    2314                 :       2164 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    2315                 :       2164 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 2));
    2316                 :       2164 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1);
    2317                 :       2164 :       recog_data.dup_num[0] = 1;
    2318                 :       2164 :       break;
    2319                 :            : 
    2320                 :        857 :     case 2889:  /* *avx512f_movsldup512 */
    2321                 :        857 :     case 2887:  /* sse3_movsldup */
    2322                 :        857 :     case 2885:  /* avx_movsldup256 */
    2323                 :        857 :     case 2883:  /* *avx512f_movshdup512 */
    2324                 :        857 :     case 2881:  /* sse3_movshdup */
    2325                 :        857 :     case 2879:  /* avx_movshdup256 */
    2326                 :        857 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2327                 :        857 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    2328                 :        857 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 0), 1);
    2329                 :        857 :       recog_data.dup_num[0] = 1;
    2330                 :        857 :       break;
    2331                 :            : 
    2332                 :      15918 :     case 4266:  /* vec_interleave_lowv4si_mask */
    2333                 :      15918 :     case 4264:  /* avx512f_interleave_lowv16si_mask */
    2334                 :      15918 :     case 4262:  /* avx2_interleave_lowv8si_mask */
    2335                 :      15918 :     case 4260:  /* vec_interleave_highv4si_mask */
    2336                 :      15918 :     case 4258:  /* avx512f_interleave_highv16si_mask */
    2337                 :      15918 :     case 4256:  /* avx2_interleave_highv8si_mask */
    2338                 :      15918 :     case 4254:  /* vec_interleave_lowv8hi_mask */
    2339                 :      15918 :     case 4252:  /* avx2_interleave_lowv16hi_mask */
    2340                 :      15918 :     case 4250:  /* avx512bw_interleave_lowv32hi_mask */
    2341                 :      15918 :     case 4248:  /* vec_interleave_highv8hi_mask */
    2342                 :      15918 :     case 4246:  /* avx2_interleave_highv16hi_mask */
    2343                 :      15918 :     case 4244:  /* avx512bw_interleave_highv32hi_mask */
    2344                 :      15918 :     case 4242:  /* vec_interleave_lowv16qi_mask */
    2345                 :      15918 :     case 4240:  /* avx2_interleave_lowv32qi_mask */
    2346                 :      15918 :     case 4238:  /* avx512bw_interleave_lowv64qi_mask */
    2347                 :      15918 :     case 4236:  /* vec_interleave_highv16qi_mask */
    2348                 :      15918 :     case 4234:  /* avx2_interleave_highv32qi_mask */
    2349                 :      15918 :     case 4232:  /* avx512bw_interleave_highv64qi_mask */
    2350                 :      15918 :     case 3192:  /* vec_interleave_lowv2di_mask */
    2351                 :      15918 :     case 3190:  /* avx512f_interleave_lowv8di_mask */
    2352                 :      15918 :     case 3188:  /* avx2_interleave_lowv4di_mask */
    2353                 :      15918 :     case 3186:  /* vec_interleave_highv2di_mask */
    2354                 :      15918 :     case 3184:  /* avx512f_interleave_highv8di_mask */
    2355                 :      15918 :     case 3182:  /* avx2_interleave_highv4di_mask */
    2356                 :      15918 :     case 2994:  /* avx512vl_unpcklpd128_mask */
    2357                 :      15918 :     case 2993:  /* *avx_unpcklpd256_mask */
    2358                 :      15918 :     case 2991:  /* *avx512f_unpcklpd512_mask */
    2359                 :      15918 :     case 2988:  /* avx512vl_unpckhpd128_mask */
    2360                 :      15918 :     case 2987:  /* avx_unpckhpd256_mask */
    2361                 :      15918 :     case 2985:  /* avx512f_unpckhpd512_mask */
    2362                 :      15918 :     case 2877:  /* unpcklps128_mask */
    2363                 :      15918 :     case 2876:  /* avx_unpcklps256_mask */
    2364                 :      15918 :     case 2874:  /* avx512f_unpcklps512_mask */
    2365                 :      15918 :     case 2872:  /* vec_interleave_highv4sf_mask */
    2366                 :      15918 :     case 2870:  /* avx_unpckhps256_mask */
    2367                 :      15918 :     case 2868:  /* avx512f_unpckhps512_mask */
    2368                 :      15918 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2369                 :      15918 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    2370                 :      15918 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    2371                 :      15918 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
    2372                 :      15918 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    2373                 :      15918 :       break;
    2374                 :            : 
    2375                 :       4447 :     case 2862:  /* *avx512vl_cvtmask2qv2di */
    2376                 :       4447 :     case 2861:  /* *avx512vl_cvtmask2qv4di */
    2377                 :       4447 :     case 2860:  /* *avx512f_cvtmask2qv8di */
    2378                 :       4447 :     case 2859:  /* *avx512vl_cvtmask2dv4si */
    2379                 :       4447 :     case 2858:  /* *avx512vl_cvtmask2dv8si */
    2380                 :       4447 :     case 2857:  /* *avx512f_cvtmask2dv16si */
    2381                 :       4447 :     case 2856:  /* *avx512vl_cvtmask2wv8hi */
    2382                 :       4447 :     case 2855:  /* *avx512vl_cvtmask2wv16hi */
    2383                 :       4447 :     case 2854:  /* *avx512bw_cvtmask2wv32hi */
    2384                 :       4447 :     case 2853:  /* *avx512vl_cvtmask2bv32qi */
    2385                 :       4447 :     case 2852:  /* *avx512vl_cvtmask2bv16qi */
    2386                 :       4447 :     case 2851:  /* *avx512bw_cvtmask2bv64qi */
    2387                 :       4447 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2388                 :       4447 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 2));
    2389                 :       4447 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 0));
    2390                 :       4447 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
    2391                 :       4447 :       break;
    2392                 :            : 
    2393                 :       4494 :     case 3401:  /* *avx512f_us_truncatev8div16qi2_mask_1 */
    2394                 :       4494 :     case 3400:  /* *avx512f_truncatev8div16qi2_mask_1 */
    2395                 :       4494 :     case 3399:  /* *avx512f_ss_truncatev8div16qi2_mask_1 */
    2396                 :       4494 :     case 3386:  /* *avx512vl_us_truncatev2div2si2_mask_1 */
    2397                 :       4494 :     case 3385:  /* *avx512vl_truncatev2div2si2_mask_1 */
    2398                 :       4494 :     case 3384:  /* *avx512vl_ss_truncatev2div2si2_mask_1 */
    2399                 :       4494 :     case 3371:  /* *avx512vl_us_truncatev2div2hi2_mask_1 */
    2400                 :       4494 :     case 3370:  /* *avx512vl_truncatev2div2hi2_mask_1 */
    2401                 :       4494 :     case 3369:  /* *avx512vl_ss_truncatev2div2hi2_mask_1 */
    2402                 :       4494 :     case 3356:  /* *avx512vl_us_truncatev4div4hi2_mask_1 */
    2403                 :       4494 :     case 3355:  /* *avx512vl_truncatev4div4hi2_mask_1 */
    2404                 :       4494 :     case 3354:  /* *avx512vl_ss_truncatev4div4hi2_mask_1 */
    2405                 :       4494 :     case 3353:  /* *avx512vl_us_truncatev4siv4hi2_mask_1 */
    2406                 :       4494 :     case 3352:  /* *avx512vl_truncatev4siv4hi2_mask_1 */
    2407                 :       4494 :     case 3351:  /* *avx512vl_ss_truncatev4siv4hi2_mask_1 */
    2408                 :       4494 :     case 3323:  /* *avx512vl_us_truncatev8siv8qi2_mask_1 */
    2409                 :       4494 :     case 3322:  /* *avx512vl_truncatev8siv8qi2_mask_1 */
    2410                 :       4494 :     case 3321:  /* *avx512vl_ss_truncatev8siv8qi2_mask_1 */
    2411                 :       4494 :     case 3320:  /* *avx512vl_us_truncatev8hiv8qi2_mask_1 */
    2412                 :       4494 :     case 3319:  /* *avx512vl_truncatev8hiv8qi2_mask_1 */
    2413                 :       4494 :     case 3318:  /* *avx512vl_ss_truncatev8hiv8qi2_mask_1 */
    2414                 :       4494 :     case 3299:  /* *avx512vl_us_truncatev4div4qi2_mask_1 */
    2415                 :       4494 :     case 3298:  /* *avx512vl_truncatev4div4qi2_mask_1 */
    2416                 :       4494 :     case 3297:  /* *avx512vl_ss_truncatev4div4qi2_mask_1 */
    2417                 :       4494 :     case 3296:  /* *avx512vl_us_truncatev4siv4qi2_mask_1 */
    2418                 :       4494 :     case 3295:  /* *avx512vl_truncatev4siv4qi2_mask_1 */
    2419                 :       4494 :     case 3294:  /* *avx512vl_ss_truncatev4siv4qi2_mask_1 */
    2420                 :       4494 :     case 3278:  /* *avx512vl_us_truncatev2div2qi2_mask_1 */
    2421                 :       4494 :     case 3277:  /* *avx512vl_truncatev2div2qi2_mask_1 */
    2422                 :       4494 :     case 3276:  /* *avx512vl_ss_truncatev2div2qi2_mask_1 */
    2423                 :       4494 :     case 2815:  /* *sse2_cvttpd2dq_mask_1 */
    2424                 :       4494 :     case 2756:  /* *ufix_truncv2dfv2si2_mask_1 */
    2425                 :       4494 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2426                 :       4494 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    2427                 :       4494 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2428                 :       4494 :       break;
    2429                 :            : 
    2430                 :       8815 :     case 3398:  /* avx512f_us_truncatev8div16qi2_mask */
    2431                 :       8815 :     case 3397:  /* avx512f_truncatev8div16qi2_mask */
    2432                 :       8815 :     case 3396:  /* avx512f_ss_truncatev8div16qi2_mask */
    2433                 :       8815 :     case 3383:  /* avx512vl_us_truncatev2div2si2_mask */
    2434                 :       8815 :     case 3382:  /* avx512vl_truncatev2div2si2_mask */
    2435                 :       8815 :     case 3381:  /* avx512vl_ss_truncatev2div2si2_mask */
    2436                 :       8815 :     case 3368:  /* avx512vl_us_truncatev2div2hi2_mask */
    2437                 :       8815 :     case 3367:  /* avx512vl_truncatev2div2hi2_mask */
    2438                 :       8815 :     case 3366:  /* avx512vl_ss_truncatev2div2hi2_mask */
    2439                 :       8815 :     case 3350:  /* avx512vl_us_truncatev4div4hi2_mask */
    2440                 :       8815 :     case 3349:  /* avx512vl_truncatev4div4hi2_mask */
    2441                 :       8815 :     case 3348:  /* avx512vl_ss_truncatev4div4hi2_mask */
    2442                 :       8815 :     case 3347:  /* avx512vl_us_truncatev4siv4hi2_mask */
    2443                 :       8815 :     case 3346:  /* avx512vl_truncatev4siv4hi2_mask */
    2444                 :       8815 :     case 3345:  /* avx512vl_ss_truncatev4siv4hi2_mask */
    2445                 :       8815 :     case 3317:  /* avx512vl_us_truncatev8siv8qi2_mask */
    2446                 :       8815 :     case 3316:  /* avx512vl_truncatev8siv8qi2_mask */
    2447                 :       8815 :     case 3315:  /* avx512vl_ss_truncatev8siv8qi2_mask */
    2448                 :       8815 :     case 3314:  /* avx512vl_us_truncatev8hiv8qi2_mask */
    2449                 :       8815 :     case 3313:  /* avx512vl_truncatev8hiv8qi2_mask */
    2450                 :       8815 :     case 3312:  /* avx512vl_ss_truncatev8hiv8qi2_mask */
    2451                 :       8815 :     case 3293:  /* avx512vl_us_truncatev4div4qi2_mask */
    2452                 :       8815 :     case 3292:  /* avx512vl_truncatev4div4qi2_mask */
    2453                 :       8815 :     case 3291:  /* avx512vl_ss_truncatev4div4qi2_mask */
    2454                 :       8815 :     case 3290:  /* avx512vl_us_truncatev4siv4qi2_mask */
    2455                 :       8815 :     case 3289:  /* avx512vl_truncatev4siv4qi2_mask */
    2456                 :       8815 :     case 3288:  /* avx512vl_ss_truncatev4siv4qi2_mask */
    2457                 :       8815 :     case 3275:  /* avx512vl_us_truncatev2div2qi2_mask */
    2458                 :       8815 :     case 3274:  /* avx512vl_truncatev2div2qi2_mask */
    2459                 :       8815 :     case 3273:  /* avx512vl_ss_truncatev2div2qi2_mask */
    2460                 :       8815 :     case 2814:  /* sse2_cvttpd2dq_mask */
    2461                 :       8815 :     case 2755:  /* ufix_truncv2dfv2si2_mask */
    2462                 :       8815 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2463                 :       8815 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    2464                 :       8815 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0));
    2465                 :       8815 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2466                 :       8815 :       break;
    2467                 :            : 
    2468                 :        256 :     case 2745:  /* *ufix_notruncv2dfv2si2_mask_1 */
    2469                 :        256 :     case 2734:  /* *sse2_cvtpd2dq_mask_1 */
    2470                 :        256 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2471                 :        256 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 0));
    2472                 :        256 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2473                 :        256 :       break;
    2474                 :            : 
    2475                 :        520 :     case 2744:  /* ufix_notruncv2dfv2si2_mask */
    2476                 :        520 :     case 2733:  /* sse2_cvtpd2dq_mask */
    2477                 :        520 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2478                 :        520 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 0));
    2479                 :        520 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0));
    2480                 :        520 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2481                 :        520 :       break;
    2482                 :            : 
    2483                 :        348 :     case 2830:  /* *sse2_cvtpd2ps_mask_1 */
    2484                 :        348 :     case 2714:  /* *floatunsv2div2sf2_mask_1 */
    2485                 :        348 :     case 2713:  /* *floatv2div2sf2_mask_1 */
    2486                 :        348 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2487                 :        348 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    2488                 :        348 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2489                 :        348 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    2490                 :        348 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    2491                 :        348 :       break;
    2492                 :            : 
    2493                 :        773 :     case 2829:  /* *sse2_cvtpd2ps_mask */
    2494                 :        773 :     case 2712:  /* *floatunsv2div2sf2_mask */
    2495                 :        773 :     case 2711:  /* *floatv2div2sf2_mask */
    2496                 :        773 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2497                 :        773 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    2498                 :        773 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0));
    2499                 :        773 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2500                 :        773 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    2501                 :        773 :       break;
    2502                 :            : 
    2503                 :        839 :     case 2624:  /* avx512dq_cvtps2uqqv2di_mask */
    2504                 :        839 :     case 2616:  /* avx512dq_cvtps2qqv2di_mask */
    2505                 :        839 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2506                 :        839 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0), 0));
    2507                 :        839 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    2508                 :        839 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 2));
    2509                 :        839 :       break;
    2510                 :            : 
    2511                 :       7764 :     case 5315:  /* avx512f_vcvtph2ps512_mask_round */
    2512                 :       7764 :     case 4791:  /* avx512er_rsqrt28v8df_mask_round */
    2513                 :       7764 :     case 4787:  /* avx512er_rsqrt28v16sf_mask_round */
    2514                 :       7764 :     case 4779:  /* avx512er_rcp28v8df_mask_round */
    2515                 :       7764 :     case 4775:  /* avx512er_rcp28v16sf_mask_round */
    2516                 :       7764 :     case 4771:  /* avx512er_exp2v8df_mask_round */
    2517                 :       7764 :     case 4767:  /* avx512er_exp2v16sf_mask_round */
    2518                 :       7764 :     case 3069:  /* avx512vl_getexpv2df_mask_round */
    2519                 :       7764 :     case 3065:  /* avx512vl_getexpv4df_mask_round */
    2520                 :       7764 :     case 3061:  /* avx512f_getexpv8df_mask_round */
    2521                 :       7764 :     case 3057:  /* avx512vl_getexpv4sf_mask_round */
    2522                 :       7764 :     case 3053:  /* avx512vl_getexpv8sf_mask_round */
    2523                 :       7764 :     case 3049:  /* avx512f_getexpv16sf_mask_round */
    2524                 :       7764 :     case 2788:  /* ufix_notruncv8dfv8di2_mask_round */
    2525                 :       7764 :     case 2780:  /* fix_notruncv8dfv8di2_mask_round */
    2526                 :       7764 :     case 2742:  /* ufix_notruncv4dfv4si2_mask_round */
    2527                 :       7764 :     case 2738:  /* ufix_notruncv8dfv8si2_mask_round */
    2528                 :       7764 :     case 2728:  /* avx512f_cvtpd2dq512_mask_round */
    2529                 :       7764 :     case 2620:  /* avx512dq_cvtps2uqqv8di_mask_round */
    2530                 :       7764 :     case 2612:  /* avx512dq_cvtps2qqv8di_mask_round */
    2531                 :       7764 :     case 2608:  /* avx512vl_ufix_notruncv4sfv4si_mask_round */
    2532                 :       7764 :     case 2604:  /* avx512vl_ufix_notruncv8sfv8si_mask_round */
    2533                 :       7764 :     case 2600:  /* avx512f_ufix_notruncv16sfv16si_mask_round */
    2534                 :       7764 :     case 2596:  /* avx512f_fix_notruncv16sfv16si_mask_round */
    2535                 :       7764 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2536                 :       7764 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
    2537                 :       7764 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    2538                 :       7764 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    2539                 :       7764 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2540                 :       7764 :       break;
    2541                 :            : 
    2542                 :       2262 :     case 5313:  /* *avx512f_vcvtph2ps512_round */
    2543                 :       2262 :     case 4789:  /* *avx512er_rsqrt28v8df_round */
    2544                 :       2262 :     case 4785:  /* *avx512er_rsqrt28v16sf_round */
    2545                 :       2262 :     case 4777:  /* *avx512er_rcp28v8df_round */
    2546                 :       2262 :     case 4773:  /* *avx512er_rcp28v16sf_round */
    2547                 :       2262 :     case 4769:  /* avx512er_exp2v8df_round */
    2548                 :       2262 :     case 4765:  /* avx512er_exp2v16sf_round */
    2549                 :       2262 :     case 3067:  /* avx512vl_getexpv2df_round */
    2550                 :       2262 :     case 3063:  /* avx512vl_getexpv4df_round */
    2551                 :       2262 :     case 3059:  /* avx512f_getexpv8df_round */
    2552                 :       2262 :     case 3055:  /* avx512vl_getexpv4sf_round */
    2553                 :       2262 :     case 3051:  /* avx512vl_getexpv8sf_round */
    2554                 :       2262 :     case 3047:  /* avx512f_getexpv16sf_round */
    2555                 :       2262 :     case 2786:  /* ufix_notruncv8dfv8di2_round */
    2556                 :       2262 :     case 2778:  /* fix_notruncv8dfv8di2_round */
    2557                 :       2262 :     case 2740:  /* ufix_notruncv4dfv4si2_round */
    2558                 :       2262 :     case 2736:  /* ufix_notruncv8dfv8si2_round */
    2559                 :       2262 :     case 2726:  /* avx512f_cvtpd2dq512_round */
    2560                 :       2262 :     case 2618:  /* *avx512dq_cvtps2uqqv8di_round */
    2561                 :       2262 :     case 2610:  /* *avx512dq_cvtps2qqv8di_round */
    2562                 :       2262 :     case 2606:  /* *avx512vl_ufix_notruncv4sfv4si_round */
    2563                 :       2262 :     case 2602:  /* *avx512vl_ufix_notruncv8sfv8si_round */
    2564                 :       2262 :     case 2598:  /* *avx512f_ufix_notruncv16sfv16si_round */
    2565                 :       2262 :     case 2594:  /* avx512f_fix_notruncv16sfv16si_round */
    2566                 :       2262 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2567                 :       2262 :       ro[1] = *(ro_loc[1] = &XVECEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0, 0));
    2568                 :       2262 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2569                 :       2262 :       break;
    2570                 :            : 
    2571                 :       1920 :     case 2668:  /* sse2_cvttsd2siq_round */
    2572                 :       1920 :     case 2666:  /* sse2_cvttsd2si_round */
    2573                 :       1920 :     case 2658:  /* avx512f_vcvttsd2usiq_round */
    2574                 :       1920 :     case 2656:  /* avx512f_vcvttsd2usi_round */
    2575                 :       1920 :     case 2650:  /* avx512f_vcvttss2usiq_round */
    2576                 :       1920 :     case 2648:  /* avx512f_vcvttss2usi_round */
    2577                 :       1920 :     case 2561:  /* sse_cvttss2siq_round */
    2578                 :       1920 :     case 2559:  /* sse_cvttss2si_round */
    2579                 :       1920 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2580                 :       1920 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    2581                 :       1920 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2582                 :       1920 :       break;
    2583                 :            : 
    2584                 :       1560 :     case 2662:  /* sse2_cvtsd2siq_round */
    2585                 :       1560 :     case 2660:  /* sse2_cvtsd2si_round */
    2586                 :       1560 :     case 2654:  /* avx512f_vcvtsd2usiq_round */
    2587                 :       1560 :     case 2652:  /* avx512f_vcvtsd2usi_round */
    2588                 :       1560 :     case 2646:  /* avx512f_vcvtss2usiq_round */
    2589                 :       1560 :     case 2644:  /* avx512f_vcvtss2usi_round */
    2590                 :       1560 :     case 2555:  /* sse_cvtss2siq_round */
    2591                 :       1560 :     case 2553:  /* sse_cvtss2si_round */
    2592                 :       1560 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2593                 :       1560 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0, 0), 0));
    2594                 :       1560 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2595                 :       1560 :       break;
    2596                 :            : 
    2597                 :       1536 :     case 2820:  /* sse2_cvtss2sd_round */
    2598                 :       1536 :     case 2817:  /* sse2_cvtsd2ss_round */
    2599                 :       1536 :     case 2642:  /* sse2_cvtsi2sdq_round */
    2600                 :       1536 :     case 2568:  /* cvtusi2sd64_round */
    2601                 :       1536 :     case 2566:  /* cvtusi2ss64_round */
    2602                 :       1536 :     case 2563:  /* cvtusi2ss32_round */
    2603                 :       1536 :     case 2551:  /* sse_cvtsi2ssq_round */
    2604                 :       1536 :     case 2549:  /* sse_cvtsi2ss_round */
    2605                 :       1536 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2606                 :       1536 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    2607                 :       1536 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    2608                 :       1536 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2609                 :       1536 :       break;
    2610                 :            : 
    2611                 :     402469 :     case 2821:  /* *sse2_vd_cvtss2sd */
    2612                 :     402469 :     case 2819:  /* sse2_cvtss2sd */
    2613                 :     402469 :     case 2818:  /* *sse2_vd_cvtsd2ss */
    2614                 :     402469 :     case 2816:  /* sse2_cvtsd2ss */
    2615                 :     402469 :     case 2641:  /* sse2_cvtsi2sdq */
    2616                 :     402469 :     case 2640:  /* sse2_cvtsi2sd */
    2617                 :     402469 :     case 2567:  /* cvtusi2sd64 */
    2618                 :     402469 :     case 2565:  /* cvtusi2ss64 */
    2619                 :     402469 :     case 2564:  /* cvtusi2sd32 */
    2620                 :     402469 :     case 2562:  /* cvtusi2ss32 */
    2621                 :     402469 :     case 2550:  /* sse_cvtsi2ssq */
    2622                 :     402469 :     case 2548:  /* sse_cvtsi2ss */
    2623                 :     402469 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2624                 :     402469 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
    2625                 :     402469 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    2626                 :     402469 :       break;
    2627                 :            : 
    2628                 :       1785 :     case 5306:  /* vcvtph2ps */
    2629                 :       1785 :     case 4418:  /* *sse2_pmovmskb_ext */
    2630                 :       1785 :     case 4417:  /* *sse2_pmovmskb_zext */
    2631                 :       1785 :     case 4416:  /* *avx2_pmovmskb_zext */
    2632                 :       1785 :     case 4389:  /* *sse2_movmskpd_uext */
    2633                 :       1785 :     case 4388:  /* *sse2_movmskpd_ext */
    2634                 :       1785 :     case 4387:  /* *avx_movmskpd256_uext */
    2635                 :       1785 :     case 4386:  /* *avx_movmskpd256_ext */
    2636                 :       1785 :     case 4385:  /* *sse_movmskps_uext */
    2637                 :       1785 :     case 4384:  /* *sse_movmskps_ext */
    2638                 :       1785 :     case 4383:  /* *avx_movmskps256_uext */
    2639                 :       1785 :     case 4382:  /* *avx_movmskps256_ext */
    2640                 :       1785 :     case 2743:  /* ufix_notruncv2dfv2si2 */
    2641                 :       1785 :     case 2732:  /* sse2_cvtpd2dq */
    2642                 :       1785 :     case 2546:  /* sse_cvtps2pi */
    2643                 :       1785 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2644                 :       1785 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    2645                 :       1785 :       break;
    2646                 :            : 
    2647                 :       1202 :     case 2545:  /* sse_cvtpi2ps */
    2648                 :       1202 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
    2649                 :       1202 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1));
    2650                 :       1202 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0), 0));
    2651                 :       1202 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 1), 0));
    2652                 :       1202 :       break;
    2653                 :            : 
    2654                 :        120 :     case 2544:  /* *fma4i_vmfnmsub_v2df */
    2655                 :        120 :     case 2543:  /* *fma4i_vmfnmsub_v4sf */
    2656                 :        120 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2657                 :        120 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    2658                 :        120 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    2659                 :        120 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 2), 0));
    2660                 :        120 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    2661                 :        120 :       break;
    2662                 :            : 
    2663                 :        140 :     case 2540:  /* *fma4i_vmfmsub_v2df */
    2664                 :        140 :     case 2539:  /* *fma4i_vmfmsub_v4sf */
    2665                 :        140 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2666                 :        140 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    2667                 :        140 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    2668                 :        140 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 2), 0));
    2669                 :        140 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    2670                 :        140 :       break;
    2671                 :            : 
    2672                 :        498 :     case 2538:  /* *fma4i_vmfmadd_v2df */
    2673                 :        498 :     case 2537:  /* *fma4i_vmfmadd_v4sf */
    2674                 :        498 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2675                 :        498 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    2676                 :        498 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    2677                 :        498 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2678                 :        498 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    2679                 :        498 :       break;
    2680                 :            : 
    2681                 :        398 :     case 2536:  /* *avx512f_vmfnmsub_v2df_maskz_1_round */
    2682                 :        398 :     case 2534:  /* *avx512f_vmfnmsub_v4sf_maskz_1_round */
    2683                 :        398 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2684                 :        398 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 1));
    2685                 :        398 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0), 0));
    2686                 :        398 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 2), 0));
    2687                 :        398 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    2688                 :        398 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    2689                 :        398 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2690                 :        398 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    2691                 :        398 :       recog_data.dup_num[0] = 1;
    2692                 :        398 :       break;
    2693                 :            : 
    2694                 :         38 :     case 2535:  /* *avx512f_vmfnmsub_v2df_maskz_1 */
    2695                 :         38 :     case 2533:  /* *avx512f_vmfnmsub_v4sf_maskz_1 */
    2696                 :         38 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2697                 :         38 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    2698                 :         38 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
    2699                 :         38 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 2), 0));
    2700                 :         38 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    2701                 :         38 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2702                 :         38 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    2703                 :         38 :       recog_data.dup_num[0] = 1;
    2704                 :         38 :       break;
    2705                 :            : 
    2706                 :        446 :     case 2532:  /* *avx512f_vmfnmsub_v2df_mask3_round */
    2707                 :        446 :     case 2530:  /* *avx512f_vmfnmsub_v4sf_mask3_round */
    2708                 :        446 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2709                 :        446 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 1));
    2710                 :        446 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0), 0));
    2711                 :        446 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 2), 0));
    2712                 :        446 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    2713                 :        446 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2714                 :        446 :       recog_data.dup_loc[0] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1);
    2715                 :        446 :       recog_data.dup_num[0] = 3;
    2716                 :        446 :       recog_data.dup_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    2717                 :        446 :       recog_data.dup_num[1] = 3;
    2718                 :        446 :       break;
    2719                 :            : 
    2720                 :         38 :     case 2531:  /* *avx512f_vmfnmsub_v2df_mask3 */
    2721                 :         38 :     case 2529:  /* *avx512f_vmfnmsub_v4sf_mask3 */
    2722                 :         38 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2723                 :         38 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    2724                 :         38 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
    2725                 :         38 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 2), 0));
    2726                 :         38 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2727                 :         38 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 0), 1);
    2728                 :         38 :       recog_data.dup_num[0] = 3;
    2729                 :         38 :       recog_data.dup_loc[1] = &XEXP (XEXP (pat, 1), 1);
    2730                 :         38 :       recog_data.dup_num[1] = 3;
    2731                 :         38 :       break;
    2732                 :            : 
    2733                 :        398 :     case 2528:  /* *avx512f_vmfnmsub_v2df_mask_round */
    2734                 :        398 :     case 2526:  /* *avx512f_vmfnmsub_v4sf_mask_round */
    2735                 :        398 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2736                 :        398 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 1));
    2737                 :        398 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0), 0));
    2738                 :        398 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 2), 0));
    2739                 :        398 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    2740                 :        398 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2741                 :        398 :       recog_data.dup_loc[0] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1);
    2742                 :        398 :       recog_data.dup_num[0] = 1;
    2743                 :        398 :       recog_data.dup_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    2744                 :        398 :       recog_data.dup_num[1] = 1;
    2745                 :        398 :       break;
    2746                 :            : 
    2747                 :         38 :     case 2527:  /* *avx512f_vmfnmsub_v2df_mask */
    2748                 :         38 :     case 2525:  /* *avx512f_vmfnmsub_v4sf_mask */
    2749                 :         38 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2750                 :         38 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    2751                 :         38 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
    2752                 :         38 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 2), 0));
    2753                 :         38 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2754                 :         38 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 0), 1);
    2755                 :         38 :       recog_data.dup_num[0] = 1;
    2756                 :         38 :       recog_data.dup_loc[1] = &XEXP (XEXP (pat, 1), 1);
    2757                 :         38 :       recog_data.dup_num[1] = 1;
    2758                 :         38 :       break;
    2759                 :            : 
    2760                 :        424 :     case 2524:  /* *avx512f_vmfnmadd_v2df_maskz_1_round */
    2761                 :        424 :     case 2522:  /* *avx512f_vmfnmadd_v4sf_maskz_1_round */
    2762                 :        424 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2763                 :        424 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 1));
    2764                 :        424 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0), 0));
    2765                 :        424 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 2));
    2766                 :        424 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    2767                 :        424 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    2768                 :        424 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2769                 :        424 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    2770                 :        424 :       recog_data.dup_num[0] = 1;
    2771                 :        424 :       break;
    2772                 :            : 
    2773                 :         40 :     case 2523:  /* *avx512f_vmfnmadd_v2df_maskz_1 */
    2774                 :         40 :     case 2521:  /* *avx512f_vmfnmadd_v4sf_maskz_1 */
    2775                 :         40 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2776                 :         40 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    2777                 :         40 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
    2778                 :         40 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 2));
    2779                 :         40 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    2780                 :         40 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2781                 :         40 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    2782                 :         40 :       recog_data.dup_num[0] = 1;
    2783                 :         40 :       break;
    2784                 :            : 
    2785                 :        446 :     case 2520:  /* *avx512f_vmfnmadd_v2df_mask3_round */
    2786                 :        446 :     case 2518:  /* *avx512f_vmfnmadd_v4sf_mask3_round */
    2787                 :        446 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2788                 :        446 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 1));
    2789                 :        446 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0), 0));
    2790                 :        446 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 2));
    2791                 :        446 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    2792                 :        446 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2793                 :        446 :       recog_data.dup_loc[0] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1);
    2794                 :        446 :       recog_data.dup_num[0] = 3;
    2795                 :        446 :       recog_data.dup_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    2796                 :        446 :       recog_data.dup_num[1] = 3;
    2797                 :        446 :       break;
    2798                 :            : 
    2799                 :         38 :     case 2519:  /* *avx512f_vmfnmadd_v2df_mask3 */
    2800                 :         38 :     case 2517:  /* *avx512f_vmfnmadd_v4sf_mask3 */
    2801                 :         38 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2802                 :         38 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    2803                 :         38 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
    2804                 :         38 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 2));
    2805                 :         38 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2806                 :         38 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 0), 1);
    2807                 :         38 :       recog_data.dup_num[0] = 3;
    2808                 :         38 :       recog_data.dup_loc[1] = &XEXP (XEXP (pat, 1), 1);
    2809                 :         38 :       recog_data.dup_num[1] = 3;
    2810                 :         38 :       break;
    2811                 :            : 
    2812                 :        424 :     case 2516:  /* *avx512f_vmfnmadd_v2df_mask_round */
    2813                 :        424 :     case 2514:  /* *avx512f_vmfnmadd_v4sf_mask_round */
    2814                 :        424 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2815                 :        424 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 1));
    2816                 :        424 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0), 0));
    2817                 :        424 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 2));
    2818                 :        424 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    2819                 :        424 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2820                 :        424 :       recog_data.dup_loc[0] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1);
    2821                 :        424 :       recog_data.dup_num[0] = 1;
    2822                 :        424 :       recog_data.dup_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    2823                 :        424 :       recog_data.dup_num[1] = 1;
    2824                 :        424 :       break;
    2825                 :            : 
    2826                 :         40 :     case 2515:  /* *avx512f_vmfnmadd_v2df_mask */
    2827                 :         40 :     case 2513:  /* *avx512f_vmfnmadd_v4sf_mask */
    2828                 :         40 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2829                 :         40 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    2830                 :         40 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
    2831                 :         40 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 2));
    2832                 :         40 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2833                 :         40 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 0), 1);
    2834                 :         40 :       recog_data.dup_num[0] = 1;
    2835                 :         40 :       recog_data.dup_loc[1] = &XEXP (XEXP (pat, 1), 1);
    2836                 :         40 :       recog_data.dup_num[1] = 1;
    2837                 :         40 :       break;
    2838                 :            : 
    2839                 :        398 :     case 2512:  /* *avx512f_vmfmsub_v2df_maskz_1_round */
    2840                 :        398 :     case 2510:  /* *avx512f_vmfmsub_v4sf_maskz_1_round */
    2841                 :        398 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2842                 :        398 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    2843                 :        398 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 1));
    2844                 :        398 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 2), 0));
    2845                 :        398 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    2846                 :        398 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    2847                 :        398 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2848                 :        398 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    2849                 :        398 :       recog_data.dup_num[0] = 1;
    2850                 :        398 :       break;
    2851                 :            : 
    2852                 :         38 :     case 2511:  /* *avx512f_vmfmsub_v2df_maskz_1 */
    2853                 :         38 :     case 2509:  /* *avx512f_vmfmsub_v4sf_maskz_1 */
    2854                 :         38 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2855                 :         38 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    2856                 :         38 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    2857                 :         38 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 2), 0));
    2858                 :         38 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    2859                 :         38 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2860                 :         38 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    2861                 :         38 :       recog_data.dup_num[0] = 1;
    2862                 :         38 :       break;
    2863                 :            : 
    2864                 :        884 :     case 2508:  /* avx512f_vmfmsub_v2df_mask3_round */
    2865                 :        884 :     case 2506:  /* avx512f_vmfmsub_v4sf_mask3_round */
    2866                 :        884 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2867                 :        884 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    2868                 :        884 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 1));
    2869                 :        884 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 2), 0));
    2870                 :        884 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    2871                 :        884 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2872                 :        884 :       recog_data.dup_loc[0] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1);
    2873                 :        884 :       recog_data.dup_num[0] = 3;
    2874                 :        884 :       recog_data.dup_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    2875                 :        884 :       recog_data.dup_num[1] = 3;
    2876                 :        884 :       break;
    2877                 :            : 
    2878                 :        324 :     case 2507:  /* avx512f_vmfmsub_v2df_mask3 */
    2879                 :        324 :     case 2505:  /* avx512f_vmfmsub_v4sf_mask3 */
    2880                 :        324 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2881                 :        324 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    2882                 :        324 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    2883                 :        324 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 2), 0));
    2884                 :        324 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2885                 :        324 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 0), 1);
    2886                 :        324 :       recog_data.dup_num[0] = 3;
    2887                 :        324 :       recog_data.dup_loc[1] = &XEXP (XEXP (pat, 1), 1);
    2888                 :        324 :       recog_data.dup_num[1] = 3;
    2889                 :        324 :       break;
    2890                 :            : 
    2891                 :        398 :     case 2504:  /* *avx512f_vmfmsub_v2df_mask_round */
    2892                 :        398 :     case 2502:  /* *avx512f_vmfmsub_v4sf_mask_round */
    2893                 :        398 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2894                 :        398 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    2895                 :        398 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 1));
    2896                 :        398 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 2), 0));
    2897                 :        398 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    2898                 :        398 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2899                 :        398 :       recog_data.dup_loc[0] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1);
    2900                 :        398 :       recog_data.dup_num[0] = 1;
    2901                 :        398 :       recog_data.dup_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    2902                 :        398 :       recog_data.dup_num[1] = 1;
    2903                 :        398 :       break;
    2904                 :            : 
    2905                 :         38 :     case 2503:  /* *avx512f_vmfmsub_v2df_mask */
    2906                 :         38 :     case 2501:  /* *avx512f_vmfmsub_v4sf_mask */
    2907                 :         38 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2908                 :         38 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    2909                 :         38 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    2910                 :         38 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 2), 0));
    2911                 :         38 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2912                 :         38 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 0), 1);
    2913                 :         38 :       recog_data.dup_num[0] = 1;
    2914                 :         38 :       recog_data.dup_loc[1] = &XEXP (XEXP (pat, 1), 1);
    2915                 :         38 :       recog_data.dup_num[1] = 1;
    2916                 :         38 :       break;
    2917                 :            : 
    2918                 :       1044 :     case 2500:  /* avx512f_vmfmadd_v2df_maskz_1_round */
    2919                 :       1044 :     case 2498:  /* avx512f_vmfmadd_v4sf_maskz_1_round */
    2920                 :       1044 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2921                 :       1044 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    2922                 :       1044 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 1));
    2923                 :       1044 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 2));
    2924                 :       1044 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    2925                 :       1044 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    2926                 :       1044 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2927                 :       1044 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    2928                 :       1044 :       recog_data.dup_num[0] = 1;
    2929                 :       1044 :       break;
    2930                 :            : 
    2931                 :        388 :     case 2499:  /* avx512f_vmfmadd_v2df_maskz_1 */
    2932                 :        388 :     case 2497:  /* avx512f_vmfmadd_v4sf_maskz_1 */
    2933                 :        388 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2934                 :        388 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    2935                 :        388 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    2936                 :        388 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 2));
    2937                 :        388 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    2938                 :        388 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2939                 :        388 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    2940                 :        388 :       recog_data.dup_num[0] = 1;
    2941                 :        388 :       break;
    2942                 :            : 
    2943                 :        876 :     case 2496:  /* avx512f_vmfmadd_v2df_mask3_round */
    2944                 :        876 :     case 2494:  /* avx512f_vmfmadd_v4sf_mask3_round */
    2945                 :        876 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2946                 :        876 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    2947                 :        876 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 1));
    2948                 :        876 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 2));
    2949                 :        876 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    2950                 :        876 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2951                 :        876 :       recog_data.dup_loc[0] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1);
    2952                 :        876 :       recog_data.dup_num[0] = 3;
    2953                 :        876 :       recog_data.dup_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    2954                 :        876 :       recog_data.dup_num[1] = 3;
    2955                 :        876 :       break;
    2956                 :            : 
    2957                 :        314 :     case 2495:  /* avx512f_vmfmadd_v2df_mask3 */
    2958                 :        314 :     case 2493:  /* avx512f_vmfmadd_v4sf_mask3 */
    2959                 :        314 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2960                 :        314 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    2961                 :        314 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    2962                 :        314 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 2));
    2963                 :        314 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2964                 :        314 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 0), 1);
    2965                 :        314 :       recog_data.dup_num[0] = 3;
    2966                 :        314 :       recog_data.dup_loc[1] = &XEXP (XEXP (pat, 1), 1);
    2967                 :        314 :       recog_data.dup_num[1] = 3;
    2968                 :        314 :       break;
    2969                 :            : 
    2970                 :       1044 :     case 2492:  /* avx512f_vmfmadd_v2df_mask_round */
    2971                 :       1044 :     case 2490:  /* avx512f_vmfmadd_v4sf_mask_round */
    2972                 :       1044 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2973                 :       1044 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    2974                 :       1044 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 1));
    2975                 :       1044 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 2));
    2976                 :       1044 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    2977                 :       1044 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    2978                 :       1044 :       recog_data.dup_loc[0] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1);
    2979                 :       1044 :       recog_data.dup_num[0] = 1;
    2980                 :       1044 :       recog_data.dup_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    2981                 :       1044 :       recog_data.dup_num[1] = 1;
    2982                 :       1044 :       break;
    2983                 :            : 
    2984                 :        388 :     case 2491:  /* avx512f_vmfmadd_v2df_mask */
    2985                 :        388 :     case 2489:  /* avx512f_vmfmadd_v4sf_mask */
    2986                 :        388 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    2987                 :        388 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    2988                 :        388 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    2989                 :        388 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 2));
    2990                 :        388 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    2991                 :        388 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 0), 1);
    2992                 :        388 :       recog_data.dup_num[0] = 1;
    2993                 :        388 :       recog_data.dup_loc[1] = &XEXP (XEXP (pat, 1), 1);
    2994                 :        388 :       recog_data.dup_num[1] = 1;
    2995                 :        388 :       break;
    2996                 :            : 
    2997                 :        180 :     case 2488:  /* *fmai_fnmsub_v2df_round */
    2998                 :        180 :     case 2486:  /* *fmai_fnmsub_v4sf_round */
    2999                 :        180 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3000                 :        180 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    3001                 :        180 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    3002                 :        180 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2), 0));
    3003                 :        180 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3004                 :        180 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    3005                 :        180 :       recog_data.dup_num[0] = 1;
    3006                 :        180 :       break;
    3007                 :            : 
    3008                 :        330 :     case 2487:  /* *fmai_fnmsub_v2df */
    3009                 :        330 :     case 2485:  /* *fmai_fnmsub_v4sf */
    3010                 :        330 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3011                 :        330 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    3012                 :        330 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    3013                 :        330 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 2), 0));
    3014                 :        330 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    3015                 :        330 :       recog_data.dup_num[0] = 1;
    3016                 :        330 :       break;
    3017                 :            : 
    3018                 :        194 :     case 2484:  /* *fmai_fnmadd_v2df_round */
    3019                 :        194 :     case 2482:  /* *fmai_fnmadd_v4sf_round */
    3020                 :        194 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3021                 :        194 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    3022                 :        194 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    3023                 :        194 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    3024                 :        194 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3025                 :        194 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    3026                 :        194 :       recog_data.dup_num[0] = 1;
    3027                 :        194 :       break;
    3028                 :            : 
    3029                 :        330 :     case 2483:  /* *fmai_fnmadd_v2df */
    3030                 :        330 :     case 2481:  /* *fmai_fnmadd_v4sf */
    3031                 :        330 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3032                 :        330 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    3033                 :        330 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    3034                 :        330 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    3035                 :        330 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    3036                 :        330 :       recog_data.dup_num[0] = 1;
    3037                 :        330 :       break;
    3038                 :            : 
    3039                 :        204 :     case 2480:  /* *fmai_fmsub_v2df */
    3040                 :        204 :     case 2478:  /* *fmai_fmsub_v4sf */
    3041                 :        204 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3042                 :        204 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    3043                 :        204 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    3044                 :        204 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2), 0));
    3045                 :        204 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3046                 :        204 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    3047                 :        204 :       recog_data.dup_num[0] = 1;
    3048                 :        204 :       break;
    3049                 :            : 
    3050                 :        330 :     case 2479:  /* *fmai_fmsub_v2df */
    3051                 :        330 :     case 2477:  /* *fmai_fmsub_v4sf */
    3052                 :        330 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3053                 :        330 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    3054                 :        330 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    3055                 :        330 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 2), 0));
    3056                 :        330 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    3057                 :        330 :       recog_data.dup_num[0] = 1;
    3058                 :        330 :       break;
    3059                 :            : 
    3060                 :        627 :     case 2476:  /* *fmai_fmadd_v2df */
    3061                 :        627 :     case 2474:  /* *fmai_fmadd_v4sf */
    3062                 :        627 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3063                 :        627 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    3064                 :        627 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    3065                 :        627 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    3066                 :        627 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3067                 :        627 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    3068                 :        627 :       recog_data.dup_num[0] = 1;
    3069                 :        627 :       break;
    3070                 :            : 
    3071                 :        543 :     case 2475:  /* *fmai_fmadd_v2df */
    3072                 :        543 :     case 2473:  /* *fmai_fmadd_v4sf */
    3073                 :        543 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3074                 :        543 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    3075                 :        543 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    3076                 :        543 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    3077                 :        543 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    3078                 :        543 :       recog_data.dup_num[0] = 1;
    3079                 :        543 :       break;
    3080                 :            : 
    3081                 :        590 :     case 2472:  /* avx512vl_fmsubadd_v2df_mask3_round */
    3082                 :        590 :     case 2470:  /* avx512vl_fmsubadd_v4df_mask3_round */
    3083                 :        590 :     case 2468:  /* avx512f_fmsubadd_v8df_mask3_round */
    3084                 :        590 :     case 2466:  /* avx512vl_fmsubadd_v4sf_mask3_round */
    3085                 :        590 :     case 2464:  /* avx512vl_fmsubadd_v8sf_mask3_round */
    3086                 :        590 :     case 2462:  /* avx512f_fmsubadd_v16sf_mask3_round */
    3087                 :        590 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3088                 :        590 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
    3089                 :        590 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 1));
    3090                 :        590 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 2), 0));
    3091                 :        590 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    3092                 :        590 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3093                 :        590 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    3094                 :        590 :       recog_data.dup_num[0] = 3;
    3095                 :        590 :       break;
    3096                 :            : 
    3097                 :        944 :     case 2471:  /* avx512vl_fmsubadd_v2df_mask3 */
    3098                 :        944 :     case 2469:  /* avx512vl_fmsubadd_v4df_mask3 */
    3099                 :        944 :     case 2467:  /* avx512f_fmsubadd_v8df_mask3 */
    3100                 :        944 :     case 2465:  /* avx512vl_fmsubadd_v4sf_mask3 */
    3101                 :        944 :     case 2463:  /* avx512vl_fmsubadd_v8sf_mask3 */
    3102                 :        944 :     case 2461:  /* avx512f_fmsubadd_v16sf_mask3 */
    3103                 :        944 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3104                 :        944 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    3105                 :        944 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    3106                 :        944 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 2), 0));
    3107                 :        944 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    3108                 :        944 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    3109                 :        944 :       recog_data.dup_num[0] = 3;
    3110                 :        944 :       break;
    3111                 :            : 
    3112                 :        398 :     case 2460:  /* avx512vl_fmsubadd_v2df_mask_round */
    3113                 :        398 :     case 2458:  /* avx512vl_fmsubadd_v4df_mask_round */
    3114                 :        398 :     case 2456:  /* avx512f_fmsubadd_v8df_mask_round */
    3115                 :        398 :     case 2454:  /* avx512vl_fmsubadd_v4sf_mask_round */
    3116                 :        398 :     case 2452:  /* avx512vl_fmsubadd_v8sf_mask_round */
    3117                 :        398 :     case 2450:  /* avx512f_fmsubadd_v16sf_mask_round */
    3118                 :        398 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3119                 :        398 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
    3120                 :        398 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 1));
    3121                 :        398 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 2), 0));
    3122                 :        398 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    3123                 :        398 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3124                 :        398 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    3125                 :        398 :       recog_data.dup_num[0] = 1;
    3126                 :        398 :       break;
    3127                 :            : 
    3128                 :        474 :     case 2459:  /* avx512vl_fmsubadd_v2df_mask */
    3129                 :        474 :     case 2457:  /* avx512vl_fmsubadd_v4df_mask */
    3130                 :        474 :     case 2455:  /* avx512f_fmsubadd_v8df_mask */
    3131                 :        474 :     case 2453:  /* avx512vl_fmsubadd_v4sf_mask */
    3132                 :        474 :     case 2451:  /* avx512vl_fmsubadd_v8sf_mask */
    3133                 :        474 :     case 2449:  /* avx512f_fmsubadd_v16sf_mask */
    3134                 :        474 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3135                 :        474 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    3136                 :        474 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    3137                 :        474 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 2), 0));
    3138                 :        474 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    3139                 :        474 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    3140                 :        474 :       recog_data.dup_num[0] = 1;
    3141                 :        474 :       break;
    3142                 :            : 
    3143                 :        398 :     case 2444:  /* fma_fmsubadd_v8df_maskz_1_round */
    3144                 :        398 :     case 2435:  /* fma_fmsubadd_v16sf_maskz_1_round */
    3145                 :        398 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3146                 :        398 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
    3147                 :        398 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 1));
    3148                 :        398 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 2), 0));
    3149                 :        398 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    3150                 :        398 :       ro[5] = *(ro_loc[5] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    3151                 :        398 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3152                 :        398 :       break;
    3153                 :            : 
    3154                 :        348 :     case 2443:  /* *fma_fmsubadd_v8df_round */
    3155                 :        348 :     case 2434:  /* *fma_fmsubadd_v16sf_round */
    3156                 :        348 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3157                 :        348 :       ro[1] = *(ro_loc[1] = &XVECEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0, 0));
    3158                 :        348 :       ro[2] = *(ro_loc[2] = &XVECEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0, 1));
    3159                 :        348 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0, 2), 0));
    3160                 :        348 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3161                 :        348 :       break;
    3162                 :            : 
    3163                 :        474 :     case 2448:  /* fma_fmsubadd_v2df_maskz_1 */
    3164                 :        474 :     case 2446:  /* fma_fmsubadd_v4df_maskz_1 */
    3165                 :        474 :     case 2442:  /* fma_fmsubadd_v8df_maskz_1 */
    3166                 :        474 :     case 2439:  /* fma_fmsubadd_v4sf_maskz_1 */
    3167                 :        474 :     case 2437:  /* fma_fmsubadd_v8sf_maskz_1 */
    3168                 :        474 :     case 2433:  /* fma_fmsubadd_v16sf_maskz_1 */
    3169                 :        474 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3170                 :        474 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    3171                 :        474 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    3172                 :        474 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 2), 0));
    3173                 :        474 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    3174                 :        474 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    3175                 :        474 :       break;
    3176                 :            : 
    3177                 :        732 :     case 2447:  /* *fma_fmsubadd_v2df */
    3178                 :        732 :     case 2445:  /* *fma_fmsubadd_v4df */
    3179                 :        732 :     case 2441:  /* *fma_fmsubadd_v8df */
    3180                 :        732 :     case 2440:  /* *fma_fmsubadd_df */
    3181                 :        732 :     case 2438:  /* *fma_fmsubadd_v4sf */
    3182                 :        732 :     case 2436:  /* *fma_fmsubadd_v8sf */
    3183                 :        732 :     case 2432:  /* *fma_fmsubadd_v16sf */
    3184                 :        732 :     case 2431:  /* *fma_fmsubadd_sf */
    3185                 :        732 :     case 2430:  /* *fma_fmsubadd_v2df */
    3186                 :        732 :     case 2429:  /* *fma_fmsubadd_v4df */
    3187                 :        732 :     case 2428:  /* *fma_fmsubadd_v4sf */
    3188                 :        732 :     case 2427:  /* *fma_fmsubadd_v8sf */
    3189                 :        732 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3190                 :        732 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (pat, 1), 0, 0));
    3191                 :        732 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3192                 :        732 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 2), 0));
    3193                 :        732 :       break;
    3194                 :            : 
    3195                 :        590 :     case 2426:  /* avx512vl_fmaddsub_v2df_mask3_round */
    3196                 :        590 :     case 2424:  /* avx512vl_fmaddsub_v4df_mask3_round */
    3197                 :        590 :     case 2422:  /* avx512f_fmaddsub_v8df_mask3_round */
    3198                 :        590 :     case 2420:  /* avx512vl_fmaddsub_v4sf_mask3_round */
    3199                 :        590 :     case 2418:  /* avx512vl_fmaddsub_v8sf_mask3_round */
    3200                 :        590 :     case 2416:  /* avx512f_fmaddsub_v16sf_mask3_round */
    3201                 :        590 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3202                 :        590 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
    3203                 :        590 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 1));
    3204                 :        590 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 2));
    3205                 :        590 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    3206                 :        590 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3207                 :        590 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    3208                 :        590 :       recog_data.dup_num[0] = 3;
    3209                 :        590 :       break;
    3210                 :            : 
    3211                 :        929 :     case 2425:  /* avx512vl_fmaddsub_v2df_mask3 */
    3212                 :        929 :     case 2423:  /* avx512vl_fmaddsub_v4df_mask3 */
    3213                 :        929 :     case 2421:  /* avx512f_fmaddsub_v8df_mask3 */
    3214                 :        929 :     case 2419:  /* avx512vl_fmaddsub_v4sf_mask3 */
    3215                 :        929 :     case 2417:  /* avx512vl_fmaddsub_v8sf_mask3 */
    3216                 :        929 :     case 2415:  /* avx512f_fmaddsub_v16sf_mask3 */
    3217                 :        929 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3218                 :        929 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    3219                 :        929 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    3220                 :        929 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 2));
    3221                 :        929 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    3222                 :        929 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    3223                 :        929 :       recog_data.dup_num[0] = 3;
    3224                 :        929 :       break;
    3225                 :            : 
    3226                 :        836 :     case 2414:  /* avx512vl_fmaddsub_v2df_mask_round */
    3227                 :        836 :     case 2412:  /* avx512vl_fmaddsub_v4df_mask_round */
    3228                 :        836 :     case 2410:  /* avx512f_fmaddsub_v8df_mask_round */
    3229                 :        836 :     case 2408:  /* avx512vl_fmaddsub_v4sf_mask_round */
    3230                 :        836 :     case 2406:  /* avx512vl_fmaddsub_v8sf_mask_round */
    3231                 :        836 :     case 2404:  /* avx512f_fmaddsub_v16sf_mask_round */
    3232                 :        836 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3233                 :        836 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
    3234                 :        836 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 1));
    3235                 :        836 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 2));
    3236                 :        836 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    3237                 :        836 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3238                 :        836 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    3239                 :        836 :       recog_data.dup_num[0] = 1;
    3240                 :        836 :       break;
    3241                 :            : 
    3242                 :       7743 :     case 5975:  /* avx512f_dpbf16ps_v4sf_mask */
    3243                 :       7743 :     case 5974:  /* avx512f_dpbf16ps_v8sf_mask */
    3244                 :       7743 :     case 5973:  /* avx512f_dpbf16ps_v16sf_mask */
    3245                 :       7743 :     case 5924:  /* vpdpwssds_v4si_mask */
    3246                 :       7743 :     case 5923:  /* vpdpwssds_v8si_mask */
    3247                 :       7743 :     case 5922:  /* vpdpwssds_v16si_mask */
    3248                 :       7743 :     case 5915:  /* vpdpwssd_v4si_mask */
    3249                 :       7743 :     case 5914:  /* vpdpwssd_v8si_mask */
    3250                 :       7743 :     case 5913:  /* vpdpwssd_v16si_mask */
    3251                 :       7743 :     case 5906:  /* vpdpbusds_v4si_mask */
    3252                 :       7743 :     case 5905:  /* vpdpbusds_v8si_mask */
    3253                 :       7743 :     case 5904:  /* vpdpbusds_v16si_mask */
    3254                 :       7743 :     case 5897:  /* vpdpbusd_v4si_mask */
    3255                 :       7743 :     case 5896:  /* vpdpbusd_v8si_mask */
    3256                 :       7743 :     case 5895:  /* vpdpbusd_v16si_mask */
    3257                 :       7743 :     case 5882:  /* vpshldv_v2di_mask */
    3258                 :       7743 :     case 5881:  /* vpshldv_v4si_mask */
    3259                 :       7743 :     case 5880:  /* vpshldv_v8hi_mask */
    3260                 :       7743 :     case 5879:  /* vpshldv_v4di_mask */
    3261                 :       7743 :     case 5878:  /* vpshldv_v8si_mask */
    3262                 :       7743 :     case 5877:  /* vpshldv_v16hi_mask */
    3263                 :       7743 :     case 5876:  /* vpshldv_v8di_mask */
    3264                 :       7743 :     case 5875:  /* vpshldv_v16si_mask */
    3265                 :       7743 :     case 5874:  /* vpshldv_v32hi_mask */
    3266                 :       7743 :     case 5855:  /* vpshrdv_v2di_mask */
    3267                 :       7743 :     case 5854:  /* vpshrdv_v4si_mask */
    3268                 :       7743 :     case 5853:  /* vpshrdv_v8hi_mask */
    3269                 :       7743 :     case 5852:  /* vpshrdv_v4di_mask */
    3270                 :       7743 :     case 5851:  /* vpshrdv_v8si_mask */
    3271                 :       7743 :     case 5850:  /* vpshrdv_v16hi_mask */
    3272                 :       7743 :     case 5849:  /* vpshrdv_v8di_mask */
    3273                 :       7743 :     case 5848:  /* vpshrdv_v16si_mask */
    3274                 :       7743 :     case 5847:  /* vpshrdv_v32hi_mask */
    3275                 :       7743 :     case 5725:  /* vpamdd52huqv2di_mask */
    3276                 :       7743 :     case 5724:  /* vpamdd52luqv2di_mask */
    3277                 :       7743 :     case 5723:  /* vpamdd52huqv4di_mask */
    3278                 :       7743 :     case 5722:  /* vpamdd52luqv4di_mask */
    3279                 :       7743 :     case 5721:  /* vpamdd52huqv8di_mask */
    3280                 :       7743 :     case 5720:  /* vpamdd52luqv8di_mask */
    3281                 :       7743 :     case 2413:  /* avx512vl_fmaddsub_v2df_mask */
    3282                 :       7743 :     case 2411:  /* avx512vl_fmaddsub_v4df_mask */
    3283                 :       7743 :     case 2409:  /* avx512f_fmaddsub_v8df_mask */
    3284                 :       7743 :     case 2407:  /* avx512vl_fmaddsub_v4sf_mask */
    3285                 :       7743 :     case 2405:  /* avx512vl_fmaddsub_v8sf_mask */
    3286                 :       7743 :     case 2403:  /* avx512f_fmaddsub_v16sf_mask */
    3287                 :       7743 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3288                 :       7743 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    3289                 :       7743 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    3290                 :       7743 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 2));
    3291                 :       7743 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    3292                 :       7743 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    3293                 :       7743 :       recog_data.dup_num[0] = 1;
    3294                 :       7743 :       break;
    3295                 :            : 
    3296                 :       1720 :     case 5604:  /* avx512dq_rangepv8df_mask_round */
    3297                 :       1720 :     case 5596:  /* avx512dq_rangepv16sf_mask_round */
    3298                 :       1720 :     case 2398:  /* fma_fmaddsub_v8df_maskz_1_round */
    3299                 :       1720 :     case 2389:  /* fma_fmaddsub_v16sf_maskz_1_round */
    3300                 :       1720 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3301                 :       1720 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
    3302                 :       1720 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 1));
    3303                 :       1720 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 2));
    3304                 :       1720 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    3305                 :       1720 :       ro[5] = *(ro_loc[5] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    3306                 :       1720 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3307                 :       1720 :       break;
    3308                 :            : 
    3309                 :      24081 :     case 5972:  /* avx512f_dpbf16ps_v4sf_maskz_1 */
    3310                 :      24081 :     case 5970:  /* avx512f_dpbf16ps_v8sf_maskz_1 */
    3311                 :      24081 :     case 5968:  /* avx512f_dpbf16ps_v16sf_maskz_1 */
    3312                 :      24081 :     case 5927:  /* vpdpwssds_v4si_maskz_1 */
    3313                 :      24081 :     case 5926:  /* vpdpwssds_v8si_maskz_1 */
    3314                 :      24081 :     case 5925:  /* vpdpwssds_v16si_maskz_1 */
    3315                 :      24081 :     case 5918:  /* vpdpwssd_v4si_maskz_1 */
    3316                 :      24081 :     case 5917:  /* vpdpwssd_v8si_maskz_1 */
    3317                 :      24081 :     case 5916:  /* vpdpwssd_v16si_maskz_1 */
    3318                 :      24081 :     case 5909:  /* vpdpbusds_v4si_maskz_1 */
    3319                 :      24081 :     case 5908:  /* vpdpbusds_v8si_maskz_1 */
    3320                 :      24081 :     case 5907:  /* vpdpbusds_v16si_maskz_1 */
    3321                 :      24081 :     case 5900:  /* vpdpbusd_v4si_maskz_1 */
    3322                 :      24081 :     case 5899:  /* vpdpbusd_v8si_maskz_1 */
    3323                 :      24081 :     case 5898:  /* vpdpbusd_v16si_maskz_1 */
    3324                 :      24081 :     case 5891:  /* vpshldv_v2di_maskz_1 */
    3325                 :      24081 :     case 5890:  /* vpshldv_v4si_maskz_1 */
    3326                 :      24081 :     case 5889:  /* vpshldv_v8hi_maskz_1 */
    3327                 :      24081 :     case 5888:  /* vpshldv_v4di_maskz_1 */
    3328                 :      24081 :     case 5887:  /* vpshldv_v8si_maskz_1 */
    3329                 :      24081 :     case 5886:  /* vpshldv_v16hi_maskz_1 */
    3330                 :      24081 :     case 5885:  /* vpshldv_v8di_maskz_1 */
    3331                 :      24081 :     case 5884:  /* vpshldv_v16si_maskz_1 */
    3332                 :      24081 :     case 5883:  /* vpshldv_v32hi_maskz_1 */
    3333                 :      24081 :     case 5864:  /* vpshrdv_v2di_maskz_1 */
    3334                 :      24081 :     case 5863:  /* vpshrdv_v4si_maskz_1 */
    3335                 :      24081 :     case 5862:  /* vpshrdv_v8hi_maskz_1 */
    3336                 :      24081 :     case 5861:  /* vpshrdv_v4di_maskz_1 */
    3337                 :      24081 :     case 5860:  /* vpshrdv_v8si_maskz_1 */
    3338                 :      24081 :     case 5859:  /* vpshrdv_v16hi_maskz_1 */
    3339                 :      24081 :     case 5858:  /* vpshrdv_v8di_maskz_1 */
    3340                 :      24081 :     case 5857:  /* vpshrdv_v16si_maskz_1 */
    3341                 :      24081 :     case 5856:  /* vpshrdv_v32hi_maskz_1 */
    3342                 :      24081 :     case 5837:  /* vpshld_v2di_mask */
    3343                 :      24081 :     case 5835:  /* vpshld_v4si_mask */
    3344                 :      24081 :     case 5833:  /* vpshld_v8hi_mask */
    3345                 :      24081 :     case 5831:  /* vpshld_v4di_mask */
    3346                 :      24081 :     case 5829:  /* vpshld_v8si_mask */
    3347                 :      24081 :     case 5827:  /* vpshld_v16hi_mask */
    3348                 :      24081 :     case 5825:  /* vpshld_v8di_mask */
    3349                 :      24081 :     case 5823:  /* vpshld_v16si_mask */
    3350                 :      24081 :     case 5821:  /* vpshld_v32hi_mask */
    3351                 :      24081 :     case 5819:  /* vpshrd_v2di_mask */
    3352                 :      24081 :     case 5817:  /* vpshrd_v4si_mask */
    3353                 :      24081 :     case 5815:  /* vpshrd_v8hi_mask */
    3354                 :      24081 :     case 5813:  /* vpshrd_v4di_mask */
    3355                 :      24081 :     case 5811:  /* vpshrd_v8si_mask */
    3356                 :      24081 :     case 5809:  /* vpshrd_v16hi_mask */
    3357                 :      24081 :     case 5807:  /* vpshrd_v8di_mask */
    3358                 :      24081 :     case 5805:  /* vpshrd_v16si_mask */
    3359                 :      24081 :     case 5803:  /* vpshrd_v32hi_mask */
    3360                 :      24081 :     case 5795:  /* vgf2p8affineqb_v16qi_mask */
    3361                 :      24081 :     case 5793:  /* vgf2p8affineqb_v32qi_mask */
    3362                 :      24081 :     case 5791:  /* vgf2p8affineqb_v64qi_mask */
    3363                 :      24081 :     case 5789:  /* vgf2p8affineinvqb_v16qi_mask */
    3364                 :      24081 :     case 5787:  /* vgf2p8affineinvqb_v32qi_mask */
    3365                 :      24081 :     case 5785:  /* vgf2p8affineinvqb_v64qi_mask */
    3366                 :      24081 :     case 5751:  /* avx5124vnniw_vp4dpwssds_maskz */
    3367                 :      24081 :     case 5748:  /* avx5124vnniw_vp4dpwssd_maskz */
    3368                 :      24081 :     case 5745:  /* avx5124fmaddps_4fnmaddss_maskz */
    3369                 :      24081 :     case 5742:  /* avx5124fmaddps_4fnmaddps_maskz */
    3370                 :      24081 :     case 5739:  /* avx5124fmaddps_4fmaddss_maskz */
    3371                 :      24081 :     case 5736:  /* avx5124fmaddps_4fmaddps_maskz */
    3372                 :      24081 :     case 5719:  /* vpamdd52huqv2di_maskz_1 */
    3373                 :      24081 :     case 5717:  /* vpamdd52luqv2di_maskz_1 */
    3374                 :      24081 :     case 5715:  /* vpamdd52huqv4di_maskz_1 */
    3375                 :      24081 :     case 5713:  /* vpamdd52luqv4di_maskz_1 */
    3376                 :      24081 :     case 5711:  /* vpamdd52huqv8di_maskz_1 */
    3377                 :      24081 :     case 5709:  /* vpamdd52luqv8di_maskz_1 */
    3378                 :      24081 :     case 5670:  /* avx512bw_dbpsadbwv32hi_mask */
    3379                 :      24081 :     case 5668:  /* avx512bw_dbpsadbwv16hi_mask */
    3380                 :      24081 :     case 5666:  /* avx512bw_dbpsadbwv8hi_mask */
    3381                 :      24081 :     case 5608:  /* avx512dq_rangepv2df_mask */
    3382                 :      24081 :     case 5606:  /* avx512dq_rangepv4df_mask */
    3383                 :      24081 :     case 5603:  /* avx512dq_rangepv8df_mask */
    3384                 :      24081 :     case 5600:  /* avx512dq_rangepv4sf_mask */
    3385                 :      24081 :     case 5598:  /* avx512dq_rangepv8sf_mask */
    3386                 :      24081 :     case 5595:  /* avx512dq_rangepv16sf_mask */
    3387                 :      24081 :     case 5170:  /* avx512vl_vpermt2varv16qi3_maskz_1 */
    3388                 :      24081 :     case 5168:  /* avx512vl_vpermt2varv32qi3_maskz_1 */
    3389                 :      24081 :     case 5166:  /* avx512bw_vpermt2varv64qi3_maskz_1 */
    3390                 :      24081 :     case 5164:  /* avx512vl_vpermt2varv8hi3_maskz_1 */
    3391                 :      24081 :     case 5162:  /* avx512vl_vpermt2varv16hi3_maskz_1 */
    3392                 :      24081 :     case 5160:  /* avx512bw_vpermt2varv32hi3_maskz_1 */
    3393                 :      24081 :     case 5158:  /* avx512vl_vpermt2varv2df3_maskz_1 */
    3394                 :      24081 :     case 5156:  /* avx512vl_vpermt2varv2di3_maskz_1 */
    3395                 :      24081 :     case 5154:  /* avx512vl_vpermt2varv4sf3_maskz_1 */
    3396                 :      24081 :     case 5152:  /* avx512vl_vpermt2varv4si3_maskz_1 */
    3397                 :      24081 :     case 5150:  /* avx512vl_vpermt2varv4df3_maskz_1 */
    3398                 :      24081 :     case 5148:  /* avx512vl_vpermt2varv4di3_maskz_1 */
    3399                 :      24081 :     case 5146:  /* avx512vl_vpermt2varv8sf3_maskz_1 */
    3400                 :      24081 :     case 5144:  /* avx512vl_vpermt2varv8si3_maskz_1 */
    3401                 :      24081 :     case 5142:  /* avx512f_vpermt2varv8df3_maskz_1 */
    3402                 :      24081 :     case 5140:  /* avx512f_vpermt2varv8di3_maskz_1 */
    3403                 :      24081 :     case 5138:  /* avx512f_vpermt2varv16sf3_maskz_1 */
    3404                 :      24081 :     case 5136:  /* avx512f_vpermt2varv16si3_maskz_1 */
    3405                 :      24081 :     case 4486:  /* ssse3_palignrv16qi_mask */
    3406                 :      24081 :     case 4485:  /* avx2_palignrv32qi_mask */
    3407                 :      24081 :     case 4484:  /* avx512bw_palignrv64qi_mask */
    3408                 :      24081 :     case 3089:  /* avx512vl_alignv2di_mask */
    3409                 :      24081 :     case 3087:  /* avx512vl_alignv4di_mask */
    3410                 :      24081 :     case 3085:  /* avx512f_alignv8di_mask */
    3411                 :      24081 :     case 3083:  /* avx512vl_alignv4si_mask */
    3412                 :      24081 :     case 3081:  /* avx512vl_alignv8si_mask */
    3413                 :      24081 :     case 3079:  /* avx512f_alignv16si_mask */
    3414                 :      24081 :     case 2402:  /* fma_fmaddsub_v2df_maskz_1 */
    3415                 :      24081 :     case 2400:  /* fma_fmaddsub_v4df_maskz_1 */
    3416                 :      24081 :     case 2396:  /* fma_fmaddsub_v8df_maskz_1 */
    3417                 :      24081 :     case 2393:  /* fma_fmaddsub_v4sf_maskz_1 */
    3418                 :      24081 :     case 2391:  /* fma_fmaddsub_v8sf_maskz_1 */
    3419                 :      24081 :     case 2387:  /* fma_fmaddsub_v16sf_maskz_1 */
    3420                 :      24081 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3421                 :      24081 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    3422                 :      24081 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    3423                 :      24081 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 2));
    3424                 :      24081 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    3425                 :      24081 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    3426                 :      24081 :       break;
    3427                 :            : 
    3428                 :        590 :     case 2380:  /* avx512vl_fnmsub_v2df_mask3_round */
    3429                 :        590 :     case 2378:  /* avx512vl_fnmsub_v4df_mask3_round */
    3430                 :        590 :     case 2376:  /* avx512f_fnmsub_v8df_mask3_round */
    3431                 :        590 :     case 2374:  /* avx512vl_fnmsub_v4sf_mask3_round */
    3432                 :        590 :     case 2372:  /* avx512vl_fnmsub_v8sf_mask3_round */
    3433                 :        590 :     case 2370:  /* avx512f_fnmsub_v16sf_mask3_round */
    3434                 :        590 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3435                 :        590 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    3436                 :        590 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    3437                 :        590 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2), 0));
    3438                 :        590 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    3439                 :        590 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3440                 :        590 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    3441                 :        590 :       recog_data.dup_num[0] = 3;
    3442                 :        590 :       break;
    3443                 :            : 
    3444                 :        953 :     case 2379:  /* avx512vl_fnmsub_v2df_mask3 */
    3445                 :        953 :     case 2377:  /* avx512vl_fnmsub_v4df_mask3 */
    3446                 :        953 :     case 2375:  /* avx512f_fnmsub_v8df_mask3 */
    3447                 :        953 :     case 2373:  /* avx512vl_fnmsub_v4sf_mask3 */
    3448                 :        953 :     case 2371:  /* avx512vl_fnmsub_v8sf_mask3 */
    3449                 :        953 :     case 2369:  /* avx512f_fnmsub_v16sf_mask3 */
    3450                 :        953 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3451                 :        953 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    3452                 :        953 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    3453                 :        953 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 2), 0));
    3454                 :        953 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    3455                 :        953 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    3456                 :        953 :       recog_data.dup_num[0] = 3;
    3457                 :        953 :       break;
    3458                 :            : 
    3459                 :        616 :     case 2366:  /* avx512f_fnmsub_v8df_mask_round */
    3460                 :        616 :     case 2362:  /* avx512f_fnmsub_v16sf_mask_round */
    3461                 :        616 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3462                 :        616 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    3463                 :        616 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    3464                 :        616 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2), 0));
    3465                 :        616 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    3466                 :        616 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3467                 :        616 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    3468                 :        616 :       recog_data.dup_num[0] = 1;
    3469                 :        616 :       break;
    3470                 :            : 
    3471                 :        962 :     case 2368:  /* avx512vl_fnmsub_v2df_mask */
    3472                 :        962 :     case 2367:  /* avx512vl_fnmsub_v4df_mask */
    3473                 :        962 :     case 2365:  /* avx512f_fnmsub_v8df_mask */
    3474                 :        962 :     case 2364:  /* avx512vl_fnmsub_v4sf_mask */
    3475                 :        962 :     case 2363:  /* avx512vl_fnmsub_v8sf_mask */
    3476                 :        962 :     case 2361:  /* avx512f_fnmsub_v16sf_mask */
    3477                 :        962 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3478                 :        962 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    3479                 :        962 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    3480                 :        962 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 2), 0));
    3481                 :        962 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    3482                 :        962 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    3483                 :        962 :       recog_data.dup_num[0] = 1;
    3484                 :        962 :       break;
    3485                 :            : 
    3486                 :          0 :     case 2360:  /* *fma_fnmsub_v8df_maskz_1_bcst_3 */
    3487                 :          0 :     case 2358:  /* *fma_fnmsub_v16sf_maskz_1_bcst_3 */
    3488                 :          0 :     case 2356:  /* *fma_fnmsub_v4df_maskz_1_bcst_3 */
    3489                 :          0 :     case 2354:  /* *fma_fnmsub_v8sf_maskz_1_bcst_3 */
    3490                 :          0 :     case 2352:  /* *fma_fnmsub_v2df_maskz_1_bcst_3 */
    3491                 :          0 :     case 2350:  /* *fma_fnmsub_v4sf_maskz_1_bcst_3 */
    3492                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3493                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    3494                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0));
    3495                 :          0 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 2), 0));
    3496                 :          0 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    3497                 :          0 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    3498                 :          0 :       break;
    3499                 :            : 
    3500                 :         30 :     case 2359:  /* **fma_fnmsub_v8df_bcst_3 */
    3501                 :         30 :     case 2357:  /* **fma_fnmsub_v16sf_bcst_3 */
    3502                 :         30 :     case 2355:  /* **fma_fnmsub_v4df_bcst_3 */
    3503                 :         30 :     case 2353:  /* **fma_fnmsub_v8sf_bcst_3 */
    3504                 :         30 :     case 2351:  /* **fma_fnmsub_v2df_bcst_3 */
    3505                 :         30 :     case 2349:  /* **fma_fnmsub_v4sf_bcst_3 */
    3506                 :         30 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3507                 :         30 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    3508                 :         30 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
    3509                 :         30 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 2), 0));
    3510                 :         30 :       break;
    3511                 :            : 
    3512                 :          0 :     case 2348:  /* *fma_fnmsub_v8df_maskz_1_bcst_2 */
    3513                 :          0 :     case 2346:  /* *fma_fnmsub_v16sf_maskz_1_bcst_2 */
    3514                 :          0 :     case 2344:  /* *fma_fnmsub_v4df_maskz_1_bcst_2 */
    3515                 :          0 :     case 2342:  /* *fma_fnmsub_v8sf_maskz_1_bcst_2 */
    3516                 :          0 :     case 2340:  /* *fma_fnmsub_v2df_maskz_1_bcst_2 */
    3517                 :          0 :     case 2338:  /* *fma_fnmsub_v4sf_maskz_1_bcst_2 */
    3518                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3519                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
    3520                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    3521                 :          0 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 2), 0));
    3522                 :          0 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    3523                 :          0 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    3524                 :          0 :       break;
    3525                 :            : 
    3526                 :         30 :     case 2347:  /* **fma_fnmsub_v8df_bcst_2 */
    3527                 :         30 :     case 2345:  /* **fma_fnmsub_v16sf_bcst_2 */
    3528                 :         30 :     case 2343:  /* **fma_fnmsub_v4df_bcst_2 */
    3529                 :         30 :     case 2341:  /* **fma_fnmsub_v8sf_bcst_2 */
    3530                 :         30 :     case 2339:  /* **fma_fnmsub_v2df_bcst_2 */
    3531                 :         30 :     case 2337:  /* **fma_fnmsub_v4sf_bcst_2 */
    3532                 :         30 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3533                 :         30 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    3534                 :         30 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    3535                 :         30 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 2), 0));
    3536                 :         30 :       break;
    3537                 :            : 
    3538                 :          0 :     case 2336:  /* *fma_fnmsub_v8df_maskz_1_bcst_1 */
    3539                 :          0 :     case 2334:  /* *fma_fnmsub_v16sf_maskz_1_bcst_1 */
    3540                 :          0 :     case 2332:  /* *fma_fnmsub_v4df_maskz_1_bcst_1 */
    3541                 :          0 :     case 2330:  /* *fma_fnmsub_v8sf_maskz_1_bcst_1 */
    3542                 :          0 :     case 2328:  /* *fma_fnmsub_v2df_maskz_1_bcst_1 */
    3543                 :          0 :     case 2326:  /* *fma_fnmsub_v4sf_maskz_1_bcst_1 */
    3544                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3545                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    3546                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    3547                 :          0 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 2), 0), 0));
    3548                 :          0 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    3549                 :          0 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    3550                 :          0 :       break;
    3551                 :            : 
    3552                 :         75 :     case 2335:  /* **fma_fnmsub_v8df_bcst_1 */
    3553                 :         75 :     case 2333:  /* **fma_fnmsub_v16sf_bcst_1 */
    3554                 :         75 :     case 2331:  /* **fma_fnmsub_v4df_bcst_1 */
    3555                 :         75 :     case 2329:  /* **fma_fnmsub_v8sf_bcst_1 */
    3556                 :         75 :     case 2327:  /* **fma_fnmsub_v2df_bcst_1 */
    3557                 :         75 :     case 2325:  /* **fma_fnmsub_v4sf_bcst_1 */
    3558                 :         75 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3559                 :         75 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    3560                 :         75 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    3561                 :         75 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 2), 0), 0));
    3562                 :         75 :       break;
    3563                 :            : 
    3564                 :        542 :     case 2320:  /* fma_fnmsub_v8df_maskz_1_round */
    3565                 :        542 :     case 2311:  /* fma_fnmsub_v16sf_maskz_1_round */
    3566                 :        542 :     case 2306:  /* *fma_fnmsub_v4df */
    3567                 :        542 :     case 2302:  /* *fma_fnmsub_v8sf */
    3568                 :        542 :     case 2298:  /* *fma_fnmsub_v2df */
    3569                 :        542 :     case 2294:  /* *fma_fnmsub_v4sf */
    3570                 :        542 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3571                 :        542 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    3572                 :        542 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    3573                 :        542 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2), 0));
    3574                 :        542 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    3575                 :        542 :       ro[5] = *(ro_loc[5] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    3576                 :        542 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3577                 :        542 :       break;
    3578                 :            : 
    3579                 :        370 :     case 2319:  /* *fma_fnmsub_v8df_round */
    3580                 :        370 :     case 2310:  /* *fma_fnmsub_v16sf_round */
    3581                 :        370 :     case 2305:  /* *fma_fnmsub_v4df */
    3582                 :        370 :     case 2301:  /* *fma_fnmsub_v8sf */
    3583                 :        370 :     case 2297:  /* *fma_fnmsub_v2df */
    3584                 :        370 :     case 2293:  /* *fma_fnmsub_v4sf */
    3585                 :        370 :     case 2290:  /* *fma_fnmsub_df */
    3586                 :        370 :     case 2288:  /* *fma_fnmsub_sf */
    3587                 :        370 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3588                 :        370 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    3589                 :        370 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    3590                 :        370 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2), 0));
    3591                 :        370 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3592                 :        370 :       break;
    3593                 :            : 
    3594                 :        590 :     case 2284:  /* avx512f_fnmadd_v8df_mask3_round */
    3595                 :        590 :     case 2280:  /* avx512f_fnmadd_v16sf_mask3_round */
    3596                 :        590 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3597                 :        590 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    3598                 :        590 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    3599                 :        590 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    3600                 :        590 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    3601                 :        590 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3602                 :        590 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    3603                 :        590 :       recog_data.dup_num[0] = 3;
    3604                 :        590 :       break;
    3605                 :            : 
    3606                 :        953 :     case 2286:  /* avx512vl_fnmadd_v2df_mask3 */
    3607                 :        953 :     case 2285:  /* avx512vl_fnmadd_v4df_mask3 */
    3608                 :        953 :     case 2283:  /* avx512f_fnmadd_v8df_mask3 */
    3609                 :        953 :     case 2282:  /* avx512vl_fnmadd_v4sf_mask3 */
    3610                 :        953 :     case 2281:  /* avx512vl_fnmadd_v8sf_mask3 */
    3611                 :        953 :     case 2279:  /* avx512f_fnmadd_v16sf_mask3 */
    3612                 :        953 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3613                 :        953 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    3614                 :        953 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    3615                 :        953 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    3616                 :        953 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    3617                 :        953 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    3618                 :        953 :       recog_data.dup_num[0] = 3;
    3619                 :        953 :       break;
    3620                 :            : 
    3621                 :        616 :     case 2276:  /* avx512f_fnmadd_v8df_mask_round */
    3622                 :        616 :     case 2272:  /* avx512f_fnmadd_v16sf_mask_round */
    3623                 :        616 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3624                 :        616 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    3625                 :        616 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    3626                 :        616 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    3627                 :        616 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    3628                 :        616 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3629                 :        616 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    3630                 :        616 :       recog_data.dup_num[0] = 1;
    3631                 :        616 :       break;
    3632                 :            : 
    3633                 :        962 :     case 2278:  /* avx512vl_fnmadd_v2df_mask */
    3634                 :        962 :     case 2277:  /* avx512vl_fnmadd_v4df_mask */
    3635                 :        962 :     case 2275:  /* avx512f_fnmadd_v8df_mask */
    3636                 :        962 :     case 2274:  /* avx512vl_fnmadd_v4sf_mask */
    3637                 :        962 :     case 2273:  /* avx512vl_fnmadd_v8sf_mask */
    3638                 :        962 :     case 2271:  /* avx512f_fnmadd_v16sf_mask */
    3639                 :        962 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3640                 :        962 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    3641                 :        962 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    3642                 :        962 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    3643                 :        962 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    3644                 :        962 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    3645                 :        962 :       recog_data.dup_num[0] = 1;
    3646                 :        962 :       break;
    3647                 :            : 
    3648                 :          0 :     case 2270:  /* *fma_fnmadd_v8df_maskz_1_bcst_3 */
    3649                 :          0 :     case 2268:  /* *fma_fnmadd_v16sf_maskz_1_bcst_3 */
    3650                 :          0 :     case 2266:  /* *fma_fnmadd_v4df_maskz_1_bcst_3 */
    3651                 :          0 :     case 2264:  /* *fma_fnmadd_v8sf_maskz_1_bcst_3 */
    3652                 :          0 :     case 2262:  /* *fma_fnmadd_v2df_maskz_1_bcst_3 */
    3653                 :          0 :     case 2260:  /* *fma_fnmadd_v4sf_maskz_1_bcst_3 */
    3654                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3655                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    3656                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0));
    3657                 :          0 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    3658                 :          0 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    3659                 :          0 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    3660                 :          0 :       break;
    3661                 :            : 
    3662                 :         30 :     case 2269:  /* **fma_fnmadd_v8df_bcst_3 */
    3663                 :         30 :     case 2267:  /* **fma_fnmadd_v16sf_bcst_3 */
    3664                 :         30 :     case 2265:  /* **fma_fnmadd_v4df_bcst_3 */
    3665                 :         30 :     case 2263:  /* **fma_fnmadd_v8sf_bcst_3 */
    3666                 :         30 :     case 2261:  /* **fma_fnmadd_v2df_bcst_3 */
    3667                 :         30 :     case 2259:  /* **fma_fnmadd_v4sf_bcst_3 */
    3668                 :         30 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3669                 :         30 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    3670                 :         30 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
    3671                 :         30 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 2));
    3672                 :         30 :       break;
    3673                 :            : 
    3674                 :          0 :     case 2258:  /* *fma_fnmadd_v8df_maskz_1_bcst_2 */
    3675                 :          0 :     case 2256:  /* *fma_fnmadd_v16sf_maskz_1_bcst_2 */
    3676                 :          0 :     case 2254:  /* *fma_fnmadd_v4df_maskz_1_bcst_2 */
    3677                 :          0 :     case 2252:  /* *fma_fnmadd_v8sf_maskz_1_bcst_2 */
    3678                 :          0 :     case 2250:  /* *fma_fnmadd_v2df_maskz_1_bcst_2 */
    3679                 :          0 :     case 2248:  /* *fma_fnmadd_v4sf_maskz_1_bcst_2 */
    3680                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3681                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
    3682                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    3683                 :          0 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    3684                 :          0 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    3685                 :          0 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    3686                 :          0 :       break;
    3687                 :            : 
    3688                 :      19284 :     case 5082:  /* avx512dq_broadcastv8sf_mask */
    3689                 :      19284 :     case 5080:  /* avx512dq_broadcastv16sf_mask */
    3690                 :      19284 :     case 5078:  /* avx512dq_broadcastv4si_mask */
    3691                 :      19284 :     case 5076:  /* avx512dq_broadcastv8si_mask */
    3692                 :      19284 :     case 5074:  /* avx512dq_broadcastv16si_mask */
    3693                 :      19284 :     case 5005:  /* avx512vl_vec_dupv8hi_mask */
    3694                 :      19284 :     case 5003:  /* avx512vl_vec_dupv16hi_mask */
    3695                 :      19284 :     case 5001:  /* avx512bw_vec_dupv32hi_mask */
    3696                 :      19284 :     case 4999:  /* avx512vl_vec_dupv32qi_mask */
    3697                 :      19284 :     case 4997:  /* avx512vl_vec_dupv16qi_mask */
    3698                 :      19284 :     case 4995:  /* avx512bw_vec_dupv64qi_mask */
    3699                 :      19284 :     case 4993:  /* avx512vl_vec_dupv2df_mask */
    3700                 :      19284 :     case 4991:  /* avx512vl_vec_dupv4df_mask */
    3701                 :      19284 :     case 4989:  /* avx512f_vec_dupv8df_mask */
    3702                 :      19284 :     case 4987:  /* avx512vl_vec_dupv4sf_mask */
    3703                 :      19284 :     case 4985:  /* avx512vl_vec_dupv8sf_mask */
    3704                 :      19284 :     case 4983:  /* avx512f_vec_dupv16sf_mask */
    3705                 :      19284 :     case 4981:  /* avx512vl_vec_dupv2di_mask */
    3706                 :      19284 :     case 4979:  /* avx512vl_vec_dupv4di_mask */
    3707                 :      19284 :     case 4977:  /* avx512f_vec_dupv8di_mask */
    3708                 :      19284 :     case 4975:  /* avx512vl_vec_dupv4si_mask */
    3709                 :      19284 :     case 4973:  /* avx512vl_vec_dupv8si_mask */
    3710                 :      19284 :     case 4971:  /* avx512f_vec_dupv16si_mask */
    3711                 :      19284 :     case 4706:  /* sse4_1_zero_extendv2siv2di2_mask */
    3712                 :      19284 :     case 4704:  /* sse4_1_sign_extendv2siv2di2_mask */
    3713                 :      19284 :     case 4686:  /* sse4_1_zero_extendv2hiv2di2_mask */
    3714                 :      19284 :     case 4684:  /* sse4_1_sign_extendv2hiv2di2_mask */
    3715                 :      19284 :     case 4674:  /* avx2_zero_extendv4hiv4di2_mask */
    3716                 :      19284 :     case 4672:  /* avx2_sign_extendv4hiv4di2_mask */
    3717                 :      19284 :     case 4666:  /* sse4_1_zero_extendv2qiv2di2_mask */
    3718                 :      19284 :     case 4664:  /* sse4_1_sign_extendv2qiv2di2_mask */
    3719                 :      19284 :     case 4654:  /* avx2_zero_extendv4qiv4di2_mask */
    3720                 :      19284 :     case 4652:  /* avx2_sign_extendv4qiv4di2_mask */
    3721                 :      19284 :     case 4642:  /* avx512f_zero_extendv8qiv8di2_mask */
    3722                 :      19284 :     case 4640:  /* avx512f_sign_extendv8qiv8di2_mask */
    3723                 :      19284 :     case 4630:  /* sse4_1_zero_extendv4hiv4si2_mask */
    3724                 :      19284 :     case 4628:  /* sse4_1_sign_extendv4hiv4si2_mask */
    3725                 :      19284 :     case 4610:  /* sse4_1_zero_extendv4qiv4si2_mask */
    3726                 :      19284 :     case 4608:  /* sse4_1_sign_extendv4qiv4si2_mask */
    3727                 :      19284 :     case 4598:  /* avx2_zero_extendv8qiv8si2_mask */
    3728                 :      19284 :     case 4596:  /* avx2_sign_extendv8qiv8si2_mask */
    3729                 :      19284 :     case 4582:  /* sse4_1_zero_extendv8qiv8hi2_mask */
    3730                 :      19284 :     case 4580:  /* sse4_1_sign_extendv8qiv8hi2_mask */
    3731                 :      19284 :     case 2864:  /* sse2_cvtps2pd_mask */
    3732                 :      19284 :     case 2808:  /* fixuns_truncv2sfv2di2_mask */
    3733                 :      19284 :     case 2806:  /* fix_truncv2sfv2di2_mask */
    3734                 :      19284 :     case 2724:  /* sse2_cvtdq2pd_mask */
    3735                 :      19284 :     case 2720:  /* ufloatv2siv2df2_mask */
    3736                 :      19284 :     case 2257:  /* **fma_fnmadd_v8df_bcst_2 */
    3737                 :      19284 :     case 2255:  /* **fma_fnmadd_v16sf_bcst_2 */
    3738                 :      19284 :     case 2253:  /* **fma_fnmadd_v4df_bcst_2 */
    3739                 :      19284 :     case 2251:  /* **fma_fnmadd_v8sf_bcst_2 */
    3740                 :      19284 :     case 2249:  /* **fma_fnmadd_v2df_bcst_2 */
    3741                 :      19284 :     case 2247:  /* **fma_fnmadd_v4sf_bcst_2 */
    3742                 :      19284 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3743                 :      19284 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    3744                 :      19284 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    3745                 :      19284 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 2));
    3746                 :      19284 :       break;
    3747                 :            : 
    3748                 :        542 :     case 2230:  /* fma_fnmadd_v8df_maskz_1_round */
    3749                 :        542 :     case 2221:  /* fma_fnmadd_v16sf_maskz_1_round */
    3750                 :        542 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3751                 :        542 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    3752                 :        542 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    3753                 :        542 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    3754                 :        542 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    3755                 :        542 :       ro[5] = *(ro_loc[5] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    3756                 :        542 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3757                 :        542 :       break;
    3758                 :            : 
    3759                 :        590 :     case 2208:  /* avx512f_fmsub_v8df_mask3_round */
    3760                 :        590 :     case 2204:  /* avx512f_fmsub_v16sf_mask3_round */
    3761                 :        590 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3762                 :        590 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    3763                 :        590 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    3764                 :        590 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2), 0));
    3765                 :        590 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    3766                 :        590 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3767                 :        590 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    3768                 :        590 :       recog_data.dup_num[0] = 3;
    3769                 :        590 :       break;
    3770                 :            : 
    3771                 :        953 :     case 2210:  /* avx512vl_fmsub_v2df_mask3 */
    3772                 :        953 :     case 2209:  /* avx512vl_fmsub_v4df_mask3 */
    3773                 :        953 :     case 2207:  /* avx512f_fmsub_v8df_mask3 */
    3774                 :        953 :     case 2206:  /* avx512vl_fmsub_v4sf_mask3 */
    3775                 :        953 :     case 2205:  /* avx512vl_fmsub_v8sf_mask3 */
    3776                 :        953 :     case 2203:  /* avx512f_fmsub_v16sf_mask3 */
    3777                 :        953 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3778                 :        953 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    3779                 :        953 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    3780                 :        953 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 2), 0));
    3781                 :        953 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    3782                 :        953 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    3783                 :        953 :       recog_data.dup_num[0] = 3;
    3784                 :        953 :       break;
    3785                 :            : 
    3786                 :        616 :     case 2202:  /* avx512vl_fmsub_v2df_mask_round */
    3787                 :        616 :     case 2200:  /* avx512vl_fmsub_v4df_mask_round */
    3788                 :        616 :     case 2198:  /* avx512f_fmsub_v8df_mask_round */
    3789                 :        616 :     case 2196:  /* avx512vl_fmsub_v4sf_mask_round */
    3790                 :        616 :     case 2194:  /* avx512vl_fmsub_v8sf_mask_round */
    3791                 :        616 :     case 2192:  /* avx512f_fmsub_v16sf_mask_round */
    3792                 :        616 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3793                 :        616 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    3794                 :        616 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    3795                 :        616 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2), 0));
    3796                 :        616 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    3797                 :        616 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3798                 :        616 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    3799                 :        616 :       recog_data.dup_num[0] = 1;
    3800                 :        616 :       break;
    3801                 :            : 
    3802                 :        962 :     case 2201:  /* avx512vl_fmsub_v2df_mask */
    3803                 :        962 :     case 2199:  /* avx512vl_fmsub_v4df_mask */
    3804                 :        962 :     case 2197:  /* avx512f_fmsub_v8df_mask */
    3805                 :        962 :     case 2195:  /* avx512vl_fmsub_v4sf_mask */
    3806                 :        962 :     case 2193:  /* avx512vl_fmsub_v8sf_mask */
    3807                 :        962 :     case 2191:  /* avx512f_fmsub_v16sf_mask */
    3808                 :        962 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3809                 :        962 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    3810                 :        962 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    3811                 :        962 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 2), 0));
    3812                 :        962 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    3813                 :        962 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    3814                 :        962 :       recog_data.dup_num[0] = 1;
    3815                 :        962 :       break;
    3816                 :            : 
    3817                 :          0 :     case 2190:  /* *fma_fmsub_v8df_maskz_1_bcst_3 */
    3818                 :          0 :     case 2188:  /* *fma_fmsub_v16sf_maskz_1_bcst_3 */
    3819                 :          0 :     case 2186:  /* *fma_fmsub_v4df_maskz_1_bcst_3 */
    3820                 :          0 :     case 2184:  /* *fma_fmsub_v8sf_maskz_1_bcst_3 */
    3821                 :          0 :     case 2182:  /* *fma_fmsub_v2df_maskz_1_bcst_3 */
    3822                 :          0 :     case 2180:  /* *fma_fmsub_v4sf_maskz_1_bcst_3 */
    3823                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3824                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    3825                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0));
    3826                 :          0 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 2), 0));
    3827                 :          0 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    3828                 :          0 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    3829                 :          0 :       break;
    3830                 :            : 
    3831                 :        913 :     case 2324:  /* fma_fnmsub_v2df_maskz_1 */
    3832                 :        913 :     case 2322:  /* fma_fnmsub_v4df_maskz_1 */
    3833                 :        913 :     case 2318:  /* fma_fnmsub_v8df_maskz_1 */
    3834                 :        913 :     case 2315:  /* fma_fnmsub_v4sf_maskz_1 */
    3835                 :        913 :     case 2313:  /* fma_fnmsub_v8sf_maskz_1 */
    3836                 :        913 :     case 2309:  /* fma_fnmsub_v16sf_maskz_1 */
    3837                 :        913 :     case 2304:  /* *fma_fnmsub_v4df */
    3838                 :        913 :     case 2300:  /* *fma_fnmsub_v8sf */
    3839                 :        913 :     case 2296:  /* *fma_fnmsub_v2df */
    3840                 :        913 :     case 2292:  /* *fma_fnmsub_v4sf */
    3841                 :        913 :     case 2246:  /* *fma_fnmadd_v8df_maskz_1_bcst_1 */
    3842                 :        913 :     case 2244:  /* *fma_fnmadd_v16sf_maskz_1_bcst_1 */
    3843                 :        913 :     case 2242:  /* *fma_fnmadd_v4df_maskz_1_bcst_1 */
    3844                 :        913 :     case 2240:  /* *fma_fnmadd_v8sf_maskz_1_bcst_1 */
    3845                 :        913 :     case 2238:  /* *fma_fnmadd_v2df_maskz_1_bcst_1 */
    3846                 :        913 :     case 2236:  /* *fma_fnmadd_v4sf_maskz_1_bcst_1 */
    3847                 :        913 :     case 2178:  /* *fma_fmsub_v8df_maskz_1_bcst_2 */
    3848                 :        913 :     case 2176:  /* *fma_fmsub_v16sf_maskz_1_bcst_2 */
    3849                 :        913 :     case 2174:  /* *fma_fmsub_v4df_maskz_1_bcst_2 */
    3850                 :        913 :     case 2172:  /* *fma_fmsub_v8sf_maskz_1_bcst_2 */
    3851                 :        913 :     case 2170:  /* *fma_fmsub_v2df_maskz_1_bcst_2 */
    3852                 :        913 :     case 2168:  /* *fma_fmsub_v4sf_maskz_1_bcst_2 */
    3853                 :        913 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3854                 :        913 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    3855                 :        913 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    3856                 :        913 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 2), 0));
    3857                 :        913 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    3858                 :        913 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    3859                 :        913 :       break;
    3860                 :            : 
    3861                 :      25562 :     case 2323:  /* *fma_fnmsub_v2df */
    3862                 :      25562 :     case 2321:  /* *fma_fnmsub_v4df */
    3863                 :      25562 :     case 2317:  /* *fma_fnmsub_v8df */
    3864                 :      25562 :     case 2316:  /* *fma_fnmsub_df */
    3865                 :      25562 :     case 2314:  /* *fma_fnmsub_v4sf */
    3866                 :      25562 :     case 2312:  /* *fma_fnmsub_v8sf */
    3867                 :      25562 :     case 2308:  /* *fma_fnmsub_v16sf */
    3868                 :      25562 :     case 2307:  /* *fma_fnmsub_sf */
    3869                 :      25562 :     case 2303:  /* *fma_fnmsub_v4df */
    3870                 :      25562 :     case 2299:  /* *fma_fnmsub_v8sf */
    3871                 :      25562 :     case 2295:  /* *fma_fnmsub_v2df */
    3872                 :      25562 :     case 2291:  /* *fma_fnmsub_v4sf */
    3873                 :      25562 :     case 2289:  /* *fma_fnmsub_df */
    3874                 :      25562 :     case 2287:  /* *fma_fnmsub_sf */
    3875                 :      25562 :     case 2245:  /* **fma_fnmadd_v8df_bcst_1 */
    3876                 :      25562 :     case 2243:  /* **fma_fnmadd_v16sf_bcst_1 */
    3877                 :      25562 :     case 2241:  /* **fma_fnmadd_v4df_bcst_1 */
    3878                 :      25562 :     case 2239:  /* **fma_fnmadd_v8sf_bcst_1 */
    3879                 :      25562 :     case 2237:  /* **fma_fnmadd_v2df_bcst_1 */
    3880                 :      25562 :     case 2235:  /* **fma_fnmadd_v4sf_bcst_1 */
    3881                 :      25562 :     case 2177:  /* **fma_fmsub_v8df_bcst_2 */
    3882                 :      25562 :     case 2175:  /* **fma_fmsub_v16sf_bcst_2 */
    3883                 :      25562 :     case 2173:  /* **fma_fmsub_v4df_bcst_2 */
    3884                 :      25562 :     case 2171:  /* **fma_fmsub_v8sf_bcst_2 */
    3885                 :      25562 :     case 2169:  /* **fma_fmsub_v2df_bcst_2 */
    3886                 :      25562 :     case 2167:  /* **fma_fmsub_v4sf_bcst_2 */
    3887                 :      25562 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3888                 :      25562 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    3889                 :      25562 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    3890                 :      25562 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 2), 0));
    3891                 :      25562 :       break;
    3892                 :            : 
    3893                 :          0 :     case 2166:  /* *fma_fmsub_v8df_maskz_1_bcst_1 */
    3894                 :          0 :     case 2164:  /* *fma_fmsub_v16sf_maskz_1_bcst_1 */
    3895                 :          0 :     case 2162:  /* *fma_fmsub_v4df_maskz_1_bcst_1 */
    3896                 :          0 :     case 2160:  /* *fma_fmsub_v8sf_maskz_1_bcst_1 */
    3897                 :          0 :     case 2158:  /* *fma_fmsub_v2df_maskz_1_bcst_1 */
    3898                 :          0 :     case 2156:  /* *fma_fmsub_v4sf_maskz_1_bcst_1 */
    3899                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3900                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    3901                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    3902                 :          0 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 2), 0), 0));
    3903                 :          0 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    3904                 :          0 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    3905                 :          0 :       break;
    3906                 :            : 
    3907                 :         75 :     case 2165:  /* **fma_fmsub_v8df_bcst_1 */
    3908                 :         75 :     case 2163:  /* **fma_fmsub_v16sf_bcst_1 */
    3909                 :         75 :     case 2161:  /* **fma_fmsub_v4df_bcst_1 */
    3910                 :         75 :     case 2159:  /* **fma_fmsub_v8sf_bcst_1 */
    3911                 :         75 :     case 2157:  /* **fma_fmsub_v2df_bcst_1 */
    3912                 :         75 :     case 2155:  /* **fma_fmsub_v4sf_bcst_1 */
    3913                 :         75 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3914                 :         75 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
    3915                 :         75 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    3916                 :         75 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 2), 0), 0));
    3917                 :         75 :       break;
    3918                 :            : 
    3919                 :        542 :     case 2150:  /* fma_fmsub_v8df_maskz_1_round */
    3920                 :        542 :     case 2141:  /* fma_fmsub_v16sf_maskz_1_round */
    3921                 :        542 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3922                 :        542 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    3923                 :        542 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    3924                 :        542 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2), 0));
    3925                 :        542 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    3926                 :        542 :       ro[5] = *(ro_loc[5] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    3927                 :        542 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3928                 :        542 :       break;
    3929                 :            : 
    3930                 :        370 :     case 2149:  /* *fma_fmsub_v8df_round */
    3931                 :        370 :     case 2140:  /* *fma_fmsub_v16sf_round */
    3932                 :        370 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3933                 :        370 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0));
    3934                 :        370 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    3935                 :        370 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2), 0));
    3936                 :        370 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3937                 :        370 :       break;
    3938                 :            : 
    3939                 :        631 :     case 2130:  /* avx512vl_fmadd_v2df_mask3_round */
    3940                 :        631 :     case 2128:  /* avx512vl_fmadd_v4df_mask3_round */
    3941                 :        631 :     case 2126:  /* avx512f_fmadd_v8df_mask3_round */
    3942                 :        631 :     case 2124:  /* avx512vl_fmadd_v4sf_mask3_round */
    3943                 :        631 :     case 2122:  /* avx512vl_fmadd_v8sf_mask3_round */
    3944                 :        631 :     case 2120:  /* avx512f_fmadd_v16sf_mask3_round */
    3945                 :        631 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3946                 :        631 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    3947                 :        631 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    3948                 :        631 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    3949                 :        631 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    3950                 :        631 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3951                 :        631 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    3952                 :        631 :       recog_data.dup_num[0] = 3;
    3953                 :        631 :       break;
    3954                 :            : 
    3955                 :        953 :     case 2129:  /* avx512vl_fmadd_v2df_mask3 */
    3956                 :        953 :     case 2127:  /* avx512vl_fmadd_v4df_mask3 */
    3957                 :        953 :     case 2125:  /* avx512f_fmadd_v8df_mask3 */
    3958                 :        953 :     case 2123:  /* avx512vl_fmadd_v4sf_mask3 */
    3959                 :        953 :     case 2121:  /* avx512vl_fmadd_v8sf_mask3 */
    3960                 :        953 :     case 2119:  /* avx512f_fmadd_v16sf_mask3 */
    3961                 :        953 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3962                 :        953 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    3963                 :        953 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    3964                 :        953 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    3965                 :        953 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    3966                 :        953 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    3967                 :        953 :       recog_data.dup_num[0] = 3;
    3968                 :        953 :       break;
    3969                 :            : 
    3970                 :        616 :     case 2116:  /* avx512f_fmadd_v8df_mask_round */
    3971                 :        616 :     case 2112:  /* avx512f_fmadd_v16sf_mask_round */
    3972                 :        616 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3973                 :        616 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    3974                 :        616 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    3975                 :        616 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    3976                 :        616 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    3977                 :        616 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    3978                 :        616 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    3979                 :        616 :       recog_data.dup_num[0] = 1;
    3980                 :        616 :       break;
    3981                 :            : 
    3982                 :        963 :     case 2118:  /* avx512vl_fmadd_v2df_mask */
    3983                 :        963 :     case 2117:  /* avx512vl_fmadd_v4df_mask */
    3984                 :        963 :     case 2115:  /* avx512f_fmadd_v8df_mask */
    3985                 :        963 :     case 2114:  /* avx512vl_fmadd_v4sf_mask */
    3986                 :        963 :     case 2113:  /* avx512vl_fmadd_v8sf_mask */
    3987                 :        963 :     case 2111:  /* avx512f_fmadd_v16sf_mask */
    3988                 :        963 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    3989                 :        963 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    3990                 :        963 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    3991                 :        963 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    3992                 :        963 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    3993                 :        963 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    3994                 :        963 :       recog_data.dup_num[0] = 1;
    3995                 :        963 :       break;
    3996                 :            : 
    3997                 :       1775 :     case 4282:  /* avx512f_vinserti32x4_1_mask */
    3998                 :       1775 :     case 4280:  /* avx512f_vinsertf32x4_1_mask */
    3999                 :       1775 :     case 4278:  /* avx512dq_vinserti64x2_1_mask */
    4000                 :       1775 :     case 4276:  /* avx512dq_vinsertf64x2_1_mask */
    4001                 :       1775 :     case 2110:  /* *fma_fmadd_v8df_maskz_1_bcst_3 */
    4002                 :       1775 :     case 2108:  /* *fma_fmadd_v16sf_maskz_1_bcst_3 */
    4003                 :       1775 :     case 2106:  /* *fma_fmadd_v4df_maskz_1_bcst_3 */
    4004                 :       1775 :     case 2104:  /* *fma_fmadd_v8sf_maskz_1_bcst_3 */
    4005                 :       1775 :     case 2102:  /* *fma_fmadd_v2df_maskz_1_bcst_3 */
    4006                 :       1775 :     case 2100:  /* *fma_fmadd_v4sf_maskz_1_bcst_3 */
    4007                 :       1775 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4008                 :       1775 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    4009                 :       1775 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0));
    4010                 :       1775 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    4011                 :       1775 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    4012                 :       1775 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    4013                 :       1775 :       break;
    4014                 :            : 
    4015                 :       1304 :     case 4281:  /* *avx512f_vinserti32x4_1 */
    4016                 :       1304 :     case 4279:  /* *avx512f_vinsertf32x4_1 */
    4017                 :       1304 :     case 4277:  /* *avx512dq_vinserti64x2_1 */
    4018                 :       1304 :     case 4275:  /* *avx512dq_vinsertf64x2_1 */
    4019                 :       1304 :     case 4274:  /* *avx512f_vinserti32x4_0 */
    4020                 :       1304 :     case 4273:  /* *avx512f_vinsertf32x4_0 */
    4021                 :       1304 :     case 4272:  /* *avx512dq_vinserti64x2_0 */
    4022                 :       1304 :     case 4271:  /* *avx512dq_vinsertf64x2_0 */
    4023                 :       1304 :     case 2109:  /* **fma_fmadd_v8df_bcst_3 */
    4024                 :       1304 :     case 2107:  /* **fma_fmadd_v16sf_bcst_3 */
    4025                 :       1304 :     case 2105:  /* **fma_fmadd_v4df_bcst_3 */
    4026                 :       1304 :     case 2103:  /* **fma_fmadd_v8sf_bcst_3 */
    4027                 :       1304 :     case 2101:  /* **fma_fmadd_v2df_bcst_3 */
    4028                 :       1304 :     case 2099:  /* **fma_fmadd_v4sf_bcst_3 */
    4029                 :       1304 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4030                 :       1304 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
    4031                 :       1304 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
    4032                 :       1304 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 2));
    4033                 :       1304 :       break;
    4034                 :            : 
    4035                 :        913 :     case 2234:  /* fma_fnmadd_v2df_maskz_1 */
    4036                 :        913 :     case 2232:  /* fma_fnmadd_v4df_maskz_1 */
    4037                 :        913 :     case 2228:  /* fma_fnmadd_v8df_maskz_1 */
    4038                 :        913 :     case 2225:  /* fma_fnmadd_v4sf_maskz_1 */
    4039                 :        913 :     case 2223:  /* fma_fnmadd_v8sf_maskz_1 */
    4040                 :        913 :     case 2219:  /* fma_fnmadd_v16sf_maskz_1 */
    4041                 :        913 :     case 2098:  /* *fma_fmadd_v8df_maskz_1_bcst_2 */
    4042                 :        913 :     case 2096:  /* *fma_fmadd_v16sf_maskz_1_bcst_2 */
    4043                 :        913 :     case 2094:  /* *fma_fmadd_v4df_maskz_1_bcst_2 */
    4044                 :        913 :     case 2092:  /* *fma_fmadd_v8sf_maskz_1_bcst_2 */
    4045                 :        913 :     case 2090:  /* *fma_fmadd_v2df_maskz_1_bcst_2 */
    4046                 :        913 :     case 2088:  /* *fma_fmadd_v4sf_maskz_1_bcst_2 */
    4047                 :        913 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4048                 :        913 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    4049                 :        913 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    4050                 :        913 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    4051                 :        913 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    4052                 :        913 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    4053                 :        913 :       break;
    4054                 :            : 
    4055                 :        913 :     case 2154:  /* fma_fmsub_v2df_maskz_1 */
    4056                 :        913 :     case 2152:  /* fma_fmsub_v4df_maskz_1 */
    4057                 :        913 :     case 2148:  /* fma_fmsub_v8df_maskz_1 */
    4058                 :        913 :     case 2145:  /* fma_fmsub_v4sf_maskz_1 */
    4059                 :        913 :     case 2143:  /* fma_fmsub_v8sf_maskz_1 */
    4060                 :        913 :     case 2139:  /* fma_fmsub_v16sf_maskz_1 */
    4061                 :        913 :     case 2086:  /* *fma_fmadd_v8df_maskz_1_bcst_1 */
    4062                 :        913 :     case 2084:  /* *fma_fmadd_v16sf_maskz_1_bcst_1 */
    4063                 :        913 :     case 2082:  /* *fma_fmadd_v4df_maskz_1_bcst_1 */
    4064                 :        913 :     case 2080:  /* *fma_fmadd_v8sf_maskz_1_bcst_1 */
    4065                 :        913 :     case 2078:  /* *fma_fmadd_v2df_maskz_1_bcst_1 */
    4066                 :        913 :     case 2076:  /* *fma_fmadd_v4sf_maskz_1_bcst_1 */
    4067                 :        913 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4068                 :        913 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    4069                 :        913 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    4070                 :        913 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 2), 0));
    4071                 :        913 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    4072                 :        913 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    4073                 :        913 :       break;
    4074                 :            : 
    4075                 :      84097 :     case 2153:  /* *fma_fmsub_v2df */
    4076                 :      84097 :     case 2151:  /* *fma_fmsub_v4df */
    4077                 :      84097 :     case 2147:  /* *fma_fmsub_v8df */
    4078                 :      84097 :     case 2146:  /* *fma_fmsub_df */
    4079                 :      84097 :     case 2144:  /* *fma_fmsub_v4sf */
    4080                 :      84097 :     case 2142:  /* *fma_fmsub_v8sf */
    4081                 :      84097 :     case 2138:  /* *fma_fmsub_v16sf */
    4082                 :      84097 :     case 2137:  /* *fma_fmsub_sf */
    4083                 :      84097 :     case 2136:  /* *fma_fmsub_v4df */
    4084                 :      84097 :     case 2135:  /* *fma_fmsub_v8sf */
    4085                 :      84097 :     case 2134:  /* *fma_fmsub_v2df */
    4086                 :      84097 :     case 2133:  /* *fma_fmsub_v4sf */
    4087                 :      84097 :     case 2132:  /* *fma_fmsub_df */
    4088                 :      84097 :     case 2131:  /* *fma_fmsub_sf */
    4089                 :      84097 :     case 2085:  /* **fma_fmadd_v8df_bcst_1 */
    4090                 :      84097 :     case 2083:  /* **fma_fmadd_v16sf_bcst_1 */
    4091                 :      84097 :     case 2081:  /* **fma_fmadd_v4df_bcst_1 */
    4092                 :      84097 :     case 2079:  /* **fma_fmadd_v8sf_bcst_1 */
    4093                 :      84097 :     case 2077:  /* **fma_fmadd_v2df_bcst_1 */
    4094                 :      84097 :     case 2075:  /* **fma_fmadd_v4sf_bcst_1 */
    4095                 :      84097 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4096                 :      84097 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
    4097                 :      84097 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    4098                 :      84097 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 2), 0));
    4099                 :      84097 :       break;
    4100                 :            : 
    4101                 :        542 :     case 2070:  /* fma_fmadd_v8df_maskz_1_round */
    4102                 :        542 :     case 2061:  /* fma_fmadd_v16sf_maskz_1_round */
    4103                 :        542 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4104                 :        542 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    4105                 :        542 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    4106                 :        542 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    4107                 :        542 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    4108                 :        542 :       ro[5] = *(ro_loc[5] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    4109                 :        542 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4110                 :        542 :       break;
    4111                 :            : 
    4112                 :        370 :     case 2069:  /* *fma_fmadd_v8df_round */
    4113                 :        370 :     case 2060:  /* *fma_fmadd_v16sf_round */
    4114                 :        370 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4115                 :        370 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0));
    4116                 :        370 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    4117                 :        370 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    4118                 :        370 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4119                 :        370 :       break;
    4120                 :            : 
    4121                 :        913 :     case 2074:  /* fma_fmadd_v2df_maskz_1 */
    4122                 :        913 :     case 2072:  /* fma_fmadd_v4df_maskz_1 */
    4123                 :        913 :     case 2068:  /* fma_fmadd_v8df_maskz_1 */
    4124                 :        913 :     case 2065:  /* fma_fmadd_v4sf_maskz_1 */
    4125                 :        913 :     case 2063:  /* fma_fmadd_v8sf_maskz_1 */
    4126                 :        913 :     case 2059:  /* fma_fmadd_v16sf_maskz_1 */
    4127                 :        913 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4128                 :        913 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    4129                 :        913 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    4130                 :        913 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    4131                 :        913 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    4132                 :        913 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (pat, 1), 2));
    4133                 :        913 :       break;
    4134                 :            : 
    4135                 :        597 :     case 1990:  /* sse2_ucomi_round */
    4136                 :        597 :     case 1986:  /* sse_ucomi_round */
    4137                 :        597 :       ro[0] = *(ro_loc[0] = &XEXP (XEXP (XVECEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0, 0), 0), 0));
    4138                 :        597 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0, 0), 1), 0));
    4139                 :        597 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4140                 :        597 :       break;
    4141                 :            : 
    4142                 :       2238 :     case 1989:  /* sse2_ucomi */
    4143                 :       2238 :     case 1985:  /* sse_ucomi */
    4144                 :       2238 :       ro[0] = *(ro_loc[0] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    4145                 :       2238 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1), 0));
    4146                 :       2238 :       break;
    4147                 :            : 
    4148                 :        850 :     case 1988:  /* sse2_comi_round */
    4149                 :        850 :     case 1984:  /* sse_comi_round */
    4150                 :        850 :       ro[0] = *(ro_loc[0] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    4151                 :        850 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1), 0));
    4152                 :        850 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4153                 :        850 :       break;
    4154                 :            : 
    4155                 :       1842 :     case 1987:  /* sse2_comi */
    4156                 :       1842 :     case 1983:  /* sse_comi */
    4157                 :       1842 :       ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    4158                 :       1842 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
    4159                 :       1842 :       break;
    4160                 :            : 
    4161                 :        566 :     case 1976:  /* avx512f_vmcmpv2df3_mask_round */
    4162                 :        566 :     case 1974:  /* avx512f_vmcmpv4sf3_mask_round */
    4163                 :        566 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4164                 :        566 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
    4165                 :        566 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 1));
    4166                 :        566 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 2));
    4167                 :        566 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1), 0));
    4168                 :        566 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4169                 :        566 :       break;
    4170                 :            : 
    4171                 :        262 :     case 1975:  /* avx512f_vmcmpv2df3_mask */
    4172                 :        262 :     case 1973:  /* avx512f_vmcmpv4sf3_mask */
    4173                 :        262 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4174                 :        262 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    4175                 :        262 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    4176                 :        262 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 2));
    4177                 :        262 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
    4178                 :        262 :       break;
    4179                 :            : 
    4180                 :        440 :     case 1972:  /* avx512f_vmcmpv2df3_round */
    4181                 :        440 :     case 1970:  /* avx512f_vmcmpv4sf3_round */
    4182                 :        440 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4183                 :        440 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
    4184                 :        440 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 1));
    4185                 :        440 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 2));
    4186                 :        440 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4187                 :        440 :       break;
    4188                 :            : 
    4189                 :        986 :     case 1971:  /* avx512f_vmcmpv2df3 */
    4190                 :        986 :     case 1969:  /* avx512f_vmcmpv4sf3 */
    4191                 :        986 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4192                 :        986 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    4193                 :        986 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    4194                 :        986 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 2));
    4195                 :        986 :       break;
    4196                 :            : 
    4197                 :          0 :     case 1892:  /* *avx512f_cmpv8di3_mask_round */
    4198                 :          0 :     case 1884:  /* *avx512f_cmpv16si3_mask_round */
    4199                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4200                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    4201                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    4202                 :          0 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0));
    4203                 :          0 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    4204                 :          0 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4205                 :          0 :       break;
    4206                 :            : 
    4207                 :          0 :     case 1968:  /* *avx512vl_ucmpv2di3_mask */
    4208                 :          0 :     case 1966:  /* *avx512vl_ucmpv4di3_mask */
    4209                 :          0 :     case 1964:  /* *avx512f_ucmpv8di3_mask */
    4210                 :          0 :     case 1962:  /* *avx512vl_ucmpv4si3_mask */
    4211                 :          0 :     case 1960:  /* *avx512vl_ucmpv8si3_mask */
    4212                 :          0 :     case 1958:  /* *avx512f_ucmpv16si3_mask */
    4213                 :          0 :     case 1944:  /* *avx512vl_ucmpv8hi3_mask */
    4214                 :          0 :     case 1942:  /* *avx512vl_ucmpv16hi3_mask */
    4215                 :          0 :     case 1940:  /* *avx512bw_ucmpv32hi3_mask */
    4216                 :          0 :     case 1938:  /* *avx512vl_ucmpv32qi3_mask */
    4217                 :          0 :     case 1936:  /* *avx512vl_ucmpv16qi3_mask */
    4218                 :          0 :     case 1934:  /* *avx512bw_ucmpv64qi3_mask */
    4219                 :          0 :     case 1920:  /* *avx512vl_cmpv8hi3_mask */
    4220                 :          0 :     case 1918:  /* *avx512vl_cmpv16hi3_mask */
    4221                 :          0 :     case 1916:  /* *avx512bw_cmpv32hi3_mask */
    4222                 :          0 :     case 1914:  /* *avx512vl_cmpv32qi3_mask */
    4223                 :          0 :     case 1912:  /* *avx512vl_cmpv16qi3_mask */
    4224                 :          0 :     case 1910:  /* *avx512bw_cmpv64qi3_mask */
    4225                 :          0 :     case 1896:  /* *avx512vl_cmpv2di3_mask */
    4226                 :          0 :     case 1894:  /* *avx512vl_cmpv4di3_mask */
    4227                 :          0 :     case 1891:  /* *avx512f_cmpv8di3_mask */
    4228                 :          0 :     case 1888:  /* *avx512vl_cmpv4si3_mask */
    4229                 :          0 :     case 1886:  /* *avx512vl_cmpv8si3_mask */
    4230                 :          0 :     case 1883:  /* *avx512f_cmpv16si3_mask */
    4231                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4232                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    4233                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    4234                 :          0 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 0));
    4235                 :          0 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    4236                 :          0 :       break;
    4237                 :            : 
    4238                 :          0 :     case 1890:  /* *avx512f_cmpv8di3_round */
    4239                 :          0 :     case 1882:  /* *avx512f_cmpv16si3_round */
    4240                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4241                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0));
    4242                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    4243                 :          0 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (pat, 1), 0, 0));
    4244                 :          0 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4245                 :          0 :       break;
    4246                 :            : 
    4247                 :       2649 :     case 1876:  /* avx512f_cmpv8df3_mask_round */
    4248                 :       2649 :     case 1868:  /* avx512f_cmpv16sf3_mask_round */
    4249                 :       2649 :     case 1860:  /* avx512f_cmpv8di3_mask_round */
    4250                 :       2649 :     case 1852:  /* avx512f_cmpv16si3_mask_round */
    4251                 :       2649 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4252                 :       2649 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
    4253                 :       2649 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 1));
    4254                 :       2649 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 2));
    4255                 :       2649 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    4256                 :       2649 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4257                 :       2649 :       break;
    4258                 :            : 
    4259                 :      39536 :     case 1956:  /* avx512vl_ucmpv2di3_mask */
    4260                 :      39536 :     case 1954:  /* avx512vl_ucmpv4di3_mask */
    4261                 :      39536 :     case 1952:  /* avx512f_ucmpv8di3_mask */
    4262                 :      39536 :     case 1950:  /* avx512vl_ucmpv4si3_mask */
    4263                 :      39536 :     case 1948:  /* avx512vl_ucmpv8si3_mask */
    4264                 :      39536 :     case 1946:  /* avx512f_ucmpv16si3_mask */
    4265                 :      39536 :     case 1932:  /* avx512vl_ucmpv8hi3_mask */
    4266                 :      39536 :     case 1930:  /* avx512vl_ucmpv16hi3_mask */
    4267                 :      39536 :     case 1928:  /* avx512bw_ucmpv32hi3_mask */
    4268                 :      39536 :     case 1926:  /* avx512vl_ucmpv32qi3_mask */
    4269                 :      39536 :     case 1924:  /* avx512vl_ucmpv16qi3_mask */
    4270                 :      39536 :     case 1922:  /* avx512bw_ucmpv64qi3_mask */
    4271                 :      39536 :     case 1908:  /* avx512vl_cmpv8hi3_mask */
    4272                 :      39536 :     case 1906:  /* avx512vl_cmpv16hi3_mask */
    4273                 :      39536 :     case 1904:  /* avx512bw_cmpv32hi3_mask */
    4274                 :      39536 :     case 1902:  /* avx512vl_cmpv32qi3_mask */
    4275                 :      39536 :     case 1900:  /* avx512vl_cmpv16qi3_mask */
    4276                 :      39536 :     case 1898:  /* avx512bw_cmpv64qi3_mask */
    4277                 :      39536 :     case 1880:  /* avx512vl_cmpv2df3_mask */
    4278                 :      39536 :     case 1878:  /* avx512vl_cmpv4df3_mask */
    4279                 :      39536 :     case 1875:  /* avx512f_cmpv8df3_mask */
    4280                 :      39536 :     case 1872:  /* avx512vl_cmpv4sf3_mask */
    4281                 :      39536 :     case 1870:  /* avx512vl_cmpv8sf3_mask */
    4282                 :      39536 :     case 1867:  /* avx512f_cmpv16sf3_mask */
    4283                 :      39536 :     case 1864:  /* avx512vl_cmpv2di3_mask */
    4284                 :      39536 :     case 1862:  /* avx512vl_cmpv4di3_mask */
    4285                 :      39536 :     case 1859:  /* avx512f_cmpv8di3_mask */
    4286                 :      39536 :     case 1856:  /* avx512vl_cmpv4si3_mask */
    4287                 :      39536 :     case 1854:  /* avx512vl_cmpv8si3_mask */
    4288                 :      39536 :     case 1851:  /* avx512f_cmpv16si3_mask */
    4289                 :      39536 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4290                 :      39536 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    4291                 :      39536 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    4292                 :      39536 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 2));
    4293                 :      39536 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    4294                 :      39536 :       break;
    4295                 :            : 
    4296                 :       2809 :     case 5602:  /* avx512dq_rangepv8df_round */
    4297                 :       2809 :     case 5594:  /* avx512dq_rangepv16sf_round */
    4298                 :       2809 :     case 2397:  /* *fma_fmaddsub_v8df_round */
    4299                 :       2809 :     case 2388:  /* *fma_fmaddsub_v16sf_round */
    4300                 :       2809 :     case 1874:  /* avx512f_cmpv8df3_round */
    4301                 :       2809 :     case 1866:  /* avx512f_cmpv16sf3_round */
    4302                 :       2809 :     case 1858:  /* avx512f_cmpv8di3_round */
    4303                 :       2809 :     case 1850:  /* avx512f_cmpv16si3_round */
    4304                 :       2809 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4305                 :       2809 :       ro[1] = *(ro_loc[1] = &XVECEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0, 0));
    4306                 :       2809 :       ro[2] = *(ro_loc[2] = &XVECEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0, 1));
    4307                 :       2809 :       ro[3] = *(ro_loc[3] = &XVECEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0, 2));
    4308                 :       2809 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4309                 :       2809 :       break;
    4310                 :            : 
    4311                 :       3480 :     case 1848:  /* sse2_vmmaskcmpv2df3 */
    4312                 :       3480 :     case 1847:  /* sse_vmmaskcmpv4sf3 */
    4313                 :       3480 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4314                 :       3480 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    4315                 :       3480 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    4316                 :       3480 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 0));
    4317                 :       3480 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    4318                 :       3480 :       recog_data.dup_num[0] = 1;
    4319                 :       3480 :       break;
    4320                 :            : 
    4321                 :       1422 :     case 5662:  /* avx512f_vgetmantv2df_mask */
    4322                 :       1422 :     case 5658:  /* avx512f_vgetmantv4sf_mask */
    4323                 :       1422 :     case 5614:  /* avx512dq_rangesv2df_mask */
    4324                 :       1422 :     case 5610:  /* avx512dq_rangesv4sf_mask */
    4325                 :       1422 :     case 1832:  /* reducesv2df_mask */
    4326                 :       1422 :     case 1830:  /* reducesv4sf_mask */
    4327                 :       1422 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4328                 :       1422 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 0));
    4329                 :       1422 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 1));
    4330                 :       1422 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 2));
    4331                 :       1422 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    4332                 :       1422 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    4333                 :       1422 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    4334                 :       1422 :       recog_data.dup_num[0] = 1;
    4335                 :       1422 :       break;
    4336                 :            : 
    4337                 :       2120 :     case 5661:  /* avx512f_vgetmantv2df */
    4338                 :       2120 :     case 5657:  /* avx512f_vgetmantv4sf */
    4339                 :       2120 :     case 5613:  /* avx512dq_rangesv2df */
    4340                 :       2120 :     case 5609:  /* avx512dq_rangesv4sf */
    4341                 :       2120 :     case 1838:  /* avx_vmcmpv2df3 */
    4342                 :       2120 :     case 1837:  /* avx_vmcmpv4sf3 */
    4343                 :       2120 :     case 1831:  /* reducesv2df */
    4344                 :       2120 :     case 1829:  /* reducesv4sf */
    4345                 :       2120 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4346                 :       2120 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    4347                 :       2120 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    4348                 :       2120 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 2));
    4349                 :       2120 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    4350                 :       2120 :       recog_data.dup_num[0] = 1;
    4351                 :       2120 :       break;
    4352                 :            : 
    4353                 :       1388 :     case 4447:  /* ssse3_phsubdv4si3 */
    4354                 :       1388 :     case 4446:  /* ssse3_phadddv4si3 */
    4355                 :       1388 :     case 4443:  /* ssse3_phsubswv4hi3 */
    4356                 :       1388 :     case 4442:  /* ssse3_phsubwv4hi3 */
    4357                 :       1388 :     case 4441:  /* ssse3_phaddswv4hi3 */
    4358                 :       1388 :     case 4440:  /* ssse3_phaddwv4hi3 */
    4359                 :       1388 :     case 1816:  /* sse3_hsubv4sf3 */
    4360                 :       1388 :     case 1815:  /* sse3_haddv4sf3 */
    4361                 :       1388 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4362                 :       1388 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
    4363                 :       1388 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 0), 0));
    4364                 :       1388 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1), 0);
    4365                 :       1388 :       recog_data.dup_num[0] = 1;
    4366                 :       1388 :       recog_data.dup_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0), 0);
    4367                 :       1388 :       recog_data.dup_num[1] = 1;
    4368                 :       1388 :       recog_data.dup_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 1), 0);
    4369                 :       1388 :       recog_data.dup_num[2] = 1;
    4370                 :       1388 :       recog_data.dup_loc[3] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 1), 0);
    4371                 :       1388 :       recog_data.dup_num[3] = 2;
    4372                 :       1388 :       recog_data.dup_loc[4] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 0), 0);
    4373                 :       1388 :       recog_data.dup_num[4] = 2;
    4374                 :       1388 :       recog_data.dup_loc[5] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 1), 0);
    4375                 :       1388 :       recog_data.dup_num[5] = 2;
    4376                 :       1388 :       break;
    4377                 :            : 
    4378                 :        302 :     case 1814:  /* avx_hsubv8sf3 */
    4379                 :        302 :     case 1813:  /* avx_haddv8sf3 */
    4380                 :        302 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4381                 :        302 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0));
    4382                 :        302 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0), 0), 0));
    4383                 :        302 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 1), 0);
    4384                 :        302 :       recog_data.dup_num[0] = 1;
    4385                 :        302 :       recog_data.dup_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1), 0), 0);
    4386                 :        302 :       recog_data.dup_num[1] = 1;
    4387                 :        302 :       recog_data.dup_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1), 1), 0);
    4388                 :        302 :       recog_data.dup_num[2] = 1;
    4389                 :        302 :       recog_data.dup_loc[3] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0), 1), 0);
    4390                 :        302 :       recog_data.dup_num[3] = 2;
    4391                 :        302 :       recog_data.dup_loc[4] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 1), 0), 0);
    4392                 :        302 :       recog_data.dup_num[4] = 2;
    4393                 :        302 :       recog_data.dup_loc[5] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 1), 1), 0);
    4394                 :        302 :       recog_data.dup_num[5] = 2;
    4395                 :        302 :       recog_data.dup_loc[6] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 0), 0), 0);
    4396                 :        302 :       recog_data.dup_num[6] = 1;
    4397                 :        302 :       recog_data.dup_loc[7] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 0), 1), 0);
    4398                 :        302 :       recog_data.dup_num[7] = 1;
    4399                 :        302 :       recog_data.dup_loc[8] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 1), 0), 0);
    4400                 :        302 :       recog_data.dup_num[8] = 1;
    4401                 :        302 :       recog_data.dup_loc[9] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 1), 1), 0);
    4402                 :        302 :       recog_data.dup_num[9] = 1;
    4403                 :        302 :       recog_data.dup_loc[10] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 0), 0), 0);
    4404                 :        302 :       recog_data.dup_num[10] = 2;
    4405                 :        302 :       recog_data.dup_loc[11] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 0), 1), 0);
    4406                 :        302 :       recog_data.dup_num[11] = 2;
    4407                 :        302 :       recog_data.dup_loc[12] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 1), 0), 0);
    4408                 :        302 :       recog_data.dup_num[12] = 2;
    4409                 :        302 :       recog_data.dup_loc[13] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 1), 1), 0);
    4410                 :        302 :       recog_data.dup_num[13] = 2;
    4411                 :        302 :       break;
    4412                 :            : 
    4413                 :         21 :     case 1812:  /* *sse3_hsubv2df3_low */
    4414                 :         21 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4415                 :         21 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    4416                 :         21 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 1), 0);
    4417                 :         21 :       recog_data.dup_num[0] = 1;
    4418                 :         21 :       break;
    4419                 :            : 
    4420                 :        338 :     case 1811:  /* *sse3_haddv2df3_low */
    4421                 :        338 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4422                 :        338 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    4423                 :        338 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 0));
    4424                 :        338 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 0, 0));
    4425                 :        338 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 1), 0);
    4426                 :        338 :       recog_data.dup_num[0] = 1;
    4427                 :        338 :       break;
    4428                 :            : 
    4429                 :        230 :     case 1809:  /* *sse3_haddv2df3 */
    4430                 :        230 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4431                 :        230 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    4432                 :        230 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 0));
    4433                 :        230 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1), 0, 0));
    4434                 :        230 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 1), 0, 0));
    4435                 :        230 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 1), 0, 0));
    4436                 :        230 :       ro[6] = *(ro_loc[6] = &XVECEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 1), 0, 0));
    4437                 :        230 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0);
    4438                 :        230 :       recog_data.dup_num[0] = 1;
    4439                 :        230 :       recog_data.dup_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 0);
    4440                 :        230 :       recog_data.dup_num[1] = 2;
    4441                 :        230 :       break;
    4442                 :            : 
    4443                 :        300 :     case 1808:  /* avx_hsubv4df3 */
    4444                 :        300 :     case 1807:  /* avx_haddv4df3 */
    4445                 :        300 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4446                 :        300 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
    4447                 :        300 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0), 0));
    4448                 :        300 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1), 0);
    4449                 :        300 :       recog_data.dup_num[0] = 1;
    4450                 :        300 :       recog_data.dup_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 1), 0);
    4451                 :        300 :       recog_data.dup_num[1] = 2;
    4452                 :        300 :       recog_data.dup_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 0), 0);
    4453                 :        300 :       recog_data.dup_num[2] = 1;
    4454                 :        300 :       recog_data.dup_loc[3] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 1), 0);
    4455                 :        300 :       recog_data.dup_num[3] = 1;
    4456                 :        300 :       recog_data.dup_loc[4] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 0), 0);
    4457                 :        300 :       recog_data.dup_num[4] = 2;
    4458                 :        300 :       recog_data.dup_loc[5] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 1), 0);
    4459                 :        300 :       recog_data.dup_num[5] = 2;
    4460                 :        300 :       break;
    4461                 :            : 
    4462                 :         30 :     case 1786:  /* *ieee_minv2df3 */
    4463                 :         30 :     case 1785:  /* *ieee_maxv2df3 */
    4464                 :         30 :     case 1784:  /* *ieee_minv4sf3 */
    4465                 :         30 :     case 1783:  /* *ieee_maxv4sf3 */
    4466                 :         30 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4467                 :         30 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 0), 0));
    4468                 :         30 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 1));
    4469                 :         30 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    4470                 :         30 :       recog_data.dup_num[0] = 1;
    4471                 :         30 :       break;
    4472                 :            : 
    4473                 :       5854 :     case 5656:  /* avx512vl_getmantv2df_mask_round */
    4474                 :       5854 :     case 5652:  /* avx512vl_getmantv4df_mask_round */
    4475                 :       5854 :     case 5648:  /* avx512f_getmantv8df_mask_round */
    4476                 :       5854 :     case 5644:  /* avx512vl_getmantv4sf_mask_round */
    4477                 :       5854 :     case 5640:  /* avx512vl_getmantv8sf_mask_round */
    4478                 :       5854 :     case 5636:  /* avx512f_getmantv16sf_mask_round */
    4479                 :       5854 :     case 3161:  /* avx512vl_rndscalev2df_mask_round */
    4480                 :       5854 :     case 3157:  /* avx512vl_rndscalev4df_mask_round */
    4481                 :       5854 :     case 3153:  /* avx512f_rndscalev8df_mask_round */
    4482                 :       5854 :     case 3149:  /* avx512vl_rndscalev4sf_mask_round */
    4483                 :       5854 :     case 3145:  /* avx512vl_rndscalev8sf_mask_round */
    4484                 :       5854 :     case 3141:  /* avx512f_rndscalev16sf_mask_round */
    4485                 :       5854 :     case 3027:  /* avx512vl_scalefv2df_mask_round */
    4486                 :       5854 :     case 3023:  /* avx512vl_scalefv4df_mask_round */
    4487                 :       5854 :     case 3019:  /* avx512f_scalefv8df_mask_round */
    4488                 :       5854 :     case 3015:  /* avx512vl_scalefv4sf_mask_round */
    4489                 :       5854 :     case 3011:  /* avx512vl_scalefv8sf_mask_round */
    4490                 :       5854 :     case 3007:  /* avx512f_scalefv16sf_mask_round */
    4491                 :       5854 :     case 1774:  /* ieee_minv8df3_mask_round */
    4492                 :       5854 :     case 1770:  /* ieee_maxv8df3_mask_round */
    4493                 :       5854 :     case 1758:  /* ieee_minv16sf3_mask_round */
    4494                 :       5854 :     case 1754:  /* ieee_maxv16sf3_mask_round */
    4495                 :       5854 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4496                 :       5854 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 0));
    4497                 :       5854 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0, 1));
    4498                 :       5854 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    4499                 :       5854 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    4500                 :       5854 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4501                 :       5854 :       break;
    4502                 :            : 
    4503                 :      28861 :     case 5960:  /* avx512f_cvtne2ps2bf16_v8hi_mask */
    4504                 :      28861 :     case 5958:  /* avx512f_cvtne2ps2bf16_v16hi_mask */
    4505                 :      28861 :     case 5956:  /* avx512f_cvtne2ps2bf16_v32hi_mask */
    4506                 :      28861 :     case 5801:  /* vgf2p8mulb_v16qi_mask */
    4507                 :      28861 :     case 5799:  /* vgf2p8mulb_v32qi_mask */
    4508                 :      28861 :     case 5797:  /* vgf2p8mulb_v64qi_mask */
    4509                 :      28861 :     case 5750:  /* avx5124vnniw_vp4dpwssds_mask */
    4510                 :      28861 :     case 5747:  /* avx5124vnniw_vp4dpwssd_mask */
    4511                 :      28861 :     case 5744:  /* avx5124fmaddps_4fnmaddss_mask */
    4512                 :      28861 :     case 5741:  /* avx5124fmaddps_4fnmaddps_mask */
    4513                 :      28861 :     case 5738:  /* avx5124fmaddps_4fmaddss_mask */
    4514                 :      28861 :     case 5735:  /* avx5124fmaddps_4fmaddps_mask */
    4515                 :      28861 :     case 5731:  /* vpmultishiftqbv32qi_mask */
    4516                 :      28861 :     case 5729:  /* vpmultishiftqbv16qi_mask */
    4517                 :      28861 :     case 5727:  /* vpmultishiftqbv64qi_mask */
    4518                 :      28861 :     case 5655:  /* avx512vl_getmantv2df_mask */
    4519                 :      28861 :     case 5651:  /* avx512vl_getmantv4df_mask */
    4520                 :      28861 :     case 5647:  /* avx512f_getmantv8df_mask */
    4521                 :      28861 :     case 5643:  /* avx512vl_getmantv4sf_mask */
    4522                 :      28861 :     case 5639:  /* avx512vl_getmantv8sf_mask */
    4523                 :      28861 :     case 5635:  /* avx512f_getmantv16sf_mask */
    4524                 :      28861 :     case 5322:  /* avx512f_vcvtps2ph512_mask */
    4525                 :      28861 :     case 5320:  /* vcvtps2ph256_mask */
    4526                 :      28861 :     case 5116:  /* avx_vpermilvarv2df3_mask */
    4527                 :      28861 :     case 5114:  /* avx_vpermilvarv4df3_mask */
    4528                 :      28861 :     case 5112:  /* avx512f_vpermilvarv8df3_mask */
    4529                 :      28861 :     case 5110:  /* avx_vpermilvarv4sf3_mask */
    4530                 :      28861 :     case 5108:  /* avx_vpermilvarv8sf3_mask */
    4531                 :      28861 :     case 5106:  /* avx512f_vpermilvarv16sf3_mask */
    4532                 :      28861 :     case 4940:  /* avx512bw_permvarv32hi_mask */
    4533                 :      28861 :     case 4938:  /* avx512vl_permvarv16hi_mask */
    4534                 :      28861 :     case 4936:  /* avx512vl_permvarv8hi_mask */
    4535                 :      28861 :     case 4934:  /* avx512vl_permvarv32qi_mask */
    4536                 :      28861 :     case 4932:  /* avx512vl_permvarv16qi_mask */
    4537                 :      28861 :     case 4930:  /* avx512bw_permvarv64qi_mask */
    4538                 :      28861 :     case 4928:  /* avx2_permvarv4df_mask */
    4539                 :      28861 :     case 4926:  /* avx2_permvarv4di_mask */
    4540                 :      28861 :     case 4924:  /* avx512f_permvarv8df_mask */
    4541                 :      28861 :     case 4922:  /* avx512f_permvarv8di_mask */
    4542                 :      28861 :     case 4920:  /* avx512f_permvarv16sf_mask */
    4543                 :      28861 :     case 4918:  /* avx512f_permvarv16si_mask */
    4544                 :      28861 :     case 4916:  /* avx2_permvarv8sf_mask */
    4545                 :      28861 :     case 4914:  /* avx2_permvarv8si_mask */
    4546                 :      28861 :     case 4473:  /* ssse3_pshufbv16qi3_mask */
    4547                 :      28861 :     case 4471:  /* avx2_pshufbv32qi3_mask */
    4548                 :      28861 :     case 4469:  /* avx512bw_pshufbv64qi3_mask */
    4549                 :      28861 :     case 4456:  /* avx512bw_pmaddubsw512v32hi_mask */
    4550                 :      28861 :     case 4454:  /* avx512bw_pmaddubsw512v16hi_mask */
    4551                 :      28861 :     case 4452:  /* avx512bw_pmaddubsw512v8hi_mask */
    4552                 :      28861 :     case 4328:  /* avx512bw_pshufhwv32hi_mask */
    4553                 :      28861 :     case 4322:  /* avx512bw_pshuflwv32hi_mask */
    4554                 :      28861 :     case 3548:  /* avx512bw_pmaddwd512v8hi_mask */
    4555                 :      28861 :     case 3546:  /* avx512bw_pmaddwd512v16hi_mask */
    4556                 :      28861 :     case 3544:  /* avx512bw_pmaddwd512v32hi_mask */
    4557                 :      28861 :     case 3160:  /* avx512vl_rndscalev2df_mask */
    4558                 :      28861 :     case 3156:  /* avx512vl_rndscalev4df_mask */
    4559                 :      28861 :     case 3152:  /* avx512f_rndscalev8df_mask */
    4560                 :      28861 :     case 3148:  /* avx512vl_rndscalev4sf_mask */
    4561                 :      28861 :     case 3144:  /* avx512vl_rndscalev8sf_mask */
    4562                 :      28861 :     case 3140:  /* avx512f_rndscalev16sf_mask */
    4563                 :      28861 :     case 3026:  /* avx512vl_scalefv2df_mask */
    4564                 :      28861 :     case 3022:  /* avx512vl_scalefv4df_mask */
    4565                 :      28861 :     case 3018:  /* avx512f_scalefv8df_mask */
    4566                 :      28861 :     case 3014:  /* avx512vl_scalefv4sf_mask */
    4567                 :      28861 :     case 3010:  /* avx512vl_scalefv8sf_mask */
    4568                 :      28861 :     case 3006:  /* avx512f_scalefv16sf_mask */
    4569                 :      28861 :     case 1828:  /* reducepv2df_mask */
    4570                 :      28861 :     case 1826:  /* reducepv4df_mask */
    4571                 :      28861 :     case 1824:  /* reducepv8df_mask */
    4572                 :      28861 :     case 1822:  /* reducepv4sf_mask */
    4573                 :      28861 :     case 1820:  /* reducepv8sf_mask */
    4574                 :      28861 :     case 1818:  /* reducepv16sf_mask */
    4575                 :      28861 :     case 1782:  /* ieee_minv2df3_mask */
    4576                 :      28861 :     case 1780:  /* ieee_maxv2df3_mask */
    4577                 :      28861 :     case 1778:  /* ieee_minv4df3_mask */
    4578                 :      28861 :     case 1776:  /* ieee_maxv4df3_mask */
    4579                 :      28861 :     case 1773:  /* ieee_minv8df3_mask */
    4580                 :      28861 :     case 1769:  /* ieee_maxv8df3_mask */
    4581                 :      28861 :     case 1766:  /* ieee_minv4sf3_mask */
    4582                 :      28861 :     case 1764:  /* ieee_maxv4sf3_mask */
    4583                 :      28861 :     case 1762:  /* ieee_minv8sf3_mask */
    4584                 :      28861 :     case 1760:  /* ieee_maxv8sf3_mask */
    4585                 :      28861 :     case 1757:  /* ieee_minv16sf3_mask */
    4586                 :      28861 :     case 1753:  /* ieee_maxv16sf3_mask */
    4587                 :      28861 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4588                 :      28861 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    4589                 :      28861 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 1));
    4590                 :      28861 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
    4591                 :      28861 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    4592                 :      28861 :       break;
    4593                 :            : 
    4594                 :       2026 :     case 5654:  /* avx512vl_getmantv2df_round */
    4595                 :       2026 :     case 5650:  /* avx512vl_getmantv4df_round */
    4596                 :       2026 :     case 5646:  /* avx512f_getmantv8df_round */
    4597                 :       2026 :     case 5642:  /* avx512vl_getmantv4sf_round */
    4598                 :       2026 :     case 5638:  /* avx512vl_getmantv8sf_round */
    4599                 :       2026 :     case 5634:  /* avx512f_getmantv16sf_round */
    4600                 :       2026 :     case 3159:  /* avx512vl_rndscalev2df_round */
    4601                 :       2026 :     case 3155:  /* avx512vl_rndscalev4df_round */
    4602                 :       2026 :     case 3151:  /* avx512f_rndscalev8df_round */
    4603                 :       2026 :     case 3147:  /* avx512vl_rndscalev4sf_round */
    4604                 :       2026 :     case 3143:  /* avx512vl_rndscalev8sf_round */
    4605                 :       2026 :     case 3139:  /* avx512f_rndscalev16sf_round */
    4606                 :       2026 :     case 3025:  /* avx512vl_scalefv2df_round */
    4607                 :       2026 :     case 3021:  /* avx512vl_scalefv4df_round */
    4608                 :       2026 :     case 3017:  /* avx512f_scalefv8df_round */
    4609                 :       2026 :     case 3013:  /* avx512vl_scalefv4sf_round */
    4610                 :       2026 :     case 3009:  /* avx512vl_scalefv8sf_round */
    4611                 :       2026 :     case 3005:  /* avx512f_scalefv16sf_round */
    4612                 :       2026 :     case 1772:  /* ieee_minv8df3_round */
    4613                 :       2026 :     case 1768:  /* ieee_maxv8df3_round */
    4614                 :       2026 :     case 1756:  /* ieee_minv16sf3_round */
    4615                 :       2026 :     case 1752:  /* ieee_maxv16sf3_round */
    4616                 :       2026 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4617                 :       2026 :       ro[1] = *(ro_loc[1] = &XVECEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0, 0));
    4618                 :       2026 :       ro[2] = *(ro_loc[2] = &XVECEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0, 1));
    4619                 :       2026 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4620                 :       2026 :       break;
    4621                 :            : 
    4622                 :          0 :     case 1698:  /* *sse2_vmsqrtv2df2_mask_round */
    4623                 :          0 :     case 1694:  /* *sse_vmsqrtv4sf2_mask_round */
    4624                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4625                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0), 0));
    4626                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    4627                 :          0 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    4628                 :          0 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    4629                 :          0 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4630                 :          0 :       break;
    4631                 :            : 
    4632                 :          0 :     case 1697:  /* *sse2_vmsqrtv2df2_mask */
    4633                 :          0 :     case 1693:  /* *sse_vmsqrtv4sf2_mask */
    4634                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4635                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
    4636                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    4637                 :          0 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    4638                 :          0 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    4639                 :          0 :       break;
    4640                 :            : 
    4641                 :          0 :     case 1696:  /* *sse2_vmsqrtv2df2_round */
    4642                 :          0 :     case 1692:  /* *sse_vmsqrtv4sf2_round */
    4643                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4644                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    4645                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    4646                 :          0 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4647                 :          0 :       break;
    4648                 :            : 
    4649                 :        662 :     case 1690:  /* sse2_vmsqrtv2df2_mask_round */
    4650                 :        662 :     case 1686:  /* sse_vmsqrtv4sf2_mask_round */
    4651                 :        662 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4652                 :        662 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    4653                 :        662 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    4654                 :        662 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    4655                 :        662 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    4656                 :        662 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4657                 :        662 :       break;
    4658                 :            : 
    4659                 :          0 :     case 1689:  /* sse2_vmsqrtv2df2_mask */
    4660                 :          0 :     case 1685:  /* sse_vmsqrtv4sf2_mask */
    4661                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4662                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    4663                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    4664                 :          0 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    4665                 :          0 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    4666                 :          0 :       break;
    4667                 :            : 
    4668                 :        171 :     case 1688:  /* sse2_vmsqrtv2df2_round */
    4669                 :        171 :     case 1684:  /* sse_vmsqrtv4sf2_round */
    4670                 :        171 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4671                 :        171 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    4672                 :        171 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    4673                 :        171 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4674                 :        171 :       break;
    4675                 :            : 
    4676                 :       9928 :     case 2834:  /* avx512f_cvtps2pd512_mask_round */
    4677                 :       9928 :     case 2825:  /* avx512f_cvtpd2ps512_mask_round */
    4678                 :       9928 :     case 2800:  /* fixuns_truncv8sfv8di2_mask_round */
    4679                 :       9928 :     case 2796:  /* fix_truncv8sfv8di2_mask_round */
    4680                 :       9928 :     case 2768:  /* fixuns_truncv8dfv8di2_mask_round */
    4681                 :       9928 :     case 2764:  /* fix_truncv8dfv8di2_mask_round */
    4682                 :       9928 :     case 2753:  /* fixuns_truncv8dfv8si2_mask_round */
    4683                 :       9928 :     case 2749:  /* fix_truncv8dfv8si2_mask_round */
    4684                 :       9928 :     case 2704:  /* floatunsv8div8sf2_mask_round */
    4685                 :       9928 :     case 2700:  /* floatv8div8sf2_mask_round */
    4686                 :       9928 :     case 2696:  /* floatunsv2div2df2_mask_round */
    4687                 :       9928 :     case 2692:  /* floatv2div2df2_mask_round */
    4688                 :       9928 :     case 2688:  /* floatunsv4div4df2_mask_round */
    4689                 :       9928 :     case 2684:  /* floatv4div4df2_mask_round */
    4690                 :       9928 :     case 2680:  /* floatunsv8div8df2_mask_round */
    4691                 :       9928 :     case 2676:  /* floatv8div8df2_mask_round */
    4692                 :       9928 :     case 2632:  /* ufix_truncv16sfv16si2_mask_round */
    4693                 :       9928 :     case 2628:  /* fix_truncv16sfv16si2_mask_round */
    4694                 :       9928 :     case 2588:  /* ufloatv4siv4sf2_mask_round */
    4695                 :       9928 :     case 2584:  /* ufloatv8siv8sf2_mask_round */
    4696                 :       9928 :     case 2580:  /* ufloatv16siv16sf2_mask_round */
    4697                 :       9928 :     case 2572:  /* floatv16siv16sf2_mask_round */
    4698                 :       9928 :     case 2229:  /* *fma_fnmadd_v8df_round */
    4699                 :       9928 :     case 2220:  /* *fma_fnmadd_v16sf_round */
    4700                 :       9928 :     case 1678:  /* avx512f_sqrtv8df2_mask_round */
    4701                 :       9928 :     case 1670:  /* avx512f_sqrtv16sf2_mask_round */
    4702                 :       9928 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4703                 :       9928 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    4704                 :       9928 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    4705                 :       9928 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    4706                 :       9928 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4707                 :       9928 :       break;
    4708                 :            : 
    4709                 :     123994 :     case 5783:  /* vpopcountv8hi_mask */
    4710                 :     123994 :     case 5781:  /* vpopcountv16hi_mask */
    4711                 :     123994 :     case 5779:  /* vpopcountv32hi_mask */
    4712                 :     123994 :     case 5777:  /* vpopcountv32qi_mask */
    4713                 :     123994 :     case 5775:  /* vpopcountv16qi_mask */
    4714                 :     123994 :     case 5773:  /* vpopcountv64qi_mask */
    4715                 :     123994 :     case 5763:  /* vpopcountv2di_mask */
    4716                 :     123994 :     case 5761:  /* vpopcountv4di_mask */
    4717                 :     123994 :     case 5759:  /* vpopcountv8di_mask */
    4718                 :     123994 :     case 5757:  /* vpopcountv4si_mask */
    4719                 :     123994 :     case 5755:  /* vpopcountv8si_mask */
    4720                 :     123994 :     case 5753:  /* vpopcountv16si_mask */
    4721                 :     123994 :     case 5682:  /* clzv2di2_mask */
    4722                 :     123994 :     case 5680:  /* clzv4di2_mask */
    4723                 :     123994 :     case 5678:  /* clzv8di2_mask */
    4724                 :     123994 :     case 5676:  /* clzv4si2_mask */
    4725                 :     123994 :     case 5674:  /* clzv8si2_mask */
    4726                 :     123994 :     case 5672:  /* clzv16si2_mask */
    4727                 :     123994 :     case 5098:  /* avx512dq_broadcastv4df_mask_1 */
    4728                 :     123994 :     case 5096:  /* avx512dq_broadcastv4di_mask_1 */
    4729                 :     123994 :     case 5094:  /* avx512dq_broadcastv8df_mask_1 */
    4730                 :     123994 :     case 5092:  /* avx512dq_broadcastv8di_mask_1 */
    4731                 :     123994 :     case 5090:  /* avx512dq_broadcastv16si_mask_1 */
    4732                 :     123994 :     case 5088:  /* avx512dq_broadcastv16sf_mask_1 */
    4733                 :     123994 :     case 5086:  /* avx512vl_broadcastv8sf_mask_1 */
    4734                 :     123994 :     case 5084:  /* avx512vl_broadcastv8si_mask_1 */
    4735                 :     123994 :     case 5049:  /* avx512vl_vec_dup_gprv2df_mask */
    4736                 :     123994 :     case 5047:  /* avx512vl_vec_dup_gprv4df_mask */
    4737                 :     123994 :     case 5045:  /* avx512f_vec_dup_gprv8df_mask */
    4738                 :     123994 :     case 5043:  /* avx512vl_vec_dup_gprv4sf_mask */
    4739                 :     123994 :     case 5041:  /* avx512vl_vec_dup_gprv8sf_mask */
    4740                 :     123994 :     case 5039:  /* avx512f_vec_dup_gprv16sf_mask */
    4741                 :     123994 :     case 5037:  /* avx512vl_vec_dup_gprv2di_mask */
    4742                 :     123994 :     case 5035:  /* avx512vl_vec_dup_gprv4di_mask */
    4743                 :     123994 :     case 5033:  /* avx512f_vec_dup_gprv8di_mask */
    4744                 :     123994 :     case 5031:  /* avx512vl_vec_dup_gprv4si_mask */
    4745                 :     123994 :     case 5029:  /* avx512vl_vec_dup_gprv8si_mask */
    4746                 :     123994 :     case 5027:  /* avx512f_vec_dup_gprv16si_mask */
    4747                 :     123994 :     case 5025:  /* avx512vl_vec_dup_gprv8hi_mask */
    4748                 :     123994 :     case 5023:  /* avx512vl_vec_dup_gprv16hi_mask */
    4749                 :     123994 :     case 5021:  /* avx512bw_vec_dup_gprv32hi_mask */
    4750                 :     123994 :     case 5019:  /* avx512vl_vec_dup_gprv32qi_mask */
    4751                 :     123994 :     case 5017:  /* avx512vl_vec_dup_gprv16qi_mask */
    4752                 :     123994 :     case 5015:  /* avx512bw_vec_dup_gprv64qi_mask */
    4753                 :     123994 :     case 5013:  /* avx512f_broadcastv8di_mask */
    4754                 :     123994 :     case 5011:  /* avx512f_broadcastv8df_mask */
    4755                 :     123994 :     case 5009:  /* avx512f_broadcastv16si_mask */
    4756                 :     123994 :     case 5007:  /* avx512f_broadcastv16sf_mask */
    4757                 :     123994 :     case 4710:  /* *sse4_1_zero_extendv2siv2di2_mask_1 */
    4758                 :     123994 :     case 4708:  /* *sse4_1_sign_extendv2siv2di2_mask_1 */
    4759                 :     123994 :     case 4702:  /* avx2_zero_extendv4siv4di2_mask */
    4760                 :     123994 :     case 4700:  /* avx2_sign_extendv4siv4di2_mask */
    4761                 :     123994 :     case 4698:  /* avx512f_zero_extendv8siv8di2_mask */
    4762                 :     123994 :     case 4696:  /* avx512f_sign_extendv8siv8di2_mask */
    4763                 :     123994 :     case 4690:  /* *sse4_1_zero_extendv2hiv2di2_mask_1 */
    4764                 :     123994 :     case 4688:  /* *sse4_1_sign_extendv2hiv2di2_mask_1 */
    4765                 :     123994 :     case 4678:  /* *avx2_zero_extendv4hiv4di2_mask_1 */
    4766                 :     123994 :     case 4676:  /* *avx2_sign_extendv4hiv4di2_mask_1 */
    4767                 :     123994 :     case 4670:  /* avx512f_zero_extendv8hiv8di2_mask */
    4768                 :     123994 :     case 4668:  /* avx512f_sign_extendv8hiv8di2_mask */
    4769                 :     123994 :     case 4658:  /* *avx2_zero_extendv4qiv4di2_mask_1 */
    4770                 :     123994 :     case 4656:  /* *avx2_sign_extendv4qiv4di2_mask_1 */
    4771                 :     123994 :     case 4646:  /* *avx512f_zero_extendv8qiv8di2_mask_1 */
    4772                 :     123994 :     case 4644:  /* *avx512f_sign_extendv8qiv8di2_mask_1 */
    4773                 :     123994 :     case 4634:  /* *sse4_1_zero_extendv4hiv4si2_mask_1 */
    4774                 :     123994 :     case 4632:  /* *sse4_1_sign_extendv4hiv4si2_mask_1 */
    4775                 :     123994 :     case 4626:  /* avx2_zero_extendv8hiv8si2_mask */
    4776                 :     123994 :     case 4624:  /* avx2_sign_extendv8hiv8si2_mask */
    4777                 :     123994 :     case 4622:  /* avx512f_zero_extendv16hiv16si2_mask */
    4778                 :     123994 :     case 4620:  /* avx512f_sign_extendv16hiv16si2_mask */
    4779                 :     123994 :     case 4614:  /* *sse4_1_zero_extendv4qiv4si2_mask_1 */
    4780                 :     123994 :     case 4612:  /* *sse4_1_sign_extendv4qiv4si2_mask_1 */
    4781                 :     123994 :     case 4602:  /* *avx2_zero_extendv8qiv8si2_mask_1 */
    4782                 :     123994 :     case 4600:  /* *avx2_sign_extendv8qiv8si2_mask_1 */
    4783                 :     123994 :     case 4594:  /* avx512f_zero_extendv16qiv16si2_mask */
    4784                 :     123994 :     case 4592:  /* avx512f_sign_extendv16qiv16si2_mask */
    4785                 :     123994 :     case 4586:  /* *sse4_1_zero_extendv8qiv8hi2_mask_1 */
    4786                 :     123994 :     case 4584:  /* *sse4_1_sign_extendv8qiv8hi2_mask_1 */
    4787                 :     123994 :     case 4578:  /* avx512bw_zero_extendv32qiv32hi2_mask */
    4788                 :     123994 :     case 4576:  /* avx512bw_sign_extendv32qiv32hi2_mask */
    4789                 :     123994 :     case 4574:  /* avx2_zero_extendv16qiv16hi2_mask */
    4790                 :     123994 :     case 4572:  /* avx2_sign_extendv16qiv16hi2_mask */
    4791                 :     123994 :     case 4514:  /* absv8hi2_mask */
    4792                 :     123994 :     case 4513:  /* absv16hi2_mask */
    4793                 :     123994 :     case 4512:  /* absv32hi2_mask */
    4794                 :     123994 :     case 4511:  /* absv32qi2_mask */
    4795                 :     123994 :     case 4510:  /* absv16qi2_mask */
    4796                 :     123994 :     case 4509:  /* absv64qi2_mask */
    4797                 :     123994 :     case 4508:  /* absv2di2_mask */
    4798                 :     123994 :     case 4507:  /* absv4di2_mask */
    4799                 :     123994 :     case 4506:  /* absv8di2_mask */
    4800                 :     123994 :     case 4505:  /* absv4si2_mask */
    4801                 :     123994 :     case 4504:  /* absv8si2_mask */
    4802                 :     123994 :     case 4503:  /* absv16si2_mask */
    4803                 :     123994 :     case 3254:  /* avx512vl_us_truncatev16hiv16qi2_mask */
    4804                 :     123994 :     case 3253:  /* avx512vl_truncatev16hiv16qi2_mask */
    4805                 :     123994 :     case 3252:  /* avx512vl_ss_truncatev16hiv16qi2_mask */
    4806                 :     123994 :     case 3251:  /* avx512vl_us_truncatev8siv8hi2_mask */
    4807                 :     123994 :     case 3250:  /* avx512vl_truncatev8siv8hi2_mask */
    4808                 :     123994 :     case 3249:  /* avx512vl_ss_truncatev8siv8hi2_mask */
    4809                 :     123994 :     case 3248:  /* avx512vl_us_truncatev4div4si2_mask */
    4810                 :     123994 :     case 3247:  /* avx512vl_truncatev4div4si2_mask */
    4811                 :     123994 :     case 3246:  /* avx512vl_ss_truncatev4div4si2_mask */
    4812                 :     123994 :     case 3236:  /* avx512bw_us_truncatev32hiv32qi2_mask */
    4813                 :     123994 :     case 3235:  /* avx512bw_truncatev32hiv32qi2_mask */
    4814                 :     123994 :     case 3234:  /* avx512bw_ss_truncatev32hiv32qi2_mask */
    4815                 :     123994 :     case 3230:  /* avx512f_us_truncatev8div8hi2_mask */
    4816                 :     123994 :     case 3229:  /* avx512f_truncatev8div8hi2_mask */
    4817                 :     123994 :     case 3228:  /* avx512f_ss_truncatev8div8hi2_mask */
    4818                 :     123994 :     case 3227:  /* avx512f_us_truncatev8div8si2_mask */
    4819                 :     123994 :     case 3226:  /* avx512f_truncatev8div8si2_mask */
    4820                 :     123994 :     case 3225:  /* avx512f_ss_truncatev8div8si2_mask */
    4821                 :     123994 :     case 3224:  /* avx512f_us_truncatev16siv16hi2_mask */
    4822                 :     123994 :     case 3223:  /* avx512f_truncatev16siv16hi2_mask */
    4823                 :     123994 :     case 3222:  /* avx512f_ss_truncatev16siv16hi2_mask */
    4824                 :     123994 :     case 3221:  /* avx512f_us_truncatev16siv16qi2_mask */
    4825                 :     123994 :     case 3220:  /* avx512f_truncatev16siv16qi2_mask */
    4826                 :     123994 :     case 3219:  /* avx512f_ss_truncatev16siv16qi2_mask */
    4827                 :     123994 :     case 3203:  /* vec_dupv2df_mask */
    4828                 :     123994 :     case 2973:  /* vec_extract_hi_v8sf_mask */
    4829                 :     123994 :     case 2972:  /* vec_extract_hi_v8si_mask */
    4830                 :     123994 :     case 2971:  /* vec_extract_hi_v8sf_maskm */
    4831                 :     123994 :     case 2970:  /* vec_extract_hi_v8si_maskm */
    4832                 :     123994 :     case 2969:  /* vec_extract_lo_v8sf_maskm */
    4833                 :     123994 :     case 2968:  /* vec_extract_lo_v8si_maskm */
    4834                 :     123994 :     case 2967:  /* vec_extract_lo_v8sf_mask */
    4835                 :     123994 :     case 2965:  /* vec_extract_lo_v8si_mask */
    4836                 :     123994 :     case 2963:  /* vec_extract_hi_v4df_mask */
    4837                 :     123994 :     case 2961:  /* vec_extract_hi_v4di_mask */
    4838                 :     123994 :     case 2959:  /* vec_extract_lo_v4df_mask */
    4839                 :     123994 :     case 2957:  /* vec_extract_lo_v4di_mask */
    4840                 :     123994 :     case 2955:  /* vec_extract_lo_v16si_mask */
    4841                 :     123994 :     case 2953:  /* vec_extract_lo_v16sf_mask */
    4842                 :     123994 :     case 2951:  /* vec_extract_hi_v16si_mask */
    4843                 :     123994 :     case 2949:  /* vec_extract_hi_v16sf_mask */
    4844                 :     123994 :     case 2947:  /* vec_extract_hi_v16si_maskm */
    4845                 :     123994 :     case 2946:  /* vec_extract_hi_v16sf_maskm */
    4846                 :     123994 :     case 2945:  /* vec_extract_hi_v8di_mask */
    4847                 :     123994 :     case 2943:  /* vec_extract_hi_v8df_mask */
    4848                 :     123994 :     case 2941:  /* vec_extract_hi_v8di_maskm */
    4849                 :     123994 :     case 2940:  /* vec_extract_hi_v8df_maskm */
    4850                 :     123994 :     case 2939:  /* vec_extract_lo_v8di_mask */
    4851                 :     123994 :     case 2937:  /* vec_extract_lo_v8df_mask */
    4852                 :     123994 :     case 2935:  /* vec_extract_lo_v8di_maskm */
    4853                 :     123994 :     case 2934:  /* vec_extract_lo_v8df_maskm */
    4854                 :     123994 :     case 2836:  /* avx_cvtps2pd256_mask */
    4855                 :     123994 :     case 2833:  /* avx512f_cvtps2pd512_mask */
    4856                 :     123994 :     case 2827:  /* avx_cvtpd2ps256_mask */
    4857                 :     123994 :     case 2824:  /* avx512f_cvtpd2ps512_mask */
    4858                 :     123994 :     case 2812:  /* ufix_truncv4sfv4si2_mask */
    4859                 :     123994 :     case 2810:  /* ufix_truncv8sfv8si2_mask */
    4860                 :     123994 :     case 2804:  /* fixuns_truncv4sfv4di2_mask */
    4861                 :     123994 :     case 2802:  /* fix_truncv4sfv4di2_mask */
    4862                 :     123994 :     case 2799:  /* fixuns_truncv8sfv8di2_mask */
    4863                 :     123994 :     case 2795:  /* fix_truncv8sfv8di2_mask */
    4864                 :     123994 :     case 2776:  /* fixuns_truncv2dfv2di2_mask */
    4865                 :     123994 :     case 2774:  /* fix_truncv2dfv2di2_mask */
    4866                 :     123994 :     case 2772:  /* fixuns_truncv4dfv4di2_mask */
    4867                 :     123994 :     case 2770:  /* fix_truncv4dfv4di2_mask */
    4868                 :     123994 :     case 2767:  /* fixuns_truncv8dfv8di2_mask */
    4869                 :     123994 :     case 2763:  /* fix_truncv8dfv8di2_mask */
    4870                 :     123994 :     case 2760:  /* ufix_truncv4dfv4si2_mask */
    4871                 :     123994 :     case 2758:  /* fix_truncv4dfv4si2_mask */
    4872                 :     123994 :     case 2752:  /* fixuns_truncv8dfv8si2_mask */
    4873                 :     123994 :     case 2748:  /* fix_truncv8dfv8si2_mask */
    4874                 :     123994 :     case 2718:  /* ufloatv4siv4df2_mask */
    4875                 :     123994 :     case 2716:  /* ufloatv8siv8df2_mask */
    4876                 :     123994 :     case 2708:  /* floatunsv4div4sf2_mask */
    4877                 :     123994 :     case 2706:  /* floatv4div4sf2_mask */
    4878                 :     123994 :     case 2703:  /* floatunsv8div8sf2_mask */
    4879                 :     123994 :     case 2699:  /* floatv8div8sf2_mask */
    4880                 :     123994 :     case 2695:  /* floatunsv2div2df2_mask */
    4881                 :     123994 :     case 2691:  /* floatv2div2df2_mask */
    4882                 :     123994 :     case 2687:  /* floatunsv4div4df2_mask */
    4883                 :     123994 :     case 2683:  /* floatv4div4df2_mask */
    4884                 :     123994 :     case 2679:  /* floatunsv8div8df2_mask */
    4885                 :     123994 :     case 2675:  /* floatv8div8df2_mask */
    4886                 :     123994 :     case 2672:  /* floatv4siv4df2_mask */
    4887                 :     123994 :     case 2670:  /* floatv8siv8df2_mask */
    4888                 :     123994 :     case 2636:  /* fix_truncv4sfv4si2_mask */
    4889                 :     123994 :     case 2634:  /* fix_truncv8sfv8si2_mask */
    4890                 :     123994 :     case 2631:  /* ufix_truncv16sfv16si2_mask */
    4891                 :     123994 :     case 2627:  /* fix_truncv16sfv16si2_mask */
    4892                 :     123994 :     case 2587:  /* ufloatv4siv4sf2_mask */
    4893                 :     123994 :     case 2583:  /* ufloatv8siv8sf2_mask */
    4894                 :     123994 :     case 2579:  /* ufloatv16siv16sf2_mask */
    4895                 :     123994 :     case 2576:  /* floatv4siv4sf2_mask */
    4896                 :     123994 :     case 2574:  /* floatv8siv8sf2_mask */
    4897                 :     123994 :     case 2571:  /* floatv16siv16sf2_mask */
    4898                 :     123994 :     case 2233:  /* *fma_fnmadd_v2df */
    4899                 :     123994 :     case 2231:  /* *fma_fnmadd_v4df */
    4900                 :     123994 :     case 2227:  /* *fma_fnmadd_v8df */
    4901                 :     123994 :     case 2226:  /* *fma_fnmadd_df */
    4902                 :     123994 :     case 2224:  /* *fma_fnmadd_v4sf */
    4903                 :     123994 :     case 2222:  /* *fma_fnmadd_v8sf */
    4904                 :     123994 :     case 2218:  /* *fma_fnmadd_v16sf */
    4905                 :     123994 :     case 2217:  /* *fma_fnmadd_sf */
    4906                 :     123994 :     case 2216:  /* *fma_fnmadd_v4df */
    4907                 :     123994 :     case 2215:  /* *fma_fnmadd_v8sf */
    4908                 :     123994 :     case 2214:  /* *fma_fnmadd_v2df */
    4909                 :     123994 :     case 2213:  /* *fma_fnmadd_v4sf */
    4910                 :     123994 :     case 2212:  /* *fma_fnmadd_df */
    4911                 :     123994 :     case 2211:  /* *fma_fnmadd_sf */
    4912                 :     123994 :     case 2097:  /* **fma_fmadd_v8df_bcst_2 */
    4913                 :     123994 :     case 2095:  /* **fma_fmadd_v16sf_bcst_2 */
    4914                 :     123994 :     case 2093:  /* **fma_fmadd_v4df_bcst_2 */
    4915                 :     123994 :     case 2091:  /* **fma_fmadd_v8sf_bcst_2 */
    4916                 :     123994 :     case 2089:  /* **fma_fmadd_v2df_bcst_2 */
    4917                 :     123994 :     case 2087:  /* **fma_fmadd_v4sf_bcst_2 */
    4918                 :     123994 :     case 1682:  /* sse2_sqrtv2df2_mask */
    4919                 :     123994 :     case 1680:  /* avx_sqrtv4df2_mask */
    4920                 :     123994 :     case 1677:  /* avx512f_sqrtv8df2_mask */
    4921                 :     123994 :     case 1674:  /* sse_sqrtv4sf2_mask */
    4922                 :     123994 :     case 1672:  /* avx_sqrtv8sf2_mask */
    4923                 :     123994 :     case 1669:  /* avx512f_sqrtv16sf2_mask */
    4924                 :     123994 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4925                 :     123994 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    4926                 :     123994 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    4927                 :     123994 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 2));
    4928                 :     123994 :       break;
    4929                 :            : 
    4930                 :       2844 :     case 2832:  /* avx512f_cvtps2pd512_round */
    4931                 :       2844 :     case 2823:  /* *avx512f_cvtpd2ps512_round */
    4932                 :       2844 :     case 2798:  /* fixuns_truncv8sfv8di2_round */
    4933                 :       2844 :     case 2794:  /* fix_truncv8sfv8di2_round */
    4934                 :       2844 :     case 2766:  /* fixuns_truncv8dfv8di2_round */
    4935                 :       2844 :     case 2762:  /* fix_truncv8dfv8di2_round */
    4936                 :       2844 :     case 2751:  /* fixuns_truncv8dfv8si2_round */
    4937                 :       2844 :     case 2747:  /* fix_truncv8dfv8si2_round */
    4938                 :       2844 :     case 2702:  /* floatunsv8div8sf2_round */
    4939                 :       2844 :     case 2698:  /* floatv8div8sf2_round */
    4940                 :       2844 :     case 2694:  /* floatunsv2div2df2_round */
    4941                 :       2844 :     case 2690:  /* floatv2div2df2_round */
    4942                 :       2844 :     case 2686:  /* floatunsv4div4df2_round */
    4943                 :       2844 :     case 2682:  /* floatv4div4df2_round */
    4944                 :       2844 :     case 2678:  /* floatunsv8div8df2_round */
    4945                 :       2844 :     case 2674:  /* floatv8div8df2_round */
    4946                 :       2844 :     case 2630:  /* ufix_truncv16sfv16si2_round */
    4947                 :       2844 :     case 2626:  /* fix_truncv16sfv16si2_round */
    4948                 :       2844 :     case 2586:  /* ufloatv4siv4sf2_round */
    4949                 :       2844 :     case 2582:  /* ufloatv8siv8sf2_round */
    4950                 :       2844 :     case 2578:  /* ufloatv16siv16sf2_round */
    4951                 :       2844 :     case 2570:  /* floatv16siv16sf2_round */
    4952                 :       2844 :     case 1676:  /* avx512f_sqrtv8df2_round */
    4953                 :       2844 :     case 1668:  /* avx512f_sqrtv16sf2_round */
    4954                 :       2844 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4955                 :       2844 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0));
    4956                 :       2844 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (pat, 1), 0, 1));
    4957                 :       2844 :       break;
    4958                 :            : 
    4959                 :       1380 :     case 1716:  /* rsqrt14_v2df_mask */
    4960                 :       1380 :     case 1715:  /* rsqrt14_v4sf_mask */
    4961                 :       1380 :     case 1666:  /* srcp14v2df_mask */
    4962                 :       1380 :     case 1665:  /* srcp14v4sf_mask */
    4963                 :       1380 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    4964                 :       1380 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 0));
    4965                 :       1380 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    4966                 :       1380 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    4967                 :       1380 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    4968                 :       1380 :       break;
    4969                 :            : 
    4970                 :      16872 :     case 5966:  /* avx512f_cvtneps2bf16_v4sf_mask */
    4971                 :      16872 :     case 5964:  /* avx512f_cvtneps2bf16_v8sf_mask */
    4972                 :      16872 :     case 5962:  /* avx512f_cvtneps2bf16_v16sf_mask */
    4973                 :      16872 :     case 5694:  /* conflictv2di_mask */
    4974                 :      16872 :     case 5692:  /* conflictv4di_mask */
    4975                 :      16872 :     case 5690:  /* conflictv8di_mask */
    4976                 :      16872 :     case 5688:  /* conflictv4si_mask */
    4977                 :      16872 :     case 5686:  /* conflictv8si_mask */
    4978                 :      16872 :     case 5684:  /* conflictv16si_mask */
    4979                 :      16872 :     case 5314:  /* avx512f_vcvtph2ps512_mask */
    4980                 :      16872 :     case 5311:  /* vcvtph2ps256_mask */
    4981                 :      16872 :     case 5309:  /* *vcvtph2ps_load_mask */
    4982                 :      16872 :     case 4790:  /* avx512er_rsqrt28v8df_mask */
    4983                 :      16872 :     case 4786:  /* avx512er_rsqrt28v16sf_mask */
    4984                 :      16872 :     case 4778:  /* avx512er_rcp28v8df_mask */
    4985                 :      16872 :     case 4774:  /* avx512er_rcp28v16sf_mask */
    4986                 :      16872 :     case 4770:  /* avx512er_exp2v8df_mask */
    4987                 :      16872 :     case 4766:  /* avx512er_exp2v16sf_mask */
    4988                 :      16872 :     case 3068:  /* avx512vl_getexpv2df_mask */
    4989                 :      16872 :     case 3064:  /* avx512vl_getexpv4df_mask */
    4990                 :      16872 :     case 3060:  /* avx512f_getexpv8df_mask */
    4991                 :      16872 :     case 3056:  /* avx512vl_getexpv4sf_mask */
    4992                 :      16872 :     case 3052:  /* avx512vl_getexpv8sf_mask */
    4993                 :      16872 :     case 3048:  /* avx512f_getexpv16sf_mask */
    4994                 :      16872 :     case 2792:  /* ufix_notruncv2dfv2di2_mask */
    4995                 :      16872 :     case 2790:  /* ufix_notruncv4dfv4di2_mask */
    4996                 :      16872 :     case 2787:  /* ufix_notruncv8dfv8di2_mask */
    4997                 :      16872 :     case 2784:  /* fix_notruncv2dfv2di2_mask */
    4998                 :      16872 :     case 2782:  /* fix_notruncv4dfv4di2_mask */
    4999                 :      16872 :     case 2779:  /* fix_notruncv8dfv8di2_mask */
    5000                 :      16872 :     case 2741:  /* ufix_notruncv4dfv4si2_mask */
    5001                 :      16872 :     case 2737:  /* ufix_notruncv8dfv8si2_mask */
    5002                 :      16872 :     case 2730:  /* avx_cvtpd2dq256_mask */
    5003                 :      16872 :     case 2727:  /* avx512f_cvtpd2dq512_mask */
    5004                 :      16872 :     case 2622:  /* avx512dq_cvtps2uqqv4di_mask */
    5005                 :      16872 :     case 2619:  /* avx512dq_cvtps2uqqv8di_mask */
    5006                 :      16872 :     case 2614:  /* avx512dq_cvtps2qqv4di_mask */
    5007                 :      16872 :     case 2611:  /* avx512dq_cvtps2qqv8di_mask */
    5008                 :      16872 :     case 2607:  /* avx512vl_ufix_notruncv4sfv4si_mask */
    5009                 :      16872 :     case 2603:  /* avx512vl_ufix_notruncv8sfv8si_mask */
    5010                 :      16872 :     case 2599:  /* avx512f_ufix_notruncv16sfv16si_mask */
    5011                 :      16872 :     case 2595:  /* avx512f_fix_notruncv16sfv16si_mask */
    5012                 :      16872 :     case 2592:  /* sse2_fix_notruncv4sfv4si_mask */
    5013                 :      16872 :     case 2590:  /* avx_fix_notruncv8sfv8si_mask */
    5014                 :      16872 :     case 1712:  /* rsqrt14v2df_mask */
    5015                 :      16872 :     case 1710:  /* rsqrt14v4df_mask */
    5016                 :      16872 :     case 1708:  /* rsqrt14v8df_mask */
    5017                 :      16872 :     case 1706:  /* rsqrt14v4sf_mask */
    5018                 :      16872 :     case 1704:  /* rsqrt14v8sf_mask */
    5019                 :      16872 :     case 1702:  /* rsqrt14v16sf_mask */
    5020                 :      16872 :     case 1662:  /* rcp14v2df_mask */
    5021                 :      16872 :     case 1660:  /* rcp14v4df_mask */
    5022                 :      16872 :     case 1658:  /* rcp14v8df_mask */
    5023                 :      16872 :     case 1656:  /* rcp14v4sf_mask */
    5024                 :      16872 :     case 1654:  /* rcp14v8sf_mask */
    5025                 :      16872 :     case 1652:  /* rcp14v16sf_mask */
    5026                 :      16872 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5027                 :      16872 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    5028                 :      16872 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    5029                 :      16872 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 2));
    5030                 :      16872 :       break;
    5031                 :            : 
    5032                 :          0 :     case 1718:  /* *sse_vmrsqrtv4sf2 */
    5033                 :          0 :     case 1650:  /* *sse_vmrcpv4sf2 */
    5034                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5035                 :          0 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0, 0));
    5036                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    5037                 :          0 :       break;
    5038                 :            : 
    5039                 :       1493 :     case 4866:  /* *xop_vmfrczv2df2 */
    5040                 :       1493 :     case 4865:  /* *xop_vmfrczv4sf2 */
    5041                 :       1493 :     case 4794:  /* avx512er_vmrsqrt28v2df */
    5042                 :       1493 :     case 4792:  /* avx512er_vmrsqrt28v4sf */
    5043                 :       1493 :     case 4782:  /* avx512er_vmrcp28v2df */
    5044                 :       1493 :     case 4780:  /* avx512er_vmrcp28v4sf */
    5045                 :       1493 :     case 2731:  /* *avx_cvtpd2dq256_2 */
    5046                 :       1493 :     case 1717:  /* sse_vmrsqrtv4sf2 */
    5047                 :       1493 :     case 1714:  /* rsqrt14v2df */
    5048                 :       1493 :     case 1713:  /* rsqrt14v4sf */
    5049                 :       1493 :     case 1664:  /* srcp14v2df */
    5050                 :       1493 :     case 1663:  /* srcp14v4sf */
    5051                 :       1493 :     case 1649:  /* sse_vmrcpv4sf2 */
    5052                 :       1493 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5053                 :       1493 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
    5054                 :       1493 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    5055                 :       1493 :       break;
    5056                 :            : 
    5057                 :       5444 :     case 1802:  /* sse2_vmsminv2df3_mask_round */
    5058                 :       5444 :     case 1798:  /* sse2_vmsmaxv2df3_mask_round */
    5059                 :       5444 :     case 1794:  /* sse_vmsminv4sf3_mask_round */
    5060                 :       5444 :     case 1790:  /* sse_vmsmaxv4sf3_mask_round */
    5061                 :       5444 :     case 1618:  /* sse2_vmdivv2df3_mask_round */
    5062                 :       5444 :     case 1614:  /* sse2_vmmulv2df3_mask_round */
    5063                 :       5444 :     case 1610:  /* sse_vmdivv4sf3_mask_round */
    5064                 :       5444 :     case 1606:  /* sse_vmmulv4sf3_mask_round */
    5065                 :       5444 :     case 1570:  /* sse2_vmsubv2df3_mask_round */
    5066                 :       5444 :     case 1566:  /* sse2_vmaddv2df3_mask_round */
    5067                 :       5444 :     case 1562:  /* sse_vmsubv4sf3_mask_round */
    5068                 :       5444 :     case 1558:  /* sse_vmaddv4sf3_mask_round */
    5069                 :       5444 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5070                 :       5444 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 0));
    5071                 :       5444 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0), 1));
    5072                 :       5444 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    5073                 :       5444 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 2));
    5074                 :       5444 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    5075                 :       5444 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    5076                 :       5444 :       recog_data.dup_num[0] = 1;
    5077                 :       5444 :       break;
    5078                 :            : 
    5079                 :       3080 :     case 1800:  /* sse2_vmsminv2df3_mask */
    5080                 :       3080 :     case 1796:  /* sse2_vmsmaxv2df3_mask */
    5081                 :       3080 :     case 1792:  /* sse_vmsminv4sf3_mask */
    5082                 :       3080 :     case 1788:  /* sse_vmsmaxv4sf3_mask */
    5083                 :       3080 :     case 1617:  /* sse2_vmdivv2df3_mask */
    5084                 :       3080 :     case 1613:  /* sse2_vmmulv2df3_mask */
    5085                 :       3080 :     case 1609:  /* sse_vmdivv4sf3_mask */
    5086                 :       3080 :     case 1605:  /* sse_vmmulv4sf3_mask */
    5087                 :       3080 :     case 1569:  /* sse2_vmsubv2df3_mask */
    5088                 :       3080 :     case 1565:  /* sse2_vmaddv2df3_mask */
    5089                 :       3080 :     case 1561:  /* sse_vmsubv4sf3_mask */
    5090                 :       3080 :     case 1557:  /* sse_vmaddv4sf3_mask */
    5091                 :       3080 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5092                 :       3080 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    5093                 :       3080 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    5094                 :       3080 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    5095                 :       3080 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    5096                 :       3080 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    5097                 :       3080 :       recog_data.dup_num[0] = 1;
    5098                 :       3080 :       break;
    5099                 :            : 
    5100                 :       1988 :     case 1801:  /* sse2_vmsminv2df3_round */
    5101                 :       1988 :     case 1797:  /* sse2_vmsmaxv2df3_round */
    5102                 :       1988 :     case 1793:  /* sse_vmsminv4sf3_round */
    5103                 :       1988 :     case 1789:  /* sse_vmsmaxv4sf3_round */
    5104                 :       1988 :     case 1616:  /* sse2_vmdivv2df3_round */
    5105                 :       1988 :     case 1612:  /* sse2_vmmulv2df3_round */
    5106                 :       1988 :     case 1608:  /* sse_vmdivv4sf3_round */
    5107                 :       1988 :     case 1604:  /* sse_vmmulv4sf3_round */
    5108                 :       1988 :     case 1568:  /* sse2_vmsubv2df3_round */
    5109                 :       1988 :     case 1564:  /* sse2_vmaddv2df3_round */
    5110                 :       1988 :     case 1560:  /* sse_vmsubv4sf3_round */
    5111                 :       1988 :     case 1556:  /* sse_vmaddv4sf3_round */
    5112                 :       1988 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5113                 :       1988 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    5114                 :       1988 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    5115                 :       1988 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (pat, 1), 0, 1));
    5116                 :       1988 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1);
    5117                 :       1988 :       recog_data.dup_num[0] = 1;
    5118                 :       1988 :       break;
    5119                 :            : 
    5120                 :       2329 :     case 1799:  /* sse2_vmsminv2df3 */
    5121                 :       2329 :     case 1795:  /* sse2_vmsmaxv2df3 */
    5122                 :       2329 :     case 1791:  /* sse_vmsminv4sf3 */
    5123                 :       2329 :     case 1787:  /* sse_vmsmaxv4sf3 */
    5124                 :       2329 :     case 1615:  /* sse2_vmdivv2df3 */
    5125                 :       2329 :     case 1611:  /* sse2_vmmulv2df3 */
    5126                 :       2329 :     case 1607:  /* sse_vmdivv4sf3 */
    5127                 :       2329 :     case 1603:  /* sse_vmmulv4sf3 */
    5128                 :       2329 :     case 1567:  /* sse2_vmsubv2df3 */
    5129                 :       2329 :     case 1563:  /* sse2_vmaddv2df3 */
    5130                 :       2329 :     case 1559:  /* sse_vmsubv4sf3 */
    5131                 :       2329 :     case 1555:  /* sse_vmaddv4sf3 */
    5132                 :       2329 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5133                 :       2329 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    5134                 :       2329 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    5135                 :       2329 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    5136                 :       2329 :       recog_data.dup_num[0] = 1;
    5137                 :       2329 :       break;
    5138                 :            : 
    5139                 :        138 :     case 1602:  /* *sse2_vmdivv2df3 */
    5140                 :        138 :     case 1601:  /* *sse2_vmmulv2df3 */
    5141                 :        138 :     case 1600:  /* *sse_vmdivv4sf3 */
    5142                 :        138 :     case 1599:  /* *sse_vmmulv4sf3 */
    5143                 :        138 :     case 1554:  /* *sse2_vmsubv2df3 */
    5144                 :        138 :     case 1553:  /* *sse2_vmaddv2df3 */
    5145                 :        138 :     case 1552:  /* *sse_vmsubv4sf3 */
    5146                 :        138 :     case 1551:  /* *sse_vmaddv4sf3 */
    5147                 :        138 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5148                 :        138 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
    5149                 :        138 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
    5150                 :        138 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    5151                 :        138 :       recog_data.dup_num[0] = 1;
    5152                 :        138 :       break;
    5153                 :            : 
    5154                 :       7857 :     case 5216:  /* vec_set_hi_v8sf_mask */
    5155                 :       7857 :     case 5214:  /* vec_set_hi_v8si_mask */
    5156                 :       7857 :     case 5208:  /* vec_set_hi_v4df_mask */
    5157                 :       7857 :     case 5206:  /* vec_set_hi_v4di_mask */
    5158                 :       7857 :     case 4298:  /* vec_set_hi_v8di_mask */
    5159                 :       7857 :     case 4296:  /* vec_set_hi_v8df_mask */
    5160                 :       7857 :     case 4290:  /* vec_set_hi_v16si_mask */
    5161                 :       7857 :     case 4288:  /* vec_set_hi_v16sf_mask */
    5162                 :       7857 :     case 4020:  /* *xorv2di3_bcst */
    5163                 :       7857 :     case 4018:  /* *iorv2di3_bcst */
    5164                 :       7857 :     case 4016:  /* *andv2di3_bcst */
    5165                 :       7857 :     case 4014:  /* *xorv4di3_bcst */
    5166                 :       7857 :     case 4012:  /* *iorv4di3_bcst */
    5167                 :       7857 :     case 4010:  /* *andv4di3_bcst */
    5168                 :       7857 :     case 4008:  /* *xorv8di3_bcst */
    5169                 :       7857 :     case 4006:  /* *iorv8di3_bcst */
    5170                 :       7857 :     case 4004:  /* *andv8di3_bcst */
    5171                 :       7857 :     case 4002:  /* *xorv4si3_bcst */
    5172                 :       7857 :     case 4000:  /* *iorv4si3_bcst */
    5173                 :       7857 :     case 3998:  /* *andv4si3_bcst */
    5174                 :       7857 :     case 3996:  /* *xorv8si3_bcst */
    5175                 :       7857 :     case 3994:  /* *iorv8si3_bcst */
    5176                 :       7857 :     case 3992:  /* *andv8si3_bcst */
    5177                 :       7857 :     case 3990:  /* *xorv16si3_bcst */
    5178                 :       7857 :     case 3988:  /* *iorv16si3_bcst */
    5179                 :       7857 :     case 3986:  /* *andv16si3_bcst */
    5180                 :       7857 :     case 3930:  /* *andnotv2di3_mask */
    5181                 :       7857 :     case 3929:  /* *andnotv4di3_mask */
    5182                 :       7857 :     case 3928:  /* *andnotv8di3_mask */
    5183                 :       7857 :     case 3927:  /* *andnotv4si3_mask */
    5184                 :       7857 :     case 3926:  /* *andnotv8si3_mask */
    5185                 :       7857 :     case 3925:  /* *andnotv16si3_mask */
    5186                 :       7857 :     case 2002:  /* avx512f_andnotv8df3_mask */
    5187                 :       7857 :     case 2000:  /* avx512f_andnotv16sf3_mask */
    5188                 :       7857 :     case 1998:  /* sse2_andnotv2df3_mask */
    5189                 :       7857 :     case 1996:  /* avx_andnotv4df3_mask */
    5190                 :       7857 :     case 1994:  /* sse_andnotv4sf3_mask */
    5191                 :       7857 :     case 1992:  /* avx_andnotv8sf3_mask */
    5192                 :       7857 :     case 1598:  /* *mulv8df3_mask_bcst */
    5193                 :       7857 :     case 1596:  /* *mulv16sf3_mask_bcst */
    5194                 :       7857 :     case 1594:  /* *mulv4df3_mask_bcst */
    5195                 :       7857 :     case 1592:  /* *mulv8sf3_mask_bcst */
    5196                 :       7857 :     case 1590:  /* *mulv2df3_mask_bcst */
    5197                 :       7857 :     case 1588:  /* *mulv4sf3_mask_bcst */
    5198                 :       7857 :     case 1550:  /* *addv8df3_mask_bcst */
    5199                 :       7857 :     case 1548:  /* *addv16sf3_mask_bcst */
    5200                 :       7857 :     case 1546:  /* *addv4df3_mask_bcst */
    5201                 :       7857 :     case 1544:  /* *addv8sf3_mask_bcst */
    5202                 :       7857 :     case 1542:  /* *addv2df3_mask_bcst */
    5203                 :       7857 :     case 1540:  /* *addv4sf3_mask_bcst */
    5204                 :       7857 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5205                 :       7857 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    5206                 :       7857 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    5207                 :       7857 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
    5208                 :       7857 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    5209                 :       7857 :       break;
    5210                 :            : 
    5211                 :          0 :     case 1646:  /* *avx512f_divv8df3_mask_bcst */
    5212                 :          0 :     case 1644:  /* *avx512f_divv16sf3_mask_bcst */
    5213                 :          0 :     case 1642:  /* *avx512vl_divv4df3_mask_bcst */
    5214                 :          0 :     case 1640:  /* *avx512vl_divv8sf3_mask_bcst */
    5215                 :          0 :     case 1638:  /* *avx512vl_divv2df3_mask_bcst */
    5216                 :          0 :     case 1636:  /* *avx512vl_divv4sf3_mask_bcst */
    5217                 :          0 :     case 1538:  /* *subv8df3_mask_bcst */
    5218                 :          0 :     case 1536:  /* *subv16sf3_mask_bcst */
    5219                 :          0 :     case 1534:  /* *subv4df3_mask_bcst */
    5220                 :          0 :     case 1532:  /* *subv8sf3_mask_bcst */
    5221                 :          0 :     case 1530:  /* *subv2df3_mask_bcst */
    5222                 :          0 :     case 1528:  /* *subv4sf3_mask_bcst */
    5223                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5224                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    5225                 :          0 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0));
    5226                 :          0 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
    5227                 :          0 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    5228                 :          0 :       break;
    5229                 :            : 
    5230                 :        180 :     case 3434:  /* *subv2di3_bcst */
    5231                 :        180 :     case 3433:  /* *subv4di3_bcst */
    5232                 :        180 :     case 3432:  /* *subv8di3_bcst */
    5233                 :        180 :     case 3431:  /* *subv4si3_bcst */
    5234                 :        180 :     case 3430:  /* *subv8si3_bcst */
    5235                 :        180 :     case 3429:  /* *subv16si3_bcst */
    5236                 :        180 :     case 1645:  /* *avx512f_divv8df3_bcst */
    5237                 :        180 :     case 1643:  /* *avx512f_divv16sf3_bcst */
    5238                 :        180 :     case 1641:  /* *avx512vl_divv4df3_bcst */
    5239                 :        180 :     case 1639:  /* *avx512vl_divv8sf3_bcst */
    5240                 :        180 :     case 1637:  /* *avx512vl_divv2df3_bcst */
    5241                 :        180 :     case 1635:  /* *avx512vl_divv4sf3_bcst */
    5242                 :        180 :     case 1537:  /* *subv8df3_bcst */
    5243                 :        180 :     case 1535:  /* *subv16sf3_bcst */
    5244                 :        180 :     case 1533:  /* *subv4df3_bcst */
    5245                 :        180 :     case 1531:  /* *subv8sf3_bcst */
    5246                 :        180 :     case 1529:  /* *subv2df3_bcst */
    5247                 :        180 :     case 1527:  /* *subv4sf3_bcst */
    5248                 :        180 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5249                 :        180 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
    5250                 :        180 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
    5251                 :        180 :       break;
    5252                 :            : 
    5253                 :       5084 :     case 1742:  /* *sminv8df3_mask_round */
    5254                 :       5084 :     case 1738:  /* *smaxv8df3_mask_round */
    5255                 :       5084 :     case 1726:  /* *sminv16sf3_mask_round */
    5256                 :       5084 :     case 1722:  /* *smaxv16sf3_mask_round */
    5257                 :       5084 :     case 1630:  /* avx512f_divv8df3_mask_round */
    5258                 :       5084 :     case 1622:  /* avx512f_divv16sf3_mask_round */
    5259                 :       5084 :     case 1582:  /* *mulv8df3_mask_round */
    5260                 :       5084 :     case 1574:  /* *mulv16sf3_mask_round */
    5261                 :       5084 :     case 1526:  /* *subv2df3_mask_round */
    5262                 :       5084 :     case 1522:  /* *addv2df3_mask_round */
    5263                 :       5084 :     case 1518:  /* *subv4df3_mask_round */
    5264                 :       5084 :     case 1514:  /* *addv4df3_mask_round */
    5265                 :       5084 :     case 1510:  /* *subv8df3_mask_round */
    5266                 :       5084 :     case 1506:  /* *addv8df3_mask_round */
    5267                 :       5084 :     case 1502:  /* *subv4sf3_mask_round */
    5268                 :       5084 :     case 1498:  /* *addv4sf3_mask_round */
    5269                 :       5084 :     case 1494:  /* *subv8sf3_mask_round */
    5270                 :       5084 :     case 1490:  /* *addv8sf3_mask_round */
    5271                 :       5084 :     case 1486:  /* *subv16sf3_mask_round */
    5272                 :       5084 :     case 1482:  /* *addv16sf3_mask_round */
    5273                 :       5084 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5274                 :       5084 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 0));
    5275                 :       5084 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0), 1));
    5276                 :       5084 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    5277                 :       5084 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 2));
    5278                 :       5084 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (pat, 1), 0, 1));
    5279                 :       5084 :       break;
    5280                 :            : 
    5281                 :     105685 :     case 5293:  /* avx512bw_lshrvv32hi_mask */
    5282                 :     105685 :     case 5291:  /* avx512bw_ashlvv32hi_mask */
    5283                 :     105685 :     case 5289:  /* avx512vl_lshrvv16hi_mask */
    5284                 :     105685 :     case 5287:  /* avx512vl_ashlvv16hi_mask */
    5285                 :     105685 :     case 5285:  /* avx512vl_lshrvv8hi_mask */
    5286                 :     105685 :     case 5283:  /* avx512vl_ashlvv8hi_mask */
    5287                 :     105685 :     case 5281:  /* avx2_lshrvv2di_mask */
    5288                 :     105685 :     case 5279:  /* avx2_ashlvv2di_mask */
    5289                 :     105685 :     case 5277:  /* avx2_lshrvv4di_mask */
    5290                 :     105685 :     case 5275:  /* avx2_ashlvv4di_mask */
    5291                 :     105685 :     case 5273:  /* avx512f_lshrvv8di_mask */
    5292                 :     105685 :     case 5271:  /* avx512f_ashlvv8di_mask */
    5293                 :     105685 :     case 5269:  /* avx2_lshrvv4si_mask */
    5294                 :     105685 :     case 5267:  /* avx2_ashlvv4si_mask */
    5295                 :     105685 :     case 5265:  /* avx2_lshrvv8si_mask */
    5296                 :     105685 :     case 5263:  /* avx2_ashlvv8si_mask */
    5297                 :     105685 :     case 5261:  /* avx512f_lshrvv16si_mask */
    5298                 :     105685 :     case 5259:  /* avx512f_ashlvv16si_mask */
    5299                 :     105685 :     case 5257:  /* avx512bw_ashrvv32hi_mask */
    5300                 :     105685 :     case 5255:  /* avx512vl_ashrvv16hi_mask */
    5301                 :     105685 :     case 5253:  /* avx512vl_ashrvv8hi_mask */
    5302                 :     105685 :     case 5251:  /* avx512f_ashrvv8di_mask */
    5303                 :     105685 :     case 5249:  /* avx2_ashrvv4di_mask */
    5304                 :     105685 :     case 5247:  /* avx2_ashrvv2di_mask */
    5305                 :     105685 :     case 5245:  /* avx512f_ashrvv16si_mask */
    5306                 :     105685 :     case 5243:  /* avx2_ashrvv8si_mask */
    5307                 :     105685 :     case 5241:  /* avx2_ashrvv4si_mask */
    5308                 :     105685 :     case 3966:  /* xorv2di3_mask */
    5309                 :     105685 :     case 3964:  /* iorv2di3_mask */
    5310                 :     105685 :     case 3962:  /* andv2di3_mask */
    5311                 :     105685 :     case 3960:  /* xorv4di3_mask */
    5312                 :     105685 :     case 3958:  /* iorv4di3_mask */
    5313                 :     105685 :     case 3956:  /* andv4di3_mask */
    5314                 :     105685 :     case 3954:  /* xorv8di3_mask */
    5315                 :     105685 :     case 3952:  /* iorv8di3_mask */
    5316                 :     105685 :     case 3950:  /* andv8di3_mask */
    5317                 :     105685 :     case 3948:  /* xorv4si3_mask */
    5318                 :     105685 :     case 3946:  /* iorv4si3_mask */
    5319                 :     105685 :     case 3944:  /* andv4si3_mask */
    5320                 :     105685 :     case 3942:  /* xorv8si3_mask */
    5321                 :     105685 :     case 3940:  /* iorv8si3_mask */
    5322                 :     105685 :     case 3938:  /* andv8si3_mask */
    5323                 :     105685 :     case 3936:  /* xorv16si3_mask */
    5324                 :     105685 :     case 3934:  /* iorv16si3_mask */
    5325                 :     105685 :     case 3932:  /* andv16si3_mask */
    5326                 :     105685 :     case 3906:  /* one_cmplv2di2_mask */
    5327                 :     105685 :     case 3904:  /* one_cmplv4di2_mask */
    5328                 :     105685 :     case 3902:  /* one_cmplv4si2_mask */
    5329                 :     105685 :     case 3900:  /* one_cmplv8si2_mask */
    5330                 :     105685 :     case 3898:  /* one_cmplv8hi2_mask */
    5331                 :     105685 :     case 3896:  /* one_cmplv16hi2_mask */
    5332                 :     105685 :     case 3894:  /* one_cmplv32hi2_mask */
    5333                 :     105685 :     case 3892:  /* one_cmplv16qi2_mask */
    5334                 :     105685 :     case 3890:  /* one_cmplv32qi2_mask */
    5335                 :     105685 :     case 3888:  /* one_cmplv64qi2_mask */
    5336                 :     105685 :     case 3886:  /* one_cmplv8di2_mask */
    5337                 :     105685 :     case 3884:  /* one_cmplv16si2_mask */
    5338                 :     105685 :     case 3816:  /* *sse4_1_uminv4si3_mask */
    5339                 :     105685 :     case 3814:  /* *sse4_1_umaxv4si3_mask */
    5340                 :     105685 :     case 3812:  /* *sse4_1_uminv8hi3_mask */
    5341                 :     105685 :     case 3810:  /* *sse4_1_umaxv8hi3_mask */
    5342                 :     105685 :     case 3806:  /* *sse4_1_sminv4si3_mask */
    5343                 :     105685 :     case 3804:  /* *sse4_1_smaxv4si3_mask */
    5344                 :     105685 :     case 3802:  /* *sse4_1_sminv16qi3_mask */
    5345                 :     105685 :     case 3800:  /* *sse4_1_smaxv16qi3_mask */
    5346                 :     105685 :     case 3798:  /* uminv8hi3_mask */
    5347                 :     105685 :     case 3796:  /* umaxv8hi3_mask */
    5348                 :     105685 :     case 3794:  /* sminv8hi3_mask */
    5349                 :     105685 :     case 3792:  /* smaxv8hi3_mask */
    5350                 :     105685 :     case 3790:  /* uminv16hi3_mask */
    5351                 :     105685 :     case 3788:  /* umaxv16hi3_mask */
    5352                 :     105685 :     case 3786:  /* sminv16hi3_mask */
    5353                 :     105685 :     case 3784:  /* smaxv16hi3_mask */
    5354                 :     105685 :     case 3782:  /* uminv32hi3_mask */
    5355                 :     105685 :     case 3780:  /* umaxv32hi3_mask */
    5356                 :     105685 :     case 3778:  /* sminv32hi3_mask */
    5357                 :     105685 :     case 3776:  /* smaxv32hi3_mask */
    5358                 :     105685 :     case 3774:  /* uminv32qi3_mask */
    5359                 :     105685 :     case 3772:  /* umaxv32qi3_mask */
    5360                 :     105685 :     case 3770:  /* sminv32qi3_mask */
    5361                 :     105685 :     case 3768:  /* smaxv32qi3_mask */
    5362                 :     105685 :     case 3766:  /* uminv16qi3_mask */
    5363                 :     105685 :     case 3764:  /* umaxv16qi3_mask */
    5364                 :     105685 :     case 3762:  /* sminv16qi3_mask */
    5365                 :     105685 :     case 3760:  /* smaxv16qi3_mask */
    5366                 :     105685 :     case 3758:  /* uminv64qi3_mask */
    5367                 :     105685 :     case 3756:  /* umaxv64qi3_mask */
    5368                 :     105685 :     case 3754:  /* sminv64qi3_mask */
    5369                 :     105685 :     case 3752:  /* smaxv64qi3_mask */
    5370                 :     105685 :     case 3750:  /* *avx512f_uminv2di3_mask */
    5371                 :     105685 :     case 3748:  /* *avx512f_umaxv2di3_mask */
    5372                 :     105685 :     case 3746:  /* *avx512f_sminv2di3_mask */
    5373                 :     105685 :     case 3744:  /* *avx512f_smaxv2di3_mask */
    5374                 :     105685 :     case 3742:  /* *avx512f_uminv4di3_mask */
    5375                 :     105685 :     case 3740:  /* *avx512f_umaxv4di3_mask */
    5376                 :     105685 :     case 3738:  /* *avx512f_sminv4di3_mask */
    5377                 :     105685 :     case 3736:  /* *avx512f_smaxv4di3_mask */
    5378                 :     105685 :     case 3734:  /* *avx512f_uminv8di3_mask */
    5379                 :     105685 :     case 3732:  /* *avx512f_umaxv8di3_mask */
    5380                 :     105685 :     case 3730:  /* *avx512f_sminv8di3_mask */
    5381                 :     105685 :     case 3728:  /* *avx512f_smaxv8di3_mask */
    5382                 :     105685 :     case 3726:  /* *avx512f_uminv4si3_mask */
    5383                 :     105685 :     case 3724:  /* *avx512f_umaxv4si3_mask */
    5384                 :     105685 :     case 3722:  /* *avx512f_sminv4si3_mask */
    5385                 :     105685 :     case 3720:  /* *avx512f_smaxv4si3_mask */
    5386                 :     105685 :     case 3718:  /* *avx512f_uminv8si3_mask */
    5387                 :     105685 :     case 3716:  /* *avx512f_umaxv8si3_mask */
    5388                 :     105685 :     case 3714:  /* *avx512f_sminv8si3_mask */
    5389                 :     105685 :     case 3712:  /* *avx512f_smaxv8si3_mask */
    5390                 :     105685 :     case 3710:  /* *avx512f_uminv16si3_mask */
    5391                 :     105685 :     case 3708:  /* *avx512f_umaxv16si3_mask */
    5392                 :     105685 :     case 3706:  /* *avx512f_sminv16si3_mask */
    5393                 :     105685 :     case 3704:  /* *avx512f_smaxv16si3_mask */
    5394                 :     105685 :     case 3690:  /* avx512vl_rorv2di_mask */
    5395                 :     105685 :     case 3688:  /* avx512vl_rolv2di_mask */
    5396                 :     105685 :     case 3686:  /* avx512vl_rorv4di_mask */
    5397                 :     105685 :     case 3684:  /* avx512vl_rolv4di_mask */
    5398                 :     105685 :     case 3682:  /* avx512f_rorv8di_mask */
    5399                 :     105685 :     case 3680:  /* avx512f_rolv8di_mask */
    5400                 :     105685 :     case 3678:  /* avx512vl_rorv4si_mask */
    5401                 :     105685 :     case 3676:  /* avx512vl_rolv4si_mask */
    5402                 :     105685 :     case 3674:  /* avx512vl_rorv8si_mask */
    5403                 :     105685 :     case 3672:  /* avx512vl_rolv8si_mask */
    5404                 :     105685 :     case 3670:  /* avx512f_rorv16si_mask */
    5405                 :     105685 :     case 3668:  /* avx512f_rolv16si_mask */
    5406                 :     105685 :     case 3666:  /* avx512vl_rorvv2di_mask */
    5407                 :     105685 :     case 3664:  /* avx512vl_rolvv2di_mask */
    5408                 :     105685 :     case 3662:  /* avx512vl_rorvv4di_mask */
    5409                 :     105685 :     case 3660:  /* avx512vl_rolvv4di_mask */
    5410                 :     105685 :     case 3658:  /* avx512f_rorvv8di_mask */
    5411                 :     105685 :     case 3656:  /* avx512f_rolvv8di_mask */
    5412                 :     105685 :     case 3654:  /* avx512vl_rorvv4si_mask */
    5413                 :     105685 :     case 3652:  /* avx512vl_rolvv4si_mask */
    5414                 :     105685 :     case 3650:  /* avx512vl_rorvv8si_mask */
    5415                 :     105685 :     case 3648:  /* avx512vl_rolvv8si_mask */
    5416                 :     105685 :     case 3646:  /* avx512f_rorvv16si_mask */
    5417                 :     105685 :     case 3644:  /* avx512f_rolvv16si_mask */
    5418                 :     105685 :     case 3632:  /* lshrv8di3_mask */
    5419                 :     105685 :     case 3630:  /* ashlv8di3_mask */
    5420                 :     105685 :     case 3628:  /* lshrv16si3_mask */
    5421                 :     105685 :     case 3626:  /* ashlv16si3_mask */
    5422                 :     105685 :     case 3624:  /* lshrv32hi3_mask */
    5423                 :     105685 :     case 3622:  /* ashlv32hi3_mask */
    5424                 :     105685 :     case 3608:  /* lshrv2di3_mask */
    5425                 :     105685 :     case 3606:  /* ashlv2di3_mask */
    5426                 :     105685 :     case 3604:  /* lshrv4di3_mask */
    5427                 :     105685 :     case 3602:  /* ashlv4di3_mask */
    5428                 :     105685 :     case 3600:  /* lshrv4si3_mask */
    5429                 :     105685 :     case 3598:  /* ashlv4si3_mask */
    5430                 :     105685 :     case 3596:  /* lshrv8si3_mask */
    5431                 :     105685 :     case 3594:  /* ashlv8si3_mask */
    5432                 :     105685 :     case 3592:  /* lshrv8hi3_mask */
    5433                 :     105685 :     case 3590:  /* ashlv8hi3_mask */
    5434                 :     105685 :     case 3588:  /* lshrv16hi3_mask */
    5435                 :     105685 :     case 3586:  /* ashlv16hi3_mask */
    5436                 :     105685 :     case 3584:  /* ashrv8di3_mask */
    5437                 :     105685 :     case 3582:  /* ashrv16si3_mask */
    5438                 :     105685 :     case 3580:  /* ashrv4di3_mask */
    5439                 :     105685 :     case 3578:  /* ashrv32hi3_mask */
    5440                 :     105685 :     case 3572:  /* ashrv2di3_mask */
    5441                 :     105685 :     case 3570:  /* ashrv4si3_mask */
    5442                 :     105685 :     case 3568:  /* ashrv8si3_mask */
    5443                 :     105685 :     case 3566:  /* ashrv8hi3_mask */
    5444                 :     105685 :     case 3564:  /* ashrv16hi3_mask */
    5445                 :     105685 :     case 3562:  /* *sse4_1_mulv4si3_mask */
    5446                 :     105685 :     case 3560:  /* *avx2_mulv8si3_mask */
    5447                 :     105685 :     case 3558:  /* *avx512f_mulv16si3_mask */
    5448                 :     105685 :     case 3556:  /* avx512dq_mulv2di3_mask */
    5449                 :     105685 :     case 3554:  /* avx512dq_mulv4di3_mask */
    5450                 :     105685 :     case 3552:  /* avx512dq_mulv8di3_mask */
    5451                 :     105685 :     case 3518:  /* *mulv8hi3_mask */
    5452                 :     105685 :     case 3516:  /* *mulv16hi3_mask */
    5453                 :     105685 :     case 3514:  /* *mulv32hi3_mask */
    5454                 :     105685 :     case 3512:  /* *sse2_ussubv8hi3_mask */
    5455                 :     105685 :     case 3510:  /* *sse2_sssubv8hi3_mask */
    5456                 :     105685 :     case 3508:  /* *sse2_usaddv8hi3_mask */
    5457                 :     105685 :     case 3506:  /* *sse2_ssaddv8hi3_mask */
    5458                 :     105685 :     case 3504:  /* *avx2_ussubv16hi3_mask */
    5459                 :     105685 :     case 3502:  /* *avx2_sssubv16hi3_mask */
    5460                 :     105685 :     case 3500:  /* *avx2_usaddv16hi3_mask */
    5461                 :     105685 :     case 3498:  /* *avx2_ssaddv16hi3_mask */
    5462                 :     105685 :     case 3496:  /* *avx512bw_ussubv32hi3_mask */
    5463                 :     105685 :     case 3494:  /* *avx512bw_sssubv32hi3_mask */
    5464                 :     105685 :     case 3492:  /* *avx512bw_usaddv32hi3_mask */
    5465                 :     105685 :     case 3490:  /* *avx512bw_ssaddv32hi3_mask */
    5466                 :     105685 :     case 3488:  /* *sse2_ussubv16qi3_mask */
    5467                 :     105685 :     case 3486:  /* *sse2_sssubv16qi3_mask */
    5468                 :     105685 :     case 3484:  /* *sse2_usaddv16qi3_mask */
    5469                 :     105685 :     case 3482:  /* *sse2_ssaddv16qi3_mask */
    5470                 :     105685 :     case 3480:  /* *avx2_ussubv32qi3_mask */
    5471                 :     105685 :     case 3478:  /* *avx2_sssubv32qi3_mask */
    5472                 :     105685 :     case 3476:  /* *avx2_usaddv32qi3_mask */
    5473                 :     105685 :     case 3474:  /* *avx2_ssaddv32qi3_mask */
    5474                 :     105685 :     case 3472:  /* *avx512bw_ussubv64qi3_mask */
    5475                 :     105685 :     case 3470:  /* *avx512bw_sssubv64qi3_mask */
    5476                 :     105685 :     case 3468:  /* *avx512bw_usaddv64qi3_mask */
    5477                 :     105685 :     case 3466:  /* *avx512bw_ssaddv64qi3_mask */
    5478                 :     105685 :     case 3464:  /* *subv8hi3_mask */
    5479                 :     105685 :     case 3463:  /* *addv8hi3_mask */
    5480                 :     105685 :     case 3462:  /* *subv16hi3_mask */
    5481                 :     105685 :     case 3461:  /* *addv16hi3_mask */
    5482                 :     105685 :     case 3460:  /* *subv32hi3_mask */
    5483                 :     105685 :     case 3459:  /* *addv32hi3_mask */
    5484                 :     105685 :     case 3458:  /* *subv32qi3_mask */
    5485                 :     105685 :     case 3457:  /* *addv32qi3_mask */
    5486                 :     105685 :     case 3456:  /* *subv16qi3_mask */
    5487                 :     105685 :     case 3455:  /* *addv16qi3_mask */
    5488                 :     105685 :     case 3454:  /* *subv64qi3_mask */
    5489                 :     105685 :     case 3453:  /* *addv64qi3_mask */
    5490                 :     105685 :     case 3452:  /* *subv2di3_mask */
    5491                 :     105685 :     case 3451:  /* *addv2di3_mask */
    5492                 :     105685 :     case 3450:  /* *subv4di3_mask */
    5493                 :     105685 :     case 3449:  /* *addv4di3_mask */
    5494                 :     105685 :     case 3448:  /* *subv8di3_mask */
    5495                 :     105685 :     case 3447:  /* *addv8di3_mask */
    5496                 :     105685 :     case 3446:  /* *subv4si3_mask */
    5497                 :     105685 :     case 3445:  /* *addv4si3_mask */
    5498                 :     105685 :     case 3444:  /* *subv8si3_mask */
    5499                 :     105685 :     case 3443:  /* *addv8si3_mask */
    5500                 :     105685 :     case 3442:  /* *subv16si3_mask */
    5501                 :     105685 :     case 3441:  /* *addv16si3_mask */
    5502                 :     105685 :     case 2038:  /* *xorv8df3_mask */
    5503                 :     105685 :     case 2036:  /* *iorv8df3_mask */
    5504                 :     105685 :     case 2034:  /* *andv8df3_mask */
    5505                 :     105685 :     case 2032:  /* *xorv16sf3_mask */
    5506                 :     105685 :     case 2030:  /* *iorv16sf3_mask */
    5507                 :     105685 :     case 2028:  /* *andv16sf3_mask */
    5508                 :     105685 :     case 2026:  /* *xorv2df3_mask */
    5509                 :     105685 :     case 2024:  /* *iorv2df3_mask */
    5510                 :     105685 :     case 2022:  /* *andv2df3_mask */
    5511                 :     105685 :     case 2020:  /* *xorv4df3_mask */
    5512                 :     105685 :     case 2018:  /* *iorv4df3_mask */
    5513                 :     105685 :     case 2016:  /* *andv4df3_mask */
    5514                 :     105685 :     case 2014:  /* *xorv4sf3_mask */
    5515                 :     105685 :     case 2012:  /* *iorv4sf3_mask */
    5516                 :     105685 :     case 2010:  /* *andv4sf3_mask */
    5517                 :     105685 :     case 2008:  /* *xorv8sf3_mask */
    5518                 :     105685 :     case 2006:  /* *iorv8sf3_mask */
    5519                 :     105685 :     case 2004:  /* *andv8sf3_mask */
    5520                 :     105685 :     case 1750:  /* *sminv2df3_mask */
    5521                 :     105685 :     case 1748:  /* *smaxv2df3_mask */
    5522                 :     105685 :     case 1746:  /* *sminv4df3_mask */
    5523                 :     105685 :     case 1744:  /* *smaxv4df3_mask */
    5524                 :     105685 :     case 1741:  /* *sminv8df3_mask */
    5525                 :     105685 :     case 1737:  /* *smaxv8df3_mask */
    5526                 :     105685 :     case 1734:  /* *sminv4sf3_mask */
    5527                 :     105685 :     case 1732:  /* *smaxv4sf3_mask */
    5528                 :     105685 :     case 1730:  /* *sminv8sf3_mask */
    5529                 :     105685 :     case 1728:  /* *smaxv8sf3_mask */
    5530                 :     105685 :     case 1725:  /* *sminv16sf3_mask */
    5531                 :     105685 :     case 1721:  /* *smaxv16sf3_mask */
    5532                 :     105685 :     case 1634:  /* sse2_divv2df3_mask */
    5533                 :     105685 :     case 1632:  /* avx_divv4df3_mask */
    5534                 :     105685 :     case 1629:  /* avx512f_divv8df3_mask */
    5535                 :     105685 :     case 1626:  /* sse_divv4sf3_mask */
    5536                 :     105685 :     case 1624:  /* avx_divv8sf3_mask */
    5537                 :     105685 :     case 1621:  /* avx512f_divv16sf3_mask */
    5538                 :     105685 :     case 1586:  /* *mulv2df3_mask */
    5539                 :     105685 :     case 1584:  /* *mulv4df3_mask */
    5540                 :     105685 :     case 1581:  /* *mulv8df3_mask */
    5541                 :     105685 :     case 1578:  /* *mulv4sf3_mask */
    5542                 :     105685 :     case 1576:  /* *mulv8sf3_mask */
    5543                 :     105685 :     case 1573:  /* *mulv16sf3_mask */
    5544                 :     105685 :     case 1525:  /* *subv2df3_mask */
    5545                 :     105685 :     case 1521:  /* *addv2df3_mask */
    5546                 :     105685 :     case 1517:  /* *subv4df3_mask */
    5547                 :     105685 :     case 1513:  /* *addv4df3_mask */
    5548                 :     105685 :     case 1509:  /* *subv8df3_mask */
    5549                 :     105685 :     case 1505:  /* *addv8df3_mask */
    5550                 :     105685 :     case 1501:  /* *subv4sf3_mask */
    5551                 :     105685 :     case 1497:  /* *addv4sf3_mask */
    5552                 :     105685 :     case 1493:  /* *subv8sf3_mask */
    5553                 :     105685 :     case 1489:  /* *addv8sf3_mask */
    5554                 :     105685 :     case 1485:  /* *subv16sf3_mask */
    5555                 :     105685 :     case 1481:  /* *addv16sf3_mask */
    5556                 :     105685 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5557                 :     105685 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    5558                 :     105685 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    5559                 :     105685 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
    5560                 :     105685 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 2));
    5561                 :     105685 :       break;
    5562                 :            : 
    5563                 :        881 :     case 1740:  /* *sminv8df3_round */
    5564                 :        881 :     case 1736:  /* *smaxv8df3_round */
    5565                 :        881 :     case 1724:  /* *sminv16sf3_round */
    5566                 :        881 :     case 1720:  /* *smaxv16sf3_round */
    5567                 :        881 :     case 1628:  /* avx512f_divv8df3_round */
    5568                 :        881 :     case 1620:  /* avx512f_divv16sf3_round */
    5569                 :        881 :     case 1580:  /* *mulv8df3_round */
    5570                 :        881 :     case 1572:  /* *mulv16sf3_round */
    5571                 :        881 :     case 1524:  /* *subv2df3_round */
    5572                 :        881 :     case 1520:  /* *addv2df3_round */
    5573                 :        881 :     case 1516:  /* *subv4df3_round */
    5574                 :        881 :     case 1512:  /* *addv4df3_round */
    5575                 :        881 :     case 1508:  /* *subv8df3_round */
    5576                 :        881 :     case 1504:  /* *addv8df3_round */
    5577                 :        881 :     case 1500:  /* *subv4sf3_round */
    5578                 :        881 :     case 1496:  /* *addv4sf3_round */
    5579                 :        881 :     case 1492:  /* *subv8sf3_round */
    5580                 :        881 :     case 1488:  /* *addv8sf3_round */
    5581                 :        881 :     case 1484:  /* *subv16sf3_round */
    5582                 :        881 :     case 1480:  /* *addv16sf3_round */
    5583                 :        881 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5584                 :        881 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0));
    5585                 :        881 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 1));
    5586                 :        881 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (pat, 1), 0, 1));
    5587                 :        881 :       break;
    5588                 :            : 
    5589                 :       1896 :     case 1460:  /* kunpckdi */
    5590                 :       1896 :     case 1459:  /* kunpcksi */
    5591                 :       1896 :     case 1458:  /* kunpckhi */
    5592                 :       1896 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5593                 :       1896 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    5594                 :       1896 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
    5595                 :       1896 :       break;
    5596                 :            : 
    5597                 :       8915 :     case 1398:  /* avx512vl_storev8hi_mask */
    5598                 :       8915 :     case 1397:  /* avx512vl_storev16hi_mask */
    5599                 :       8915 :     case 1396:  /* avx512bw_storev32hi_mask */
    5600                 :       8915 :     case 1395:  /* avx512vl_storev32qi_mask */
    5601                 :       8915 :     case 1394:  /* avx512vl_storev16qi_mask */
    5602                 :       8915 :     case 1393:  /* avx512bw_storev64qi_mask */
    5603                 :       8915 :     case 1392:  /* avx512vl_storev2df_mask */
    5604                 :       8915 :     case 1391:  /* avx512vl_storev4df_mask */
    5605                 :       8915 :     case 1390:  /* avx512f_storev8df_mask */
    5606                 :       8915 :     case 1389:  /* avx512vl_storev4sf_mask */
    5607                 :       8915 :     case 1388:  /* avx512vl_storev8sf_mask */
    5608                 :       8915 :     case 1387:  /* avx512f_storev16sf_mask */
    5609                 :       8915 :     case 1386:  /* avx512vl_storev2di_mask */
    5610                 :       8915 :     case 1385:  /* avx512vl_storev4di_mask */
    5611                 :       8915 :     case 1384:  /* avx512f_storev8di_mask */
    5612                 :       8915 :     case 1383:  /* avx512vl_storev4si_mask */
    5613                 :       8915 :     case 1382:  /* avx512vl_storev8si_mask */
    5614                 :       8915 :     case 1381:  /* avx512f_storev16si_mask */
    5615                 :       8915 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5616                 :       8915 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
    5617                 :       8915 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 2));
    5618                 :       8915 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
    5619                 :       8915 :       recog_data.dup_num[0] = 0;
    5620                 :       8915 :       break;
    5621                 :            : 
    5622                 :      19307 :     case 4569:  /* avx2_pblenddv4si */
    5623                 :      19307 :     case 4568:  /* avx2_pblenddv8si */
    5624                 :      19307 :     case 4567:  /* *avx2_pblendw */
    5625                 :      19307 :     case 4566:  /* sse4_1_pblendw */
    5626                 :      19307 :     case 4532:  /* sse4_1_blendpd */
    5627                 :      19307 :     case 4531:  /* avx_blendpd256 */
    5628                 :      19307 :     case 4530:  /* sse4_1_blendps */
    5629                 :      19307 :     case 4529:  /* avx_blendps256 */
    5630                 :      19307 :     case 1380:  /* avx512vl_blendmv8hi */
    5631                 :      19307 :     case 1379:  /* avx512vl_blendmv16hi */
    5632                 :      19307 :     case 1378:  /* avx512bw_blendmv32hi */
    5633                 :      19307 :     case 1377:  /* avx512vl_blendmv32qi */
    5634                 :      19307 :     case 1376:  /* avx512vl_blendmv16qi */
    5635                 :      19307 :     case 1375:  /* avx512bw_blendmv64qi */
    5636                 :      19307 :     case 1374:  /* avx512vl_blendmv2df */
    5637                 :      19307 :     case 1373:  /* avx512vl_blendmv4df */
    5638                 :      19307 :     case 1372:  /* avx512f_blendmv8df */
    5639                 :      19307 :     case 1371:  /* avx512vl_blendmv4sf */
    5640                 :      19307 :     case 1370:  /* avx512vl_blendmv8sf */
    5641                 :      19307 :     case 1369:  /* avx512f_blendmv16sf */
    5642                 :      19307 :     case 1368:  /* avx512vl_blendmv2di */
    5643                 :      19307 :     case 1367:  /* avx512vl_blendmv4di */
    5644                 :      19307 :     case 1366:  /* avx512f_blendmv8di */
    5645                 :      19307 :     case 1365:  /* avx512vl_blendmv4si */
    5646                 :      19307 :     case 1364:  /* avx512vl_blendmv8si */
    5647                 :      19307 :     case 1363:  /* avx512f_blendmv16si */
    5648                 :      19307 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5649                 :      19307 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
    5650                 :      19307 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 0));
    5651                 :      19307 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 2));
    5652                 :      19307 :       break;
    5653                 :            : 
    5654                 :        392 :     case 1362:  /* avx512f_storedf_mask */
    5655                 :        392 :     case 1361:  /* avx512f_storesf_mask */
    5656                 :        392 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5657                 :        392 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
    5658                 :        392 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    5659                 :        392 :       recog_data.dup_loc[0] = &XEXP (XEXP (pat, 1), 2);
    5660                 :        392 :       recog_data.dup_num[0] = 0;
    5661                 :        392 :       break;
    5662                 :            : 
    5663                 :       1005 :     case 2542:  /* *fma4i_vmfnmadd_v2df */
    5664                 :       1005 :     case 2541:  /* *fma4i_vmfnmadd_v4sf */
    5665                 :       1005 :     case 1360:  /* *avx512f_loaddf_mask */
    5666                 :       1005 :     case 1359:  /* *avx512f_loadsf_mask */
    5667                 :       1005 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5668                 :       1005 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    5669                 :       1005 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    5670                 :       1005 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    5671                 :       1005 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (pat, 1), 1));
    5672                 :       1005 :       break;
    5673                 :            : 
    5674                 :        934 :     case 1358:  /* avx512f_movdf_mask */
    5675                 :        934 :     case 1357:  /* avx512f_movsf_mask */
    5676                 :        934 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5677                 :        934 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
    5678                 :        934 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    5679                 :        934 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    5680                 :        934 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
    5681                 :        934 :       break;
    5682                 :            : 
    5683                 :        454 :     case 4425:  /* *sse2_maskmovdqu */
    5684                 :        454 :     case 4424:  /* *sse2_maskmovdqu */
    5685                 :        454 :     case 1315:  /* *mmx_maskmovq */
    5686                 :        454 :     case 1314:  /* *mmx_maskmovq */
    5687                 :        454 :       ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 0), 0));
    5688                 :        454 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (pat, 1), 0, 0));
    5689                 :        454 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (pat, 1), 0, 1));
    5690                 :        454 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 2), 0);
    5691                 :        454 :       recog_data.dup_num[0] = 0;
    5692                 :        454 :       break;
    5693                 :            : 
    5694                 :     299306 :     case 4958:  /* avx2_permv4df_1 */
    5695                 :     299306 :     case 4956:  /* avx2_permv4di_1 */
    5696                 :     299306 :     case 4325:  /* sse2_pshuflw_1 */
    5697                 :     299306 :     case 4319:  /* sse2_pshufd_1 */
    5698                 :     299306 :     case 2932:  /* *avx512f_vextracti32x4_1 */
    5699                 :     299306 :     case 2930:  /* *avx512f_vextractf32x4_1 */
    5700                 :     299306 :     case 1299:  /* mmx_pshufw_1 */
    5701                 :     299306 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5702                 :     299306 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
    5703                 :     299306 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 0));
    5704                 :     299306 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 1));
    5705                 :     299306 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 2));
    5706                 :     299306 :       ro[5] = *(ro_loc[5] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 3));
    5707                 :     299306 :       break;
    5708                 :            : 
    5709                 :     250427 :     case 4351:  /* *vec_extractv4si_zext_mem */
    5710                 :     250427 :     case 4349:  /* *vec_extractv4si_zext */
    5711                 :     250427 :     case 4340:  /* *vec_extractv16qi_zext */
    5712                 :     250427 :     case 4339:  /* *vec_extractv8hi_zext */
    5713                 :     250427 :     case 4338:  /* *vec_extractv8hi_zext */
    5714                 :     250427 :     case 4337:  /* *vec_extractv16qi_zext */
    5715                 :     250427 :     case 4336:  /* *vec_extractv16qi_zext */
    5716                 :     250427 :     case 1309:  /* *vec_extractv2si_zext_mem */
    5717                 :     250427 :     case 1298:  /* *mmx_pextrb_zext */
    5718                 :     250427 :     case 1297:  /* *mmx_pextrb_zext */
    5719                 :     250427 :     case 1296:  /* *mmx_pextrb_zext */
    5720                 :     250427 :     case 1294:  /* *mmx_pextrw_zext */
    5721                 :     250427 :     case 1293:  /* *mmx_pextrw_zext */
    5722                 :     250427 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5723                 :     250427 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    5724                 :     250427 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0, 0));
    5725                 :     250427 :       break;
    5726                 :            : 
    5727                 :     401829 :     case 4354:  /* *vec_extractv4ti */
    5728                 :     401829 :     case 4353:  /* *vec_extractv2ti */
    5729                 :     401829 :     case 4350:  /* *vec_extractv4si_mem */
    5730                 :     401829 :     case 4348:  /* *vec_extractv4si */
    5731                 :     401829 :     case 4342:  /* *vec_extractv8hi_mem */
    5732                 :     401829 :     case 4341:  /* *vec_extractv16qi_mem */
    5733                 :     401829 :     case 4335:  /* *vec_extractv8hi */
    5734                 :     401829 :     case 4334:  /* *vec_extractv16qi */
    5735                 :     401829 :     case 2921:  /* *vec_extractv4sf_mem */
    5736                 :     401829 :     case 2920:  /* *sse4_1_extractps */
    5737                 :     401829 :     case 1295:  /* *mmx_pextrb */
    5738                 :     401829 :     case 1292:  /* *mmx_pextrw */
    5739                 :     401829 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5740                 :     401829 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
    5741                 :     401829 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 0));
    5742                 :     401829 :       break;
    5743                 :            : 
    5744                 :      89184 :     case 4270:  /* sse4_1_pinsrq */
    5745                 :      89184 :     case 4269:  /* sse4_1_pinsrd */
    5746                 :      89184 :     case 4268:  /* sse2_pinsrw */
    5747                 :      89184 :     case 4267:  /* sse4_1_pinsrb */
    5748                 :      89184 :     case 2912:  /* *vec_setv4sf_sse4_1 */
    5749                 :      89184 :     case 1291:  /* *mmx_pinsrb */
    5750                 :      89184 :     case 1290:  /* *mmx_pinsrw */
    5751                 :      89184 :     case 1289:  /* *mmx_pinsrd */
    5752                 :      89184 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5753                 :      89184 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
    5754                 :      89184 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    5755                 :      89184 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 2));
    5756                 :      89184 :       break;
    5757                 :            : 
    5758                 :      75417 :     case 4560:  /* sse4_1_packusdw */
    5759                 :      75417 :     case 4558:  /* avx2_packusdw */
    5760                 :      75417 :     case 4556:  /* avx512bw_packusdw */
    5761                 :      75417 :     case 4229:  /* sse2_packuswb */
    5762                 :      75417 :     case 4227:  /* avx2_packuswb */
    5763                 :      75417 :     case 4225:  /* avx512bw_packuswb */
    5764                 :      75417 :     case 4223:  /* sse2_packssdw */
    5765                 :      75417 :     case 4221:  /* avx2_packssdw */
    5766                 :      75417 :     case 4219:  /* avx512bw_packssdw */
    5767                 :      75417 :     case 4217:  /* sse2_packsswb */
    5768                 :      75417 :     case 4215:  /* avx2_packsswb */
    5769                 :      75417 :     case 4213:  /* avx512bw_packsswb */
    5770                 :      75417 :     case 3924:  /* *andnotv2di3_bcst */
    5771                 :      75417 :     case 3923:  /* *andnotv4di3_bcst */
    5772                 :      75417 :     case 3922:  /* *andnotv8di3_bcst */
    5773                 :      75417 :     case 3921:  /* *andnotv4si3_bcst */
    5774                 :      75417 :     case 3920:  /* *andnotv8si3_bcst */
    5775                 :      75417 :     case 3919:  /* *andnotv16si3_bcst */
    5776                 :      75417 :     case 1282:  /* mmx_packssdw */
    5777                 :      75417 :     case 1281:  /* mmx_packuswb */
    5778                 :      75417 :     case 1280:  /* mmx_packsswb */
    5779                 :      75417 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5780                 :      75417 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    5781                 :      75417 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
    5782                 :      75417 :       break;
    5783                 :            : 
    5784                 :     183095 :     case 3541:  /* *sse4_1_mulv2siv2di3 */
    5785                 :     183095 :     case 3539:  /* *vec_widen_smult_even_v8si */
    5786                 :     183095 :     case 3537:  /* *vec_widen_smult_even_v16si */
    5787                 :     183095 :     case 3535:  /* *vec_widen_umult_even_v4si */
    5788                 :     183095 :     case 3533:  /* *vec_widen_umult_even_v8si */
    5789                 :     183095 :     case 3531:  /* *vec_widen_umult_even_v16si */
    5790                 :     183095 :     case 1249:  /* *sse2_umulv1siv1di3 */
    5791                 :     183095 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5792                 :     183095 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    5793                 :     183095 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 0));
    5794                 :     183095 :       break;
    5795                 :            : 
    5796                 :        999 :     case 1311:  /* *mmx_uavgv4hi3 */
    5797                 :        999 :     case 1310:  /* *mmx_uavgv8qi3 */
    5798                 :        999 :     case 1248:  /* *mmx_pmulhrwv4hi3 */
    5799                 :        999 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5800                 :        999 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0), 0));
    5801                 :        999 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 1), 0));
    5802                 :        999 :       break;
    5803                 :            : 
    5804                 :       2565 :     case 4460:  /* ssse3_pmaddubsw */
    5805                 :       2565 :     case 4459:  /* ssse3_pmaddubsw128 */
    5806                 :       2565 :     case 4450:  /* avx2_pmaddubsw256 */
    5807                 :       2565 :     case 3550:  /* *sse2_pmaddwd */
    5808                 :       2565 :     case 3549:  /* *avx2_pmaddwd */
    5809                 :       2565 :     case 1247:  /* *mmx_pmaddwd */
    5810                 :       2565 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5811                 :       2565 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
    5812                 :       2565 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0), 0));
    5813                 :       2565 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 0), 0);
    5814                 :       2565 :       recog_data.dup_num[0] = 1;
    5815                 :       2565 :       recog_data.dup_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 0), 0);
    5816                 :       2565 :       recog_data.dup_num[1] = 2;
    5817                 :       2565 :       break;
    5818                 :            : 
    5819                 :       7531 :     case 3529:  /* *umulv8hi3_highpart */
    5820                 :       7531 :     case 3527:  /* *smulv8hi3_highpart */
    5821                 :       7531 :     case 3525:  /* *umulv16hi3_highpart */
    5822                 :       7531 :     case 3523:  /* *smulv16hi3_highpart */
    5823                 :       7531 :     case 3521:  /* *umulv32hi3_highpart */
    5824                 :       7531 :     case 3519:  /* *smulv32hi3_highpart */
    5825                 :       7531 :     case 1246:  /* *mmx_umulv4hi3_highpart */
    5826                 :       7531 :     case 1245:  /* *mmx_smulv4hi3_highpart */
    5827                 :       7531 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5828                 :       7531 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0), 0));
    5829                 :       7531 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1), 0));
    5830                 :       7531 :       break;
    5831                 :            : 
    5832                 :        386 :     case 1221:  /* mmx_pi2fw */
    5833                 :        386 :     case 1220:  /* mmx_pf2iw */
    5834                 :        386 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5835                 :        386 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    5836                 :        386 :       break;
    5837                 :            : 
    5838                 :       2735 :     case 1806:  /* sse3_addsubv4sf3 */
    5839                 :       2735 :     case 1805:  /* avx_addsubv8sf3 */
    5840                 :       2735 :     case 1804:  /* sse3_addsubv2df3 */
    5841                 :       2735 :     case 1803:  /* avx_addsubv4df3 */
    5842                 :       2735 :     case 1215:  /* mmx_addsubv2sf3 */
    5843                 :       2735 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5844                 :       2735 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    5845                 :       2735 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
    5846                 :       2735 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 1), 0);
    5847                 :       2735 :       recog_data.dup_num[0] = 1;
    5848                 :       2735 :       recog_data.dup_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 1), 1);
    5849                 :       2735 :       recog_data.dup_num[1] = 2;
    5850                 :       2735 :       break;
    5851                 :            : 
    5852                 :        926 :     case 4449:  /* ssse3_phsubdv2si3 */
    5853                 :        926 :     case 4448:  /* ssse3_phadddv2si3 */
    5854                 :        926 :     case 1810:  /* sse3_hsubv2df3 */
    5855                 :        926 :     case 1214:  /* mmx_hsubv2sf3 */
    5856                 :        926 :     case 1213:  /* mmx_haddv2sf3 */
    5857                 :        926 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5858                 :        926 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
    5859                 :        926 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 0), 0));
    5860                 :        926 :       recog_data.dup_loc[0] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0);
    5861                 :        926 :       recog_data.dup_num[0] = 1;
    5862                 :        926 :       recog_data.dup_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 1), 1), 0);
    5863                 :        926 :       recog_data.dup_num[1] = 2;
    5864                 :        926 :       break;
    5865                 :            : 
    5866                 :      10142 :     case 4731:  /* ptesttf2 */
    5867                 :      10142 :     case 4730:  /* avx_ptestv4df */
    5868                 :      10142 :     case 4729:  /* avx_ptestv8sf */
    5869                 :      10142 :     case 4728:  /* avx_ptestv4di */
    5870                 :      10142 :     case 4727:  /* avx_ptestv8si */
    5871                 :      10142 :     case 4726:  /* avx_ptestv16hi */
    5872                 :      10142 :     case 4725:  /* avx_ptestv32qi */
    5873                 :      10142 :     case 4724:  /* sse4_1_ptestv2df */
    5874                 :      10142 :     case 4723:  /* sse4_1_ptestv4sf */
    5875                 :      10142 :     case 4722:  /* sse4_1_ptestv2di */
    5876                 :      10142 :     case 4721:  /* sse4_1_ptestv4si */
    5877                 :      10142 :     case 4720:  /* sse4_1_ptestv8hi */
    5878                 :      10142 :     case 4719:  /* sse4_1_ptestv16qi */
    5879                 :      10142 :     case 4718:  /* avx_vtestpd */
    5880                 :      10142 :     case 4717:  /* avx_vtestpd256 */
    5881                 :      10142 :     case 4716:  /* avx_vtestps */
    5882                 :      10142 :     case 4715:  /* avx_vtestps256 */
    5883                 :      10142 :     case 1457:  /* kortestdi */
    5884                 :      10142 :     case 1456:  /* kortestsi */
    5885                 :      10142 :     case 1455:  /* kortesthi */
    5886                 :      10142 :     case 1454:  /* kortestqi */
    5887                 :      10142 :     case 1453:  /* ktestdi */
    5888                 :      10142 :     case 1452:  /* ktestsi */
    5889                 :      10142 :     case 1451:  /* ktesthi */
    5890                 :      10142 :     case 1450:  /* ktestqi */
    5891                 :      10142 :     case 1191:  /* tpause */
    5892                 :      10142 :     case 1187:  /* umwait */
    5893                 :      10142 :     case 1186:  /* enqcmds_di */
    5894                 :      10142 :     case 1185:  /* enqcmd_di */
    5895                 :      10142 :     case 1184:  /* enqcmds_si */
    5896                 :      10142 :     case 1183:  /* enqcmd_si */
    5897                 :      10142 :       ro[0] = *(ro_loc[0] = &XVECEXP (XEXP (pat, 1), 0, 0));
    5898                 :      10142 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (pat, 1), 0, 1));
    5899                 :      10142 :       break;
    5900                 :            : 
    5901                 :        112 :     case 1173:  /* *rdpkru */
    5902                 :        112 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
    5903                 :        112 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
    5904                 :        112 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
    5905                 :        112 :       break;
    5906                 :            : 
    5907                 :        141 :     case 1162:  /* xbegin_1 */
    5908                 :        141 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0));
    5909                 :        141 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 0));
    5910                 :        141 :       recog_data.dup_loc[0] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 0);
    5911                 :        141 :       recog_data.dup_num[0] = 0;
    5912                 :        141 :       break;
    5913                 :            : 
    5914                 :        523 :     case 1192:  /* tpause_rex64 */
    5915                 :        523 :     case 1188:  /* umwait_rex64 */
    5916                 :        523 :     case 1129:  /* *lwp_lwpinsdi3_1 */
    5917                 :        523 :     case 1128:  /* *lwp_lwpinssi3_1 */
    5918                 :        523 :       ro[0] = *(ro_loc[0] = &XVECEXP (XEXP (pat, 1), 0, 0));
    5919                 :        523 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (pat, 1), 0, 1));
    5920                 :        523 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (pat, 1), 0, 2));
    5921                 :        523 :       break;
    5922                 :            : 
    5923                 :     126607 :     case 1119:  /* fldenv */
    5924                 :     126607 :       ro[0] = *(ro_loc[0] = &XVECEXP (XVECEXP (pat, 0, 0), 0, 0));
    5925                 :     126607 :       break;
    5926                 :            : 
    5927                 :       1457 :     case 4431:  /* sse3_monitor_di */
    5928                 :       1457 :     case 4430:  /* sse3_monitor_si */
    5929                 :       1457 :     case 1174:  /* *wrpkru */
    5930                 :       1457 :     case 1170:  /* monitorx_di */
    5931                 :       1457 :     case 1169:  /* monitorx_si */
    5932                 :       1457 :     case 1168:  /* mwaitx */
    5933                 :       1457 :     case 1127:  /* *lwp_lwpvaldi3_1 */
    5934                 :       1457 :     case 1126:  /* *lwp_lwpvalsi3_1 */
    5935                 :       1457 :     case 1115:  /* xsetbv_rex64 */
    5936                 :       1457 :     case 1113:  /* xrstors64 */
    5937                 :       1457 :     case 1112:  /* xrstor64 */
    5938                 :       1457 :     case 1111:  /* xrstors_rex64 */
    5939                 :       1457 :     case 1110:  /* xrstor_rex64 */
    5940                 :       1457 :       ro[0] = *(ro_loc[0] = &XVECEXP (pat, 0, 0));
    5941                 :       1457 :       ro[1] = *(ro_loc[1] = &XVECEXP (pat, 0, 1));
    5942                 :       1457 :       ro[2] = *(ro_loc[2] = &XVECEXP (pat, 0, 2));
    5943                 :       1457 :       break;
    5944                 :            : 
    5945                 :        936 :     case 4429:  /* sse3_mwait */
    5946                 :        936 :     case 1182:  /* movdir64b_di */
    5947                 :        936 :     case 1181:  /* movdir64b_si */
    5948                 :        936 :     case 1180:  /* movdiridi */
    5949                 :        936 :     case 1179:  /* movdirisi */
    5950                 :        936 :     case 1157:  /* wrussdi */
    5951                 :        936 :     case 1156:  /* wrusssi */
    5952                 :        936 :     case 1155:  /* wrssdi */
    5953                 :        936 :     case 1154:  /* wrsssi */
    5954                 :        936 :     case 1114:  /* xsetbv */
    5955                 :        936 :     case 1109:  /* xrstors */
    5956                 :        936 :     case 1108:  /* xrstor */
    5957                 :        936 :       ro[0] = *(ro_loc[0] = &XVECEXP (pat, 0, 0));
    5958                 :        936 :       ro[1] = *(ro_loc[1] = &XVECEXP (pat, 0, 1));
    5959                 :        936 :       break;
    5960                 :            : 
    5961                 :         98 :     case 1091:  /* rdtscp_rex64 */
    5962                 :         98 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
    5963                 :         98 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
    5964                 :         98 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 2), 0));
    5965                 :         98 :       break;
    5966                 :            : 
    5967                 :        215 :     case 1090:  /* rdtscp */
    5968                 :        215 :     case 1089:  /* rdtsc_rex64 */
    5969                 :        215 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
    5970                 :        215 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
    5971                 :        215 :       break;
    5972                 :            : 
    5973                 :         10 :     case 1079:  /* *stack_protect_set_3 */
    5974                 :         10 :     case 1078:  /* *stack_protect_set_2_di */
    5975                 :         10 :     case 1077:  /* *stack_protect_set_2_si */
    5976                 :         10 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
    5977                 :         10 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
    5978                 :         10 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 1), 1));
    5979                 :         10 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
    5980                 :         10 :       break;
    5981                 :            : 
    5982                 :     255722 :     case 1072:  /* *prefetch_sse */
    5983                 :     255722 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    5984                 :     255722 :       ro[1] = *(ro_loc[1] = &XEXP (pat, 2));
    5985                 :     255722 :       break;
    5986                 :            : 
    5987                 :         34 :     case 1067:  /* adjust_stack_and_probe_di */
    5988                 :         34 :     case 1066:  /* adjust_stack_and_probe_si */
    5989                 :         34 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
    5990                 :         34 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
    5991                 :         34 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 1));
    5992                 :         34 :       break;
    5993                 :            : 
    5994                 :         17 :     case 2189:  /* **fma_fmsub_v8df_bcst_3 */
    5995                 :         17 :     case 2187:  /* **fma_fmsub_v16sf_bcst_3 */
    5996                 :         17 :     case 2185:  /* **fma_fmsub_v4df_bcst_3 */
    5997                 :         17 :     case 2183:  /* **fma_fmsub_v8sf_bcst_3 */
    5998                 :         17 :     case 2181:  /* **fma_fmsub_v2df_bcst_3 */
    5999                 :         17 :     case 2179:  /* **fma_fmsub_v4sf_bcst_3 */
    6000                 :         17 :     case 1031:  /* *movsicc_noc_zext */
    6001                 :         17 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    6002                 :         17 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
    6003                 :         17 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
    6004                 :         17 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 2), 0));
    6005                 :         17 :       break;
    6006                 :            : 
    6007                 :    3558070 :     case 2073:  /* *fma_fmadd_v2df */
    6008                 :    3558070 :     case 2071:  /* *fma_fmadd_v4df */
    6009                 :    3558070 :     case 2067:  /* *fma_fmadd_v8df */
    6010                 :    3558070 :     case 2066:  /* *fma_fmadd_df */
    6011                 :    3558070 :     case 2064:  /* *fma_fmadd_v4sf */
    6012                 :    3558070 :     case 2062:  /* *fma_fmadd_v8sf */
    6013                 :    3558070 :     case 2058:  /* *fma_fmadd_v16sf */
    6014                 :    3558070 :     case 2057:  /* *fma_fmadd_sf */
    6015                 :    3558070 :     case 2056:  /* *fma_fmadd_v4df */
    6016                 :    3558070 :     case 2055:  /* *fma_fmadd_v8sf */
    6017                 :    3558070 :     case 2054:  /* *fma_fmadd_v2df */
    6018                 :    3558070 :     case 2053:  /* *fma_fmadd_v4sf */
    6019                 :    3558070 :     case 2052:  /* *fma_fmadd_df */
    6020                 :    3558070 :     case 2051:  /* *fma_fmadd_sf */
    6021                 :    3558070 :     case 1356:  /* avx512vl_loadv8hi_mask */
    6022                 :    3558070 :     case 1355:  /* avx512vl_loadv16hi_mask */
    6023                 :    3558070 :     case 1354:  /* avx512bw_loadv32hi_mask */
    6024                 :    3558070 :     case 1353:  /* avx512vl_loadv32qi_mask */
    6025                 :    3558070 :     case 1352:  /* avx512vl_loadv16qi_mask */
    6026                 :    3558070 :     case 1351:  /* avx512bw_loadv64qi_mask */
    6027                 :    3558070 :     case 1350:  /* avx512vl_loadv2df_mask */
    6028                 :    3558070 :     case 1349:  /* avx512vl_loadv4df_mask */
    6029                 :    3558070 :     case 1348:  /* avx512f_loadv8df_mask */
    6030                 :    3558070 :     case 1347:  /* avx512vl_loadv4sf_mask */
    6031                 :    3558070 :     case 1346:  /* avx512vl_loadv8sf_mask */
    6032                 :    3558070 :     case 1345:  /* avx512f_loadv16sf_mask */
    6033                 :    3558070 :     case 1344:  /* avx512vl_loadv2di_mask */
    6034                 :    3558070 :     case 1343:  /* avx512vl_loadv4di_mask */
    6035                 :    3558070 :     case 1342:  /* avx512f_loadv8di_mask */
    6036                 :    3558070 :     case 1341:  /* avx512vl_loadv4si_mask */
    6037                 :    3558070 :     case 1340:  /* avx512vl_loadv8si_mask */
    6038                 :    3558070 :     case 1339:  /* avx512f_loadv16si_mask */
    6039                 :    3558070 :     case 1037:  /* *xop_pcmov_df */
    6040                 :    3558070 :     case 1036:  /* *xop_pcmov_sf */
    6041                 :    3558070 :     case 1035:  /* *movsfcc_1_387 */
    6042                 :    3558070 :     case 1034:  /* *movdfcc_1 */
    6043                 :    3558070 :     case 1033:  /* *movxfcc_1 */
    6044                 :    3558070 :     case 1032:  /* *movqicc_noc */
    6045                 :    3558070 :     case 1030:  /* *movdicc_noc */
    6046                 :    3558070 :     case 1029:  /* *movsicc_noc */
    6047                 :    3558070 :     case 1028:  /* *movhicc_noc */
    6048                 :    3558070 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    6049                 :    3558070 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
    6050                 :    3558070 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    6051                 :    3558070 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 2));
    6052                 :    3558070 :       break;
    6053                 :            : 
    6054                 :          0 :     case 1013:  /* *strlenqi_1 */
    6055                 :          0 :     case 1012:  /* *strlenqi_1 */
    6056                 :          0 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
    6057                 :          0 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6058                 :          0 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
    6059                 :          0 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2));
    6060                 :          0 :       ro[4] = *(ro_loc[4] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 3));
    6061                 :          0 :       ro[5] = *(ro_loc[5] = &XEXP (XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0), 0));
    6062                 :          0 :       break;
    6063                 :            : 
    6064                 :       2596 :     case 1011:  /* *cmpstrnqi_1 */
    6065                 :       2596 :     case 1010:  /* *cmpstrnqi_1 */
    6066                 :       2596 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 3), 0));
    6067                 :       2596 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 4), 0));
    6068                 :       2596 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 5), 0));
    6069                 :       2596 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6070                 :       2596 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 0), 0));
    6071                 :       2596 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 1), 0));
    6072                 :       2596 :       ro[6] = *(ro_loc[6] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0));
    6073                 :       2596 :       break;
    6074                 :            : 
    6075                 :      16308 :     case 1009:  /* *cmpstrnqi_nz_1 */
    6076                 :      16308 :     case 1008:  /* *cmpstrnqi_nz_1 */
    6077                 :      16308 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 3), 0));
    6078                 :      16308 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 4), 0));
    6079                 :      16308 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 5), 0));
    6080                 :      16308 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 2), 0));
    6081                 :      16308 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0));
    6082                 :      16308 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 0));
    6083                 :      16308 :       ro[6] = *(ro_loc[6] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6084                 :      16308 :       break;
    6085                 :            : 
    6086                 :      22255 :     case 1007:  /* *rep_stosqi */
    6087                 :      22255 :     case 1006:  /* *rep_stosqi */
    6088                 :      22255 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6089                 :      22255 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 0), 0));
    6090                 :      22255 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 3), 0));
    6091                 :      22255 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0));
    6092                 :      22255 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 1));
    6093                 :      22255 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (pat, 0, 4), 0);
    6094                 :      22255 :       recog_data.dup_num[0] = 4;
    6095                 :      22255 :       recog_data.dup_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 2), 0), 0);
    6096                 :      22255 :       recog_data.dup_num[1] = 3;
    6097                 :      22255 :       break;
    6098                 :            : 
    6099                 :     258295 :     case 1005:  /* *rep_stossi */
    6100                 :     258295 :     case 1004:  /* *rep_stossi */
    6101                 :     258295 :     case 1003:  /* *rep_stosdi_rex64 */
    6102                 :     258295 :     case 1002:  /* *rep_stosdi_rex64 */
    6103                 :     258295 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6104                 :     258295 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 0), 0));
    6105                 :     258295 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 3), 0));
    6106                 :     258295 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 1));
    6107                 :     258295 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0), 0));
    6108                 :     258295 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (pat, 0, 4), 0);
    6109                 :     258295 :       recog_data.dup_num[0] = 4;
    6110                 :     258295 :       recog_data.dup_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 2), 0), 0);
    6111                 :     258295 :       recog_data.dup_num[1] = 3;
    6112                 :     258295 :       break;
    6113                 :            : 
    6114                 :         56 :     case 1001:  /* *strsetqi_1 */
    6115                 :         56 :     case 1000:  /* *strsetqi_1 */
    6116                 :         56 :     case 999:  /* *strsethi_1 */
    6117                 :         56 :     case 998:  /* *strsethi_1 */
    6118                 :         56 :     case 997:  /* *strsetsi_1 */
    6119                 :         56 :     case 996:  /* *strsetsi_1 */
    6120                 :         56 :     case 995:  /* *strsetdi_rex_1 */
    6121                 :         56 :     case 994:  /* *strsetdi_rex_1 */
    6122                 :         56 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6123                 :         56 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 0), 0));
    6124                 :         56 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 0), 1));
    6125                 :         56 :       recog_data.dup_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0);
    6126                 :         56 :       recog_data.dup_num[0] = 1;
    6127                 :         56 :       break;
    6128                 :            : 
    6129                 :      42308 :     case 993:  /* *rep_movqi */
    6130                 :      42308 :     case 992:  /* *rep_movqi */
    6131                 :      42308 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6132                 :      42308 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 2), 0));
    6133                 :      42308 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 0), 0));
    6134                 :      42308 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0));
    6135                 :      42308 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (pat, 0, 2), 1), 0));
    6136                 :      42308 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 1));
    6137                 :      42308 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (pat, 0, 4), 0);
    6138                 :      42308 :       recog_data.dup_num[0] = 5;
    6139                 :      42308 :       recog_data.dup_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 3), 0), 0);
    6140                 :      42308 :       recog_data.dup_num[1] = 3;
    6141                 :      42308 :       recog_data.dup_loc[2] = &XEXP (XEXP (XVECEXP (pat, 0, 3), 1), 0);
    6142                 :      42308 :       recog_data.dup_num[2] = 4;
    6143                 :      42308 :       recog_data.dup_loc[3] = &XEXP (XEXP (XVECEXP (pat, 0, 2), 1), 1);
    6144                 :      42308 :       recog_data.dup_num[3] = 5;
    6145                 :      42308 :       break;
    6146                 :            : 
    6147                 :     403441 :     case 991:  /* *rep_movsi */
    6148                 :     403441 :     case 990:  /* *rep_movsi */
    6149                 :     403441 :     case 989:  /* *rep_movdi_rex64 */
    6150                 :     403441 :     case 988:  /* *rep_movdi_rex64 */
    6151                 :     403441 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6152                 :     403441 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 2), 0));
    6153                 :     403441 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 0), 0));
    6154                 :     403441 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 1));
    6155                 :     403441 :       ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (pat, 0, 2), 1), 1));
    6156                 :     403441 :       ro[5] = *(ro_loc[5] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0), 0));
    6157                 :     403441 :       recog_data.dup_loc[0] = &XEXP (XVECEXP (pat, 0, 4), 0);
    6158                 :     403441 :       recog_data.dup_num[0] = 5;
    6159                 :     403441 :       recog_data.dup_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 3), 0), 0);
    6160                 :     403441 :       recog_data.dup_num[1] = 3;
    6161                 :     403441 :       recog_data.dup_loc[2] = &XEXP (XEXP (XVECEXP (pat, 0, 3), 1), 0);
    6162                 :     403441 :       recog_data.dup_num[2] = 4;
    6163                 :     403441 :       recog_data.dup_loc[3] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 2), 1), 0), 0);
    6164                 :     403441 :       recog_data.dup_num[3] = 5;
    6165                 :     403441 :       break;
    6166                 :            : 
    6167                 :        177 :     case 987:  /* *strmovqi_1 */
    6168                 :        177 :     case 986:  /* *strmovqi_1 */
    6169                 :        177 :     case 985:  /* *strmovhi_1 */
    6170                 :        177 :     case 984:  /* *strmovhi_1 */
    6171                 :        177 :     case 983:  /* *strmovsi_1 */
    6172                 :        177 :     case 982:  /* *strmovsi_1 */
    6173                 :        177 :     case 981:  /* *strmovdi_rex_1 */
    6174                 :        177 :     case 980:  /* *strmovdi_rex_1 */
    6175                 :        177 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6176                 :        177 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 2), 0));
    6177                 :        177 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 0), 0));
    6178                 :        177 :       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
    6179                 :        177 :       recog_data.dup_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 2), 1), 0);
    6180                 :        177 :       recog_data.dup_num[0] = 3;
    6181                 :        177 :       recog_data.dup_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0);
    6182                 :        177 :       recog_data.dup_num[1] = 2;
    6183                 :        177 :       break;
    6184                 :            : 
    6185                 :        946 :     case 970:  /* fistdi2_ceil */
    6186                 :        946 :     case 969:  /* fistdi2_floor */
    6187                 :        946 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
    6188                 :        946 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
    6189                 :        946 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6190                 :        946 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 2), 0));
    6191                 :        946 :       ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (pat, 0, 3), 0));
    6192                 :        946 :       break;
    6193                 :            : 
    6194                 :       5811 :     case 5985:  /* atomic_storedi_fpu */
    6195                 :       5811 :     case 5980:  /* atomic_loaddi_fpu */
    6196                 :       5811 :     case 974:  /* fistsi2_ceil */
    6197                 :       5811 :     case 973:  /* fistsi2_floor */
    6198                 :       5811 :     case 972:  /* fisthi2_ceil */
    6199                 :       5811 :     case 971:  /* fisthi2_floor */
    6200                 :       5811 :     case 962:  /* frndintxf2_trunc_i387 */
    6201                 :       5811 :     case 961:  /* frndintxf2_ceil_i387 */
    6202                 :       5811 :     case 960:  /* frndintxf2_floor_i387 */
    6203                 :       5811 :     case 959:  /* frndintxf2_roundeven_i387 */
    6204                 :       5811 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
    6205                 :       5811 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
    6206                 :       5811 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6207                 :       5811 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 2), 0));
    6208                 :       5811 :       break;
    6209                 :            : 
    6210                 :       2613 :     case 1400:  /* movdi_to_sse */
    6211                 :       2613 :     case 1076:  /* stack_protect_set_1_di */
    6212                 :       2613 :     case 1075:  /* stack_protect_set_1_si */
    6213                 :       2613 :     case 952:  /* lrintxfdi2 */
    6214                 :       2613 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
    6215                 :       2613 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
    6216                 :       2613 :       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6217                 :       2613 :       break;
    6218                 :            : 
    6219                 :        336 :     case 948:  /* fscalexf4_i387 */
    6220                 :        336 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
    6221                 :        336 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6222                 :        336 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
    6223                 :        336 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
    6224                 :        336 :       recog_data.dup_loc[0] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 1);
    6225                 :        336 :       recog_data.dup_num[0] = 3;
    6226                 :        336 :       recog_data.dup_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 0);
    6227                 :        336 :       recog_data.dup_num[1] = 2;
    6228                 :        336 :       break;
    6229                 :            : 
    6230                 :       2348 :     case 4474:  /* ssse3_pshufbv8qi3 */
    6231                 :       2348 :     case 1081:  /* stack_protect_test_1_di */
    6232                 :       2348 :     case 1080:  /* stack_protect_test_1_si */
    6233                 :       2348 :     case 945:  /* fyl2xp1xf3_i387 */
    6234                 :       2348 :     case 944:  /* fyl2xxf3_i387 */
    6235                 :       2348 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
    6236                 :       2348 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
    6237                 :       2348 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
    6238                 :       2348 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6239                 :       2348 :       break;
    6240                 :            : 
    6241                 :        127 :     case 943:  /* atan2xf3 */
    6242                 :        127 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
    6243                 :        127 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
    6244                 :        127 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
    6245                 :        127 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6246                 :        127 :       break;
    6247                 :            : 
    6248                 :         28 :     case 942:  /* fptanxf4_i387 */
    6249                 :         28 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
    6250                 :         28 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6251                 :         28 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 0));
    6252                 :         28 :       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 0), 1));
    6253                 :         28 :       break;
    6254                 :            : 
    6255                 :        396 :     case 1117:  /* xgetbv_rex64 */
    6256                 :        396 :     case 1087:  /* rdpmc_rex64 */
    6257                 :        396 :     case 946:  /* fxtractxf3_i387 */
    6258                 :        396 :     case 941:  /* sincosxf3 */
    6259                 :        396 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
    6260                 :        396 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6261                 :        396 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
    6262                 :        396 :       recog_data.dup_loc[0] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 0);
    6263                 :        396 :       recog_data.dup_num[0] = 2;
    6264                 :        396 :       break;
    6265                 :            : 
    6266                 :        239 :     case 938:  /* fprem1xf4_i387 */
    6267                 :        239 :     case 937:  /* fpremxf4_i387 */
    6268                 :        239 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
    6269                 :        239 :       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
    6270                 :        239 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0));
    6271                 :        239 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
    6272                 :        239 :       recog_data.dup_loc[0] = &XVECEXP (XEXP (XVECEXP (pat, 0, 2), 1), 0, 1);
    6273                 :        239 :       recog_data.dup_num[0] = 3;
    6274                 :        239 :       recog_data.dup_loc[1] = &XVECEXP (XEXP (XVECEXP (pat, 0, 2), 1), 0, 0);
    6275                 :        239 :       recog_data.dup_num[1] = 2;
    6276                 :        239 :       recog_data.dup_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 1);
    6277                 :        239 :       recog_data.dup_num[2] = 3;
    6278                 :        239 :       recog_data.dup_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0, 0);
    6279                 :        239 :       recog_data.dup_num[3] = 2;
    6280                 :        239 :       break;
    6281                 :            : 
    6282                 :      52554 :     case 929:  /* *fop_df_6_i387 */
    6283                 :      52554 :     case 928:  /* *fop_xf_6_i387 */
    6284                 :      52554 :     case 927:  /* *fop_xf_6_i387 */
    6285                 :      52554 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    6286                 :      52554 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    6287                 :      52554 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
    6288                 :      52554 :       ro[3] = *(ro_loc[3] = &XEXP (pat, 1));
    6289                 :      52554 :       break;
    6290                 :            : 
    6291                 :      56163 :     case 926:  /* *fop_df_5_i387 */
    6292                 :      56163 :     case 925:  /* *fop_xf_5_i387 */
    6293                 :      56163 :     case 924:  /* *fop_xf_5_i387 */
    6294                 :      56163 :     case 920:  /* *fop_xf_3_i387 */
    6295                 :      56163 :     case 919:  /* *fop_df_3_i387 */
    6296                 :      56163 :     case 918:  /* *fop_sf_3_i387 */
    6297                 :      56163 :     case 917:  /* *fop_xf_3_i387 */
    6298                 :      56163 :     case 916:  /* *fop_df_3_i387 */
    6299                 :      56163 :     case 915:  /* *fop_sf_3_i387 */
    6300                 :      56163 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    6301                 :      56163 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
    6302                 :      56163 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
    6303                 :      56163 :       ro[3] = *(ro_loc[3] = &XEXP (pat, 1));
    6304                 :      56163 :       break;
    6305                 :            : 
    6306                 :      76192 :     case 923:  /* *fop_df_4_i387 */
    6307                 :      76192 :     case 922:  /* *fop_xf_4_i387 */
    6308                 :      76192 :     case 921:  /* *fop_xf_4_i387 */
    6309                 :      76192 :     case 914:  /* *fop_xf_2_i387 */
    6310                 :      76192 :     case 913:  /* *fop_df_2_i387 */
    6311                 :      76192 :     case 912:  /* *fop_sf_2_i387 */
    6312                 :      76192 :     case 911:  /* *fop_xf_2_i387 */
    6313                 :      76192 :     case 910:  /* *fop_df_2_i387 */
    6314                 :      76192 :     case 909:  /* *fop_sf_2_i387 */
    6315                 :      76192 :       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
    6316                 :      76192 :       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
    6317                 :      76192 :       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
    6318                 :      76192 :       ro[3] = *(ro_loc[3] = &XEXP (pat, 1));
    6319                 :      76192 :       break;
    6320                 :            : 
    6321                 :          2 :     case 901:  /* *tls_dynamic_gnu2_combine_64_di */
    6322                 :          2 :     case 900:  /* *tls_dynamic_gnu2_combine_64_si */
    6323                 :          2 :       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
    6324                 :          2 :       ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 0), 0, 0));
    6325                 :          2 :       ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 0));
    6326                 :          2 :       ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0, 1));
    6327                 :          2 :       break;
    6328                 :            : 
    6329                 :     162766 :     case 5989:  /* storedi_via_sse */
    6330                 :     162766 :     case 5988:  /* loaddi_via_sse */
    6331                 :     162766 :     case 5987:  /* storedi_via_fpu */
    6332                 :     162766 :     case 5986:  /* loaddi_via_fpu */
    6333                 :     162766 :     case 5965:  /* avx512f_cvtneps2bf16_v4sf */
    6334                 :     162766 :     case 5963:  /* avx512f_cvtneps2bf16_v8sf */
    6335                 :     162766 :     case 5961:  /* avx512f_cvtneps2bf16_v16sf */
    6336                 :     162766 :     case 5693:  /* *conflictv2di */
    6337                 :     162766 :     case 5691:  /* *conflictv4di */
    6338                 :     162766 :     case 5689:  /* *conflictv8di */
    6339                 :     162766 :     case 5687:  /* *conflictv4si */
    6340                 :     162766 :     case 5685:  /* *conflictv8si */
    6341                 :     162766 :     case 5683:  /* *conflictv16si */
    6342                 :     162766 :     case 5312:  /* *avx512f_vcvtph2ps512 */
    6343                 :     162766 :     case 5310:  /* vcvtph2ps256 */
    6344                 :     162766 :     case 5308:  /* *vcvtph2ps_load */
    6345                 :     162766 :     case 4891:  /* aesimc */
    6346                 :     162766 :     case 4864:  /* xop_frczv4df2 */
    6347                 :     162766 :     case 4863:  /* xop_frczv8sf2 */
    6348                 :     162766 :     case 4862:  /* xop_frczv2df2 */
    6349                 :     162766 :     case 4861:  /* xop_frczv4sf2 */
    6350                 :     162766 :     case 4860:  /* xop_frczdf2 */
    6351                 :     162766 :     case 4859:  /* xop_frczsf2 */