LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-2.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 53.9 % 7493 4040
Test Date: 2026-06-20 15:32:29 Functions: 67.7 % 62 42
Legend: Lines:     hit not hit

            Line data    Source code
       1              : /* Generated automatically by the program `genmatch' from
       2              :    a IL pattern matching and simplification description.  */
       3              : #pragma GCC diagnostic push
       4              : #pragma GCC diagnostic ignored "-Wunused-variable"
       5              : #pragma GCC diagnostic ignored "-Wunused-function"
       6              : 
       7              : #include "generic-match-auto.h"
       8              : 
       9              : bool
      10    103595164 : tree_logical_inverted_value (tree t, tree *res_ops)
      11              : {
      12    103595164 :   const tree type = TREE_TYPE (t);
      13    103595164 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    103595164 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15     95043957 :   switch (TREE_CODE (t))
      16              :     {
      17       477773 :     case TRUTH_NOT_EXPR:
      18       477773 :       {
      19       477773 :         tree _p0 = TREE_OPERAND (t, 0);
      20       477773 :         {
      21       477773 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      22       477773 :           {
      23       477773 :             res_ops[0] = captures[0];
      24       477773 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 23, __FILE__, __LINE__, false);
      25              :             return true;
      26              :           }
      27              :         }
      28       156270 :         break;
      29              :       }
      30       156270 :     case BIT_NOT_EXPR:
      31       156270 :       {
      32       156270 :         tree _p0 = TREE_OPERAND (t, 0);
      33       156270 :         if (tree_truth_valued_p (_p0))
      34              :           {
      35        12030 :             {
      36        12030 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      37        12030 :               {
      38        12030 :                 res_ops[0] = captures[0];
      39        12030 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 24, __FILE__, __LINE__, false);
      40        12030 :                 return true;
      41              :               }
      42              :             }
      43              :           }
      44              :         break;
      45              :       }
      46      1312782 :     case EQ_EXPR:
      47      1312782 :       {
      48      1312782 :         tree _p0 = TREE_OPERAND (t, 0);
      49      1312782 :         tree _p1 = TREE_OPERAND (t, 1);
      50      1312782 :         if (integer_zerop (_p1))
      51              :           {
      52       525334 :             {
      53       525334 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      54       525334 :               {
      55       525334 :                 res_ops[0] = captures[0];
      56       525334 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 25, __FILE__, __LINE__, false);
      57       525334 :                 return true;
      58              :               }
      59              :             }
      60              :           }
      61              :         break;
      62              :       }
      63      2051356 :     case NE_EXPR:
      64      2051356 :       {
      65      2051356 :         tree _p0 = TREE_OPERAND (t, 0);
      66      2051356 :         tree _p1 = TREE_OPERAND (t, 1);
      67      2051356 :         if (tree_truth_valued_p (_p0))
      68              :           {
      69         2706 :             if (integer_truep (_p1))
      70              :               {
      71            0 :                 {
      72            0 :                   tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      73            0 :                   {
      74            0 :                     res_ops[0] = captures[0];
      75            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 26, __FILE__, __LINE__, false);
      76            0 :                     return true;
      77              :                   }
      78              :                 }
      79              :               }
      80              :           }
      81              :         break;
      82              :       }
      83       104824 :     case BIT_XOR_EXPR:
      84       104824 :       {
      85       104824 :         tree _p0 = TREE_OPERAND (t, 0);
      86       104824 :         tree _p1 = TREE_OPERAND (t, 1);
      87       104824 :         if (tree_truth_valued_p (_p0))
      88              :           {
      89        15046 :             if (integer_truep (_p1))
      90              :               {
      91            0 :                 {
      92            0 :                   tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      93            0 :                   {
      94            0 :                     res_ops[0] = captures[0];
      95            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 27, __FILE__, __LINE__, false);
      96            0 :                     return true;
      97              :                   }
      98              :                 }
      99              :               }
     100              :           }
     101              :         break;
     102              :       }
     103              :     default:;
     104              :     }
     105              :   return false;
     106              : }
     107              : 
     108              : tree
     109            3 : generic_simplify_3 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     110              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     111              :  const enum tree_code ARG_UNUSED (op))
     112              : {
     113            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     114            3 :   if (INTEGRAL_TYPE_P (type)
     115              : )
     116              :     {
     117            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail74;
     118            3 :       {
     119            3 :         tree res_op0;
     120            3 :         {
     121            3 :           tree _o1[2], _r1;
     122            3 :           _o1[0] = captures[1];
     123            3 :           _o1[1] = captures[4];
     124            3 :           _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     125            3 :           res_op0 = _r1;
     126              :         }
     127            3 :         tree res_op1;
     128            3 :         res_op1 = captures[2];
     129            3 :         tree _r;
     130            3 :         _r = fold_build2_loc (loc, LSHIFT_EXPR, type, res_op0, res_op1);
     131            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 51, __FILE__, __LINE__, true);
     132            3 :         return _r;
     133              :       }
     134            0 : next_after_fail74:;
     135              :     }
     136              :   return NULL_TREE;
     137              : }
     138              : 
     139              : tree
     140            0 : generic_simplify_11 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     141              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     142              :  const enum tree_code ARG_UNUSED (bit_op))
     143              : {
     144            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     145            0 :   if (bit_op == BIT_AND_EXPR
     146              : )
     147              :     {
     148            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail85;
     149            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail85;
     150            0 :       {
     151            0 :         tree _r;
     152            0 :         _r =  build_zero_cst (type);
     153            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 58, __FILE__, __LINE__, true);
     154            0 :         return _r;
     155              :       }
     156              : next_after_fail85:;
     157              :     }
     158              :   else
     159              :     {
     160            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail86;
     161            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail86;
     162            0 :       {
     163            0 :         tree _r;
     164            0 :         _r =  build_minus_one_cst (type);
     165            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 59, __FILE__, __LINE__, true);
     166            0 :         return _r;
     167              :       }
     168              : next_after_fail86:;
     169              :     }
     170              :   return NULL_TREE;
     171              : }
     172              : 
     173              : tree
     174            0 : generic_simplify_20 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     175              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     176              : {
     177            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     178            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail95;
     179            0 :   {
     180            0 :     tree res_op0;
     181            0 :     res_op0 = captures[0];
     182            0 :     tree res_op1;
     183            0 :     res_op1 = captures[1];
     184            0 :     tree _r;
     185            0 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     186            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 68, __FILE__, __LINE__, true);
     187              :     return _r;
     188              :   }
     189            0 : next_after_fail95:;
     190            0 :   return NULL_TREE;
     191              : }
     192              : 
     193              : tree
     194           57 : generic_simplify_27 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     195              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     196              : {
     197           57 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     198           57 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     199              : )
     200              :     {
     201           33 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail102;
     202           33 :       {
     203           33 :         tree res_op0;
     204           33 :         {
     205           33 :           tree _o1[1], _r1;
     206           33 :           _o1[0] = captures[0];
     207           33 :           if (TREE_TYPE (_o1[0]) != type)
     208              :             {
     209            2 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     210              :             }
     211              :           else
     212              :             _r1 = _o1[0];
     213           33 :           res_op0 = _r1;
     214              :         }
     215           33 :         tree res_op1;
     216           33 :         {
     217           33 :           tree _o1[1], _r1;
     218           33 :           _o1[0] = captures[1];
     219           33 :           _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     220           33 :           res_op1 = _r1;
     221              :         }
     222           33 :         tree _r;
     223           33 :         _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     224           33 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 75, __FILE__, __LINE__, true);
     225           33 :         return _r;
     226              :       }
     227            0 : next_after_fail102:;
     228              :     }
     229              :   return NULL_TREE;
     230              : }
     231              : 
     232              : tree
     233          599 : generic_simplify_35 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     234              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     235              :  const enum tree_code ARG_UNUSED (bitop))
     236              : {
     237          599 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     238          599 :   if (!CONSTANT_CLASS_P (captures[0])
     239              : )
     240              :     {
     241          599 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail110;
     242          599 :       {
     243          599 :         tree res_op0;
     244          599 :         res_op0 = captures[0];
     245          599 :         tree res_op1;
     246          599 :         {
     247          599 :           tree _o1[2], _r1;
     248          599 :           _o1[0] = captures[1];
     249          599 :           _o1[1] = captures[2];
     250          599 :           _r1 = fold_build2_loc (loc, bitop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     251          599 :           if (EXPR_P (_r1))
     252            0 :             goto next_after_fail110;
     253          599 :           res_op1 = _r1;
     254              :         }
     255          599 :         tree _r;
     256          599 :         _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     257          599 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 82, __FILE__, __LINE__, true);
     258          599 :         return _r;
     259              :       }
     260              : next_after_fail110:;
     261              :     }
     262              :   else
     263              :     {
     264            0 :       {
     265            0 :  tree cst1 = const_binop (bitop, type, captures[0], captures[2]);
     266            0 :           if (cst1
     267              : )
     268              :             {
     269            0 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail111;
     270            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail111;
     271            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail111;
     272            0 :               {
     273            0 :                 tree res_op0;
     274            0 :                 res_op0 = captures[1];
     275            0 :                 tree res_op1;
     276            0 :                 res_op1 =  cst1;
     277            0 :                 tree _r;
     278            0 :                 _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     279            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 83, __FILE__, __LINE__, true);
     280            0 :                 return _r;
     281              :               }
     282              : next_after_fail111:;
     283              :             }
     284              :           else
     285              :             {
     286            0 :               {
     287            0 :  tree cst2 = const_binop (bitop, type, captures[1], captures[2]);
     288            0 :                   if (cst2
     289              : )
     290              :                     {
     291            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail112;
     292            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail112;
     293            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail112;
     294            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail112;
     295            0 :                       {
     296            0 :                         tree res_op0;
     297            0 :                         res_op0 = captures[0];
     298            0 :                         tree res_op1;
     299            0 :                         res_op1 =  cst2;
     300            0 :                         tree _r;
     301            0 :                         _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     302            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 84, __FILE__, __LINE__, true);
     303            0 :                         return _r;
     304              :                       }
     305              : next_after_fail112:;
     306              :                     }
     307              :               }
     308              :             }
     309              :       }
     310              :     }
     311              :   return NULL_TREE;
     312              : }
     313              : 
     314              : tree
     315          534 : generic_simplify_49 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     316              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     317              :  const enum tree_code ARG_UNUSED (op))
     318              : {
     319          534 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     320         1068 :   if (INTEGRAL_TYPE_P (type)
     321          532 :  && tree_int_cst_sgn (captures[2]) > 0
     322         2132 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[1])) == 0
     323              : )
     324              :     {
     325            6 :       {
     326            6 :  tree t = type;
     327            6 :  if (!TYPE_OVERFLOW_WRAPS (t))
     328            6 :  t = unsigned_type_for (t);
     329            6 :  wide_int wone = wi::one (TYPE_PRECISION (t));
     330            6 :  wide_int c = wi::add (wi::lshift (wone, wi::to_wide (captures[2])), wone);
     331            6 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail127;
     332            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail127;
     333            6 :           {
     334            6 :             tree res_op0;
     335            6 :             {
     336            6 :               tree _o1[2], _r1;
     337            6 :               {
     338            6 :                 tree _o2[1], _r2;
     339            6 :                 _o2[0] = captures[1];
     340            6 :                 if (TREE_TYPE (_o2[0]) != t)
     341              :                   {
     342            6 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     343              :                   }
     344              :                 else
     345              :                   _r2 = _o2[0];
     346            6 :                 _o1[0] = _r2;
     347              :               }
     348            6 :               _o1[1] =  wide_int_to_tree (t, c);
     349            6 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     350            6 :               res_op0 = _r1;
     351              :             }
     352            6 :             tree _r;
     353            6 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     354            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 95, __FILE__, __LINE__, true);
     355            6 :             return _r;
     356              :           }
     357            0 : next_after_fail127:;
     358            6 :       }
     359              :     }
     360              :   return NULL_TREE;
     361              : }
     362              : 
     363              : tree
     364      3060341 : generic_simplify_63 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     365              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     366              :  const enum tree_code ARG_UNUSED (inner_op),
     367              :  const enum tree_code ARG_UNUSED (neg_inner_op),
     368              :  const enum tree_code ARG_UNUSED (outer_op))
     369              : {
     370      3060341 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     371      3060341 :   if (!TYPE_SATURATING (type)
     372              : )
     373              :     {
     374      3060341 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     375      6120437 :  && !FIXED_POINT_TYPE_P (type)
     376              : )
     377              :         {
     378      3060096 :           if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
     379              : )
     380              :             {
     381      2037095 :               if (!CONSTANT_CLASS_P (captures[0])
     382              : )
     383              :                 {
     384      2037088 :                   if (outer_op == PLUS_EXPR
     385              : )
     386              :                     {
     387      2037088 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail144;
     388      2037088 :                       {
     389      2037088 :                         tree res_op0;
     390      2037088 :                         {
     391      2037088 :                           tree _o1[1], _r1;
     392      2037088 :                           _o1[0] = captures[0];
     393      2037088 :                           if (TREE_TYPE (_o1[0]) != type)
     394              :                             {
     395       852300 :                               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     396              :                             }
     397              :                           else
     398              :                             _r1 = _o1[0];
     399      2037088 :                           res_op0 = _r1;
     400              :                         }
     401      2037088 :                         tree res_op1;
     402      2037088 :                         {
     403      2037088 :                           tree _o1[2], _r1;
     404      2037088 :                           _o1[0] = captures[2];
     405      2037088 :                           {
     406      2037088 :                             tree _o2[1], _r2;
     407      2037088 :                             _o2[0] = captures[1];
     408      2037088 :                             if (TREE_TYPE (_o2[0]) != type)
     409              :                               {
     410       843256 :                                 _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     411              :                               }
     412              :                             else
     413              :                               _r2 = _o2[0];
     414      2037088 :                             _o1[1] = _r2;
     415              :                           }
     416      2037088 :                           _r1 = fold_build2_loc (loc, inner_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     417      2037088 :                           if (EXPR_P (_r1))
     418            0 :                             goto next_after_fail144;
     419      2037088 :                           res_op1 = _r1;
     420              :                         }
     421      2037088 :                         tree _r;
     422      2037088 :                         _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     423      2037088 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 112, __FILE__, __LINE__, true);
     424      2037088 :                         return _r;
     425              :                       }
     426              : next_after_fail144:;
     427              :                     }
     428              :                   else
     429              :                     {
     430            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail145;
     431            0 :                       {
     432            0 :                         tree res_op0;
     433            0 :                         {
     434            0 :                           tree _o1[1], _r1;
     435            0 :                           _o1[0] = captures[0];
     436            0 :                           if (TREE_TYPE (_o1[0]) != type)
     437              :                             {
     438            0 :                               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     439              :                             }
     440              :                           else
     441              :                             _r1 = _o1[0];
     442            0 :                           res_op0 = _r1;
     443              :                         }
     444            0 :                         tree res_op1;
     445            0 :                         {
     446            0 :                           tree _o1[2], _r1;
     447            0 :                           _o1[0] = captures[2];
     448            0 :                           {
     449            0 :                             tree _o2[1], _r2;
     450            0 :                             _o2[0] = captures[1];
     451            0 :                             if (TREE_TYPE (_o2[0]) != type)
     452              :                               {
     453            0 :                                 _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     454              :                               }
     455              :                             else
     456              :                               _r2 = _o2[0];
     457            0 :                             _o1[1] = _r2;
     458              :                           }
     459            0 :                           _r1 = fold_build2_loc (loc, neg_inner_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     460            0 :                           if (EXPR_P (_r1))
     461            0 :                             goto next_after_fail145;
     462            0 :                           res_op1 = _r1;
     463              :                         }
     464            0 :                         tree _r;
     465            0 :                         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     466            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 113, __FILE__, __LINE__, true);
     467            0 :                         return _r;
     468              :                       }
     469              : next_after_fail145:;
     470              :                     }
     471              :                 }
     472              :             }
     473              :           else
     474              :             {
     475      2046002 :               if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     476      2046002 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))
     477              : )
     478              :                 {
     479       200301 :                   if (outer_op == PLUS_EXPR
     480              : )
     481              :                     {
     482       200274 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail146;
     483       200274 :                       {
     484       200274 :                         tree res_op0;
     485       200274 :                         {
     486       200274 :                           tree _o1[2], _r1;
     487       200274 :                           _o1[0] = captures[0];
     488       200274 :                           {
     489       200274 :                             tree _o2[2], _r2;
     490       200274 :                             {
     491       200274 :                               tree _o3[1], _r3;
     492       200274 :                               _o3[0] = captures[2];
     493       200274 :                               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o1[0]))
     494              :                                 {
     495       200274 :                                   _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o1[0]), _o3[0]);
     496              :                                 }
     497              :                               else
     498              :                                 _r3 = _o3[0];
     499       200274 :                               _o2[0] = _r3;
     500              :                             }
     501       200274 :                             _o2[1] = captures[1];
     502       200274 :                             _r2 = fold_build2_loc (loc, inner_op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     503       200274 :                             if (EXPR_P (_r2))
     504            0 :                               goto next_after_fail146;
     505       200274 :                             _o1[1] = _r2;
     506              :                           }
     507       200274 :                           _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     508       200274 :                           res_op0 = _r1;
     509              :                         }
     510       200274 :                         tree _r;
     511       200274 :                         _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     512       200274 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 114, __FILE__, __LINE__, true);
     513       200274 :                         return _r;
     514              :                       }
     515              : next_after_fail146:;
     516              :                     }
     517              :                   else
     518              :                     {
     519           27 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail147;
     520           27 :                       {
     521           27 :                         tree res_op0;
     522           27 :                         {
     523           27 :                           tree _o1[2], _r1;
     524           27 :                           _o1[0] = captures[0];
     525           27 :                           {
     526           27 :                             tree _o2[2], _r2;
     527           27 :                             {
     528           27 :                               tree _o3[1], _r3;
     529           27 :                               _o3[0] = captures[2];
     530           27 :                               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o1[0]))
     531              :                                 {
     532           27 :                                   _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o1[0]), _o3[0]);
     533              :                                 }
     534              :                               else
     535              :                                 _r3 = _o3[0];
     536           27 :                               _o2[0] = _r3;
     537              :                             }
     538           27 :                             _o2[1] = captures[1];
     539           27 :                             _r2 = fold_build2_loc (loc, neg_inner_op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     540           27 :                             if (EXPR_P (_r2))
     541            0 :                               goto next_after_fail147;
     542           27 :                             _o1[1] = _r2;
     543              :                           }
     544           27 :                           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     545           27 :                           res_op0 = _r1;
     546              :                         }
     547           27 :                         tree _r;
     548           27 :                         _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     549           27 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 115, __FILE__, __LINE__, true);
     550           27 :                         return _r;
     551              :                       }
     552              : next_after_fail147:;
     553              :                     }
     554              :                 }
     555              :               else
     556              :                 {
     557       822700 :                   if (types_match (type, captures[0]) && !TYPE_OVERFLOW_SANITIZED (type)
     558              : )
     559              :                     {
     560       821480 :                       {
     561       821480 :  tree cst = const_binop (outer_op == inner_op
     562              :  ? PLUS_EXPR : MINUS_EXPR,
     563              :  type, captures[1], captures[2]);
     564       821480 :                           if (cst
     565              : )
     566              :                             {
     567       821480 :                               if (INTEGRAL_TYPE_P (type) && !TREE_OVERFLOW (cst)
     568              : )
     569              :                                 {
     570       821466 :                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail148;
     571       821466 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail148;
     572       821466 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail148;
     573       821466 :                                   {
     574       821466 :                                     tree res_op0;
     575       821466 :                                     res_op0 = captures[0];
     576       821466 :                                     tree res_op1;
     577       821466 :                                     res_op1 =  cst;
     578       821466 :                                     tree _r;
     579       821466 :                                     _r = fold_build2_loc (loc, inner_op, type, res_op0, res_op1);
     580       821466 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 116, __FILE__, __LINE__, true);
     581       821466 :                                     return _r;
     582              :                                   }
     583              : next_after_fail148:;
     584              :                                 }
     585              :                               else
     586              :                                 {
     587           28 :                                   if (INTEGRAL_TYPE_P (type)
     588           28 :  && wi::to_wide (cst) == wi::min_value (type)
     589              : )
     590              :                                     {
     591            7 :                                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail149;
     592            7 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail149;
     593            7 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail149;
     594            7 :                                       {
     595            7 :                                         tree res_op0;
     596            7 :                                         res_op0 = captures[0];
     597            7 :                                         tree res_op1;
     598            7 :                                         res_op1 =  wide_int_to_tree (type, wi::to_wide (cst));
     599            7 :                                         tree _r;
     600            7 :                                         _r = fold_build2_loc (loc, neg_inner_op, type, res_op0, res_op1);
     601            7 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 117, __FILE__, __LINE__, true);
     602            7 :                                         return _r;
     603              :                                       }
     604              : next_after_fail149:;
     605              :                                     }
     606              :                                   else
     607              :                                     {
     608            7 :                                       {
     609            7 :  tree utype = unsigned_type_for (type);
     610            7 :                                           if (utype
     611              : )
     612              :                                             {
     613            7 :                                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail150;
     614            7 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail150;
     615            7 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail150;
     616            7 :                                               {
     617            7 :                                                 tree res_op0;
     618            7 :                                                 {
     619            7 :                                                   tree _o1[2], _r1;
     620            7 :                                                   {
     621            7 :                                                     tree _o2[1], _r2;
     622            7 :                                                     _o2[0] = captures[0];
     623            7 :                                                     if (TREE_TYPE (_o2[0]) != utype)
     624              :                                                       {
     625            7 :                                                         _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o2[0]);
     626              :                                                       }
     627              :                                                     else
     628              :                                                       _r2 = _o2[0];
     629            7 :                                                     _o1[0] = _r2;
     630              :                                                   }
     631            7 :                                                   {
     632            7 :                                                     tree _o2[1], _r2;
     633            7 :                                                     _o2[0] =  TREE_OVERFLOW (cst)
     634            7 :  ? drop_tree_overflow (cst) : cst;
     635            7 :                                                     if (TREE_TYPE (_o2[0]) != utype)
     636              :                                                       {
     637            7 :                                                         _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o2[0]);
     638              :                                                       }
     639              :                                                     else
     640              :                                                       _r2 = _o2[0];
     641            7 :                                                     _o1[1] = _r2;
     642              :                                                   }
     643            7 :                                                   _r1 = fold_build2_loc (loc, inner_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     644            7 :                                                   res_op0 = _r1;
     645              :                                                 }
     646            7 :                                                 tree _r;
     647            7 :                                                 _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     648            7 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 118, __FILE__, __LINE__, true);
     649            7 :                                                 return _r;
     650              :                                               }
     651              : next_after_fail150:;
     652              :                                             }
     653              :                                       }
     654              :                                     }
     655              :                                 }
     656              :                             }
     657              :                       }
     658              :                     }
     659              :                 }
     660              :             }
     661              :         }
     662              :     }
     663              :   return NULL_TREE;
     664              : }
     665              : 
     666              : tree
     667            0 : generic_simplify_120 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     668              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     669              :  const enum tree_code ARG_UNUSED (op))
     670              : {
     671            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     672            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail217;
     673            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail217;
     674            0 :   {
     675            0 :     tree _r;
     676            0 :     _r = captures[0];
     677            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 183, __FILE__, __LINE__, true);
     678              :     return _r;
     679              :   }
     680              : next_after_fail217:;
     681              :   return NULL_TREE;
     682              : }
     683              : 
     684              : tree
     685            2 : generic_simplify_125 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     686              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     687              : {
     688            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     689            2 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail222;
     690            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail222;
     691            2 :   {
     692            2 :     tree res_op0;
     693            2 :     res_op0 = captures[0];
     694            2 :     tree res_op1;
     695            2 :     res_op1 = captures[3];
     696            2 :     tree _r;
     697            2 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     698            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 187, __FILE__, __LINE__, true);
     699              :     return _r;
     700              :   }
     701              : next_after_fail222:;
     702              :   return NULL_TREE;
     703              : }
     704              : 
     705              : tree
     706            0 : generic_simplify_136 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     707              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     708              :  const enum tree_code ARG_UNUSED (op))
     709              : {
     710            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     711            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail233;
     712            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail233;
     713            0 :   {
     714            0 :     tree _r;
     715            0 :     _r = captures[0];
     716            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 184, __FILE__, __LINE__, true);
     717              :     return _r;
     718              :   }
     719              : next_after_fail233:;
     720              :   return NULL_TREE;
     721              : }
     722              : 
     723              : tree
     724            0 : generic_simplify_145 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     725              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     726              :  const enum tree_code ARG_UNUSED (bitop),
     727              :  const enum tree_code ARG_UNUSED (rbitop))
     728              : {
     729            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     730            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail246;
     731            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail246;
     732            0 :   {
     733            0 :     tree _r;
     734            0 :     _r = captures[2];
     735            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
     736            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     737            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 198, __FILE__, __LINE__, true);
     738              :     return _r;
     739              :   }
     740              : next_after_fail246:;
     741              :   return NULL_TREE;
     742              : }
     743              : 
     744              : tree
     745            0 : generic_simplify_151 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     746              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     747              :  const enum tree_code ARG_UNUSED (op))
     748              : {
     749            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     750            0 :   if (bitwise_equal_p (captures[4], captures[7])
     751              : )
     752              :     {
     753            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail253;
     754            0 :       {
     755            0 :         tree res_op0;
     756            0 :         {
     757            0 :           tree _o1[2], _r1;
     758            0 :           {
     759            0 :             tree _o2[2], _r2;
     760            0 :             _o2[0] = captures[5];
     761            0 :             {
     762            0 :               tree _o3[1], _r3;
     763            0 :               _o3[0] = captures[6];
     764            0 :               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     765              :                 {
     766            0 :                   _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     767              :                 }
     768              :               else
     769              :                 _r3 = _o3[0];
     770            0 :               _o2[1] = _r3;
     771              :             }
     772            0 :             _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     773            0 :             _o1[0] = _r2;
     774              :           }
     775            0 :           {
     776            0 :             tree _o2[1], _r2;
     777            0 :             _o2[0] = captures[4];
     778            0 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     779              :               {
     780            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     781              :               }
     782              :             else
     783              :               _r2 = _o2[0];
     784            0 :             _o1[1] = _r2;
     785              :           }
     786            0 :           _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     787            0 :           res_op0 = _r1;
     788              :         }
     789            0 :         tree _r;
     790            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     791            0 :         if (TREE_SIDE_EFFECTS (captures[7]))
     792            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[7]), _r);
     793            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 202, __FILE__, __LINE__, true);
     794            0 :         return _r;
     795              :       }
     796            0 : next_after_fail253:;
     797              :     }
     798              :   return NULL_TREE;
     799              : }
     800              : 
     801              : tree
     802            0 : generic_simplify_163 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     803              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     804              : {
     805            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     806            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail286;
     807            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail286;
     808            0 :   {
     809            0 :     tree _r;
     810            0 :     _r = captures[2];
     811            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
     812            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     813            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 209, __FILE__, __LINE__, true);
     814              :     return _r;
     815              :   }
     816              : next_after_fail286:;
     817              :   return NULL_TREE;
     818              : }
     819              : 
     820              : tree
     821            0 : generic_simplify_167 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     822              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     823              :  const enum tree_code ARG_UNUSED (code2),
     824              :  const enum tree_code ARG_UNUSED (code1))
     825              : {
     826            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     827            0 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
     828            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     829            0 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     830            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     831            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
     832            0 :  && bitwise_equal_p (captures[2], captures[5]))
     833              : )
     834              :     {
     835            0 :       {
     836            0 :  bool one_before = false;
     837            0 :  bool one_after = false;
     838            0 :  int cmp = 0;
     839            0 :  bool allbits = true;
     840            0 :  if (TREE_CODE (captures[2]) == INTEGER_CST
     841            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     842              :  {
     843            0 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
     844            0 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
     845            0 :  auto t2 = wi::to_wide (captures[5]);
     846            0 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
     847            0 :  if (cmp < 0
     848            0 :  && t1 == t2 - 1)
     849              :  one_before = true;
     850            0 :  if (cmp > 0
     851            0 :  && t1 == t2 + 1)
     852              :  one_after = true;
     853              :  }
     854            0 :  bool val;
     855            0 :  switch (code2)
     856              :  {
     857            0 :  case EQ_EXPR: val = (cmp == 0); break;
     858            0 :  case NE_EXPR: val = (cmp != 0); break;
     859            0 :  case LT_EXPR: val = (cmp < 0); break;
     860            0 :  case GT_EXPR: val = (cmp > 0); break;
     861            0 :  case LE_EXPR: val = (cmp <= 0); break;
     862            0 :  case GE_EXPR: val = (cmp >= 0); break;
     863            0 :  default: gcc_unreachable ();
     864              :  }
     865            0 :           if (code1 == EQ_EXPR && val
     866              : )
     867              :             {
     868            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail291;
     869            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail291;
     870            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail291;
     871            0 :               {
     872            0 :                 tree _r;
     873            0 :                 _r = captures[3];
     874            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 212, __FILE__, __LINE__, true);
     875            0 :                 return _r;
     876              :               }
     877              : next_after_fail291:;
     878              :             }
     879              :           else
     880              :             {
     881            0 :               if (code1 == NE_EXPR && val && allbits
     882              : )
     883              :                 {
     884            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail292;
     885            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail292;
     886            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail292;
     887            0 :                   {
     888            0 :                     tree _r;
     889            0 :                     _r =  constant_boolean_node (true, type);
     890            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
     891            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     892            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 213, __FILE__, __LINE__, true);
     893            0 :                     return _r;
     894              :                   }
     895              : next_after_fail292:;
     896              :                 }
     897              :               else
     898              :                 {
     899            0 :                   if (code1 == NE_EXPR && !val && allbits
     900              : )
     901              :                     {
     902            0 :                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail293;
     903            0 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail293;
     904            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail293;
     905            0 :                       {
     906            0 :                         tree _r;
     907            0 :                         _r = captures[0];
     908            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 214, __FILE__, __LINE__, true);
     909            0 :                         return _r;
     910              :                       }
     911              : next_after_fail293:;
     912              :                     }
     913              :                   else
     914              :                     {
     915            0 :                       if (code1 == EQ_EXPR
     916            0 :  && code2 == GT_EXPR
     917            0 :  && cmp == 0
     918            0 :  && allbits
     919            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     920            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     921            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     922              : )
     923              :                         {
     924            0 :                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail294;
     925            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail294;
     926            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail294;
     927            0 :                           {
     928            0 :                             tree res_op0;
     929            0 :                             res_op0 = captures[4];
     930            0 :                             tree res_op1;
     931            0 :                             res_op1 = captures[5];
     932            0 :                             tree _r;
     933            0 :                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     934            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 215, __FILE__, __LINE__, true);
     935            0 :                             return _r;
     936              :                           }
     937              : next_after_fail294:;
     938              :                         }
     939              :                       else
     940              :                         {
     941            0 :                           if (code1 == EQ_EXPR
     942            0 :  && code2 == LT_EXPR
     943            0 :  && cmp == 0
     944            0 :  && allbits
     945            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     946            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     947            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     948              : )
     949              :                             {
     950            0 :                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail295;
     951            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail295;
     952            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail295;
     953            0 :                               {
     954            0 :                                 tree res_op0;
     955            0 :                                 res_op0 = captures[4];
     956            0 :                                 tree res_op1;
     957            0 :                                 res_op1 = captures[5];
     958            0 :                                 tree _r;
     959            0 :                                 _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     960            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 216, __FILE__, __LINE__, true);
     961            0 :                                 return _r;
     962              :                               }
     963              : next_after_fail295:;
     964              :                             }
     965              :                           else
     966              :                             {
     967            0 :                               if (code1 == EQ_EXPR
     968            0 :  && code2 == GE_EXPR
     969              :  && one_before
     970            0 :  && allbits
     971            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     972            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     973            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     974              : )
     975              :                                 {
     976            0 :                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail296;
     977            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail296;
     978            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail296;
     979            0 :                                   {
     980            0 :                                     tree res_op0;
     981            0 :                                     res_op0 = captures[4];
     982            0 :                                     tree res_op1;
     983            0 :                                     {
     984            0 :                                       tree _o1[1], _r1;
     985            0 :                                       _o1[0] = captures[2];
     986            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     987              :                                         {
     988            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     989              :                                         }
     990              :                                       else
     991              :                                         _r1 = _o1[0];
     992            0 :                                       res_op1 = _r1;
     993              :                                     }
     994            0 :                                     tree _r;
     995            0 :                                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     996            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 217, __FILE__, __LINE__, true);
     997            0 :                                     return _r;
     998              :                                   }
     999              : next_after_fail296:;
    1000              :                                 }
    1001              :                               else
    1002              :                                 {
    1003            0 :                                   if (code1 == EQ_EXPR
    1004            0 :  && code2 == LE_EXPR
    1005              :  && one_after
    1006            0 :  && allbits
    1007            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    1008            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
    1009            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    1010              : )
    1011              :                                     {
    1012            0 :                                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail297;
    1013            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail297;
    1014            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail297;
    1015            0 :                                       {
    1016            0 :                                         tree res_op0;
    1017            0 :                                         res_op0 = captures[4];
    1018            0 :                                         tree res_op1;
    1019            0 :                                         {
    1020            0 :                                           tree _o1[1], _r1;
    1021            0 :                                           _o1[0] = captures[2];
    1022            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1023              :                                             {
    1024            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1025              :                                             }
    1026              :                                           else
    1027              :                                             _r1 = _o1[0];
    1028            0 :                                           res_op1 = _r1;
    1029              :                                         }
    1030            0 :                                         tree _r;
    1031            0 :                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1032            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 218, __FILE__, __LINE__, true);
    1033            0 :                                         return _r;
    1034              :                                       }
    1035              : next_after_fail297:;
    1036              :                                     }
    1037              :                                 }
    1038              :                             }
    1039              :                         }
    1040              :                     }
    1041              :                 }
    1042              :             }
    1043              :       }
    1044              :     }
    1045              :   return NULL_TREE;
    1046              : }
    1047              : 
    1048              : tree
    1049           64 : generic_simplify_208 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1050              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1051              :  const enum tree_code ARG_UNUSED (cmp))
    1052              : {
    1053           64 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1054          120 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1055          120 :  && tree_expr_nonzero_p (captures[0])
    1056              : )
    1057              :     {
    1058           12 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail348;
    1059           12 :       {
    1060           12 :         tree _r;
    1061           12 :         _r =  constant_boolean_node (cmp != EQ_EXPR, type);
    1062           12 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1063            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1064           12 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1065            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1066           12 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 263, __FILE__, __LINE__, true);
    1067           12 :         return _r;
    1068              :       }
    1069            0 : next_after_fail348:;
    1070              :     }
    1071              :   return NULL_TREE;
    1072              : }
    1073              : 
    1074              : tree
    1075         9149 : generic_simplify_216 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1076              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1077              :  const enum tree_code ARG_UNUSED (neeq),
    1078              :  const enum tree_code ARG_UNUSED (ltge))
    1079              : {
    1080         9149 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1081         9149 :   {
    1082         9149 :  tree itype = signed_type_for (TREE_TYPE (captures[1]));
    1083        18085 :       if (wi::to_wide (captures[2]) == element_precision (itype) - 1
    1084         9149 :  && (!VECTOR_TYPE_P (itype)
    1085           13 :  || (cfun
    1086           13 :  && cfun->after_inlining
    1087            5 :  && VECTOR_BOOLEAN_TYPE_P (type)
    1088            2 :  && (expand_vec_cmp_expr_p (itype, type, ltge)
    1089            2 :  || !expand_vec_cmp_expr_p (TREE_TYPE (captures[0]),
    1090              :  type, neeq))))
    1091              : )
    1092              :         {
    1093          213 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail359;
    1094          213 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail359;
    1095          213 :           {
    1096          213 :             tree res_op0;
    1097          213 :             {
    1098          213 :               tree _o1[1], _r1;
    1099          213 :               _o1[0] = captures[1];
    1100          213 :               if (TREE_TYPE (_o1[0]) != itype)
    1101              :                 {
    1102          161 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, itype, _o1[0]);
    1103              :                 }
    1104              :               else
    1105              :                 _r1 = _o1[0];
    1106          213 :               res_op0 = _r1;
    1107              :             }
    1108          213 :             tree res_op1;
    1109          213 :             res_op1 =  build_zero_cst (itype);
    1110          213 :             tree _r;
    1111          213 :             _r = fold_build2_loc (loc, ltge, type, res_op0, res_op1);
    1112          213 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1113            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1114          213 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 273, __FILE__, __LINE__, true);
    1115          213 :             return _r;
    1116              :           }
    1117              : next_after_fail359:;
    1118              :         }
    1119              :   }
    1120              :   return NULL_TREE;
    1121              : }
    1122              : 
    1123              : tree
    1124           21 : generic_simplify_229 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1125              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1126              :  const enum tree_code ARG_UNUSED (cmp))
    1127              : {
    1128           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1129           21 :   if (TREE_INT_CST_LOW (captures[1]) & 1
    1130              : )
    1131              :     {
    1132            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail385;
    1133            2 :       {
    1134            2 :         tree _r;
    1135            2 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1136            2 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1137            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1138            2 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1139            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1140            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 298, __FILE__, __LINE__, true);
    1141            2 :         return _r;
    1142              :       }
    1143            0 : next_after_fail385:;
    1144              :     }
    1145              :   return NULL_TREE;
    1146              : }
    1147              : 
    1148              : tree
    1149           45 : generic_simplify_235 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1150              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1151              :  const enum tree_code ARG_UNUSED (cmp))
    1152              : {
    1153           45 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1154           45 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1155              : )
    1156              :     {
    1157            0 :       {
    1158            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
    1159            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail393;
    1160            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail393;
    1161            0 :           {
    1162            0 :             tree res_op0;
    1163            0 :             {
    1164            0 :               tree _o1[2], _r1;
    1165            0 :               {
    1166            0 :                 tree _o2[1], _r2;
    1167            0 :                 _o2[0] = captures[0];
    1168            0 :                 if (TREE_TYPE (_o2[0]) != utype)
    1169              :                   {
    1170            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1171              :                   }
    1172              :                 else
    1173              :                   _r2 = _o2[0];
    1174            0 :                 _o1[0] = _r2;
    1175              :               }
    1176            0 :               {
    1177            0 :                 tree _o2[1], _r2;
    1178            0 :                 _o2[0] = captures[1];
    1179            0 :                 if (TREE_TYPE (_o2[0]) != utype)
    1180              :                   {
    1181            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1182              :                   }
    1183              :                 else
    1184              :                   _r2 = _o2[0];
    1185            0 :                 _o1[1] = _r2;
    1186              :               }
    1187            0 :               _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1188            0 :               res_op0 = _r1;
    1189              :             }
    1190            0 :             tree res_op1;
    1191            0 :             res_op1 =  build_zero_cst (utype);
    1192            0 :             tree _r;
    1193            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1194            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 306, __FILE__, __LINE__, true);
    1195            0 :             return _r;
    1196              :           }
    1197              : next_after_fail393:;
    1198              :       }
    1199              :     }
    1200              :   return NULL_TREE;
    1201              : }
    1202              : 
    1203              : tree
    1204          124 : generic_simplify_243 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1205              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1206              :  const enum tree_code ARG_UNUSED (rotate),
    1207              :  const enum tree_code ARG_UNUSED (invrot),
    1208              :  const enum tree_code ARG_UNUSED (cmp))
    1209              : {
    1210          124 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1211          124 :   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail411;
    1212          124 :   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail411;
    1213          124 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail411;
    1214          124 :   {
    1215          124 :     tree res_op0;
    1216          124 :     res_op0 = captures[0];
    1217          124 :     tree res_op1;
    1218          124 :     res_op1 =  const_binop (invrot, TREE_TYPE (captures[0]), captures[2], captures[1]);
    1219          124 :     tree _r;
    1220          124 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1221          124 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 324, __FILE__, __LINE__, true);
    1222              :     return _r;
    1223              :   }
    1224              : next_after_fail411:;
    1225              :   return NULL_TREE;
    1226              : }
    1227              : 
    1228              : tree
    1229        25682 : generic_simplify_249 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1230              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1231              :  const enum tree_code ARG_UNUSED (cmp),
    1232              :  const enum tree_code ARG_UNUSED (icmp),
    1233              :  const enum tree_code ARG_UNUSED (ncmp))
    1234              : {
    1235        25682 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1236        25682 :   if (types_match (type, TREE_TYPE (captures[0]))
    1237              : )
    1238              :     {
    1239        25017 :       {
    1240        25017 :  enum tree_code ic = invert_tree_comparison
    1241        25017 :  (cmp, HONOR_NANS (captures[1]));
    1242        25017 :           if (ic == icmp
    1243              : )
    1244              :             {
    1245        24778 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail417;
    1246        24778 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail417;
    1247        24778 :               {
    1248        24778 :                 tree res_op0;
    1249        24778 :                 res_op0 = captures[1];
    1250        24778 :                 tree res_op1;
    1251        24778 :                 res_op1 = captures[2];
    1252        24778 :                 tree _r;
    1253        24778 :                 _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1254        24778 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 330, __FILE__, __LINE__, true);
    1255        24778 :                 return _r;
    1256              :               }
    1257              : next_after_fail417:;
    1258              :             }
    1259              :           else
    1260              :             {
    1261          239 :               if (ic == ncmp
    1262              : )
    1263              :                 {
    1264            0 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail418;
    1265            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail418;
    1266            0 :                   {
    1267            0 :                     tree res_op0;
    1268            0 :                     res_op0 = captures[1];
    1269            0 :                     tree res_op1;
    1270            0 :                     res_op1 = captures[2];
    1271            0 :                     tree _r;
    1272            0 :                     _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1273            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 331, __FILE__, __LINE__, true);
    1274            0 :                     return _r;
    1275              :                   }
    1276              : next_after_fail418:;
    1277              :                 }
    1278              :             }
    1279              :       }
    1280              :     }
    1281              :   return NULL_TREE;
    1282              : }
    1283              : 
    1284              : tree
    1285      6193562 : generic_simplify_259 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1286              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1287              :  const enum tree_code ARG_UNUSED (cmp))
    1288              : {
    1289      6193562 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1290      6193562 :   if (REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (captures[1]))
    1291              : )
    1292              :     {
    1293         1708 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail433;
    1294         1708 :       {
    1295         1708 :         tree res_op0;
    1296         1708 :         res_op0 = captures[0];
    1297         1708 :         tree res_op1;
    1298         1708 :         res_op1 =  build_real (TREE_TYPE (captures[1]), dconst0);
    1299         1708 :         tree _r;
    1300         1708 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1301         1708 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1302            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1303         1708 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 344, __FILE__, __LINE__, true);
    1304         1708 :         return _r;
    1305              :       }
    1306            0 : next_after_fail433:;
    1307              :     }
    1308              :   else
    1309              :     {
    1310      6191854 :       if (TREE_CODE (captures[0]) == REAL_CST
    1311      6191854 :  && REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (captures[0]))
    1312              : )
    1313              :         {
    1314            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail434;
    1315            0 :           {
    1316            0 :             tree res_op0;
    1317            0 :             res_op0 =  build_real (TREE_TYPE (captures[0]), dconst0);
    1318            0 :             tree res_op1;
    1319            0 :             res_op1 = captures[1];
    1320            0 :             tree _r;
    1321            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1322            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    1323            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1324            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 345, __FILE__, __LINE__, true);
    1325            0 :             return _r;
    1326              :           }
    1327            0 : next_after_fail434:;
    1328              :         }
    1329              :       else
    1330              :         {
    1331      6191854 :           if (REAL_VALUE_ISNAN (TREE_REAL_CST (captures[1]))
    1332          834 :  && (cmp == EQ_EXPR || cmp == NE_EXPR || !flag_trapping_math)
    1333          258 :  && !tree_expr_signaling_nan_p (captures[1])
    1334      6192082 :  && !tree_expr_maybe_signaling_nan_p (captures[0])
    1335              : )
    1336              :             {
    1337          228 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail435;
    1338          228 :               {
    1339          228 :                 tree _r;
    1340          228 :                 _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1341          228 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    1342            6 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1343          228 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1344            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1345          228 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 346, __FILE__, __LINE__, true);
    1346          228 :                 return _r;
    1347              :               }
    1348            0 : next_after_fail435:;
    1349              :             }
    1350              :           else
    1351              :             {
    1352      6191626 :               if (TREE_CODE (captures[0]) == REAL_CST
    1353         2011 :  && REAL_VALUE_ISNAN (TREE_REAL_CST (captures[0]))
    1354         1817 :  && (cmp == EQ_EXPR || cmp == NE_EXPR || !flag_trapping_math)
    1355            0 :  && !tree_expr_signaling_nan_p (captures[0])
    1356      6191626 :  && !tree_expr_signaling_nan_p (captures[1])
    1357              : )
    1358              :                 {
    1359            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail436;
    1360            0 :                   {
    1361            0 :                     tree _r;
    1362            0 :                     _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1363            0 :                     if (TREE_SIDE_EFFECTS (captures[0]))
    1364            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1365            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1366            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1367            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 347, __FILE__, __LINE__, true);
    1368            0 :                     return _r;
    1369              :                   }
    1370            0 : next_after_fail436:;
    1371              :                 }
    1372              :               else
    1373              :                 {
    1374      6191626 :                   if (REAL_VALUE_ISINF (TREE_REAL_CST (captures[1]))
    1375      6896984 :  && MODE_HAS_INFINITIES (TYPE_MODE (TREE_TYPE (captures[1])))
    1376              : )
    1377              :                     {
    1378       235147 :                       {
    1379       235147 :  REAL_VALUE_TYPE max;
    1380       235147 :  enum tree_code code = cmp;
    1381       235147 :  bool neg = REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]));
    1382       235147 :  if (neg)
    1383        33213 :  code = swap_tree_comparison (code);
    1384       235147 :                           if (code == GT_EXPR
    1385       235147 :  && !(HONOR_NANS (captures[0]) && flag_trapping_math)
    1386              : )
    1387              :                             {
    1388            7 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail437;
    1389            7 :                               {
    1390            7 :                                 tree _r;
    1391            7 :                                 _r =  constant_boolean_node (false, type);
    1392            7 :                                 if (TREE_SIDE_EFFECTS (captures[0]))
    1393            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1394            7 :                                 if (TREE_SIDE_EFFECTS (captures[1]))
    1395            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1396            7 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 348, __FILE__, __LINE__, true);
    1397        67172 :                                 return _r;
    1398              :                               }
    1399            0 : next_after_fail437:;
    1400              :                             }
    1401              :                           else
    1402              :                             {
    1403       235140 :                               if (code == LE_EXPR
    1404              : )
    1405              :                                 {
    1406        32143 :                                   if (! HONOR_NANS (captures[0])
    1407              : )
    1408              :                                     {
    1409            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail438;
    1410            0 :                                       {
    1411            0 :                                         tree _r;
    1412            0 :                                         _r =  constant_boolean_node (true, type);
    1413            0 :                                         if (TREE_SIDE_EFFECTS (captures[0]))
    1414            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1415            0 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1416            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1417            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 349, __FILE__, __LINE__, true);
    1418            0 :                                         return _r;
    1419              :                                       }
    1420            0 : next_after_fail438:;
    1421              :                                     }
    1422              :                                   else
    1423              :                                     {
    1424        32143 :                                       if (!flag_trapping_math
    1425              : )
    1426              :                                         {
    1427            2 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail439;
    1428            2 :                                           {
    1429            2 :                                             if (! tree_invariant_p (captures[0])) goto next_after_fail439;
    1430            0 :                                             tree res_op0;
    1431            0 :                                             res_op0 = unshare_expr (captures[0]);
    1432            0 :                                             tree res_op1;
    1433            0 :                                             res_op1 = captures[0];
    1434            0 :                                             tree _r;
    1435            0 :                                             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1436            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1437            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1438            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 350, __FILE__, __LINE__, true);
    1439            0 :                                             return _r;
    1440              :                                           }
    1441       167975 : next_after_fail439:;
    1442              :                                         }
    1443              :                                     }
    1444              :                                 }
    1445              :                               else
    1446              :                                 {
    1447       135631 :                                   if ((code == EQ_EXPR && !(HONOR_NANS (captures[0]) && flag_trapping_math))
    1448       338592 :  || code == GE_EXPR
    1449              : )
    1450              :                                     {
    1451          140 :                                       {
    1452          140 :  real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
    1453          140 :                                           if (neg
    1454              : )
    1455              :                                             {
    1456           55 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail440;
    1457           55 :                                               {
    1458           55 :                                                 tree res_op0;
    1459           55 :                                                 res_op0 = captures[0];
    1460           55 :                                                 tree res_op1;
    1461           55 :                                                 res_op1 =  build_real (TREE_TYPE (captures[0]), max);
    1462           55 :                                                 tree _r;
    1463           55 :                                                 _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    1464           55 :                                                 if (TREE_SIDE_EFFECTS (captures[1]))
    1465            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1466           55 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 351, __FILE__, __LINE__, true);
    1467           55 :                                                 return _r;
    1468              :                                               }
    1469            0 : next_after_fail440:;
    1470              :                                             }
    1471              :                                           else
    1472              :                                             {
    1473           85 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail441;
    1474           85 :                                               {
    1475           85 :                                                 tree res_op0;
    1476           85 :                                                 res_op0 = captures[0];
    1477           85 :                                                 tree res_op1;
    1478           85 :                                                 res_op1 =  build_real (TREE_TYPE (captures[0]), max);
    1479           85 :                                                 tree _r;
    1480           85 :                                                 _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    1481           85 :                                                 if (TREE_SIDE_EFFECTS (captures[1]))
    1482            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1483           85 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 352, __FILE__, __LINE__, true);
    1484           85 :                                                 return _r;
    1485              :                                               }
    1486            0 : next_after_fail441:;
    1487              :                                             }
    1488              :                                       }
    1489              :                                     }
    1490              :                                   else
    1491              :                                     {
    1492       202857 :                                       if (code == LT_EXPR
    1493              : )
    1494              :                                         {
    1495           90 :                                           {
    1496           90 :  real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
    1497           90 :                                               if (neg
    1498              : )
    1499              :                                                 {
    1500           26 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail442;
    1501           26 :                                                   {
    1502           26 :                                                     tree res_op0;
    1503           26 :                                                     res_op0 = captures[0];
    1504           26 :                                                     tree res_op1;
    1505           26 :                                                     res_op1 =  build_real (TREE_TYPE (captures[0]), max);
    1506           26 :                                                     tree _r;
    1507           26 :                                                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    1508           26 :                                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1509            0 :                                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1510           26 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 353, __FILE__, __LINE__, true);
    1511           26 :                                                     return _r;
    1512              :                                                   }
    1513            0 : next_after_fail442:;
    1514              :                                                 }
    1515              :                                               else
    1516              :                                                 {
    1517           64 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail443;
    1518           64 :                                                   {
    1519           64 :                                                     tree res_op0;
    1520           64 :                                                     res_op0 = captures[0];
    1521           64 :                                                     tree res_op1;
    1522           64 :                                                     res_op1 =  build_real (TREE_TYPE (captures[0]), max);
    1523           64 :                                                     tree _r;
    1524           64 :                                                     _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1525           64 :                                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1526            0 :                                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1527           64 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 354, __FILE__, __LINE__, true);
    1528           64 :                                                     return _r;
    1529              :                                                   }
    1530            0 : next_after_fail443:;
    1531              :                                                 }
    1532              :                                           }
    1533              :                                         }
    1534              :                                       else
    1535              :                                         {
    1536       202767 :                                           if (code == NE_EXPR
    1537              : )
    1538              :                                             {
    1539        66935 :                                               {
    1540        66935 :  real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
    1541        66935 :                                                   if (! HONOR_NANS (captures[0])
    1542              : )
    1543              :                                                     {
    1544            0 :                                                       if (neg
    1545              : )
    1546              :                                                         {
    1547            0 :                                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail444;
    1548            0 :                                                           {
    1549            0 :                                                             tree res_op0;
    1550            0 :                                                             res_op0 = captures[0];
    1551            0 :                                                             tree res_op1;
    1552            0 :                                                             res_op1 =  build_real (TREE_TYPE (captures[0]), max);
    1553            0 :                                                             tree _r;
    1554            0 :                                                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    1555            0 :                                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1556            0 :                                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1557            0 :                                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 355, __FILE__, __LINE__, true);
    1558            0 :                                                             return _r;
    1559              :                                                           }
    1560            0 : next_after_fail444:;
    1561              :                                                         }
    1562              :                                                       else
    1563              :                                                         {
    1564            0 :                                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail445;
    1565            0 :                                                           {
    1566            0 :                                                             tree res_op0;
    1567            0 :                                                             res_op0 = captures[0];
    1568            0 :                                                             tree res_op1;
    1569            0 :                                                             res_op1 =  build_real (TREE_TYPE (captures[0]), max);
    1570            0 :                                                             tree _r;
    1571            0 :                                                             _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1572            0 :                                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1573            0 :                                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1574            0 :                                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 356, __FILE__, __LINE__, true);
    1575            0 :                                                             return _r;
    1576              :                                                           }
    1577            0 : next_after_fail445:;
    1578              :                                                         }
    1579              :                                                     }
    1580              :                                                   else
    1581              :                                                     {
    1582        66935 :                                                       if (neg
    1583              : )
    1584              :                                                         {
    1585          560 :                                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail446;
    1586          560 :                                                           {
    1587          560 :                                                             tree res_op0;
    1588          560 :                                                             res_op0 = captures[0];
    1589          560 :                                                             tree res_op1;
    1590          560 :                                                             res_op1 =  build_real (TREE_TYPE (captures[0]), max);
    1591          560 :                                                             tree _r;
    1592          560 :                                                             _r = fold_build2_loc (loc, UNGE_EXPR, type, res_op0, res_op1);
    1593          560 :                                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1594            0 :                                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1595          560 :                                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 357, __FILE__, __LINE__, true);
    1596          560 :                                                             return _r;
    1597              :                                                           }
    1598            0 : next_after_fail446:;
    1599              :                                                         }
    1600              :                                                       else
    1601              :                                                         {
    1602        66375 :                                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail447;
    1603        66375 :                                                           {
    1604        66375 :                                                             tree res_op0;
    1605        66375 :                                                             res_op0 = captures[0];
    1606        66375 :                                                             tree res_op1;
    1607        66375 :                                                             res_op1 =  build_real (TREE_TYPE (captures[0]), max);
    1608        66375 :                                                             tree _r;
    1609        66375 :                                                             _r = fold_build2_loc (loc, UNLE_EXPR, type, res_op0, res_op1);
    1610        66375 :                                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1611            0 :                                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1612        66375 :                                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 358, __FILE__, __LINE__, true);
    1613        66375 :                                                             return _r;
    1614              :                                                           }
    1615            0 : next_after_fail447:;
    1616              :                                                         }
    1617              :                                                     }
    1618              :                                               }
    1619              :                                             }
    1620              :                                         }
    1621              :                                     }
    1622              :                                 }
    1623              :                             }
    1624              :                       }
    1625              :                     }
    1626              :                 }
    1627              :             }
    1628              :         }
    1629              :     }
    1630              :   return NULL_TREE;
    1631              : }
    1632              : 
    1633              : tree
    1634           45 : generic_simplify_300 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1635              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1636              :  const enum tree_code ARG_UNUSED (cmp),
    1637              :  const enum tree_code ARG_UNUSED (rep),
    1638              :  const combined_fn ARG_UNUSED (popcount))
    1639              : {
    1640           45 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1641           45 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail563;
    1642           45 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail563;
    1643           45 :   {
    1644           45 :     tree res_op0;
    1645           45 :     res_op0 = captures[0];
    1646           45 :     tree res_op1;
    1647           45 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    1648           45 :     tree _r;
    1649           45 :     _r = fold_build2_loc (loc, rep, type, res_op0, res_op1);
    1650           45 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 456, __FILE__, __LINE__, true);
    1651              :     return _r;
    1652              :   }
    1653              : next_after_fail563:;
    1654              :   return NULL_TREE;
    1655              : }
    1656              : 
    1657              : tree
    1658       235236 : generic_simplify_305 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1659              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1660              :  const enum tree_code ARG_UNUSED (cmp))
    1661              : {
    1662       235236 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1663       235236 :   if (cmp != NE_EXPR
    1664       230071 :  || ! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1665       247774 :  || ! tree_expr_maybe_nan_p (captures[0])
    1666              : )
    1667              :     {
    1668       228512 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail571;
    1669       228512 :       {
    1670       228512 :         tree _r;
    1671       228512 :         _r =  constant_boolean_node (false, type);
    1672       228512 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1673            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1674       228512 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 464, __FILE__, __LINE__, true);
    1675       228512 :         return _r;
    1676              :       }
    1677            0 : next_after_fail571:;
    1678              :     }
    1679              :   return NULL_TREE;
    1680              : }
    1681              : 
    1682              : tree
    1683            0 : generic_simplify_309 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1684              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1685              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
    1686              : {
    1687            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1688            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail575;
    1689            0 :   {
    1690            0 :     tree _r;
    1691            0 :     _r = captures[0];
    1692            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 468, __FILE__, __LINE__, true);
    1693              :     return _r;
    1694              :   }
    1695            0 : next_after_fail575:;
    1696            0 :   return NULL_TREE;
    1697              : }
    1698              : 
    1699              : tree
    1700        14407 : generic_simplify_316 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1701              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1702              :  const enum tree_code ARG_UNUSED (div))
    1703              : {
    1704        14407 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1705        14407 :   if (INTEGRAL_TYPE_P (type)
    1706        14379 :  && ssa_name_has_boolean_range (captures[1])
    1707        14407 :  && !flag_non_call_exceptions
    1708              : )
    1709              :     {
    1710            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail584;
    1711            0 :       {
    1712            0 :         tree _r;
    1713            0 :         _r = captures[0];
    1714            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1715            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1716            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 475, __FILE__, __LINE__, true);
    1717            0 :         return _r;
    1718              :       }
    1719            0 : next_after_fail584:;
    1720              :     }
    1721              :   return NULL_TREE;
    1722              : }
    1723              : 
    1724              : tree
    1725        25266 : generic_simplify_322 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1726              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1727              :  const enum tree_code ARG_UNUSED (div))
    1728              : {
    1729        25266 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1730        25266 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1731              : )
    1732              :     {
    1733        25118 :       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail591;
    1734        25118 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail591;
    1735        25118 :       {
    1736        25118 :         tree res_op0;
    1737        25118 :         res_op0 = captures[0];
    1738        25118 :         tree res_op1;
    1739        25118 :         res_op1 =  wide_int_to_tree
    1740        50236 :  (type, wi::mask (TYPE_PRECISION (type)
    1741        25118 :  - wi::exact_log2 (wi::to_wide (captures[1])),
    1742        25118 :  false, TYPE_PRECISION (type)));
    1743        25118 :         tree _r;
    1744        25118 :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    1745        25118 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 482, __FILE__, __LINE__, true);
    1746        25118 :         return _r;
    1747              :       }
    1748              : next_after_fail591:;
    1749              :     }
    1750              :   return NULL_TREE;
    1751              : }
    1752              : 
    1753              : tree
    1754          924 : generic_simplify_326 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1755              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1756              :  const enum tree_code ARG_UNUSED (mod))
    1757              : {
    1758          924 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1759          924 :   if (!integer_zerop (captures[1])
    1760              : )
    1761              :     {
    1762          785 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail595;
    1763          785 :       {
    1764          785 :         tree _r;
    1765          785 :         _r = captures[0];
    1766          785 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1767           74 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1768          785 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 486, __FILE__, __LINE__, true);
    1769          785 :         return _r;
    1770              :       }
    1771            0 : next_after_fail595:;
    1772              :     }
    1773              :   return NULL_TREE;
    1774              : }
    1775              : 
    1776              : tree
    1777            6 : generic_simplify_336 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1778              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1779              :  const combined_fn ARG_UNUSED (SIN),
    1780              :  const combined_fn ARG_UNUSED (COS),
    1781              :  const combined_fn ARG_UNUSED (TAN))
    1782              : {
    1783            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1784            6 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1785              : )
    1786              :     {
    1787            6 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail607;
    1788            6 :       {
    1789            6 :         tree res_op0;
    1790            6 :         res_op0 = captures[1];
    1791            6 :         tree _r;
    1792            6 :         _r = maybe_build_call_expr_loc (loc, TAN, type, 1, res_op0);
    1793            6 :         if (!_r)
    1794            0 :           goto next_after_fail607;
    1795            6 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 498, __FILE__, __LINE__, true);
    1796            6 :         return _r;
    1797              :       }
    1798              : next_after_fail607:;
    1799              :     }
    1800              :   return NULL_TREE;
    1801              : }
    1802              : 
    1803              : tree
    1804           24 : generic_simplify_343 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1805              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1806              :  const combined_fn ARG_UNUSED (POW))
    1807              : {
    1808           24 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1809           24 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1810              : )
    1811              :     {
    1812            6 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail614;
    1813            6 :       {
    1814            6 :         tree res_op0;
    1815            6 :         res_op0 = captures[0];
    1816            6 :         tree res_op1;
    1817            6 :         {
    1818            6 :           tree _o1[2], _r1;
    1819            6 :           _o1[0] = captures[2];
    1820            6 :           {
    1821            6 :             tree _o2[1], _r2;
    1822            6 :             _o2[0] = captures[3];
    1823            6 :             _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    1824            6 :             _o1[1] = _r2;
    1825              :           }
    1826            6 :           _r1 = maybe_build_call_expr_loc (loc, POW, TREE_TYPE (_o1[0]), 2, _o1[0], _o1[1]);
    1827            6 :           if (!_r1)
    1828            0 :             goto next_after_fail614;
    1829            6 :           res_op1 = _r1;
    1830              :         }
    1831            6 :         tree _r;
    1832            6 :         _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    1833            6 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 505, __FILE__, __LINE__, true);
    1834            6 :         return _r;
    1835              :       }
    1836              : next_after_fail614:;
    1837              :     }
    1838              :   return NULL_TREE;
    1839              : }
    1840              : 
    1841              : tree
    1842            0 : generic_simplify_352 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1843              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1844              :  const enum tree_code ARG_UNUSED (cmp))
    1845              : {
    1846            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1847            0 :   if (INTEGRAL_TYPE_P (type)
    1848              : )
    1849              :     {
    1850            0 :       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail629;
    1851            0 :       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail629;
    1852            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail629;
    1853            0 :       {
    1854            0 :         tree res_op0;
    1855            0 :         res_op0 = captures[0];
    1856            0 :         tree res_op1;
    1857            0 :         res_op1 = captures[1];
    1858            0 :         tree _r;
    1859            0 :         _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
    1860            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 520, __FILE__, __LINE__, true);
    1861            0 :         return _r;
    1862              :       }
    1863              : next_after_fail629:;
    1864              :     }
    1865              :   return NULL_TREE;
    1866              : }
    1867              : 
    1868              : tree
    1869            0 : generic_simplify_356 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1870              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1871              :  const enum tree_code ARG_UNUSED (op))
    1872              : {
    1873            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1874            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail633;
    1875            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail633;
    1876            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail633;
    1877            0 :   {
    1878            0 :     tree _r;
    1879            0 :     _r = captures[2];
    1880            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 524, __FILE__, __LINE__, true);
    1881              :     return _r;
    1882              :   }
    1883              : next_after_fail633:;
    1884              :   return NULL_TREE;
    1885              : }
    1886              : 
    1887              : tree
    1888           51 : generic_simplify_361 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1889              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1890              :  const enum tree_code ARG_UNUSED (op))
    1891              : {
    1892           51 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1893           51 :   if (bitwise_equal_p (captures[0], captures[2])
    1894            1 :  && tree_expr_nonzero_p (captures[3])
    1895           52 :  && expr_no_side_effects_p (captures[2])
    1896              : )
    1897              :     {
    1898            1 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail638;
    1899            1 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail638;
    1900            1 :       if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail638;
    1901            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail638;
    1902            1 :       {
    1903            1 :         tree _r;
    1904            1 :         _r = captures[1];
    1905            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 529, __FILE__, __LINE__, true);
    1906            1 :         return _r;
    1907              :       }
    1908              : next_after_fail638:;
    1909              :     }
    1910              :   return NULL_TREE;
    1911              : }
    1912              : 
    1913              : tree
    1914            6 : generic_simplify_368 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1915              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1916              :  const enum tree_code ARG_UNUSED (neeq),
    1917              :  const combined_fn ARG_UNUSED (sign))
    1918              : {
    1919            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1920            6 :   if (neeq == NE_EXPR
    1921              : )
    1922              :     {
    1923            3 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail645;
    1924            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail645;
    1925            3 :       {
    1926            3 :         tree res_op0;
    1927            3 :         res_op0 = captures[0];
    1928            3 :         tree _r;
    1929            3 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    1930            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 536, __FILE__, __LINE__, true);
    1931            3 :         return _r;
    1932              :       }
    1933              : next_after_fail645:;
    1934              :     }
    1935              :   else
    1936              :     {
    1937            3 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail646;
    1938            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail646;
    1939            3 :       {
    1940            3 :         tree res_op0;
    1941            3 :         {
    1942            3 :           tree _o1[1], _r1;
    1943            3 :           _o1[0] = captures[0];
    1944            3 :           _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    1945            3 :           res_op0 = _r1;
    1946              :         }
    1947            3 :         tree _r;
    1948            3 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    1949            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 537, __FILE__, __LINE__, true);
    1950            3 :         return _r;
    1951              :       }
    1952              : next_after_fail646:;
    1953              :     }
    1954              :   return NULL_TREE;
    1955              : }
    1956              : 
    1957              : tree
    1958        83965 : generic_simplify_381 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1959              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1960              :  const enum tree_code ARG_UNUSED (op))
    1961              : {
    1962        83965 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1963       167930 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1964        83965 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1965       167930 :  && wi::only_sign_bit_p (wi::to_wide (captures[1]))
    1966              : )
    1967              :     {
    1968            5 :       {
    1969            5 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    1970            5 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail663;
    1971            5 :           {
    1972            5 :             tree res_op0;
    1973            5 :             {
    1974            5 :               tree _o1[1], _r1;
    1975            5 :               _o1[0] = captures[0];
    1976            5 :               if (TREE_TYPE (_o1[0]) != stype)
    1977              :                 {
    1978            5 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    1979              :                 }
    1980              :               else
    1981              :                 _r1 = _o1[0];
    1982            5 :               res_op0 = _r1;
    1983              :             }
    1984            5 :             tree res_op1;
    1985            5 :             {
    1986            5 :               tree _o1[1], _r1;
    1987            5 :               _o1[0] = captures[2];
    1988            5 :               if (TREE_TYPE (_o1[0]) != stype)
    1989              :                 {
    1990            5 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    1991              :                 }
    1992              :               else
    1993              :                 _r1 = _o1[0];
    1994            5 :               res_op1 = _r1;
    1995              :             }
    1996            5 :             tree _r;
    1997            5 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1998            5 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1999            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2000            5 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 552, __FILE__, __LINE__, true);
    2001            5 :             return _r;
    2002              :           }
    2003            0 : next_after_fail663:;
    2004              :       }
    2005              :     }
    2006              :   return NULL_TREE;
    2007              : }
    2008              : 
    2009              : tree
    2010        37261 : generic_simplify_392 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2011              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2012              :  const enum tree_code ARG_UNUSED (cmp),
    2013              :  const enum tree_code ARG_UNUSED (out))
    2014              : {
    2015        37261 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2016        37261 :   if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    2017        37245 :  && types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[0]))
    2018        37245 :  && tree_nop_conversion_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[3]))
    2019        37261 :  && wi::to_wide (captures[4]) != 0
    2020            0 :  && single_use (captures[1])
    2021              : )
    2022              :     {
    2023        37245 :       {
    2024        37245 :  unsigned int prec = TYPE_PRECISION (TREE_TYPE (captures[3]));
    2025        37245 :  signop sign = TYPE_SIGN (TREE_TYPE (captures[3]));
    2026        37245 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail675;
    2027        37245 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail675;
    2028        37245 :           {
    2029        37245 :             tree res_op0;
    2030        37245 :             res_op0 = captures[3];
    2031        37245 :             tree res_op1;
    2032        37245 :             res_op1 =  wide_int_to_tree (TREE_TYPE (captures[3]),
    2033        37245 :  wi::max_value (prec, sign)
    2034       111735 :  - wi::to_wide (captures[4]));
    2035        37245 :             tree _r;
    2036        37245 :             _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2037        37245 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 564, __FILE__, __LINE__, true);
    2038        37245 :             return _r;
    2039              :           }
    2040              : next_after_fail675:;
    2041              :       }
    2042              :     }
    2043              :   return NULL_TREE;
    2044              : }
    2045              : 
    2046              : tree
    2047         1091 : generic_simplify_402 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2048              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2049              :  const enum tree_code ARG_UNUSED (cmp),
    2050              :  const enum tree_code ARG_UNUSED (out))
    2051              : {
    2052         1091 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2053         1091 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    2054              : )
    2055              :     {
    2056         1073 :       {
    2057         1073 :  tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
    2058         1073 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail717;
    2059         1061 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail717;
    2060         1061 :           {
    2061         1061 :             tree res_op0;
    2062         1061 :             {
    2063         1061 :               tree _o1[1], _r1;
    2064         1061 :               {
    2065         1061 :                 tree _o2[2], _r2;
    2066         1061 :                 _o2[0] = captures[2];
    2067         1061 :                 _o2[1] = captures[1];
    2068         1061 :                 _r2 = maybe_build_call_expr_loc (loc, CFN_MUL_OVERFLOW, cpx, 2, _o2[0], _o2[1]);
    2069         1061 :                 if (!_r2)
    2070            0 :                   goto next_after_fail717;
    2071         1061 :                 _o1[0] = _r2;
    2072              :               }
    2073         1061 :               _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2074         1061 :               res_op0 = _r1;
    2075              :             }
    2076         1061 :             tree res_op1;
    2077         1061 :             res_op1 =  build_zero_cst (t);
    2078         1061 :             tree _r;
    2079         1061 :             _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2080         1061 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 589, __FILE__, __LINE__, true);
    2081         1061 :             return _r;
    2082              :           }
    2083              : next_after_fail717:;
    2084              :       }
    2085              :     }
    2086              :   return NULL_TREE;
    2087              : }
    2088              : 
    2089              : tree
    2090        13220 : generic_simplify_409 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2091              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2092              :  const enum tree_code ARG_UNUSED (cmp),
    2093              :  const enum tree_code ARG_UNUSED (eqcmp))
    2094              : {
    2095        13220 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2096        13220 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2097              : )
    2098              :     {
    2099        13220 :       {
    2100        13220 :  tree ty = TREE_TYPE (captures[0]);
    2101        13220 :  unsigned prec = TYPE_PRECISION (ty);
    2102        13220 :  wide_int mask = wi::to_wide (captures[2], prec);
    2103        13220 :  wide_int rhs = wi::to_wide (captures[3], prec);
    2104        13220 :  signop sgn = TYPE_SIGN (ty);
    2105        37454 :           if ((mask & (mask + 1)) == 0 && wi::gt_p (rhs, 0, sgn)
    2106        48300 :  && (rhs & (rhs + 1)) == 0 && wi::ge_p (mask, rhs, sgn)
    2107              : )
    2108              :             {
    2109          845 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail731;
    2110          845 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail731;
    2111          845 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail731;
    2112          845 :               {
    2113          845 :                 tree res_op0;
    2114          845 :                 {
    2115          845 :                   tree _o1[2], _r1;
    2116          845 :                   _o1[0] = captures[1];
    2117          845 :                   _o1[1] =  wide_int_to_tree (ty, mask - rhs);
    2118          845 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2119          845 :                   res_op0 = _r1;
    2120              :                 }
    2121          845 :                 tree res_op1;
    2122          845 :                 res_op1 =  build_zero_cst (ty);
    2123          845 :                 tree _r;
    2124          845 :                 _r = fold_build2_loc (loc, eqcmp, type, res_op0, res_op1);
    2125          845 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 603, __FILE__, __LINE__, true);
    2126          845 :                 return _r;
    2127              :               }
    2128        12375 : next_after_fail731:;
    2129              :             }
    2130        13220 :       }
    2131              :     }
    2132              :   return NULL_TREE;
    2133              : }
    2134              : 
    2135              : tree
    2136            1 : generic_simplify_415 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2137              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2138              :  const combined_fn ARG_UNUSED (logs),
    2139              :  const combined_fn ARG_UNUSED (exps),
    2140              :  const enum tree_code ARG_UNUSED (cmp))
    2141              : {
    2142            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2143            1 :   if (flag_unsafe_math_optimizations
    2144              : )
    2145              :     {
    2146            1 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    2147            1 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
    2148            1 :  && ! flag_trapping_math
    2149            2 :  && ! flag_errno_math
    2150              : )
    2151              :         {
    2152            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail737;
    2153            1 :           {
    2154            1 :             tree res_op0;
    2155            1 :             res_op0 = captures[1];
    2156            1 :             tree res_op1;
    2157            1 :             {
    2158            1 :               tree _o1[1], _r1;
    2159            1 :               _o1[0] = captures[2];
    2160            1 :               _r1 = maybe_build_call_expr_loc (loc, logs, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2161            1 :               if (!_r1)
    2162            0 :                 goto next_after_fail737;
    2163            1 :               if (EXPR_P (_r1))
    2164            1 :                 goto next_after_fail737;
    2165            0 :               res_op1 = _r1;
    2166              :             }
    2167            0 :             tree _r;
    2168            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2169            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 605, __FILE__, __LINE__, true);
    2170            0 :             return _r;
    2171              :           }
    2172              : next_after_fail737:;
    2173              :         }
    2174              :     }
    2175              :   return NULL_TREE;
    2176              : }
    2177              : 
    2178              : tree
    2179            0 : generic_simplify_423 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2180              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2181              :  const enum tree_code ARG_UNUSED (shiftrotate))
    2182              : {
    2183            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2184            0 :   {
    2185            0 :  tree tem = uniform_vector_p (captures[1]);
    2186            0 :       if (tem
    2187              : )
    2188              :         {
    2189            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail749;
    2190            0 :           {
    2191            0 :             tree res_op0;
    2192            0 :             res_op0 = captures[0];
    2193            0 :             tree res_op1;
    2194            0 :             res_op1 =  tem;
    2195            0 :             tree _r;
    2196            0 :             _r = fold_build2_loc (loc, shiftrotate, type, res_op0, res_op1);
    2197            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2198            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2199            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 617, __FILE__, __LINE__, true);
    2200            0 :             return _r;
    2201              :           }
    2202            0 : next_after_fail749:;
    2203              :         }
    2204              :   }
    2205              :   return NULL_TREE;
    2206              : }
    2207              : 
    2208              : tree
    2209      3394487 : generic_simplify_430 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2210              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2211              :  const enum tree_code ARG_UNUSED (bitop))
    2212              : {
    2213      3394487 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2214      3394487 :   if (0
    2215              :  && TREE_CODE (captures[3]) != INTEGER_CST
    2216              :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    2217              :  && types_match (type, captures[2])
    2218              :  && !POINTER_TYPE_P (TREE_TYPE (captures[2]))
    2219              :  && TREE_CODE (TREE_TYPE (captures[2])) != OFFSET_TYPE
    2220              : )
    2221              :     {
    2222              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail763;
    2223              :       {
    2224              :         tree res_op0;
    2225              :         res_op0 = captures[2];
    2226              :         tree res_op1;
    2227              :         {
    2228              :           tree _o1[1], _r1;
    2229              :           _o1[0] = captures[3];
    2230              :           if (TREE_TYPE (_o1[0]) != type)
    2231              :             {
    2232              :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2233              :             }
    2234              :           else
    2235              :             _r1 = _o1[0];
    2236              :           res_op1 = _r1;
    2237              :         }
    2238              :         tree _r;
    2239              :         _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    2240              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 629, __FILE__, __LINE__, true);
    2241              :         return _r;
    2242              :       }
    2243              : next_after_fail763:;
    2244              :     }
    2245      3394487 :   return NULL_TREE;
    2246              : }
    2247              : 
    2248              : tree
    2249         7347 : generic_simplify_434 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2250              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2251              :  const enum tree_code ARG_UNUSED (minmax))
    2252              : {
    2253         7347 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2254         7347 :   if (INTEGRAL_TYPE_P (type)
    2255         7347 :  && types_match (captures[1], type) && int_fits_type_p (captures[2], type)
    2256          636 :  && TYPE_SIGN (TREE_TYPE (captures[0])) == TYPE_SIGN (type)
    2257         7347 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (type)
    2258              : )
    2259              :     {
    2260            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail769;
    2261            0 :       {
    2262            0 :         tree res_op0;
    2263            0 :         res_op0 = captures[1];
    2264            0 :         tree res_op1;
    2265            0 :         {
    2266            0 :           tree _o1[1], _r1;
    2267            0 :           _o1[0] = captures[2];
    2268            0 :           if (TREE_TYPE (_o1[0]) != type)
    2269              :             {
    2270            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2271              :             }
    2272              :           else
    2273              :             _r1 = _o1[0];
    2274            0 :           res_op1 = _r1;
    2275              :         }
    2276            0 :         tree _r;
    2277            0 :         _r = fold_build2_loc (loc, minmax, type, res_op0, res_op1);
    2278            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 635, __FILE__, __LINE__, true);
    2279            0 :         return _r;
    2280              :       }
    2281            0 : next_after_fail769:;
    2282              :     }
    2283              :   return NULL_TREE;
    2284              : }
    2285              : 
    2286              : tree
    2287      2057963 : generic_simplify_437 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2288              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2289              :  const enum tree_code ARG_UNUSED (op))
    2290              : {
    2291      2057963 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2292      2057963 :   if (INTEGRAL_TYPE_P (type)
    2293      1903078 :  && op != MULT_EXPR
    2294      1903078 :  && op != RDIV_EXPR
    2295      1167201 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2296      1167201 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2297      1167201 :  && type_has_mode_precision_p (TREE_TYPE (captures[2]))
    2298      1166822 :  && type_has_mode_precision_p (TREE_TYPE (captures[4]))
    2299      1166050 :  && type_has_mode_precision_p (type)
    2300      1162197 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    2301            0 :  && types_match (captures[2], type)
    2302      2057963 :  && (types_match (captures[2], captures[4])
    2303            0 :  || poly_int_tree_p (captures[3]))
    2304              : )
    2305              :     {
    2306            0 :       if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
    2307              : )
    2308              :         {
    2309            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail778;
    2310            0 :           {
    2311            0 :             tree res_op0;
    2312            0 :             res_op0 = captures[2];
    2313            0 :             tree res_op1;
    2314            0 :             {
    2315            0 :               tree _o1[1], _r1;
    2316            0 :               _o1[0] = captures[4];
    2317            0 :               if (TREE_TYPE (_o1[0]) != type)
    2318              :                 {
    2319            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2320              :                 }
    2321              :               else
    2322              :                 _r1 = _o1[0];
    2323            0 :               res_op1 = _r1;
    2324              :             }
    2325            0 :             tree _r;
    2326            0 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2327            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 636, __FILE__, __LINE__, true);
    2328            0 :             return _r;
    2329              :           }
    2330            0 : next_after_fail778:;
    2331              :         }
    2332              :       else
    2333              :         {
    2334            0 :           {
    2335            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2336            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail779;
    2337            0 :               {
    2338            0 :                 tree res_op0;
    2339            0 :                 {
    2340            0 :                   tree _o1[2], _r1;
    2341            0 :                   {
    2342            0 :                     tree _o2[1], _r2;
    2343            0 :                     _o2[0] = captures[2];
    2344            0 :                     if (TREE_TYPE (_o2[0]) != utype)
    2345              :                       {
    2346            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2347              :                       }
    2348              :                     else
    2349              :                       _r2 = _o2[0];
    2350            0 :                     _o1[0] = _r2;
    2351              :                   }
    2352            0 :                   {
    2353            0 :                     tree _o2[1], _r2;
    2354            0 :                     _o2[0] = captures[4];
    2355            0 :                     if (TREE_TYPE (_o2[0]) != utype)
    2356              :                       {
    2357            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2358              :                       }
    2359              :                     else
    2360              :                       _r2 = _o2[0];
    2361            0 :                     _o1[1] = _r2;
    2362              :                   }
    2363            0 :                   _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2364            0 :                   res_op0 = _r1;
    2365              :                 }
    2366            0 :                 tree _r;
    2367            0 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2368            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 637, __FILE__, __LINE__, true);
    2369            0 :                 return _r;
    2370              :               }
    2371            0 : next_after_fail779:;
    2372              :           }
    2373              :         }
    2374              :     }
    2375              :   else
    2376              :     {
    2377      2045427 :       if (FLOAT_TYPE_P (type)
    2378      2070499 :  && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    2379        12536 :  == DECIMAL_FLOAT_TYPE_P (type)
    2380              : )
    2381              :         {
    2382        12513 :           {
    2383        12513 :  tree arg0 = strip_float_extensions (captures[2]);
    2384        12513 :  tree arg1 = strip_float_extensions (captures[4]);
    2385        12513 :  tree itype = TREE_TYPE (captures[0]);
    2386        12513 :  tree ty1 = TREE_TYPE (arg0);
    2387        12513 :  tree ty2 = TREE_TYPE (arg1);
    2388        12513 :  enum tree_code code = TREE_CODE (itype);
    2389            0 :               if (FLOAT_TYPE_P (ty1)
    2390        12513 :  && FLOAT_TYPE_P (ty2)
    2391              : )
    2392              :                 {
    2393        12513 :                   {
    2394        12513 :  tree newtype = type;
    2395        12513 :  if (TYPE_MODE (ty1) == SDmode
    2396        12504 :  || TYPE_MODE (ty2) == SDmode
    2397        25017 :  || TYPE_MODE (type) == SDmode)
    2398            9 :  newtype = dfloat32_type_node;
    2399        12513 :  if (TYPE_MODE (ty1) == DDmode
    2400        12507 :  || TYPE_MODE (ty2) == DDmode
    2401        25020 :  || TYPE_MODE (type) == DDmode)
    2402            6 :  newtype = dfloat64_type_node;
    2403        12513 :  if (TYPE_MODE (ty1) == TDmode
    2404        12513 :  || TYPE_MODE (ty2) == TDmode
    2405        25026 :  || TYPE_MODE (type) == TDmode)
    2406           15 :  newtype = dfloat128_type_node;
    2407        12513 :                       if ((newtype == dfloat32_type_node
    2408        12513 :  || newtype == dfloat64_type_node
    2409        12513 :  || newtype == dfloat128_type_node)
    2410           15 :  && newtype == type
    2411        12519 :  && types_match (newtype, type)
    2412              : )
    2413              :                         {
    2414            6 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail780;
    2415            0 :                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail780;
    2416            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail780;
    2417            0 :                           {
    2418            0 :                             tree res_op0;
    2419            0 :                             {
    2420            0 :                               tree _o1[1], _r1;
    2421            0 :                               _o1[0] = captures[2];
    2422            0 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2423              :                                 {
    2424            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2425              :                                 }
    2426              :                               else
    2427              :                                 _r1 = _o1[0];
    2428            0 :                               res_op0 = _r1;
    2429              :                             }
    2430            0 :                             tree res_op1;
    2431            0 :                             {
    2432            0 :                               tree _o1[1], _r1;
    2433            0 :                               _o1[0] = captures[4];
    2434            0 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2435              :                                 {
    2436            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2437              :                                 }
    2438              :                               else
    2439              :                                 _r1 = _o1[0];
    2440            0 :                               res_op1 = _r1;
    2441              :                             }
    2442            0 :                             tree _r;
    2443            0 :                             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2444            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 638, __FILE__, __LINE__, true);
    2445            0 :                             return _r;
    2446              :                           }
    2447              : next_after_fail780:;
    2448              :                         }
    2449              :                       else
    2450              :                         {
    2451        12507 :                           {
    2452        12507 :  if (element_precision (ty1) > element_precision (newtype))
    2453          749 :  newtype = ty1;
    2454        12507 :  if (element_precision (ty2) > element_precision (newtype))
    2455            2 :  newtype = ty2;
    2456        12507 :                               if (element_precision (newtype) < element_precision (itype)
    2457        11204 :  && (!VECTOR_MODE_P (TYPE_MODE (newtype))
    2458            0 :  || target_supports_op_p (newtype, op, optab_default))
    2459        11204 :  && (flag_unsafe_math_optimizations
    2460        11192 :  || (element_precision (newtype) == element_precision (type)
    2461        11188 :  && real_can_shorten_arithmetic (element_mode (itype),
    2462              :  element_mode (type))
    2463         4114 :  && !excess_precision_type (newtype)))
    2464        13180 :  && !types_match (itype, newtype)
    2465              : )
    2466              :                                 {
    2467          673 :                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail781;
    2468          673 :                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail781;
    2469          655 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail781;
    2470          655 :                                   {
    2471          655 :                                     tree res_op0;
    2472          655 :                                     {
    2473          655 :                                       tree _o1[2], _r1;
    2474          655 :                                       {
    2475          655 :                                         tree _o2[1], _r2;
    2476          655 :                                         _o2[0] = captures[2];
    2477          655 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2478              :                                           {
    2479          655 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2480              :                                           }
    2481              :                                         else
    2482              :                                           _r2 = _o2[0];
    2483          655 :                                         _o1[0] = _r2;
    2484              :                                       }
    2485          655 :                                       {
    2486          655 :                                         tree _o2[1], _r2;
    2487          655 :                                         _o2[0] = captures[4];
    2488          655 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2489              :                                           {
    2490          604 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2491              :                                           }
    2492              :                                         else
    2493              :                                           _r2 = _o2[0];
    2494          655 :                                         _o1[1] = _r2;
    2495              :                                       }
    2496          655 :                                       _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2497          655 :                                       res_op0 = _r1;
    2498              :                                     }
    2499          655 :                                     tree _r;
    2500          655 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2501          655 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 639, __FILE__, __LINE__, true);
    2502          655 :                                     return _r;
    2503              :                                   }
    2504              : next_after_fail781:;
    2505              :                                 }
    2506              :                           }
    2507              :                         }
    2508              :                   }
    2509              :                 }
    2510              :           }
    2511              :         }
    2512              :     }
    2513              :   return NULL_TREE;
    2514              : }
    2515              : 
    2516              : tree
    2517           13 : generic_simplify_469 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2518              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2519              : {
    2520           13 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2521           13 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail816;
    2522           13 :   {
    2523           13 :     tree _r;
    2524           13 :     _r =  build_zero_cst (type);
    2525           13 :     if (TREE_SIDE_EFFECTS (captures[0]))
    2526            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2527           13 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 669, __FILE__, __LINE__, true);
    2528              :     return _r;
    2529              :   }
    2530            0 : next_after_fail816:;
    2531            0 :   return NULL_TREE;
    2532              : }
    2533              : 
    2534              : tree
    2535      5339332 : generic_simplify_472 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2536              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2537              : {
    2538      5339332 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2539     10497582 :   if (POINTER_TYPE_P (TREE_TYPE (captures[0]))
    2540      5339352 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    2541              : )
    2542              :     {
    2543       181102 :       {
    2544       181102 :  unsigned int align;
    2545       181102 :  unsigned HOST_WIDE_INT bitpos;
    2546       181102 :  get_pointer_alignment_1 (captures[0], &align, &bitpos);
    2547       181102 :           if (wi::ltu_p (wi::to_wide (captures[1]), align / BITS_PER_UNIT)
    2548              : )
    2549              :             {
    2550         5471 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail819;
    2551         5471 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail819;
    2552         5471 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail819;
    2553         5471 :               {
    2554         5471 :                 tree _r;
    2555        10942 :                 _r =  wide_int_to_tree (type, (wi::to_wide (captures[1])
    2556        10942 :  & (bitpos / BITS_PER_UNIT)));
    2557         5471 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 671, __FILE__, __LINE__, true);
    2558         5471 :                 return _r;
    2559              :               }
    2560       175631 : next_after_fail819:;
    2561              :             }
    2562              :       }
    2563              :     }
    2564              :   return NULL_TREE;
    2565              : }
    2566              : 
    2567              : tree
    2568            0 : generic_simplify_482 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2569              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2570              :  const enum tree_code ARG_UNUSED (code2),
    2571              :  const enum tree_code ARG_UNUSED (code1))
    2572              : {
    2573            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2574            0 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
    2575            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2576            0 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2577            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    2578            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, code2))
    2579            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
    2580            0 :  && bitwise_equal_p (captures[2], captures[5]))
    2581              : )
    2582              :     {
    2583            0 :       {
    2584            0 :  bool one_before = false;
    2585            0 :  bool one_after = false;
    2586            0 :  int cmp = 0;
    2587            0 :  bool allbits = true;
    2588            0 :  if (TREE_CODE (captures[2]) == INTEGER_CST
    2589            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2590              :  {
    2591            0 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
    2592            0 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
    2593            0 :  auto t2 = wi::to_wide (captures[5]);
    2594            0 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
    2595            0 :  if (cmp < 0
    2596            0 :  && t1 == t2 - 1)
    2597              :  one_before = true;
    2598            0 :  if (cmp > 0
    2599            0 :  && t1 == t2 + 1)
    2600              :  one_after = true;
    2601              :  }
    2602            0 :  bool val;
    2603            0 :  switch (code2)
    2604              :  {
    2605            0 :  case EQ_EXPR: val = (cmp == 0); break;
    2606            0 :  case NE_EXPR: val = (cmp != 0); break;
    2607            0 :  case LT_EXPR: val = (cmp < 0); break;
    2608            0 :  case GT_EXPR: val = (cmp > 0); break;
    2609            0 :  case LE_EXPR: val = (cmp <= 0); break;
    2610            0 :  case GE_EXPR: val = (cmp >= 0); break;
    2611            0 :  default: gcc_unreachable ();
    2612              :  }
    2613            0 :           if (code1 == EQ_EXPR && val
    2614              : )
    2615              :             {
    2616            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail851;
    2617            0 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail851;
    2618            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail851;
    2619            0 :               {
    2620            0 :                 tree _r;
    2621            0 :                 _r = captures[0];
    2622            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 676, __FILE__, __LINE__, true);
    2623            0 :                 return _r;
    2624              :               }
    2625              : next_after_fail851:;
    2626              :             }
    2627              :           else
    2628              :             {
    2629            0 :               if (code1 == EQ_EXPR && !val
    2630              : )
    2631              :                 {
    2632            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail852;
    2633            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail852;
    2634            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail852;
    2635            0 :                   {
    2636            0 :                     tree _r;
    2637            0 :                     _r =  constant_boolean_node (false, type);
    2638            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    2639            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2640            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 677, __FILE__, __LINE__, true);
    2641            0 :                     return _r;
    2642              :                   }
    2643              : next_after_fail852:;
    2644              :                 }
    2645              :               else
    2646              :                 {
    2647            0 :                   if (code1 == NE_EXPR && !val && allbits
    2648              : )
    2649              :                     {
    2650            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail853;
    2651            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail853;
    2652            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail853;
    2653            0 :                       {
    2654            0 :                         tree _r;
    2655            0 :                         _r = captures[3];
    2656            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 678, __FILE__, __LINE__, true);
    2657            0 :                         return _r;
    2658              :                       }
    2659              : next_after_fail853:;
    2660              :                     }
    2661              :                   else
    2662              :                     {
    2663            0 :                       if ((code1 == NE_EXPR
    2664            0 :  && code2 == GE_EXPR
    2665            0 :  && cmp == 0
    2666            0 :  && allbits)
    2667            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2668            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2669            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2670              : )
    2671              :                         {
    2672            0 :                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail854;
    2673            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail854;
    2674            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail854;
    2675            0 :                           {
    2676            0 :                             tree res_op0;
    2677            0 :                             res_op0 = captures[4];
    2678            0 :                             tree res_op1;
    2679            0 :                             {
    2680            0 :                               tree _o1[1], _r1;
    2681            0 :                               _o1[0] = captures[2];
    2682            0 :                               if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2683              :                                 {
    2684            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2685              :                                 }
    2686              :                               else
    2687              :                                 _r1 = _o1[0];
    2688            0 :                               res_op1 = _r1;
    2689              :                             }
    2690            0 :                             tree _r;
    2691            0 :                             _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2692            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 679, __FILE__, __LINE__, true);
    2693            0 :                             return _r;
    2694              :                           }
    2695              : next_after_fail854:;
    2696              :                         }
    2697              :                       else
    2698              :                         {
    2699            0 :                           if ((code1 == NE_EXPR
    2700            0 :  && code2 == LE_EXPR
    2701            0 :  && cmp == 0
    2702            0 :  && allbits)
    2703            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2704            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2705            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2706              : )
    2707              :                             {
    2708            0 :                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail855;
    2709            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail855;
    2710            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail855;
    2711            0 :                               {
    2712            0 :                                 tree res_op0;
    2713            0 :                                 res_op0 = captures[4];
    2714            0 :                                 tree res_op1;
    2715            0 :                                 {
    2716            0 :                                   tree _o1[1], _r1;
    2717            0 :                                   _o1[0] = captures[2];
    2718            0 :                                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2719              :                                     {
    2720            0 :                                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2721              :                                     }
    2722              :                                   else
    2723              :                                     _r1 = _o1[0];
    2724            0 :                                   res_op1 = _r1;
    2725              :                                 }
    2726            0 :                                 tree _r;
    2727            0 :                                 _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2728            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 680, __FILE__, __LINE__, true);
    2729            0 :                                 return _r;
    2730              :                               }
    2731              : next_after_fail855:;
    2732              :                             }
    2733              :                           else
    2734              :                             {
    2735            0 :                               if ((code1 == NE_EXPR
    2736            0 :  && code2 == GT_EXPR
    2737              :  && one_after
    2738            0 :  && allbits)
    2739            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2740            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2741            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2742              : )
    2743              :                                 {
    2744            0 :                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail856;
    2745            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail856;
    2746            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail856;
    2747            0 :                                   {
    2748            0 :                                     tree res_op0;
    2749            0 :                                     res_op0 = captures[4];
    2750            0 :                                     tree res_op1;
    2751            0 :                                     {
    2752            0 :                                       tree _o1[1], _r1;
    2753            0 :                                       _o1[0] = captures[2];
    2754            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2755              :                                         {
    2756            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2757              :                                         }
    2758              :                                       else
    2759              :                                         _r1 = _o1[0];
    2760            0 :                                       res_op1 = _r1;
    2761              :                                     }
    2762            0 :                                     tree _r;
    2763            0 :                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2764            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 681, __FILE__, __LINE__, true);
    2765            0 :                                     return _r;
    2766              :                                   }
    2767              : next_after_fail856:;
    2768              :                                 }
    2769              :                               else
    2770              :                                 {
    2771            0 :                                   if ((code1 == NE_EXPR
    2772            0 :  && code2 == LT_EXPR
    2773              :  && one_before
    2774            0 :  && allbits)
    2775            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2776            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2777            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2778              : )
    2779              :                                     {
    2780            0 :                                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail857;
    2781            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail857;
    2782            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail857;
    2783            0 :                                       {
    2784            0 :                                         tree res_op0;
    2785            0 :                                         res_op0 = captures[4];
    2786            0 :                                         tree res_op1;
    2787            0 :                                         {
    2788            0 :                                           tree _o1[1], _r1;
    2789            0 :                                           _o1[0] = captures[2];
    2790            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2791              :                                             {
    2792            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2793              :                                             }
    2794              :                                           else
    2795              :                                             _r1 = _o1[0];
    2796            0 :                                           res_op1 = _r1;
    2797              :                                         }
    2798            0 :                                         tree _r;
    2799            0 :                                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2800            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 682, __FILE__, __LINE__, true);
    2801            0 :                                         return _r;
    2802              :                                       }
    2803              : next_after_fail857:;
    2804              :                                     }
    2805              :                                 }
    2806              :                             }
    2807              :                         }
    2808              :                     }
    2809              :                 }
    2810              :             }
    2811              :       }
    2812              :     }
    2813              :   return NULL_TREE;
    2814              : }
    2815              : 
    2816              : tree
    2817            2 : generic_simplify_512 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2818              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2819              :  const enum tree_code ARG_UNUSED (rotate))
    2820              : {
    2821            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2822            2 :   if ((element_precision (TREE_TYPE (captures[2]))
    2823            2 :  <= element_precision (TREE_TYPE (captures[3]))
    2824            0 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2825            2 :  && (element_precision (type) <= element_precision (TREE_TYPE (captures[2]))
    2826            0 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[2])))
    2827              : )
    2828              :     {
    2829            2 :       {
    2830            2 :  tree rotate_type = TREE_TYPE (captures[2]);
    2831            2 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail903;
    2832            2 :           {
    2833            2 :             tree res_op0;
    2834            2 :             {
    2835            2 :               tree _o1[2], _r1;
    2836            2 :               {
    2837            2 :                 tree _o2[1], _r2;
    2838            2 :                 _o2[0] = captures[3];
    2839            2 :                 if (TREE_TYPE (_o2[0]) != rotate_type)
    2840              :                   {
    2841            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, rotate_type, _o2[0]);
    2842              :                   }
    2843              :                 else
    2844              :                   _r2 = _o2[0];
    2845            2 :                 _o1[0] = _r2;
    2846              :               }
    2847            2 :               _o1[1] = captures[4];
    2848            2 :               _r1 = fold_build2_loc (loc, rotate, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2849            2 :               res_op0 = _r1;
    2850              :             }
    2851            2 :             tree _r;
    2852            2 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2853            2 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 714, __FILE__, __LINE__, true);
    2854            2 :             return _r;
    2855              :           }
    2856            0 : next_after_fail903:;
    2857              :       }
    2858              :     }
    2859              :   return NULL_TREE;
    2860              : }
    2861              : 
    2862              : tree
    2863            2 : generic_simplify_525 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2864              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2865              : {
    2866            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2867            2 :   if (TREE_CODE (type) != COMPLEX_TYPE
    2868            2 :  && (! ANY_INTEGRAL_TYPE_P (type)
    2869            1 :  || TYPE_OVERFLOW_UNDEFINED (type))
    2870              : )
    2871              :     {
    2872            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail918;
    2873            2 :       {
    2874            2 :         tree res_op0;
    2875            2 :         {
    2876            2 :           tree _o1[1], _r1;
    2877            2 :           _o1[0] = captures[0];
    2878            2 :           _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2879            2 :           res_op0 = _r1;
    2880              :         }
    2881            2 :         tree _r;
    2882            2 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    2883            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 729, __FILE__, __LINE__, true);
    2884            2 :         return _r;
    2885              :       }
    2886            0 : next_after_fail918:;
    2887              :     }
    2888              :   return NULL_TREE;
    2889              : }
    2890              : 
    2891              : tree
    2892            0 : generic_simplify_534 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2893              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2894              :  const enum tree_code ARG_UNUSED (minmax),
    2895              :  const enum tree_code ARG_UNUSED (maxmin))
    2896              : {
    2897            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2898            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail941;
    2899            0 :   {
    2900            0 :     tree res_op0;
    2901            0 :     {
    2902            0 :       tree _o1[2], _r1;
    2903            0 :       _o1[0] = captures[1];
    2904            0 :       _o1[1] = captures[3];
    2905            0 :       _r1 = fold_build2_loc (loc, maxmin, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2906            0 :       res_op0 = _r1;
    2907              :     }
    2908            0 :     tree _r;
    2909            0 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    2910            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 740, __FILE__, __LINE__, true);
    2911              :     return _r;
    2912              :   }
    2913            0 : next_after_fail941:;
    2914            0 :   return NULL_TREE;
    2915              : }
    2916              : 
    2917              : tree
    2918            0 : generic_simplify_539 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2919              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2920              :  const combined_fn ARG_UNUSED (minmax))
    2921              : {
    2922            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2923            0 :   if (real_isnan (TREE_REAL_CST_PTR (captures[1]))
    2924            0 :  && (!HONOR_SNANS (captures[1]) || !TREE_REAL_CST (captures[1]).signalling)
    2925            0 :  && !tree_expr_maybe_signaling_nan_p (captures[0])
    2926              : )
    2927              :     {
    2928            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail946;
    2929            0 :       {
    2930            0 :         tree _r;
    2931            0 :         _r = captures[0];
    2932            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    2933            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2934            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 745, __FILE__, __LINE__, true);
    2935            0 :         return _r;
    2936              :       }
    2937            0 : next_after_fail946:;
    2938              :     }
    2939              :   return NULL_TREE;
    2940              : }
    2941              : 
    2942              : tree
    2943            0 : generic_simplify_548 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2944              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2945              :  const combined_fn ARG_UNUSED (cond_op))
    2946              : {
    2947            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2948            0 :   {
    2949            0 :  tree op_type = TREE_TYPE (captures[5]);
    2950            0 :       if (inverse_conditions_p (captures[0], captures[2])
    2951            0 :  && element_precision (type) == element_precision (op_type)
    2952              : )
    2953              :         {
    2954            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail955;
    2955            0 :           {
    2956            0 :             tree res_op0;
    2957            0 :             {
    2958            0 :               tree _o1[4], _r1;
    2959            0 :               _o1[0] = captures[2];
    2960            0 :               _o1[1] = captures[3];
    2961            0 :               _o1[2] = captures[4];
    2962            0 :               {
    2963            0 :                 tree _o2[1], _r2;
    2964            0 :                 _o2[0] = captures[1];
    2965            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2966              :                   {
    2967            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    2968              :                   }
    2969              :                 else
    2970              :                   _r2 = _o2[0];
    2971            0 :                 _o1[3] = _r2;
    2972              :               }
    2973            0 :               _r1 = maybe_build_call_expr_loc (loc, cond_op, TREE_TYPE (_o1[1]), 4, _o1[0], _o1[1], _o1[2], _o1[3]);
    2974            0 :               if (!_r1)
    2975            0 :                 goto next_after_fail955;
    2976            0 :               res_op0 = _r1;
    2977              :             }
    2978            0 :             tree _r;
    2979            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    2980            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    2981            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2982            0 :             if (TREE_SIDE_EFFECTS (captures[5]))
    2983            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[5]), _r);
    2984            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 749, __FILE__, __LINE__, true);
    2985            0 :             return _r;
    2986              :           }
    2987              : next_after_fail955:;
    2988              :         }
    2989              :   }
    2990              :   return NULL_TREE;
    2991              : }
    2992              : 
    2993              : tree
    2994         5786 : generic_simplify_559 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2995              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2996              : {
    2997         5786 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2998        11572 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2999         5786 :  && TYPE_MAX_VALUE (TREE_TYPE (captures[1]))
    3000         5786 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (TREE_TYPE (captures[0])))
    3001         8082 :  && int_fits_type_p (captures[2], TREE_TYPE (captures[1]))
    3002              : )
    3003              :     {
    3004         1904 :       if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    3005              : )
    3006              :         {
    3007          929 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail967;
    3008          929 :           {
    3009          929 :             tree res_op0;
    3010          929 :             {
    3011          929 :               tree _o1[2], _r1;
    3012          929 :               _o1[0] = captures[1];
    3013          929 :               {
    3014          929 :                 tree _o2[2], _r2;
    3015          929 :                 _o2[0] =  TYPE_MAX_VALUE (TREE_TYPE (captures[1]));
    3016          929 :                 _o2[1] = captures[2];
    3017          929 :                 _r2 = fold_build2_loc (loc, TRUNC_DIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    3018          929 :                 if (EXPR_P (_r2))
    3019            0 :                   goto next_after_fail967;
    3020          929 :                 _o1[1] = _r2;
    3021              :               }
    3022          929 :               _r1 = fold_build2_loc (loc, GT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3023          929 :               res_op0 = _r1;
    3024              :             }
    3025          929 :             tree _r;
    3026          929 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3027          929 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 761, __FILE__, __LINE__, true);
    3028          929 :             return _r;
    3029              :           }
    3030              : next_after_fail967:;
    3031              :         }
    3032              :       else
    3033              :         {
    3034          975 :           if (TYPE_MIN_VALUE (TREE_TYPE (captures[1]))
    3035              : )
    3036              :             {
    3037          975 :               if (!TYPE_UNSIGNED (TREE_TYPE (captures[2])) && integer_minus_onep (captures[2])
    3038              : )
    3039              :                 {
    3040           56 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail968;
    3041           56 :                   {
    3042           56 :                     tree res_op0;
    3043           56 :                     {
    3044           56 :                       tree _o1[2], _r1;
    3045           56 :                       _o1[0] = captures[1];
    3046           56 :                       _o1[1] =  TYPE_MIN_VALUE (TREE_TYPE (captures[1]));
    3047           56 :                       _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3048           56 :                       res_op0 = _r1;
    3049              :                     }
    3050           56 :                     tree _r;
    3051           56 :                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3052           56 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    3053            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3054           56 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 762, __FILE__, __LINE__, true);
    3055           56 :                     return _r;
    3056              :                   }
    3057            0 : next_after_fail968:;
    3058              :                 }
    3059              :               else
    3060              :                 {
    3061          919 :                   {
    3062          919 :  tree div = fold_convert (TREE_TYPE (captures[1]), captures[2]);
    3063         1838 :  tree lo = int_const_binop (TRUNC_DIV_EXPR,
    3064          919 :  TYPE_MIN_VALUE (TREE_TYPE (captures[1])), div);
    3065         1838 :  tree hi = int_const_binop (TRUNC_DIV_EXPR,
    3066          919 :  TYPE_MAX_VALUE (TREE_TYPE (captures[1])), div);
    3067          919 :  tree etype = range_check_type (TREE_TYPE (captures[1]));
    3068          919 :  if (etype)
    3069              :  {
    3070          919 :  if (wi::neg_p (wi::to_wide (div)))
    3071           88 :  std::swap (lo, hi);
    3072          919 :  lo = fold_convert (etype, lo);
    3073          919 :  hi = fold_convert (etype, hi);
    3074          919 :  hi = int_const_binop (MINUS_EXPR, hi, lo);
    3075              :  }
    3076          919 :                       if (etype
    3077              : )
    3078              :                         {
    3079          919 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail969;
    3080          919 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail969;
    3081          919 :                           {
    3082          919 :                             tree res_op0;
    3083          919 :                             {
    3084          919 :                               tree _o1[2], _r1;
    3085          919 :                               {
    3086          919 :                                 tree _o2[2], _r2;
    3087          919 :                                 {
    3088          919 :                                   tree _o3[1], _r3;
    3089          919 :                                   _o3[0] = captures[1];
    3090          919 :                                   if (TREE_TYPE (_o3[0]) != etype)
    3091              :                                     {
    3092          919 :                                       _r3 = fold_build1_loc (loc, NOP_EXPR, etype, _o3[0]);
    3093              :                                     }
    3094              :                                   else
    3095              :                                     _r3 = _o3[0];
    3096          919 :                                   _o2[0] = _r3;
    3097              :                                 }
    3098          919 :                                 _o2[1] =  lo;
    3099          919 :                                 _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    3100          919 :                                 _o1[0] = _r2;
    3101              :                               }
    3102          919 :                               _o1[1] =  hi;
    3103          919 :                               _r1 = fold_build2_loc (loc, GT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3104          919 :                               res_op0 = _r1;
    3105              :                             }
    3106          919 :                             tree _r;
    3107          919 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3108          919 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 763, __FILE__, __LINE__, true);
    3109          919 :                             return _r;
    3110              :                           }
    3111              : next_after_fail969:;
    3112              :                         }
    3113              :                   }
    3114              :                 }
    3115              :             }
    3116              :         }
    3117              :     }
    3118              :   return NULL_TREE;
    3119              : }
    3120              : 
    3121              : tree
    3122            0 : generic_simplify_599 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3123              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    3124              : {
    3125            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3126            0 :   if (canonicalize_math_after_vectorization_p ()
    3127              : )
    3128              :     {
    3129              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1009;
    3130              :       {
    3131              :         tree res_op0;
    3132              :         res_op0 = captures[0];
    3133              :         tree res_op1;
    3134              :         res_op1 = captures[1];
    3135              :         tree res_op2;
    3136              :         res_op2 = captures[2];
    3137              :         tree _r;
    3138              :         _r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
    3139              :         if (!_r)
    3140              :           goto next_after_fail1009;
    3141              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 803, __FILE__, __LINE__, true);
    3142              :         return _r;
    3143              :       }
    3144            0 : next_after_fail1009:;
    3145              :     }
    3146            0 :   return NULL_TREE;
    3147              : }
    3148              : 
    3149              : tree
    3150            0 : generic_simplify_608 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3151              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
    3152              : {
    3153            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3154            0 :   if (canonicalize_math_after_vectorization_p ()
    3155              : )
    3156              :     {
    3157              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1018;
    3158              :       {
    3159              :         tree res_op0;
    3160              :         res_op0 = captures[0];
    3161              :         tree res_op1;
    3162              :         res_op1 = captures[1];
    3163              :         tree res_op2;
    3164              :         res_op2 = captures[2];
    3165              :         tree res_op3;
    3166              :         res_op3 = captures[3];
    3167              :         tree res_op4;
    3168              :         res_op4 = captures[4];
    3169              :         tree _r;
    3170              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3171              :         if (!_r)
    3172              :           goto next_after_fail1018;
    3173              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 812, __FILE__, __LINE__, true);
    3174              :         return _r;
    3175              :       }
    3176            0 : next_after_fail1018:;
    3177              :     }
    3178            0 :   return NULL_TREE;
    3179              : }
    3180              : 
    3181              : tree
    3182            0 : generic_simplify_619 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3183              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3184              :  const combined_fn ARG_UNUSED (PARITY))
    3185              : {
    3186            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3187            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1030;
    3188            0 :   {
    3189            0 :     tree res_op0;
    3190            0 :     res_op0 = captures[0];
    3191            0 :     tree _r;
    3192            0 :     _r = maybe_build_call_expr_loc (loc, PARITY, type, 1, res_op0);
    3193            0 :     if (!_r)
    3194            0 :       goto next_after_fail1030;
    3195            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 819, __FILE__, __LINE__, true);
    3196              :     return _r;
    3197              :   }
    3198              : next_after_fail1030:;
    3199              :   return NULL_TREE;
    3200              : }
    3201              : 
    3202              : tree
    3203            0 : generic_simplify_623 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3204              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3205              :  const enum tree_code ARG_UNUSED (rot),
    3206              :  const combined_fn ARG_UNUSED (parity))
    3207              : {
    3208            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3209            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3210            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3211            0 :  && (
    3212              : 
    3213            0 :  || !TREE_SIDE_EFFECTS (captures[3]))
    3214            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0]))
    3215            0 :  >= TYPE_PRECISION (TREE_TYPE (captures[1]))
    3216              : )
    3217              :     {
    3218            0 :       {
    3219            0 :  tree type0 = TREE_TYPE (captures[0]);
    3220            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1034;
    3221            0 :           {
    3222            0 :             tree res_op0;
    3223            0 :             {
    3224            0 :               tree _o1[1], _r1;
    3225            0 :               _o1[0] = captures[2];
    3226            0 :               if (TREE_TYPE (_o1[0]) != type0)
    3227              :                 {
    3228            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3229              :                 }
    3230              :               else
    3231              :                 _r1 = _o1[0];
    3232            0 :               res_op0 = _r1;
    3233              :             }
    3234            0 :             tree _r;
    3235            0 :             _r = maybe_build_call_expr_loc (loc, parity, type, 1, res_op0);
    3236            0 :             if (!_r)
    3237            0 :               goto next_after_fail1034;
    3238            0 :             if (TREE_SIDE_EFFECTS (captures[3]))
    3239            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3240            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 821, __FILE__, __LINE__, true);
    3241            0 :             return _r;
    3242              :           }
    3243              : next_after_fail1034:;
    3244              :       }
    3245              :     }
    3246              :   return NULL_TREE;
    3247              : }
    3248              : 
    3249              : tree
    3250    470546959 : generic_simplify_VIEW_CONVERT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3251              : {
    3252    470546959 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3253    470546959 :   {
    3254    470546959 :     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3255    941093918 :     if ((
    3256              : 
    3257              :  && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
    3258              :  || (
    3259              : 1
    3260    470546959 :  && type == TREE_TYPE (captures[0]))
    3261              : )
    3262              :       {
    3263    208261885 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1095;
    3264    208261885 :         {
    3265    208261885 :           tree _r;
    3266    208261885 :           _r = captures[0];
    3267    208261885 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 837, __FILE__, __LINE__, true);
    3268    208261885 :           return _r;
    3269              :         }
    3270            0 : next_after_fail1095:;
    3271              :       }
    3272              :   }
    3273    262285074 :   switch (TREE_CODE (_p0))
    3274              :     {
    3275     28889150 :     case VIEW_CONVERT_EXPR:
    3276     28889150 :       {
    3277     28889150 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3278     28889150 :         {
    3279     28889150 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3280     28889150 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1096;
    3281     28889150 :           {
    3282     28889150 :             tree res_op0;
    3283     28889150 :             res_op0 = captures[0];
    3284     28889150 :             tree _r;
    3285     28889150 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3286     28889150 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 871, __FILE__, __LINE__, true);
    3287    470546959 :             return _r;
    3288              :           }
    3289            0 : next_after_fail1096:;
    3290              :         }
    3291            0 :         break;
    3292              :       }
    3293            0 :     case BIT_FIELD_REF:
    3294            0 :       {
    3295            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3296            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3297            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    3298            0 :         {
    3299            0 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3300            0 :           if (is_gimple_reg_type (type)
    3301            0 :  && (!INTEGRAL_TYPE_P (type)
    3302            0 :  || type_has_mode_precision_p (type))
    3303            0 :  && (!INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3304            0 :  || type_has_mode_precision_p (TREE_TYPE (captures[0])))
    3305              : )
    3306              :             {
    3307            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1097;
    3308            0 :               {
    3309            0 :                 tree res_op0;
    3310            0 :                 res_op0 = captures[1];
    3311            0 :                 tree res_op1;
    3312            0 :                 res_op1 = captures[2];
    3313            0 :                 tree res_op2;
    3314            0 :                 res_op2 = captures[3];
    3315            0 :                 tree _r;
    3316            0 :                 _r = fold_build3_loc (loc, BIT_FIELD_REF, type, res_op0, res_op1, res_op2);
    3317            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
    3318            0 :                 return _r;
    3319              :               }
    3320            0 : next_after_fail1097:;
    3321              :             }
    3322              :         }
    3323            0 :         break;
    3324              :       }
    3325    233395924 :     default:;
    3326              :     }
    3327    233395924 :   {
    3328    233395924 :     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3329    231608828 :     if ((INTEGRAL_TYPE_P (type) || POINTER_TYPE_P (type))
    3330      2943282 :  && (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || POINTER_TYPE_P (TREE_TYPE (captures[0])))
    3331    236061353 :  && TYPE_PRECISION (type) == TYPE_PRECISION (TREE_TYPE (captures[0]))
    3332              : )
    3333              :       {
    3334      2311857 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1098;
    3335      2311857 :         {
    3336      2311857 :           tree res_op0;
    3337      2311857 :           res_op0 = captures[0];
    3338      2311857 :           tree _r;
    3339      2311857 :           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3340      2311857 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 873, __FILE__, __LINE__, true);
    3341      2311857 :           return _r;
    3342              :         }
    3343            0 : next_after_fail1098:;
    3344              :       }
    3345              :   }
    3346    231084067 :   switch (TREE_CODE (_p0))
    3347              :     {
    3348         3427 :     CASE_CONVERT:
    3349         3427 :       {
    3350         3427 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3351         3427 :         {
    3352         3427 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    3353         3427 :           {
    3354         3427 :  bool extended_bitint = false;
    3355         3427 :  if (BITINT_TYPE_P (TREE_TYPE (captures[0])))
    3356              :  {
    3357            0 :  struct bitint_info info;
    3358            0 :  extended_bitint
    3359            0 :  = targetm.c.bitint_type_info (TYPE_PRECISION (TREE_TYPE (captures[0])),
    3360              :  &info);
    3361            0 :  extended_bitint = extended_bitint && info.extended;
    3362              :  }
    3363         6854 :               if ((INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || POINTER_TYPE_P (TREE_TYPE (captures[0])))
    3364           71 :  && (INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) || POINTER_TYPE_P (TREE_TYPE (captures[1])))
    3365           71 :  && !extended_bitint
    3366           71 :  && TYPE_SIZE (TREE_TYPE (captures[0])) == TYPE_SIZE (TREE_TYPE (captures[1]))
    3367         3427 :  && (TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[1]))
    3368            0 :  || (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
    3369            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))))
    3370              : )
    3371              :                 {
    3372            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1099;
    3373            0 :                   {
    3374            0 :                     tree res_op0;
    3375            0 :                     res_op0 = captures[1];
    3376            0 :                     tree _r;
    3377            0 :                     _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3378            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 874, __FILE__, __LINE__, true);
    3379            0 :                     return _r;
    3380              :                   }
    3381            0 : next_after_fail1099:;
    3382              :                 }
    3383              :           }
    3384              :         }
    3385         3427 :         break;
    3386              :       }
    3387        83597 :     case CONSTRUCTOR:
    3388        83597 :       {
    3389        83597 :         {
    3390        83597 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3391        83597 :           {
    3392        83597 :  tree ctor = (TREE_CODE (captures[0]) == SSA_NAME
    3393              :  ? gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])) : captures[0]);
    3394        83597 :               if (CONSTRUCTOR_NELTS (ctor) == 0
    3395              : )
    3396              :                 {
    3397            6 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1100;
    3398            6 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1100;
    3399            6 :                   {
    3400            6 :                     tree _r;
    3401            6 :                     _r =  build_zero_cst (type);
    3402            6 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 875, __FILE__, __LINE__, true);
    3403            6 :                     return _r;
    3404              :                   }
    3405              : next_after_fail1100:;
    3406              :                 }
    3407              :               else
    3408              :                 {
    3409        83591 :                   if (CONSTRUCTOR_NELTS (ctor) == 1
    3410           40 :  && VECTOR_TYPE_P (TREE_TYPE (ctor))
    3411        83626 :  && operand_equal_p (TYPE_SIZE (type),
    3412           35 :  TYPE_SIZE (TREE_TYPE
    3413              :  (CONSTRUCTOR_ELT (ctor, 0)->value)))
    3414              : )
    3415              :                     {
    3416            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1101;
    3417            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1101;
    3418            0 :                       {
    3419            0 :                         tree res_op0;
    3420            0 :                         res_op0 =  CONSTRUCTOR_ELT (ctor, 0)->value;
    3421            0 :                         tree _r;
    3422            0 :                         _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3423            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    3424            0 :                         return _r;
    3425              :                       }
    3426              : next_after_fail1101:;
    3427              :                     }
    3428              :                 }
    3429              :           }
    3430              :         }
    3431              :         break;
    3432              :       }
    3433       289535 :     case VEC_COND_EXPR:
    3434       289535 :       {
    3435       289535 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3436       289535 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3437       289535 :         tree _q22 = TREE_OPERAND (_p0, 2);
    3438       289535 :         {
    3439       289535 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3440       289486 :           if (VECTOR_TYPE_P (type) && VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    3441       289892 :  && known_eq (TYPE_VECTOR_SUBPARTS (type),
    3442              :  TYPE_VECTOR_SUBPARTS (TREE_TYPE (captures[2])))
    3443        42111 :  && tree_nop_conversion_p (TREE_TYPE (type), TREE_TYPE (TREE_TYPE (captures[2])))
    3444       331289 :  && (expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    3445          371 :  || !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1])))
    3446              : )
    3447              :             {
    3448        41754 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1102;
    3449        41754 :               {
    3450        41754 :                 tree res_op0;
    3451        41754 :                 res_op0 = captures[1];
    3452        41754 :                 tree res_op1;
    3453        41754 :                 {
    3454        41754 :                   tree _o1[1], _r1;
    3455        41754 :                   _o1[0] = captures[2];
    3456        41754 :                   if (TREE_TYPE (_o1[0]) != type)
    3457              :                     {
    3458        41754 :                       _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    3459        41754 :                       if (EXPR_P (_r1))
    3460           82 :                         goto next_after_fail1102;
    3461              :                     }
    3462              :                   else
    3463              :                     _r1 = _o1[0];
    3464        41672 :                   res_op1 = _r1;
    3465              :                 }
    3466        41672 :                 tree res_op2;
    3467        41672 :                 {
    3468        41672 :                   tree _o1[1], _r1;
    3469        41672 :                   _o1[0] = captures[3];
    3470        41672 :                   if (TREE_TYPE (_o1[0]) != type)
    3471              :                     {
    3472        41672 :                       _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    3473        41672 :                       if (EXPR_P (_r1))
    3474            0 :                         goto next_after_fail1102;
    3475              :                     }
    3476              :                   else
    3477              :                     _r1 = _o1[0];
    3478        41672 :                   res_op2 = _r1;
    3479              :                 }
    3480        41672 :                 tree _r;
    3481        41672 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    3482        41672 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
    3483        41672 :                 return _r;
    3484              :               }
    3485       247863 : next_after_fail1102:;
    3486              :             }
    3487              :         }
    3488       247863 :         break;
    3489              :       }
    3490              :     default:;
    3491              :     }
    3492              :   return NULL_TREE;
    3493              : }
    3494              : 
    3495              : tree
    3496   1653357247 : generic_simplify (location_t loc, enum tree_code code, const tree type ATTRIBUTE_UNUSED, tree _p0)
    3497              : {
    3498   1653357247 :   switch (code)
    3499              :     {
    3500      2161745 :     case ABS_EXPR:
    3501      2161745 :       return generic_simplify_ABS_EXPR (loc, code, type, _p0);
    3502    800429573 :     CASE_CONVERT:
    3503    800429573 :       return generic_simplify_CONVERT_EXPR (loc, code, type, _p0);
    3504      2775958 :     case BIT_NOT_EXPR:
    3505      2775958 :       return generic_simplify_BIT_NOT_EXPR (loc, code, type, _p0);
    3506          943 :     case ABSU_EXPR:
    3507          943 :       return generic_simplify_ABSU_EXPR (loc, code, type, _p0);
    3508      4343318 :     case NEGATE_EXPR:
    3509      4343318 :       return generic_simplify_NEGATE_EXPR (loc, code, type, _p0);
    3510    470546959 :     case VIEW_CONVERT_EXPR:
    3511    470546959 :       return generic_simplify_VIEW_CONVERT_EXPR (loc, code, type, _p0);
    3512      6368254 :     case FLOAT_EXPR:
    3513      6368254 :       return generic_simplify_FLOAT_EXPR (loc, code, type, _p0);
    3514       496926 :     case FIX_TRUNC_EXPR:
    3515       496926 :       return generic_simplify_FIX_TRUNC_EXPR (loc, code, type, _p0);
    3516         3678 :     case PAREN_EXPR:
    3517         3678 :       return generic_simplify_PAREN_EXPR (loc, code, type, _p0);
    3518      1655890 :     case REALPART_EXPR:
    3519      1655890 :       return generic_simplify_REALPART_EXPR (loc, code, type, _p0);
    3520      1919771 :     case IMAGPART_EXPR:
    3521      1919771 :       return generic_simplify_IMAGPART_EXPR (loc, code, type, _p0);
    3522         1330 :     case CONJ_EXPR:
    3523         1330 :       return generic_simplify_CONJ_EXPR (loc, code, type, _p0);
    3524              :     default:;
    3525              :     }
    3526              :   return NULL_TREE;
    3527              : }
    3528              : 
    3529              : tree
    3530     78669719 : generic_simplify_POINTER_PLUS_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    3531              : {
    3532     78669719 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3533     78669719 :   if (integer_zerop (_p1))
    3534              :     {
    3535      4122881 :       {
    3536      4122881 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3537      4122881 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1259;
    3538      4122881 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1259;
    3539      4122881 :         {
    3540      4122881 :           tree res_op0;
    3541      4122881 :           res_op0 = captures[0];
    3542      4122881 :           tree _r;
    3543      4122881 :           _r = non_lvalue_loc (loc, res_op0);
    3544      4122881 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    3545      4122881 :           return _r;
    3546              :         }
    3547              : next_after_fail1259:;
    3548              :       }
    3549              :     }
    3550     74546838 :   switch (TREE_CODE (_p0))
    3551              :     {
    3552      5680473 :     case POINTER_PLUS_EXPR:
    3553      5680473 :       {
    3554      5680473 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3555      5680473 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3556      5680473 :         {
    3557      5680473 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    3558      5680473 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1260;
    3559      5680473 :           {
    3560      5680473 :             tree res_op0;
    3561      5680473 :             res_op0 = captures[1];
    3562      5680473 :             tree res_op1;
    3563      5680473 :             {
    3564      5680473 :               tree _o1[2], _r1;
    3565      5680473 :               _o1[0] = captures[2];
    3566      5680473 :               _o1[1] = captures[3];
    3567      5680473 :               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3568      5680473 :               res_op1 = _r1;
    3569              :             }
    3570      5680473 :             tree _r;
    3571      5680473 :             _r = fold_build2_loc (loc, POINTER_PLUS_EXPR, type, res_op0, res_op1);
    3572      5680473 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 905, __FILE__, __LINE__, true);
    3573      5680473 :             return _r;
    3574              :           }
    3575            0 : next_after_fail1260:;
    3576              :         }
    3577            0 :         break;
    3578              :       }
    3579     44640248 :     CASE_CONVERT:
    3580     44640248 :       {
    3581     44640248 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3582     44640248 :         switch (TREE_CODE (_q20))
    3583              :           {
    3584        28064 :           case POINTER_PLUS_EXPR:
    3585        28064 :             {
    3586        28064 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3587        28064 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3588        28064 :               {
    3589        28064 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
    3590        28064 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1261;
    3591        28064 :                 {
    3592        28064 :                   tree res_op0;
    3593        28064 :                   {
    3594        28064 :                     tree _o1[1], _r1;
    3595        28064 :                     _o1[0] = captures[2];
    3596        28064 :                     if (TREE_TYPE (_o1[0]) != type)
    3597              :                       {
    3598        27956 :                         _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3599              :                       }
    3600              :                     else
    3601              :                       _r1 = _o1[0];
    3602        28064 :                     res_op0 = _r1;
    3603              :                   }
    3604        28064 :                   tree res_op1;
    3605        28064 :                   {
    3606        28064 :                     tree _o1[2], _r1;
    3607        28064 :                     _o1[0] = captures[3];
    3608        28064 :                     _o1[1] = captures[4];
    3609        28064 :                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3610        28064 :                     res_op1 = _r1;
    3611              :                   }
    3612        28064 :                   tree _r;
    3613        28064 :                   _r = fold_build2_loc (loc, POINTER_PLUS_EXPR, type, res_op0, res_op1);
    3614        28064 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    3615        28064 :                   return _r;
    3616              :                 }
    3617            0 : next_after_fail1261:;
    3618              :               }
    3619            0 :               break;
    3620              :             }
    3621              :           default:;
    3622              :           }
    3623              :         break;
    3624              :       }
    3625     68838301 :     default:;
    3626              :     }
    3627     68838301 : if (integer_zerop (_p0))
    3628              :   {
    3629          646 :     {
    3630          646 :       tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
    3631          646 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1262;
    3632          646 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1262;
    3633          646 :       {
    3634          646 :         tree res_op0;
    3635          646 :         {
    3636          646 :           tree _o1[1], _r1;
    3637          646 :           _o1[0] = captures[0];
    3638          646 :           if (TREE_TYPE (_o1[0]) != type)
    3639              :             {
    3640          646 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3641              :             }
    3642              :           else
    3643              :             _r1 = _o1[0];
    3644          646 :           res_op0 = _r1;
    3645              :         }
    3646          646 :         tree _r;
    3647          646 :         _r = non_lvalue_loc (loc, res_op0);
    3648          646 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 907, __FILE__, __LINE__, true);
    3649          646 :         return _r;
    3650              :       }
    3651              : next_after_fail1262:;
    3652              :     }
    3653              :   }
    3654     68837655 :   switch (TREE_CODE (_p1))
    3655              :     {
    3656      9075782 :     CASE_CONVERT:
    3657      9075782 :       {
    3658      9075782 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3659      9075782 :         switch (TREE_CODE (_q30))
    3660              :           {
    3661       200229 :           case MINUS_EXPR:
    3662       200229 :             {
    3663       200229 :               tree _q40 = TREE_OPERAND (_q30, 0);
    3664       200229 :               tree _q41 = TREE_OPERAND (_q30, 1);
    3665       200229 :               switch (TREE_CODE (_q40))
    3666              :                 {
    3667        90509 :                 CASE_CONVERT:
    3668        90509 :                   {
    3669        90509 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    3670        90509 :                     switch (TREE_CODE (_q41))
    3671              :                       {
    3672         7019 :                       CASE_CONVERT:
    3673         7019 :                         {
    3674         7019 :                           tree _q70 = TREE_OPERAND (_q41, 0);
    3675         7019 :                           if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    3676              :                             {
    3677         4251 :                               {
    3678         4251 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q50 };
    3679         4251 :                                 if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
    3680         4251 :  && ((
    3681              : 
    3682              :  && useless_type_conversion_p (type, TREE_TYPE (captures[3])))
    3683              :  || (
    3684              : 1
    3685         4251 :  && type == TREE_TYPE (captures[3])))
    3686              : )
    3687              :                                   {
    3688         2719 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1263;
    3689         2719 :                                     {
    3690         2719 :                                       tree _r;
    3691         2719 :                                       _r = captures[3];
    3692         2719 :                                       if (TREE_SIDE_EFFECTS (captures[0]))
    3693            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3694         2719 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 908, __FILE__, __LINE__, true);
    3695         2719 :                                       return _r;
    3696              :                                     }
    3697            0 : next_after_fail1263:;
    3698              :                                   }
    3699              :                               }
    3700              :                             }
    3701              :                           break;
    3702              :                         }
    3703              :                       default:;
    3704              :                       }
    3705              :                     break;
    3706              :                   }
    3707              :                 default:;
    3708              :                 }
    3709              :               break;
    3710              :             }
    3711          584 :           case POINTER_DIFF_EXPR:
    3712          584 :             {
    3713          584 :               tree _q40 = TREE_OPERAND (_q30, 0);
    3714          584 :               tree _q41 = TREE_OPERAND (_q30, 1);
    3715          584 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
    3716              :                 {
    3717            7 :                   {
    3718            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q41, _p1, _q30, _q40, _p0 };
    3719            7 :                     if (TYPE_PRECISION (TREE_TYPE (captures[1])) >= TYPE_PRECISION (TREE_TYPE (captures[2]))
    3720              : )
    3721              :                       {
    3722            7 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1264;
    3723            7 :                         {
    3724            7 :                           tree res_op0;
    3725            7 :                           res_op0 = captures[3];
    3726            7 :                           tree _r;
    3727            7 :                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3728            7 :                           if (TREE_SIDE_EFFECTS (captures[4]))
    3729            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    3730            7 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 909, __FILE__, __LINE__, true);
    3731            7 :                           return _r;
    3732              :                         }
    3733            0 : next_after_fail1264:;
    3734              :                       }
    3735              :                   }
    3736              :                 }
    3737              :               break;
    3738              :             }
    3739              :           default:;
    3740              :           }
    3741              :         break;
    3742              :       }
    3743        28639 :     case MINUS_EXPR:
    3744        28639 :       {
    3745        28639 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3746        28639 :         tree _q31 = TREE_OPERAND (_p1, 1);
    3747        28639 :         switch (TREE_CODE (_q30))
    3748              :           {
    3749        24479 :           CASE_CONVERT:
    3750        24479 :             {
    3751        24479 :               tree _q40 = TREE_OPERAND (_q30, 0);
    3752        24479 :               switch (TREE_CODE (_q31))
    3753              :                 {
    3754         7697 :                 CASE_CONVERT:
    3755         7697 :                   {
    3756         7697 :                     tree _q60 = TREE_OPERAND (_q31, 0);
    3757         7697 :                     if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    3758              :                       {
    3759           20 :                         {
    3760           20 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _p1, _q40 };
    3761           20 :                           if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
    3762           20 :  && ((
    3763              : 
    3764              :  && useless_type_conversion_p (type, TREE_TYPE (captures[3])))
    3765              :  || (
    3766              : 1
    3767           20 :  && type == TREE_TYPE (captures[3])))
    3768              : )
    3769              :                             {
    3770            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1265;
    3771            0 :                               {
    3772            0 :                                 tree _r;
    3773            0 :                                 _r = captures[3];
    3774            0 :                                 if (TREE_SIDE_EFFECTS (captures[0]))
    3775            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3776            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 908, __FILE__, __LINE__, true);
    3777            0 :                                 return _r;
    3778              :                               }
    3779            0 : next_after_fail1265:;
    3780              :                             }
    3781              :                         }
    3782              :                       }
    3783              :                     break;
    3784              :                   }
    3785              :                 default:;
    3786              :                 }
    3787              :               break;
    3788              :             }
    3789          966 :           case INTEGER_CST:
    3790          966 :             {
    3791          966 :               switch (TREE_CODE (_q31))
    3792              :                 {
    3793           16 :                 case BIT_AND_EXPR:
    3794           16 :                   {
    3795           16 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    3796           16 :                     tree _q51 = TREE_OPERAND (_q31, 1);
    3797           16 :                     switch (TREE_CODE (_q50))
    3798              :                       {
    3799           16 :                       CASE_CONVERT:
    3800           16 :                         {
    3801           16 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    3802           16 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    3803              :                             {
    3804            0 :                               switch (TREE_CODE (_q51))
    3805              :                                 {
    3806            0 :                                 case INTEGER_CST:
    3807            0 :                                   {
    3808            0 :                                     {
    3809            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q51 };
    3810            0 :                                       if (tree_int_cst_min_precision (captures[3], UNSIGNED) <= tree_ctz (captures[2])
    3811              : )
    3812              :                                         {
    3813            0 :                                           {
    3814            0 :  tree algn = wide_int_to_tree (TREE_TYPE (captures[0]), ~wi::to_wide (captures[3]));
    3815            0 :                                               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1266;
    3816            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1266;
    3817            0 :                                               {
    3818            0 :                                                 tree res_op0;
    3819            0 :                                                 {
    3820            0 :                                                   tree _o1[2], _r1;
    3821            0 :                                                   _o1[0] = captures[0];
    3822            0 :                                                   _o1[1] =  algn;
    3823            0 :                                                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3824            0 :                                                   res_op0 = _r1;
    3825              :                                                 }
    3826            0 :                                                 tree res_op1;
    3827            0 :                                                 res_op1 = captures[2];
    3828            0 :                                                 tree _r;
    3829            0 :                                                 _r = fold_build2_loc (loc, POINTER_PLUS_EXPR, type, res_op0, res_op1);
    3830            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 910, __FILE__, __LINE__, true);
    3831            0 :                                                 return _r;
    3832              :                                               }
    3833            0 : next_after_fail1266:;
    3834              :                                           }
    3835              :                                         }
    3836              :                                     }
    3837            0 :                                     break;
    3838              :                                   }
    3839              :                                 default:;
    3840              :                                 }
    3841              :                             }
    3842           16 :                           switch (TREE_CODE (_q60))
    3843              :                             {
    3844            0 :                             case POINTER_PLUS_EXPR:
    3845            0 :                               {
    3846            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    3847            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    3848            0 :                                 if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    3849              :                                   {
    3850            0 :                                     switch (TREE_CODE (_q71))
    3851              :                                       {
    3852            0 :                                       case INTEGER_CST:
    3853            0 :                                         {
    3854            0 :                                           switch (TREE_CODE (_q51))
    3855              :                                             {
    3856            0 :                                             case INTEGER_CST:
    3857            0 :                                               {
    3858            0 :                                                 {
    3859            0 :                                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q71, _q51 };
    3860            0 :                                                   {
    3861            0 :  auto mask_width = tree_int_cst_min_precision (captures[4], UNSIGNED);
    3862            0 :                                                       if (mask_width <= tree_ctz (captures[2]) && mask_width <= tree_ctz (captures[3])
    3863              : )
    3864              :                                                         {
    3865            0 :                                                           {
    3866            0 :  tree algn = wide_int_to_tree (TREE_TYPE (captures[0]), ~wi::to_wide (captures[4]));
    3867            0 :                                                               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1267;
    3868            0 :                                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1267;
    3869            0 :                                                               {
    3870            0 :                                                                 tree res_op0;
    3871            0 :                                                                 {
    3872            0 :                                                                   tree _o1[2], _r1;
    3873            0 :                                                                   _o1[0] = captures[0];
    3874            0 :                                                                   _o1[1] =  algn;
    3875            0 :                                                                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3876            0 :                                                                   res_op0 = _r1;
    3877              :                                                                 }
    3878            0 :                                                                 tree res_op1;
    3879            0 :                                                                 res_op1 = captures[2];
    3880            0 :                                                                 tree _r;
    3881            0 :                                                                 _r = fold_build2_loc (loc, POINTER_PLUS_EXPR, type, res_op0, res_op1);
    3882            0 :                                                                 if (TREE_SIDE_EFFECTS (captures[3]))
    3883            0 :                                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3884            0 :                                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 911, __FILE__, __LINE__, true);
    3885            0 :                                                                 return _r;
    3886              :                                                               }
    3887            0 : next_after_fail1267:;
    3888              :                                                           }
    3889              :                                                         }
    3890              :                                                   }
    3891              :                                                 }
    3892            0 :                                                 break;
    3893              :                                               }
    3894              :                                             default:;
    3895              :                                             }
    3896              :                                           break;
    3897              :                                         }
    3898              :                                       default:;
    3899              :                                       }
    3900              :                                   }
    3901              :                                 break;
    3902              :                               }
    3903              :                             default:;
    3904              :                             }
    3905              :                           break;
    3906              :                         }
    3907              :                       default:;
    3908              :                       }
    3909              :                     break;
    3910              :                   }
    3911              :                 default:;
    3912              :                 }
    3913              :               break;
    3914              :             }
    3915              :           default:;
    3916              :           }
    3917              :         break;
    3918              :       }
    3919            0 :     case POINTER_DIFF_EXPR:
    3920            0 :       {
    3921            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3922            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    3923            0 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
    3924              :           {
    3925            0 :             {
    3926            0 :               tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p1, _q30, _p0 };
    3927            0 :               if (TYPE_PRECISION (TREE_TYPE (captures[1])) >= TYPE_PRECISION (TREE_TYPE (captures[2]))
    3928              : )
    3929              :                 {
    3930            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1268;
    3931            0 :                   {
    3932            0 :                     tree res_op0;
    3933            0 :                     res_op0 = captures[3];
    3934            0 :                     tree _r;
    3935            0 :                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3936            0 :                     if (TREE_SIDE_EFFECTS (captures[4]))
    3937            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    3938            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 909, __FILE__, __LINE__, true);
    3939            0 :                     return _r;
    3940              :                   }
    3941            0 : next_after_fail1268:;
    3942              :                 }
    3943              :             }
    3944              :           }
    3945              :         break;
    3946              :       }
    3947       346396 :     case NEGATE_EXPR:
    3948       346396 :       {
    3949       346396 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3950       346396 :         switch (TREE_CODE (_q30))
    3951              :           {
    3952           22 :           case BIT_AND_EXPR:
    3953           22 :             {
    3954           22 :               tree _q40 = TREE_OPERAND (_q30, 0);
    3955           22 :               tree _q41 = TREE_OPERAND (_q30, 1);
    3956           22 :               switch (TREE_CODE (_q40))
    3957              :                 {
    3958           22 :                 CASE_CONVERT:
    3959           22 :                   {
    3960           22 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    3961           22 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    3962              :                       {
    3963            1 :                         switch (TREE_CODE (_q41))
    3964              :                           {
    3965            1 :                           case INTEGER_CST:
    3966            1 :                             {
    3967            1 :                               {
    3968            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    3969            1 :                                 {
    3970            1 :  tree algn = wide_int_to_tree (TREE_TYPE (captures[0]), ~wi::to_wide (captures[1]));
    3971            1 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1269;
    3972            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1269;
    3973            1 :                                     {
    3974            1 :                                       tree res_op0;
    3975            1 :                                       res_op0 = captures[0];
    3976            1 :                                       tree res_op1;
    3977            1 :                                       res_op1 =  algn;
    3978            1 :                                       tree _r;
    3979            1 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    3980            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 912, __FILE__, __LINE__, true);
    3981            1 :                                       return _r;
    3982              :                                     }
    3983            0 : next_after_fail1269:;
    3984              :                                 }
    3985              :                               }
    3986            0 :                               break;
    3987              :                             }
    3988              :                           default:;
    3989              :                           }
    3990              :                       }
    3991           21 :                     switch (TREE_CODE (_q50))
    3992              :                       {
    3993            0 :                       case POINTER_PLUS_EXPR:
    3994            0 :                         {
    3995            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    3996            0 :                           tree _q61 = TREE_OPERAND (_q50, 1);
    3997            0 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    3998              :                             {
    3999            0 :                               switch (TREE_CODE (_q61))
    4000              :                                 {
    4001            0 :                                 case INTEGER_CST:
    4002            0 :                                   {
    4003            0 :                                     switch (TREE_CODE (_q41))
    4004              :                                       {
    4005            0 :                                       case INTEGER_CST:
    4006            0 :                                         {
    4007            0 :                                           {
    4008            0 :                                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q61, _q41 };
    4009            0 :                                             if (tree_int_cst_min_precision (captures[2], UNSIGNED) <= tree_ctz (captures[1])
    4010              : )
    4011              :                                               {
    4012            0 :                                                 {
    4013            0 :  tree algn = wide_int_to_tree (TREE_TYPE (captures[0]), ~wi::to_wide (captures[2]));
    4014            0 :                                                     if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1270;
    4015            0 :                                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1270;
    4016            0 :                                                     {
    4017            0 :                                                       tree res_op0;
    4018            0 :                                                       res_op0 = captures[0];
    4019            0 :                                                       tree res_op1;
    4020            0 :                                                       res_op1 =  algn;
    4021            0 :                                                       tree _r;
    4022            0 :                                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    4023            0 :                                                       if (TREE_SIDE_EFFECTS (captures[1]))
    4024            0 :                                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4025            0 :                                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 913, __FILE__, __LINE__, true);
    4026            0 :                                                       return _r;
    4027              :                                                     }
    4028            0 : next_after_fail1270:;
    4029              :                                                 }
    4030              :                                               }
    4031              :                                           }
    4032            0 :                                           break;
    4033              :                                         }
    4034              :                                       default:;
    4035              :                                       }
    4036              :                                     break;
    4037              :                                   }
    4038              :                                 default:;
    4039              :                                 }
    4040              :                             }
    4041              :                           break;
    4042              :                         }
    4043              :                       default:;
    4044              :                       }
    4045              :                     break;
    4046              :                   }
    4047              :                 default:;
    4048              :                 }
    4049              :               break;
    4050              :             }
    4051              :           default:;
    4052              :           }
    4053              :         break;
    4054              :       }
    4055              :     default:;
    4056              :     }
    4057              :   return NULL_TREE;
    4058              : }
    4059              : 
    4060              : tree
    4061     37474601 : generic_simplify_NE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4062              : {
    4063     37474601 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4064     37474601 :   switch (TREE_CODE (_p1))
    4065              :     {
    4066         2259 :     case NEGATE_EXPR:
    4067         2259 :       {
    4068         2259 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4069         2259 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4070              :           {
    4071            0 :             {
    4072            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4073            0 :               tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, NE_EXPR);
    4074            0 :               if (res) return res;
    4075              :             }
    4076              :           }
    4077              :         break;
    4078              :       }
    4079     37474601 :     default:;
    4080              :     }
    4081     37474601 :   switch (TREE_CODE (_p0))
    4082              :     {
    4083         6148 :     case NEGATE_EXPR:
    4084         6148 :       {
    4085         6148 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4086         6148 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4087              :           {
    4088           88 :             {
    4089           88 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4090           88 :               tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, NE_EXPR);
    4091           88 :               if (res) return res;
    4092              :             }
    4093              :           }
    4094              :         break;
    4095              :       }
    4096            0 :     case CEIL_MOD_EXPR:
    4097            0 :       {
    4098            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4099            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4100            0 :         if (integer_pow2p (_q21))
    4101              :           {
    4102            0 :             if (integer_zerop (_p1))
    4103              :               {
    4104            0 :                 {
    4105            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4106            0 :                   tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR, CEIL_MOD_EXPR);
    4107            0 :                   if (res) return res;
    4108              :                 }
    4109              :               }
    4110              :           }
    4111              :         break;
    4112              :       }
    4113         1623 :     case FLOOR_MOD_EXPR:
    4114         1623 :       {
    4115         1623 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4116         1623 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4117         1623 :         if (integer_pow2p (_q21))
    4118              :           {
    4119           20 :             if (integer_zerop (_p1))
    4120              :               {
    4121           20 :                 {
    4122           20 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4123           20 :                   tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR, FLOOR_MOD_EXPR);
    4124           20 :                   if (res) return res;
    4125              :                 }
    4126              :               }
    4127              :           }
    4128              :         break;
    4129              :       }
    4130            0 :     case ROUND_MOD_EXPR:
    4131            0 :       {
    4132            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4133            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4134            0 :         if (integer_pow2p (_q21))
    4135              :           {
    4136            0 :             if (integer_zerop (_p1))
    4137              :               {
    4138            0 :                 {
    4139            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4140            0 :                   tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR, ROUND_MOD_EXPR);
    4141            0 :                   if (res) return res;
    4142              :                 }
    4143              :               }
    4144              :           }
    4145              :         break;
    4146              :       }
    4147        80569 :     case TRUNC_MOD_EXPR:
    4148        80569 :       {
    4149        80569 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4150        80569 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4151        80569 :         if (integer_pow2p (_q21))
    4152              :           {
    4153        20994 :             if (integer_zerop (_p1))
    4154              :               {
    4155        19552 :                 {
    4156        19552 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4157        19552 :                   tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR, TRUNC_MOD_EXPR);
    4158        19552 :                   if (res) return res;
    4159              :                 }
    4160              :               }
    4161              :           }
    4162              :         break;
    4163              :       }
    4164      8268339 :     CASE_CONVERT:
    4165      8268339 :       {
    4166      8268339 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4167      8268339 :         switch (TREE_CODE (_p1))
    4168              :           {
    4169           69 :           case LSHIFT_EXPR:
    4170           69 :             {
    4171           69 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4172           69 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4173           69 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    4174              :                 {
    4175            0 :                   {
    4176            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    4177            0 :                     tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, NE_EXPR);
    4178            0 :                     if (res) return res;
    4179              :                   }
    4180              :                 }
    4181              :               break;
    4182              :             }
    4183      8268339 :           default:;
    4184              :           }
    4185      8268339 :       {
    4186      8268339 :         tree _p1_pops[1];
    4187      8268339 :         if (tree_nop_convert (_p1, _p1_pops))
    4188              :           {
    4189      4438466 :             tree _q40 = _p1_pops[0];
    4190      4438466 :             switch (TREE_CODE (_q40))
    4191              :               {
    4192            0 :               case LSHIFT_EXPR:
    4193            0 :                 {
    4194            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4195            0 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    4196            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4197              :                     {
    4198            0 :                       {
    4199            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
    4200            0 :                         tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, NE_EXPR);
    4201            0 :                         if (res) return res;
    4202              :                       }
    4203              :                     }
    4204              :                   break;
    4205              :                 }
    4206              :               default:;
    4207              :               }
    4208              :           }
    4209              :       }
    4210      8268339 :         switch (TREE_CODE (_q20))
    4211              :           {
    4212            0 :           case EXACT_DIV_EXPR:
    4213            0 :             {
    4214            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4215            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4216            0 :               switch (TREE_CODE (_q31))
    4217              :                 {
    4218            0 :                 case INTEGER_CST:
    4219            0 :                   {
    4220            0 :                     switch (TREE_CODE (_p1))
    4221              :                       {
    4222            0 :                       CASE_CONVERT:
    4223            0 :                         {
    4224            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4225            0 :                           switch (TREE_CODE (_q60))
    4226              :                             {
    4227            0 :                             case EXACT_DIV_EXPR:
    4228            0 :                               {
    4229            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    4230            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    4231            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    4232              :                                   {
    4233            0 :                                     {
    4234            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    4235            0 :                                       tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, NE_EXPR);
    4236            0 :                                       if (res) return res;
    4237              :                                     }
    4238              :                                   }
    4239              :                                 break;
    4240              :                               }
    4241              :                             default:;
    4242              :                             }
    4243              :                           break;
    4244              :                         }
    4245              :                       default:;
    4246              :                       }
    4247              :                     break;
    4248              :                   }
    4249              :                 default:;
    4250              :                 }
    4251              :               break;
    4252              :             }
    4253      8268339 :           default:;
    4254              :           }
    4255      8268339 :         switch (TREE_CODE (_p1))
    4256              :           {
    4257        20290 :           case PLUS_EXPR:
    4258        20290 :             {
    4259        20290 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4260        20290 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4261        20290 :               switch (TREE_CODE (_q41))
    4262              :                 {
    4263          203 :                 CASE_CONVERT:
    4264          203 :                   {
    4265          203 :                     tree _q60 = TREE_OPERAND (_q41, 0);
    4266          203 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4267              :                       {
    4268            0 :                         {
    4269            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
    4270            0 :                           tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    4271            0 :                           if (res) return res;
    4272              :                         }
    4273              :                       }
    4274              :                     break;
    4275              :                   }
    4276        20290 :                 default:;
    4277              :                 }
    4278        20290 :               switch (TREE_CODE (_q40))
    4279              :                 {
    4280          800 :                 CASE_CONVERT:
    4281          800 :                   {
    4282          800 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    4283          800 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4284              :                       {
    4285           15 :                         {
    4286           15 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
    4287           15 :                           tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    4288           15 :                           if (res) return res;
    4289              :                         }
    4290              :                       }
    4291              :                     break;
    4292              :                   }
    4293        20283 :                 default:;
    4294              :                 }
    4295        20283 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    4296              :                 {
    4297            0 :                   {
    4298            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
    4299            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    4300            0 :                     if (res) return res;
    4301              :                   }
    4302              :                 }
    4303        20283 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    4304              :                 {
    4305            0 :                   {
    4306            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
    4307            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    4308            0 :                     if (res) return res;
    4309              :                   }
    4310              :                 }
    4311              :               break;
    4312              :             }
    4313      8268332 :           default:;
    4314              :           }
    4315      8268332 :       {
    4316      8268332 :         tree _p1_pops[1];
    4317      8268332 :         if (tree_nop_convert (_p1, _p1_pops))
    4318              :           {
    4319      4438466 :             tree _q40 = _p1_pops[0];
    4320      4438466 :             switch (TREE_CODE (_q40))
    4321              :               {
    4322          144 :               case PLUS_EXPR:
    4323          144 :                 {
    4324          144 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4325          144 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    4326          144 :                   switch (TREE_CODE (_q51))
    4327              :                     {
    4328            0 :                     CASE_CONVERT:
    4329            0 :                       {
    4330            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    4331            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    4332              :                           {
    4333            0 :                             {
    4334            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
    4335            0 :                               tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    4336            0 :                               if (res) return res;
    4337              :                             }
    4338              :                           }
    4339              :                         break;
    4340              :                       }
    4341          144 :                     default:;
    4342              :                     }
    4343          144 :                   switch (TREE_CODE (_q50))
    4344              :                     {
    4345           77 :                     CASE_CONVERT:
    4346           77 :                       {
    4347           77 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    4348           77 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4349              :                           {
    4350            0 :                             {
    4351            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
    4352            0 :                               tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    4353            0 :                               if (res) return res;
    4354              :                             }
    4355              :                           }
    4356              :                         break;
    4357              :                       }
    4358          144 :                     default:;
    4359              :                     }
    4360          144 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4361              :                     {
    4362            0 :                       {
    4363            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
    4364            0 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    4365            0 :                         if (res) return res;
    4366              :                       }
    4367              :                     }
    4368          144 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4369              :                     {
    4370            0 :                       {
    4371            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
    4372            0 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    4373            0 :                         if (res) return res;
    4374              :                       }
    4375              :                     }
    4376              :                   break;
    4377              :                 }
    4378              :               default:;
    4379              :               }
    4380              :           }
    4381              :       }
    4382      8268332 :         break;
    4383              :       }
    4384     37455022 :     default:;
    4385              :     }
    4386     37455022 : {
    4387     37455022 :   tree _p0_pops[1];
    4388     37455022 :   if (tree_nop_convert (_p0, _p0_pops))
    4389              :     {
    4390      6078267 :       tree _q20 = _p0_pops[0];
    4391      6078267 :       switch (TREE_CODE (_q20))
    4392              :         {
    4393           15 :         case LSHIFT_EXPR:
    4394           15 :           {
    4395           15 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4396           15 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4397           15 :             switch (TREE_CODE (_p1))
    4398              :               {
    4399            1 :               CASE_CONVERT:
    4400            1 :                 {
    4401            1 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4402            1 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4403              :                     {
    4404            0 :                       {
    4405            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    4406            0 :                         tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, NE_EXPR);
    4407            0 :                         if (res) return res;
    4408              :                       }
    4409              :                     }
    4410              :                   break;
    4411              :                 }
    4412           15 :               default:;
    4413              :               }
    4414           15 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    4415              :               {
    4416            1 :                 {
    4417            1 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    4418            1 :                   tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, NE_EXPR);
    4419            1 :                   if (res) return res;
    4420              :                 }
    4421              :               }
    4422              :             break;
    4423              :           }
    4424        31769 :         case PLUS_EXPR:
    4425        31769 :           {
    4426        31769 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4427        31769 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4428        31769 :             switch (TREE_CODE (_q31))
    4429              :               {
    4430           37 :               CASE_CONVERT:
    4431           37 :                 {
    4432           37 :                   tree _q50 = TREE_OPERAND (_q31, 0);
    4433           37 :                   switch (TREE_CODE (_p1))
    4434              :                     {
    4435            0 :                     CASE_CONVERT:
    4436            0 :                       {
    4437            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4438            0 :                         if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
    4439              :                           {
    4440            0 :                             {
    4441            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
    4442            0 :                               tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    4443            0 :                               if (res) return res;
    4444              :                             }
    4445              :                           }
    4446              :                         break;
    4447              :                       }
    4448              :                     default:;
    4449              :                     }
    4450              :                   break;
    4451              :                 }
    4452        31769 :               default:;
    4453              :               }
    4454        31769 :             switch (TREE_CODE (_q30))
    4455              :               {
    4456        26390 :               CASE_CONVERT:
    4457        26390 :                 {
    4458        26390 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    4459        26390 :                   switch (TREE_CODE (_p1))
    4460              :                     {
    4461          457 :                     CASE_CONVERT:
    4462          457 :                       {
    4463          457 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4464          457 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    4465              :                           {
    4466           90 :                             {
    4467           90 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
    4468           90 :                               tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    4469           90 :                               if (res) return res;
    4470              :                             }
    4471              :                           }
    4472              :                         break;
    4473              :                       }
    4474        26300 :                     default:;
    4475              :                     }
    4476        26300 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4477              :                     {
    4478           10 :                       {
    4479           10 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
    4480           10 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    4481           10 :                         if (res) return res;
    4482              :                       }
    4483              :                     }
    4484              :                   break;
    4485              :                 }
    4486        31669 :               default:;
    4487              :               }
    4488        31669 :             switch (TREE_CODE (_q31))
    4489              :               {
    4490           37 :               CASE_CONVERT:
    4491           37 :                 {
    4492           37 :                   tree _q50 = TREE_OPERAND (_q31, 0);
    4493           37 :                   if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    4494              :                     {
    4495            0 :                       {
    4496            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
    4497            0 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    4498            0 :                         if (res) return res;
    4499              :                       }
    4500              :                     }
    4501              :                   break;
    4502              :                 }
    4503        31669 :               default:;
    4504              :               }
    4505        31669 :             switch (TREE_CODE (_p1))
    4506              :               {
    4507          441 :               CASE_CONVERT:
    4508          441 :                 {
    4509          441 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4510          441 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4511              :                     {
    4512            0 :                       {
    4513            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    4514            0 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    4515            0 :                         if (res) return res;
    4516              :                       }
    4517              :                     }
    4518          441 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    4519              :                     {
    4520           66 :                       {
    4521           66 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
    4522           66 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    4523           66 :                         if (res) return res;
    4524              :                       }
    4525              :                     }
    4526              :                   break;
    4527              :                 }
    4528        31603 :               default:;
    4529              :               }
    4530        31603 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    4531              :               {
    4532            0 :                 {
    4533            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    4534            0 :                   tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    4535            0 :                   if (res) return res;
    4536              :                 }
    4537              :               }
    4538        31603 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4539              :               {
    4540            0 :                 {
    4541            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
    4542            0 :                   tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    4543            0 :                   if (res) return res;
    4544              :                 }
    4545              :               }
    4546              :             break;
    4547              :           }
    4548              :         default:;
    4549              :         }
    4550              :     }
    4551              : }
    4552     37454855 :   {
    4553     37454855 :     tree _p1_pops[1];
    4554     37454855 :     if (tree_nop_convert (_p1, _p1_pops))
    4555              :       {
    4556      4803907 :         tree _q30 = _p1_pops[0];
    4557      4803907 :         switch (TREE_CODE (_q30))
    4558              :           {
    4559            0 :           case LSHIFT_EXPR:
    4560            0 :             {
    4561            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4562            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4563            0 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    4564              :                 {
    4565            0 :                   {
    4566            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    4567            0 :                     tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, NE_EXPR);
    4568            0 :                     if (res) return res;
    4569              :                   }
    4570              :                 }
    4571              :               break;
    4572              :             }
    4573              :           default:;
    4574              :           }
    4575              :       }
    4576              :   }
    4577     37454855 :   switch (TREE_CODE (_p0))
    4578              :     {
    4579         5144 :     case LSHIFT_EXPR:
    4580         5144 :       {
    4581         5144 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4582         5144 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4583         5144 :         switch (TREE_CODE (_p1))
    4584              :           {
    4585           35 :           CASE_CONVERT:
    4586           35 :             {
    4587           35 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4588           35 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4589              :                 {
    4590            4 :                   {
    4591            4 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4592            4 :                     tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, NE_EXPR);
    4593            4 :                     if (res) return res;
    4594              :                   }
    4595              :                 }
    4596              :               break;
    4597              :             }
    4598         5143 :           default:;
    4599              :           }
    4600         5143 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4601              :           {
    4602           27 :             {
    4603           27 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4604           27 :               tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, NE_EXPR);
    4605           27 :               if (res) return res;
    4606              :             }
    4607              :           }
    4608         5139 :         if (tree_zero_one_valued_p (_q20))
    4609              :           {
    4610          478 :             switch (TREE_CODE (_q21))
    4611              :               {
    4612          116 :               case INTEGER_CST:
    4613          116 :                 {
    4614          116 :                   if (integer_zerop (_p1))
    4615              :                     {
    4616            5 :                       {
    4617            5 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4618            5 :                         if (tree_fits_shwi_p (captures[1])
    4619            5 :  && tree_to_shwi (captures[1]) > 0
    4620           10 :  && tree_to_shwi (captures[1]) < TYPE_PRECISION (TREE_TYPE (captures[0]))
    4621              : )
    4622              :                           {
    4623            5 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1524;
    4624            5 :                             {
    4625            5 :                               tree res_op0;
    4626            5 :                               res_op0 = captures[0];
    4627            5 :                               tree _r;
    4628            5 :                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4629            5 :                               if (TREE_SIDE_EFFECTS (captures[1]))
    4630            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4631            5 :                               if (TREE_SIDE_EFFECTS (captures[2]))
    4632            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4633            5 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
    4634            5 :                               return _r;
    4635              :                             }
    4636            0 : next_after_fail1524:;
    4637              :                           }
    4638              :                       }
    4639              :                     }
    4640              :                   break;
    4641              :                 }
    4642              :               default:;
    4643              :               }
    4644              :           }
    4645              :         break;
    4646              :       }
    4647     37454845 :     default:;
    4648              :     }
    4649     37454845 :   switch (TREE_CODE (_p1))
    4650              :     {
    4651          263 :     case LSHIFT_EXPR:
    4652          263 :       {
    4653          263 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4654          263 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4655          263 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4656              :           {
    4657            0 :             {
    4658            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    4659            0 :               tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, NE_EXPR);
    4660            0 :               if (res) return res;
    4661              :             }
    4662              :           }
    4663              :         break;
    4664              :       }
    4665     37454845 :     default:;
    4666              :     }
    4667     37454845 :   switch (TREE_CODE (_p0))
    4668              :     {
    4669          155 :     case VIEW_CONVERT_EXPR:
    4670          155 :       {
    4671          155 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4672          155 :         if (tree_zero_one_valued_p (_q20))
    4673              :           {
    4674            0 :             if (integer_zerop (_p1))
    4675              :               {
    4676            0 :                 {
    4677            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    4678            0 :                   tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    4679            0 :                   if (res) return res;
    4680              :                 }
    4681              :               }
    4682              :           }
    4683              :         break;
    4684              :       }
    4685        20572 :     case RSHIFT_EXPR:
    4686        20572 :       {
    4687        20572 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4688        20572 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4689        20572 :         switch (TREE_CODE (_q21))
    4690              :           {
    4691        18247 :           case INTEGER_CST:
    4692        18247 :             {
    4693        18247 :               switch (TREE_CODE (_p1))
    4694              :                 {
    4695          210 :                 case RSHIFT_EXPR:
    4696          210 :                   {
    4697          210 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4698          210 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4699          210 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4700              :                       {
    4701           15 :                         switch (TREE_CODE (_q51))
    4702              :                           {
    4703           15 :                           case INTEGER_CST:
    4704           15 :                             {
    4705           15 :                               {
    4706           15 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4707           15 :                                 tree res = generic_simplify_215 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
    4708           15 :                                 if (res) return res;
    4709              :                               }
    4710            3 :                               break;
    4711              :                             }
    4712              :                           default:;
    4713              :                           }
    4714              :                       }
    4715              :                     break;
    4716              :                   }
    4717        18235 :                 default:;
    4718              :                 }
    4719        18235 :             if (integer_zerop (_p1))
    4720              :               {
    4721         7637 :                 {
    4722         7637 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4723         7637 :                   tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, NE_EXPR, LT_EXPR);
    4724         7637 :                   if (res) return res;
    4725              :                 }
    4726              :               }
    4727              :               break;
    4728              :             }
    4729              :           default:;
    4730              :           }
    4731              :         break;
    4732              :       }
    4733        95070 :     case MULT_EXPR:
    4734        95070 :       {
    4735        95070 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4736        95070 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4737        95070 :         switch (TREE_CODE (_p1))
    4738              :           {
    4739         3164 :           case MULT_EXPR:
    4740         3164 :             {
    4741         3164 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4742         3164 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4743         3164 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4744              :                 {
    4745         1901 :                   {
    4746         1901 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4747         1901 :                     tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, NE_EXPR);
    4748         1901 :                     if (res) return res;
    4749              :                   }
    4750              :                 }
    4751         3160 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4752              :                 {
    4753           53 :                   {
    4754           53 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    4755           53 :                     tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, NE_EXPR);
    4756           53 :                     if (res) return res;
    4757              :                   }
    4758              :                 }
    4759         3160 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4760              :                 {
    4761           22 :                   {
    4762           22 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    4763           22 :                     tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, NE_EXPR);
    4764           22 :                     if (res) return res;
    4765              :                   }
    4766              :                 }
    4767         3160 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4768              :                 {
    4769          260 :                   {
    4770          260 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    4771          260 :                     tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, NE_EXPR);
    4772          260 :                     if (res) return res;
    4773              :                   }
    4774              :                 }
    4775              :               break;
    4776              :             }
    4777        95066 :           default:;
    4778              :           }
    4779        95066 :         switch (TREE_CODE (_q21))
    4780              :           {
    4781        77597 :           case INTEGER_CST:
    4782        77597 :             {
    4783        77597 :               switch (TREE_CODE (_p1))
    4784              :                 {
    4785         2302 :                 case MULT_EXPR:
    4786         2302 :                   {
    4787         2302 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4788         2302 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4789         2302 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4790              :                       {
    4791         1369 :                         {
    4792         1369 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4793         1369 :                           tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, NE_EXPR);
    4794         1369 :                           if (res) return res;
    4795              :                         }
    4796              :                       }
    4797              :                     break;
    4798              :                   }
    4799              :                 default:;
    4800              :                 }
    4801              :               break;
    4802              :             }
    4803              :           default:;
    4804              :           }
    4805              :         break;
    4806              :       }
    4807         2029 :     case EXACT_DIV_EXPR:
    4808         2029 :       {
    4809         2029 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4810         2029 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4811         2029 :         switch (TREE_CODE (_q21))
    4812              :           {
    4813         2029 :           case INTEGER_CST:
    4814         2029 :             {
    4815         2029 :               switch (TREE_CODE (_p1))
    4816              :                 {
    4817           22 :                 case EXACT_DIV_EXPR:
    4818           22 :                   {
    4819           22 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4820           22 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4821           22 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4822              :                       {
    4823           12 :                         {
    4824           12 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    4825           12 :                           tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, NE_EXPR);
    4826           12 :                           if (res) return res;
    4827              :                         }
    4828              :                       }
    4829              :                     break;
    4830              :                   }
    4831              :                 default:;
    4832              :                 }
    4833              :               break;
    4834              :             }
    4835              :           default:;
    4836              :           }
    4837              :         break;
    4838              :       }
    4839        11330 :     case TRUNC_DIV_EXPR:
    4840        11330 :       {
    4841        11330 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4842        11330 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4843        11330 :         switch (TREE_CODE (_q21))
    4844              :           {
    4845         8594 :           case INTEGER_CST:
    4846         8594 :             {
    4847         8594 :               switch (TREE_CODE (_p1))
    4848              :                 {
    4849         2440 :                 case INTEGER_CST:
    4850         2440 :                   {
    4851         2440 :                     {
    4852         2440 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    4853         2440 :                       tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, NE_EXPR);
    4854         2440 :                       if (res) return res;
    4855              :                     }
    4856          325 :                     break;
    4857              :                   }
    4858              :                 default:;
    4859              :                 }
    4860              :               break;
    4861              :             }
    4862              :           default:;
    4863              :           }
    4864              :         break;
    4865              :       }
    4866      1531102 :     case PLUS_EXPR:
    4867      1531102 :       {
    4868      1531102 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4869      1531102 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4870      1531102 :         switch (TREE_CODE (_p1))
    4871              :           {
    4872       189836 :           case PLUS_EXPR:
    4873       189836 :             {
    4874       189836 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4875       189836 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4876       189836 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4877              :                 {
    4878          984 :                   {
    4879          984 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4880         1968 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    4881         1937 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    4882          870 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    4883              : )
    4884              :                       {
    4885          953 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1525;
    4886          953 :                         {
    4887          953 :                           tree res_op0;
    4888          953 :                           res_op0 = captures[0];
    4889          953 :                           tree res_op1;
    4890          953 :                           res_op1 = captures[2];
    4891          953 :                           tree _r;
    4892          953 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    4893          953 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    4894            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4895          953 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 928, __FILE__, __LINE__, true);
    4896          953 :                           return _r;
    4897              :                         }
    4898            0 : next_after_fail1525:;
    4899              :                       }
    4900              :                   }
    4901              :                 }
    4902       188883 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4903              :                 {
    4904            0 :                   {
    4905            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    4906            0 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    4907            0 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    4908            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    4909              : )
    4910              :                       {
    4911            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1526;
    4912            0 :                         {
    4913            0 :                           tree res_op0;
    4914            0 :                           res_op0 = captures[0];
    4915            0 :                           tree res_op1;
    4916            0 :                           res_op1 = captures[2];
    4917            0 :                           tree _r;
    4918            0 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    4919            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    4920            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4921            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 928, __FILE__, __LINE__, true);
    4922            0 :                           return _r;
    4923              :                         }
    4924            0 : next_after_fail1526:;
    4925              :                       }
    4926              :                   }
    4927              :                 }
    4928       188883 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4929              :                 {
    4930           88 :                   {
    4931           88 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    4932          176 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    4933          176 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    4934           88 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    4935              : )
    4936              :                       {
    4937           88 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1527;
    4938           88 :                         {
    4939           88 :                           tree res_op0;
    4940           88 :                           res_op0 = captures[0];
    4941           88 :                           tree res_op1;
    4942           88 :                           res_op1 = captures[2];
    4943           88 :                           tree _r;
    4944           88 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    4945           88 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    4946            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4947           88 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 928, __FILE__, __LINE__, true);
    4948           88 :                           return _r;
    4949              :                         }
    4950            0 : next_after_fail1527:;
    4951              :                       }
    4952              :                   }
    4953              :                 }
    4954       188795 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4955              :                 {
    4956       107406 :                   {
    4957       107406 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    4958       214812 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    4959       214789 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    4960       107383 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    4961              : )
    4962              :                       {
    4963       107383 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1528;
    4964       107383 :                         {
    4965       107383 :                           tree res_op0;
    4966       107383 :                           res_op0 = captures[0];
    4967       107383 :                           tree res_op1;
    4968       107383 :                           res_op1 = captures[2];
    4969       107383 :                           tree _r;
    4970       107383 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    4971       107383 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    4972            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4973       107383 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 928, __FILE__, __LINE__, true);
    4974       107383 :                           return _r;
    4975              :                         }
    4976            0 : next_after_fail1528:;
    4977              :                       }
    4978              :                   }
    4979              :                 }
    4980              :               break;
    4981              :             }
    4982      1422678 :           default:;
    4983              :           }
    4984      1422678 :         switch (TREE_CODE (_q21))
    4985              :           {
    4986          813 :           CASE_CONVERT:
    4987          813 :             {
    4988          813 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4989          813 :               switch (TREE_CODE (_p1))
    4990              :                 {
    4991           88 :                 CASE_CONVERT:
    4992           88 :                   {
    4993           88 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    4994           88 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    4995              :                       {
    4996            0 :                         {
    4997            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
    4998            0 :                           tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    4999            0 :                           if (res) return res;
    5000              :                         }
    5001              :                       }
    5002              :                     break;
    5003              :                   }
    5004              :                 default:;
    5005              :                 }
    5006              :               break;
    5007              :             }
    5008      1422678 :           default:;
    5009              :           }
    5010      1422678 :         switch (TREE_CODE (_q20))
    5011              :           {
    5012       143592 :           CASE_CONVERT:
    5013       143592 :             {
    5014       143592 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5015       143592 :               switch (TREE_CODE (_p1))
    5016              :                 {
    5017         3889 :                 CASE_CONVERT:
    5018         3889 :                   {
    5019         3889 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5020         3889 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5021              :                       {
    5022          404 :                         {
    5023          404 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
    5024          404 :                           tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    5025          404 :                           if (res) return res;
    5026              :                         }
    5027              :                       }
    5028              :                     break;
    5029              :                   }
    5030       143189 :                 default:;
    5031              :                 }
    5032       143189 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5033              :                 {
    5034            0 :                   {
    5035            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
    5036            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    5037            0 :                     if (res) return res;
    5038              :                   }
    5039              :                 }
    5040              :               break;
    5041              :             }
    5042      1422275 :           default:;
    5043              :           }
    5044      1422275 :         switch (TREE_CODE (_q21))
    5045              :           {
    5046          813 :           CASE_CONVERT:
    5047          813 :             {
    5048          813 :               tree _q40 = TREE_OPERAND (_q21, 0);
    5049          813 :               if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5050              :                 {
    5051            0 :                   {
    5052            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
    5053            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    5054            0 :                     if (res) return res;
    5055              :                   }
    5056              :                 }
    5057              :               break;
    5058              :             }
    5059      1422275 :           default:;
    5060              :           }
    5061      1422275 :         switch (TREE_CODE (_p1))
    5062              :           {
    5063        43128 :           CASE_CONVERT:
    5064        43128 :             {
    5065        43128 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5066        43128 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5067              :                 {
    5068            0 :                   {
    5069            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5070            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    5071            0 :                     if (res) return res;
    5072              :                   }
    5073              :                 }
    5074        43128 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5075              :                 {
    5076            0 :                   {
    5077            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
    5078            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    5079            0 :                     if (res) return res;
    5080              :                   }
    5081              :                 }
    5082              :               break;
    5083              :             }
    5084      1422275 :           default:;
    5085              :           }
    5086      1422275 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5087              :           {
    5088        77143 :             {
    5089        77143 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5090        77143 :               tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    5091        77143 :               if (res) return res;
    5092              :             }
    5093              :           }
    5094      1345836 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5095              :           {
    5096        19796 :             {
    5097        19796 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
    5098        19796 :               tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    5099        19796 :               if (res) return res;
    5100              :             }
    5101              :           }
    5102              :         break;
    5103              :       }
    5104       518277 :     case POINTER_PLUS_EXPR:
    5105       518277 :       {
    5106       518277 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5107       518277 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5108       518277 :         switch (TREE_CODE (_p1))
    5109              :           {
    5110        34452 :           case POINTER_PLUS_EXPR:
    5111        34452 :             {
    5112        34452 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5113        34452 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5114        34452 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5115              :                 {
    5116         7915 :                   {
    5117         7915 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5118         7915 :                     tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, NE_EXPR);
    5119         7915 :                     if (res) return res;
    5120              :                   }
    5121              :                 }
    5122              :               break;
    5123              :             }
    5124       510362 :           default:;
    5125              :           }
    5126       510362 :         switch (TREE_CODE (_q20))
    5127              :           {
    5128        73211 :           CASE_CONVERT:
    5129        73211 :             {
    5130        73211 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5131        73211 :               switch (TREE_CODE (_p1))
    5132              :                 {
    5133          195 :                 CASE_CONVERT:
    5134          195 :                   {
    5135          195 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5136          195 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5137              :                       {
    5138            0 :                         {
    5139            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
    5140            0 :                           tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR);
    5141            0 :                           if (res) return res;
    5142              :                         }
    5143              :                       }
    5144              :                     break;
    5145              :                   }
    5146        73211 :                 default:;
    5147              :                 }
    5148        73211 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5149              :                 {
    5150           56 :                   {
    5151           56 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
    5152           56 :                     tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR);
    5153           56 :                     if (res) return res;
    5154              :                   }
    5155              :                 }
    5156              :               break;
    5157              :             }
    5158       510306 :           default:;
    5159              :           }
    5160       510306 :         switch (TREE_CODE (_p1))
    5161              :           {
    5162         3250 :           CASE_CONVERT:
    5163         3250 :             {
    5164         3250 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5165         3250 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5166              :                 {
    5167            0 :                   {
    5168            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5169            0 :                     tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR);
    5170            0 :                     if (res) return res;
    5171              :                   }
    5172              :                 }
    5173              :               break;
    5174              :             }
    5175       510306 :           default:;
    5176              :           }
    5177       510306 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5178              :           {
    5179        10100 :             {
    5180        10100 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5181        10100 :               tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR);
    5182        10100 :               if (res) return res;
    5183              :             }
    5184              :           }
    5185              :         break;
    5186              :       }
    5187       105299 :     case MINUS_EXPR:
    5188       105299 :       {
    5189       105299 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5190       105299 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5191       105299 :         switch (TREE_CODE (_p1))
    5192              :           {
    5193         5878 :           case MINUS_EXPR:
    5194         5878 :             {
    5195         5878 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5196         5878 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5197         5878 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5198              :                 {
    5199          170 :                   {
    5200          170 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5201          340 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5202          173 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5203            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5204              : )
    5205              :                       {
    5206            3 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1529;
    5207            3 :                         {
    5208            3 :                           tree res_op0;
    5209            3 :                           res_op0 = captures[0];
    5210            3 :                           tree res_op1;
    5211            3 :                           res_op1 = captures[2];
    5212            3 :                           tree _r;
    5213            3 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    5214            3 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5215            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5216            3 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 929, __FILE__, __LINE__, true);
    5217            3 :                           return _r;
    5218              :                         }
    5219            0 : next_after_fail1529:;
    5220              :                       }
    5221              :                   }
    5222              :                 }
    5223         5875 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5224              :                 {
    5225          166 :                   {
    5226          166 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5227          332 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    5228          166 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    5229            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
    5230              : )
    5231              :                       {
    5232            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1530;
    5233            0 :                         {
    5234            0 :                           tree res_op0;
    5235            0 :                           res_op0 = captures[2];
    5236            0 :                           tree res_op1;
    5237            0 :                           res_op1 = captures[1];
    5238            0 :                           tree _r;
    5239            0 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    5240            0 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    5241            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5242            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 930, __FILE__, __LINE__, true);
    5243            0 :                           return _r;
    5244              :                         }
    5245            0 : next_after_fail1530:;
    5246              :                       }
    5247              :                   }
    5248              :                 }
    5249              :               break;
    5250              :             }
    5251       105296 :           default:;
    5252              :           }
    5253       105296 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5254              :           {
    5255         1752 :             {
    5256         1752 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    5257         1752 :               tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, NE_EXPR);
    5258         1752 :               if (res) return res;
    5259              :             }
    5260              :           }
    5261              :         break;
    5262              :       }
    5263        24684 :     case POINTER_DIFF_EXPR:
    5264        24684 :       {
    5265        24684 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5266        24684 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5267        24684 :         switch (TREE_CODE (_p1))
    5268              :           {
    5269         2263 :           case POINTER_DIFF_EXPR:
    5270         2263 :             {
    5271         2263 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5272         2263 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5273         2263 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5274              :                 {
    5275            0 :                   {
    5276            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5277            0 :                     tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, NE_EXPR);
    5278            0 :                     if (res) return res;
    5279              :                   }
    5280              :                 }
    5281         2263 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5282              :                 {
    5283            0 :                   {
    5284            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5285            0 :                     tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, NE_EXPR);
    5286            0 :                     if (res) return res;
    5287              :                   }
    5288              :                 }
    5289              :               break;
    5290              :             }
    5291              :           default:;
    5292              :           }
    5293              :         break;
    5294              :       }
    5295     37227686 :     default:;
    5296              :     }
    5297     37227686 : {
    5298     37227686 :   tree _p0_pops[1];
    5299     37227686 :   if (tree_logical_inverted_value (_p0, _p0_pops))
    5300              :     {
    5301       535931 :       tree _q20 = _p0_pops[0];
    5302       535931 :       if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5303              :         {
    5304           24 :           if (tree_truth_valued_p (_p1))
    5305              :             {
    5306            0 :               {
    5307            0 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5308            0 :                 tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    5309            0 :                 if (res) return res;
    5310              :               }
    5311              :             }
    5312              :         }
    5313              :     }
    5314              : }
    5315     37227686 : if (tree_truth_valued_p (_p0))
    5316              :   {
    5317      5379736 :     {
    5318      5379736 :       tree _p1_pops[1];
    5319      5379736 :       if (tree_logical_inverted_value (_p1, _p1_pops))
    5320              :         {
    5321         1141 :           tree _q30 = _p1_pops[0];
    5322         1141 :           if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5323              :             {
    5324            0 :               {
    5325            0 :                 tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5326            0 :                 tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    5327            0 :                 if (res) return res;
    5328              :               }
    5329              :             }
    5330              :         }
    5331              :     }
    5332              :   }
    5333     37227686 :   switch (TREE_CODE (_p1))
    5334              :     {
    5335       122433 :     case PLUS_EXPR:
    5336       122433 :       {
    5337       122433 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5338       122433 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5339       122433 :         switch (TREE_CODE (_q31))
    5340              :           {
    5341          346 :           CASE_CONVERT:
    5342          346 :             {
    5343          346 :               tree _q50 = TREE_OPERAND (_q31, 0);
    5344          346 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5345              :                 {
    5346            0 :                   {
    5347            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    5348            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    5349            0 :                     if (res) return res;
    5350              :                   }
    5351              :                 }
    5352              :               break;
    5353              :             }
    5354       122433 :           default:;
    5355              :           }
    5356       122433 :         switch (TREE_CODE (_q30))
    5357              :           {
    5358         5428 :           CASE_CONVERT:
    5359         5428 :             {
    5360         5428 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5361         5428 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5362              :                 {
    5363            0 :                   {
    5364            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
    5365            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    5366            0 :                     if (res) return res;
    5367              :                   }
    5368              :                 }
    5369              :               break;
    5370              :             }
    5371       122433 :           default:;
    5372              :           }
    5373       122433 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5374              :           {
    5375            0 :             {
    5376            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    5377            0 :               tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    5378            0 :               if (res) return res;
    5379              :             }
    5380              :           }
    5381       122433 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5382              :           {
    5383            8 :             {
    5384            8 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
    5385            8 :               tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    5386            8 :               if (res) return res;
    5387              :             }
    5388              :           }
    5389              :         break;
    5390              :       }
    5391     37227678 :     default:;
    5392              :     }
    5393     37227678 : {
    5394     37227678 :   tree _p1_pops[1];
    5395     37227678 :   if (tree_nop_convert (_p1, _p1_pops))
    5396              :     {
    5397      4803502 :       tree _q30 = _p1_pops[0];
    5398      4803502 :       switch (TREE_CODE (_q30))
    5399              :         {
    5400         1701 :         case PLUS_EXPR:
    5401         1701 :           {
    5402         1701 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5403         1701 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5404         1701 :             switch (TREE_CODE (_q41))
    5405              :               {
    5406            3 :               CASE_CONVERT:
    5407            3 :                 {
    5408            3 :                   tree _q60 = TREE_OPERAND (_q41, 0);
    5409            3 :                   if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    5410              :                     {
    5411            0 :                       {
    5412            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    5413            0 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    5414            0 :                         if (res) return res;
    5415              :                       }
    5416              :                     }
    5417              :                   break;
    5418              :                 }
    5419         1701 :               default:;
    5420              :               }
    5421         1701 :             switch (TREE_CODE (_q40))
    5422              :               {
    5423         1145 :               CASE_CONVERT:
    5424         1145 :                 {
    5425         1145 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5426         1145 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5427              :                     {
    5428            0 :                       {
    5429            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
    5430            0 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    5431            0 :                         if (res) return res;
    5432              :                       }
    5433              :                     }
    5434              :                   break;
    5435              :                 }
    5436         1701 :               default:;
    5437              :               }
    5438         1701 :             if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    5439              :               {
    5440            0 :                 {
    5441            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    5442            0 :                   tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    5443            0 :                   if (res) return res;
    5444              :                 }
    5445              :               }
    5446         1701 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5447              :               {
    5448            0 :                 {
    5449            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
    5450            0 :                   tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    5451            0 :                   if (res) return res;
    5452              :                 }
    5453              :               }
    5454              :             break;
    5455              :           }
    5456              :         default:;
    5457              :         }
    5458              :     }
    5459              : }
    5460     37227678 :   switch (TREE_CODE (_p0))
    5461              :     {
    5462      8268157 :     CASE_CONVERT:
    5463      8268157 :       {
    5464      8268157 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5465      8268157 :         switch (TREE_CODE (_p1))
    5466              :           {
    5467          169 :           case POINTER_PLUS_EXPR:
    5468          169 :             {
    5469          169 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5470          169 :               tree _q41 = TREE_OPERAND (_p1, 1);
    5471          169 :               switch (TREE_CODE (_q40))
    5472              :                 {
    5473           48 :                 CASE_CONVERT:
    5474           48 :                   {
    5475           48 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5476           48 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5477              :                       {
    5478            0 :                         {
    5479            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
    5480            0 :                           tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR);
    5481            0 :                           if (res) return res;
    5482              :                         }
    5483              :                       }
    5484              :                     break;
    5485              :                   }
    5486          169 :                 default:;
    5487              :                 }
    5488          169 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    5489              :                 {
    5490            0 :                   {
    5491            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
    5492            0 :                     tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR);
    5493            0 :                     if (res) return res;
    5494              :                   }
    5495              :                 }
    5496              :               break;
    5497              :             }
    5498      8268157 :           default:;
    5499              :           }
    5500      8268157 :       {
    5501      8268157 :         tree _p1_pops[1];
    5502      8268157 :         if (tree_nop_convert (_p1, _p1_pops))
    5503              :           {
    5504      4438310 :             tree _q40 = _p1_pops[0];
    5505      4438310 :             switch (TREE_CODE (_q40))
    5506              :               {
    5507           48 :               case POINTER_PLUS_EXPR:
    5508           48 :                 {
    5509           48 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5510           48 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    5511           48 :                   switch (TREE_CODE (_q50))
    5512              :                     {
    5513            8 :                     CASE_CONVERT:
    5514            8 :                       {
    5515            8 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    5516            8 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5517              :                           {
    5518            0 :                             {
    5519            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
    5520            0 :                               tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5521            0 :                               if (res) return res;
    5522              :                             }
    5523              :                           }
    5524              :                         break;
    5525              :                       }
    5526           48 :                     default:;
    5527              :                     }
    5528           48 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5529              :                     {
    5530            0 :                       {
    5531            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
    5532            0 :                         tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5533            0 :                         if (res) return res;
    5534              :                       }
    5535              :                     }
    5536              :                   break;
    5537              :                 }
    5538              :               default:;
    5539              :               }
    5540              :           }
    5541              :       }
    5542      8268157 :         break;
    5543              :       }
    5544     37227678 :     default:;
    5545              :     }
    5546     37227678 : {
    5547     37227678 :   tree _p0_pops[1];
    5548     37227678 :   if (tree_nop_convert (_p0, _p0_pops))
    5549              :     {
    5550      6078100 :       tree _q20 = _p0_pops[0];
    5551      6078100 :       switch (TREE_CODE (_q20))
    5552              :         {
    5553          185 :         case POINTER_PLUS_EXPR:
    5554          185 :           {
    5555          185 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5556          185 :             tree _q31 = TREE_OPERAND (_q20, 1);
    5557          185 :             switch (TREE_CODE (_q30))
    5558              :               {
    5559           24 :               CASE_CONVERT:
    5560           24 :                 {
    5561           24 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    5562           24 :                   switch (TREE_CODE (_p1))
    5563              :                     {
    5564            8 :                     CASE_CONVERT:
    5565            8 :                       {
    5566            8 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    5567            8 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    5568              :                           {
    5569            0 :                             {
    5570            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    5571            0 :                               tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5572            0 :                               if (res) return res;
    5573              :                             }
    5574              :                           }
    5575              :                         break;
    5576              :                       }
    5577           24 :                     default:;
    5578              :                     }
    5579           24 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5580              :                     {
    5581            0 :                       {
    5582            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    5583            0 :                         tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5584            0 :                         if (res) return res;
    5585              :                       }
    5586              :                     }
    5587              :                   break;
    5588              :                 }
    5589          185 :               default:;
    5590              :               }
    5591          185 :             switch (TREE_CODE (_p1))
    5592              :               {
    5593           50 :               CASE_CONVERT:
    5594           50 :                 {
    5595           50 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    5596           50 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5597              :                     {
    5598            0 :                       {
    5599            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    5600            0 :                         tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5601            0 :                         if (res) return res;
    5602              :                       }
    5603              :                     }
    5604              :                   break;
    5605              :                 }
    5606          185 :               default:;
    5607              :               }
    5608          185 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5609              :               {
    5610            0 :                 {
    5611            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    5612            0 :                   tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5613            0 :                   if (res) return res;
    5614              :                 }
    5615              :               }
    5616              :             break;
    5617              :           }
    5618              :         default:;
    5619              :         }
    5620              :     }
    5621              : }
    5622     37227678 :   switch (TREE_CODE (_p1))
    5623              :     {
    5624        30536 :     case POINTER_PLUS_EXPR:
    5625        30536 :       {
    5626        30536 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5627        30536 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5628        30536 :         switch (TREE_CODE (_q30))
    5629              :           {
    5630         2768 :           CASE_CONVERT:
    5631         2768 :             {
    5632         2768 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5633         2768 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5634              :                 {
    5635            0 :                   {
    5636            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    5637            0 :                     tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR);
    5638            0 :                     if (res) return res;
    5639              :                   }
    5640              :                 }
    5641              :               break;
    5642              :             }
    5643        30536 :           default:;
    5644              :           }
    5645        30536 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5646              :           {
    5647            0 :             {
    5648            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    5649            0 :               tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR);
    5650            0 :               if (res) return res;
    5651              :             }
    5652              :           }
    5653              :         break;
    5654              :       }
    5655     37227678 :     default:;
    5656              :     }
    5657     37227678 : {
    5658     37227678 :   tree _p1_pops[1];
    5659     37227678 :   if (tree_nop_convert (_p1, _p1_pops))
    5660              :     {
    5661      4803502 :       tree _q30 = _p1_pops[0];
    5662      4803502 :       switch (TREE_CODE (_q30))
    5663              :         {
    5664          387 :         case POINTER_PLUS_EXPR:
    5665          387 :           {
    5666          387 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5667          387 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5668          387 :             switch (TREE_CODE (_q40))
    5669              :               {
    5670            8 :               CASE_CONVERT:
    5671            8 :                 {
    5672            8 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5673            8 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5674              :                     {
    5675            0 :                       {
    5676            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    5677            0 :                         tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5678            0 :                         if (res) return res;
    5679              :                       }
    5680              :                     }
    5681              :                   break;
    5682              :                 }
    5683          387 :               default:;
    5684              :               }
    5685          387 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5686              :               {
    5687            0 :                 {
    5688            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    5689            0 :                   tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5690            0 :                   if (res) return res;
    5691              :                 }
    5692              :               }
    5693              :             break;
    5694              :           }
    5695              :         default:;
    5696              :         }
    5697              :     }
    5698              : }
    5699     37227678 :   switch (TREE_CODE (_p0))
    5700              :     {
    5701       500206 :     case POINTER_PLUS_EXPR:
    5702       500206 :       {
    5703       500206 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5704       500206 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5705       500206 :         switch (TREE_CODE (_p1))
    5706              :           {
    5707        49200 :           case ADDR_EXPR:
    5708        49200 :             {
    5709        49200 :               {
    5710        49200 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5711        49200 :                 tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, NE_EXPR);
    5712        49200 :                 if (res) return res;
    5713              :               }
    5714        33564 :               break;
    5715              :             }
    5716       484570 :           default:;
    5717              :           }
    5718       484570 :         switch (TREE_CODE (_q20))
    5719              :           {
    5720         4900 :           case ADDR_EXPR:
    5721         4900 :             {
    5722         4900 :               switch (TREE_CODE (_p1))
    5723              :                 {
    5724          256 :                 case POINTER_PLUS_EXPR:
    5725          256 :                   {
    5726          256 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5727          256 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5728          256 :                     switch (TREE_CODE (_q50))
    5729              :                       {
    5730            0 :                       case ADDR_EXPR:
    5731            0 :                         {
    5732            0 :                           {
    5733            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
    5734            0 :                             tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, NE_EXPR);
    5735            0 :                             if (res) return res;
    5736              :                           }
    5737            0 :                           break;
    5738              :                         }
    5739              :                       default:;
    5740              :                       }
    5741              :                     break;
    5742              :                   }
    5743              :                 default:;
    5744              :                 }
    5745              :               break;
    5746              :             }
    5747              :           default:;
    5748              :           }
    5749              :         break;
    5750              :       }
    5751       197486 :     case ADDR_EXPR:
    5752       197486 :       {
    5753       197486 :         switch (TREE_CODE (_p1))
    5754              :           {
    5755            0 :           case POINTER_PLUS_EXPR:
    5756            0 :             {
    5757            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    5758            0 :               tree _q31 = TREE_OPERAND (_p1, 1);
    5759            0 :               {
    5760            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
    5761            0 :                 tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, NE_EXPR);
    5762            0 :                 if (res) return res;
    5763              :               }
    5764            0 :               break;
    5765              :             }
    5766              :           default:;
    5767              :           }
    5768              :         break;
    5769              :       }
    5770     37212042 :     default:;
    5771              :     }
    5772     37212042 :   switch (TREE_CODE (_p1))
    5773              :     {
    5774        30204 :     case MINUS_EXPR:
    5775        30204 :       {
    5776        30204 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5777        30204 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5778        30204 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5779              :           {
    5780            0 :             {
    5781            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    5782            0 :               tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, NE_EXPR);
    5783            0 :               if (res) return res;
    5784              :             }
    5785              :           }
    5786              :         break;
    5787              :       }
    5788     37212042 :     default:;
    5789              :     }
    5790     37212042 :   switch (TREE_CODE (_p0))
    5791              :     {
    5792         9215 :     case TRUNC_DIV_EXPR:
    5793         9215 :       {
    5794         9215 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5795         9215 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5796         9215 :         if (integer_zerop (_p1))
    5797              :           {
    5798         1035 :             {
    5799         1035 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5800         1035 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
    5801         1035 :               if (res) return res;
    5802              :             }
    5803              :           }
    5804              :         break;
    5805              :       }
    5806      8268157 :     CASE_CONVERT:
    5807      8268157 :       {
    5808      8268157 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5809      8268157 :         switch (TREE_CODE (_p1))
    5810              :           {
    5811      4577619 :           CASE_CONVERT:
    5812      4577619 :             {
    5813      4577619 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5814      4577619 :               switch (TREE_CODE (_q40))
    5815              :                 {
    5816            0 :                 case MINUS_EXPR:
    5817            0 :                   {
    5818            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5819            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    5820            0 :                     switch (TREE_CODE (_q50))
    5821              :                       {
    5822            0 :                       case INTEGER_CST:
    5823            0 :                         {
    5824            0 :                           switch (TREE_CODE (_q51))
    5825              :                             {
    5826            0 :                             CASE_CONVERT:
    5827            0 :                               {
    5828            0 :                                 tree _q70 = TREE_OPERAND (_q51, 0);
    5829            0 :                                 if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    5830              :                                   {
    5831            0 :                                     {
    5832            0 :                                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    5833            0 :                                       tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    5834            0 :                                       if (res) return res;
    5835              :                                     }
    5836              :                                   }
    5837              :                                 break;
    5838              :                               }
    5839              :                             default:;
    5840              :                             }
    5841              :                           break;
    5842              :                         }
    5843              :                       default:;
    5844              :                       }
    5845              :                     break;
    5846              :                   }
    5847              :                 default:;
    5848              :                 }
    5849              :               break;
    5850              :             }
    5851      8268157 :           default:;
    5852              :           }
    5853      8268157 :         switch (TREE_CODE (_q20))
    5854              :           {
    5855           99 :           case MINUS_EXPR:
    5856           99 :             {
    5857           99 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5858           99 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5859           99 :               switch (TREE_CODE (_q30))
    5860              :                 {
    5861           49 :                 case INTEGER_CST:
    5862           49 :                   {
    5863           49 :                     switch (TREE_CODE (_q31))
    5864              :                       {
    5865            0 :                       CASE_CONVERT:
    5866            0 :                         {
    5867            0 :                           tree _q50 = TREE_OPERAND (_q31, 0);
    5868            0 :                           switch (TREE_CODE (_p1))
    5869              :                             {
    5870            0 :                             CASE_CONVERT:
    5871            0 :                               {
    5872            0 :                                 tree _q70 = TREE_OPERAND (_p1, 0);
    5873            0 :                                 if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
    5874              :                                   {
    5875            0 :                                     {
    5876            0 :                                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    5877            0 :                                       tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    5878            0 :                                       if (res) return res;
    5879              :                                     }
    5880              :                                   }
    5881              :                                 break;
    5882              :                               }
    5883            0 :                             default:;
    5884              :                             }
    5885            0 :                           if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    5886              :                             {
    5887            0 :                               {
    5888            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    5889            0 :                                 tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    5890            0 :                                 if (res) return res;
    5891              :                               }
    5892              :                             }
    5893              :                           break;
    5894              :                         }
    5895           49 :                       default:;
    5896              :                       }
    5897           49 :                     switch (TREE_CODE (_p1))
    5898              :                       {
    5899            0 :                       CASE_CONVERT:
    5900            0 :                         {
    5901            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    5902            0 :                           if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    5903              :                             {
    5904            0 :                               {
    5905            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    5906            0 :                                 tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    5907            0 :                                 if (res) return res;
    5908              :                               }
    5909              :                             }
    5910              :                           break;
    5911              :                         }
    5912           49 :                       default:;
    5913              :                       }
    5914           49 :                     if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    5915              :                       {
    5916            0 :                         {
    5917            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    5918            0 :                           tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    5919            0 :                           if (res) return res;
    5920              :                         }
    5921              :                       }
    5922              :                     break;
    5923              :                   }
    5924              :                 default:;
    5925              :                 }
    5926              :               break;
    5927              :             }
    5928      8268157 :           default:;
    5929              :           }
    5930      8268157 :         switch (TREE_CODE (_p1))
    5931              :           {
    5932      4577619 :           CASE_CONVERT:
    5933      4577619 :             {
    5934      4577619 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5935      4577619 :               switch (TREE_CODE (_q40))
    5936              :                 {
    5937            0 :                 case MINUS_EXPR:
    5938            0 :                   {
    5939            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5940            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    5941            0 :                     switch (TREE_CODE (_q50))
    5942              :                       {
    5943            0 :                       case INTEGER_CST:
    5944            0 :                         {
    5945            0 :                           if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5946              :                             {
    5947            0 :                               {
    5948            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    5949            0 :                                 tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    5950            0 :                                 if (res) return res;
    5951              :                               }
    5952              :                             }
    5953              :                           break;
    5954              :                         }
    5955              :                       default:;
    5956              :                       }
    5957              :                     break;
    5958              :                   }
    5959              :                 default:;
    5960              :                 }
    5961              :               break;
    5962              :             }
    5963        21675 :           case MINUS_EXPR:
    5964        21675 :             {
    5965        21675 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5966        21675 :               tree _q41 = TREE_OPERAND (_p1, 1);
    5967        21675 :               switch (TREE_CODE (_q40))
    5968              :                 {
    5969          400 :                 case INTEGER_CST:
    5970          400 :                   {
    5971          400 :                     switch (TREE_CODE (_q41))
    5972              :                       {
    5973           20 :                       CASE_CONVERT:
    5974           20 :                         {
    5975           20 :                           tree _q60 = TREE_OPERAND (_q41, 0);
    5976           20 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5977              :                             {
    5978            0 :                               {
    5979            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    5980            0 :                                 tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    5981            0 :                                 if (res) return res;
    5982              :                               }
    5983              :                             }
    5984              :                           break;
    5985              :                         }
    5986          400 :                       default:;
    5987              :                       }
    5988          400 :                     if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    5989              :                       {
    5990            0 :                         {
    5991            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    5992            0 :                           tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    5993            0 :                           if (res) return res;
    5994              :                         }
    5995              :                       }
    5996              :                     break;
    5997              :                   }
    5998              :                 default:;
    5999              :                 }
    6000              :               break;
    6001              :             }
    6002              :           default:;
    6003              :           }
    6004              :         break;
    6005              :       }
    6006       103584 :     case MINUS_EXPR:
    6007       103584 :       {
    6008       103584 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6009       103584 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6010       103584 :         switch (TREE_CODE (_q20))
    6011              :           {
    6012         2041 :           case INTEGER_CST:
    6013         2041 :             {
    6014         2041 :               switch (TREE_CODE (_q21))
    6015              :                 {
    6016          180 :                 CASE_CONVERT:
    6017          180 :                   {
    6018          180 :                     tree _q40 = TREE_OPERAND (_q21, 0);
    6019          180 :                     switch (TREE_CODE (_p1))
    6020              :                       {
    6021            0 :                       CASE_CONVERT:
    6022            0 :                         {
    6023            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    6024            0 :                           if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    6025              :                             {
    6026            0 :                               {
    6027            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6028            0 :                                 tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    6029            0 :                                 if (res) return res;
    6030              :                               }
    6031              :                             }
    6032              :                           break;
    6033              :                         }
    6034          180 :                       default:;
    6035              :                       }
    6036          180 :                     if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    6037              :                       {
    6038            0 :                         {
    6039            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6040            0 :                           tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    6041            0 :                           if (res) return res;
    6042              :                         }
    6043              :                       }
    6044              :                     break;
    6045              :                   }
    6046         2041 :                 default:;
    6047              :                 }
    6048         2041 :               switch (TREE_CODE (_p1))
    6049              :                 {
    6050          307 :                 CASE_CONVERT:
    6051          307 :                   {
    6052          307 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    6053          307 :                     if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6054              :                       {
    6055            0 :                         {
    6056            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6057            0 :                           tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    6058            0 :                           if (res) return res;
    6059              :                         }
    6060              :                       }
    6061              :                     break;
    6062              :                   }
    6063         2041 :                 default:;
    6064              :                 }
    6065         2041 :               if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6066              :                 {
    6067           19 :                   {
    6068           19 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6069           19 :                     tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    6070           19 :                     if (res) return res;
    6071              :                   }
    6072              :                 }
    6073              :               break;
    6074              :             }
    6075              :           default:;
    6076              :           }
    6077              :         break;
    6078              :       }
    6079     37211926 :     default:;
    6080              :     }
    6081     37211926 :   switch (TREE_CODE (_p1))
    6082              :     {
    6083      4970100 :     CASE_CONVERT:
    6084      4970100 :       {
    6085      4970100 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6086      4970100 :         switch (TREE_CODE (_q30))
    6087              :           {
    6088          556 :           case MINUS_EXPR:
    6089          556 :             {
    6090          556 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6091          556 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6092          556 :               switch (TREE_CODE (_q40))
    6093              :                 {
    6094           17 :                 case INTEGER_CST:
    6095           17 :                   {
    6096           17 :                     switch (TREE_CODE (_q41))
    6097              :                       {
    6098            0 :                       CASE_CONVERT:
    6099            0 :                         {
    6100            0 :                           tree _q60 = TREE_OPERAND (_q41, 0);
    6101            0 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    6102              :                             {
    6103            0 :                               {
    6104            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6105            0 :                                 tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    6106            0 :                                 if (res) return res;
    6107              :                               }
    6108              :                             }
    6109              :                           break;
    6110              :                         }
    6111           17 :                       default:;
    6112              :                       }
    6113           17 :                     if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    6114              :                       {
    6115            0 :                         {
    6116            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6117            0 :                           tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    6118            0 :                           if (res) return res;
    6119              :                         }
    6120              :                       }
    6121              :                     break;
    6122              :                   }
    6123              :                 default:;
    6124              :                 }
    6125              :               break;
    6126              :             }
    6127              :           default:;
    6128              :           }
    6129              :         break;
    6130              :       }
    6131        30204 :     case MINUS_EXPR:
    6132        30204 :       {
    6133        30204 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6134        30204 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6135        30204 :         switch (TREE_CODE (_q30))
    6136              :           {
    6137          602 :           case INTEGER_CST:
    6138          602 :             {
    6139          602 :               switch (TREE_CODE (_q31))
    6140              :                 {
    6141           28 :                 CASE_CONVERT:
    6142           28 :                   {
    6143           28 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    6144           28 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    6145              :                       {
    6146            0 :                         {
    6147            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6148            0 :                           tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    6149            0 :                           if (res) return res;
    6150              :                         }
    6151              :                       }
    6152              :                     break;
    6153              :                   }
    6154          602 :                 default:;
    6155              :                 }
    6156          602 :               if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6157              :                 {
    6158            0 :                   {
    6159            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6160            0 :                     tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    6161            0 :                     if (res) return res;
    6162              :                   }
    6163              :                 }
    6164              :               break;
    6165              :             }
    6166              :           default:;
    6167              :           }
    6168              :         break;
    6169              :       }
    6170     37211926 :     default:;
    6171              :     }
    6172     37211926 :   switch (TREE_CODE (_p0))
    6173              :     {
    6174        18271 :     case LT_EXPR:
    6175        18271 :       {
    6176        18271 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6177        18271 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6178        18271 :         switch (TREE_CODE (_p1))
    6179              :           {
    6180           18 :           case GT_EXPR:
    6181           18 :             {
    6182           18 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6183           18 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6184           18 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6185              :                 {
    6186            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6187              :                     {
    6188            0 :                       {
    6189            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6190            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6191            0 :                         const enum tree_code cmp2 = GT_EXPR;
    6192            0 :                         const enum tree_code rcmp = NE_EXPR;
    6193            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6194            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6195            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6196            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6197              : )
    6198              :                           {
    6199            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1531;
    6200            0 :                             {
    6201            0 :                               tree res_op0;
    6202            0 :                               res_op0 = captures[0];
    6203            0 :                               tree res_op1;
    6204            0 :                               res_op1 = captures[1];
    6205            0 :                               tree _r;
    6206            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6207            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6208            0 :                               return _r;
    6209              :                             }
    6210            0 : next_after_fail1531:;
    6211              :                           }
    6212              :                       }
    6213              :                     }
    6214              :                 }
    6215              :               break;
    6216              :             }
    6217           23 :           case EQ_EXPR:
    6218           23 :             {
    6219           23 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6220           23 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6221           23 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6222              :                 {
    6223            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6224              :                     {
    6225            0 :                       {
    6226            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6227            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6228            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6229            0 :                         const enum tree_code rcmp = LE_EXPR;
    6230            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6231            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6232            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6233            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6234              : )
    6235              :                           {
    6236            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1532;
    6237            0 :                             {
    6238            0 :                               tree res_op0;
    6239            0 :                               res_op0 = captures[0];
    6240            0 :                               tree res_op1;
    6241            0 :                               res_op1 = captures[1];
    6242            0 :                               tree _r;
    6243            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6244            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6245            0 :                               return _r;
    6246              :                             }
    6247            0 : next_after_fail1532:;
    6248              :                           }
    6249              :                       }
    6250              :                     }
    6251              :                 }
    6252              :               break;
    6253              :             }
    6254           23 :           case NE_EXPR:
    6255           23 :             {
    6256           23 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6257           23 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6258           23 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6259              :                 {
    6260            9 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6261              :                     {
    6262            0 :                       {
    6263            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6264            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6265            0 :                         const enum tree_code cmp2 = NE_EXPR;
    6266            0 :                         const enum tree_code rcmp = GT_EXPR;
    6267            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6268            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6269            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6270            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6271              : )
    6272              :                           {
    6273            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1533;
    6274            0 :                             {
    6275            0 :                               tree res_op0;
    6276            0 :                               res_op0 = captures[0];
    6277            0 :                               tree res_op1;
    6278            0 :                               res_op1 = captures[1];
    6279            0 :                               tree _r;
    6280            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6281            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6282            0 :                               return _r;
    6283              :                             }
    6284            0 : next_after_fail1533:;
    6285              :                           }
    6286              :                       }
    6287              :                     }
    6288              :                 }
    6289              :               break;
    6290              :             }
    6291              :           default:;
    6292              :           }
    6293              :         break;
    6294              :       }
    6295        12003 :     case LE_EXPR:
    6296        12003 :       {
    6297        12003 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6298        12003 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6299        12003 :         switch (TREE_CODE (_p1))
    6300              :           {
    6301           25 :           case GE_EXPR:
    6302           25 :             {
    6303           25 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6304           25 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6305           25 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6306              :                 {
    6307            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6308              :                     {
    6309            0 :                       {
    6310            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6311            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6312            0 :                         const enum tree_code cmp2 = GE_EXPR;
    6313            0 :                         const enum tree_code rcmp = NE_EXPR;
    6314            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6315            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6316            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6317            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6318              : )
    6319              :                           {
    6320            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1534;
    6321            0 :                             {
    6322            0 :                               tree res_op0;
    6323            0 :                               res_op0 = captures[0];
    6324            0 :                               tree res_op1;
    6325            0 :                               res_op1 = captures[1];
    6326            0 :                               tree _r;
    6327            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6328            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6329            0 :                               return _r;
    6330              :                             }
    6331            0 : next_after_fail1534:;
    6332              :                           }
    6333              :                       }
    6334              :                     }
    6335              :                 }
    6336              :               break;
    6337              :             }
    6338           41 :           case EQ_EXPR:
    6339           41 :             {
    6340           41 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6341           41 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6342           41 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6343              :                 {
    6344            9 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6345              :                     {
    6346            0 :                       {
    6347            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6348            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6349            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6350            0 :                         const enum tree_code rcmp = LT_EXPR;
    6351            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6352            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6353            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6354            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6355              : )
    6356              :                           {
    6357            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1535;
    6358            0 :                             {
    6359            0 :                               tree res_op0;
    6360            0 :                               res_op0 = captures[0];
    6361            0 :                               tree res_op1;
    6362            0 :                               res_op1 = captures[1];
    6363            0 :                               tree _r;
    6364            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6365            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6366            0 :                               return _r;
    6367              :                             }
    6368            0 : next_after_fail1535:;
    6369              :                           }
    6370              :                       }
    6371              :                     }
    6372              :                 }
    6373              :               break;
    6374              :             }
    6375           13 :           case NE_EXPR:
    6376           13 :             {
    6377           13 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6378           13 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6379           13 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6380              :                 {
    6381            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6382              :                     {
    6383            0 :                       {
    6384            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6385            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6386            0 :                         const enum tree_code cmp2 = NE_EXPR;
    6387            0 :                         const enum tree_code rcmp = GE_EXPR;
    6388            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6389            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6390            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6391            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6392              : )
    6393              :                           {
    6394            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1536;
    6395            0 :                             {
    6396            0 :                               tree res_op0;
    6397            0 :                               res_op0 = captures[0];
    6398            0 :                               tree res_op1;
    6399            0 :                               res_op1 = captures[1];
    6400            0 :                               tree _r;
    6401            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6402            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6403            0 :                               return _r;
    6404              :                             }
    6405            0 : next_after_fail1536:;
    6406              :                           }
    6407              :                       }
    6408              :                     }
    6409              :                 }
    6410              :               break;
    6411              :             }
    6412              :           default:;
    6413              :           }
    6414              :         break;
    6415              :       }
    6416        35796 :     case GT_EXPR:
    6417        35796 :       {
    6418        35796 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6419        35796 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6420        35796 :         switch (TREE_CODE (_p1))
    6421              :           {
    6422           77 :           case GT_EXPR:
    6423           77 :             {
    6424           77 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6425           77 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6426           77 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6427              :                 {
    6428            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6429              :                     {
    6430            0 :                       {
    6431            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6432            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6433            0 :                         const enum tree_code cmp2 = GT_EXPR;
    6434            0 :                         const enum tree_code rcmp = NE_EXPR;
    6435            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6436            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6437            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6438            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6439              : )
    6440              :                           {
    6441            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1537;
    6442            0 :                             {
    6443            0 :                               tree res_op0;
    6444            0 :                               res_op0 = captures[0];
    6445            0 :                               tree res_op1;
    6446            0 :                               res_op1 = captures[1];
    6447            0 :                               tree _r;
    6448            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6449            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6450            0 :                               return _r;
    6451              :                             }
    6452            0 : next_after_fail1537:;
    6453              :                           }
    6454              :                       }
    6455            0 :                       {
    6456            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6457            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6458            0 :                         const enum tree_code cmp2 = GT_EXPR;
    6459            0 :                         const enum tree_code rcmp = NE_EXPR;
    6460            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6461            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6462            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6463            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6464              : )
    6465              :                           {
    6466            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1538;
    6467            0 :                             {
    6468            0 :                               tree res_op0;
    6469            0 :                               res_op0 = captures[0];
    6470            0 :                               tree res_op1;
    6471            0 :                               res_op1 = captures[1];
    6472            0 :                               tree _r;
    6473            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6474            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6475            0 :                               return _r;
    6476              :                             }
    6477            0 : next_after_fail1538:;
    6478              :                           }
    6479              :                       }
    6480              :                     }
    6481              :                 }
    6482              :               break;
    6483              :             }
    6484           29 :           case EQ_EXPR:
    6485           29 :             {
    6486           29 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6487           29 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6488           29 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6489              :                 {
    6490            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6491              :                     {
    6492            0 :                       {
    6493            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6494            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6495            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6496            0 :                         const enum tree_code rcmp = LE_EXPR;
    6497            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6498            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6499            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6500            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6501              : )
    6502              :                           {
    6503            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1539;
    6504            0 :                             {
    6505            0 :                               tree res_op0;
    6506            0 :                               res_op0 = captures[0];
    6507            0 :                               tree res_op1;
    6508            0 :                               res_op1 = captures[1];
    6509            0 :                               tree _r;
    6510            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6511            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6512            0 :                               return _r;
    6513              :                             }
    6514            0 : next_after_fail1539:;
    6515              :                           }
    6516              :                       }
    6517              :                     }
    6518              :                 }
    6519              :               break;
    6520              :             }
    6521           53 :           case NE_EXPR:
    6522           53 :             {
    6523           53 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6524           53 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6525           53 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6526              :                 {
    6527            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6528              :                     {
    6529            0 :                       {
    6530            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6531            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6532            0 :                         const enum tree_code cmp2 = NE_EXPR;
    6533            0 :                         const enum tree_code rcmp = GT_EXPR;
    6534            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6535            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6536            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6537            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6538              : )
    6539              :                           {
    6540            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1540;
    6541            0 :                             {
    6542            0 :                               tree res_op0;
    6543            0 :                               res_op0 = captures[0];
    6544            0 :                               tree res_op1;
    6545            0 :                               res_op1 = captures[1];
    6546            0 :                               tree _r;
    6547            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6548            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6549            0 :                               return _r;
    6550              :                             }
    6551            0 : next_after_fail1540:;
    6552              :                           }
    6553              :                       }
    6554              :                     }
    6555              :                 }
    6556              :               break;
    6557              :             }
    6558           32 :           case LT_EXPR:
    6559           32 :             {
    6560           32 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6561           32 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6562           32 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6563              :                 {
    6564            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6565              :                     {
    6566            0 :                       {
    6567            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6568            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6569            0 :                         const enum tree_code cmp2 = GT_EXPR;
    6570            0 :                         const enum tree_code rcmp = NE_EXPR;
    6571            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6572            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6573            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6574            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6575              : )
    6576              :                           {
    6577            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1541;
    6578            0 :                             {
    6579            0 :                               tree res_op0;
    6580            0 :                               res_op0 = captures[0];
    6581            0 :                               tree res_op1;
    6582            0 :                               res_op1 = captures[1];
    6583            0 :                               tree _r;
    6584            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6585            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6586            0 :                               return _r;
    6587              :                             }
    6588            0 : next_after_fail1541:;
    6589              :                           }
    6590              :                       }
    6591              :                     }
    6592              :                 }
    6593              :               break;
    6594              :             }
    6595              :           default:;
    6596              :           }
    6597              :         break;
    6598              :       }
    6599         6127 :     case GE_EXPR:
    6600         6127 :       {
    6601         6127 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6602         6127 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6603         6127 :         switch (TREE_CODE (_p1))
    6604              :           {
    6605           76 :           case GE_EXPR:
    6606           76 :             {
    6607           76 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6608           76 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6609           76 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6610              :                 {
    6611            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6612              :                     {
    6613            0 :                       {
    6614            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6615            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6616            0 :                         const enum tree_code cmp2 = GE_EXPR;
    6617            0 :                         const enum tree_code rcmp = NE_EXPR;
    6618            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6619            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6620            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6621            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6622              : )
    6623              :                           {
    6624            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1542;
    6625            0 :                             {
    6626            0 :                               tree res_op0;
    6627            0 :                               res_op0 = captures[0];
    6628            0 :                               tree res_op1;
    6629            0 :                               res_op1 = captures[1];
    6630            0 :                               tree _r;
    6631            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6632            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6633            0 :                               return _r;
    6634              :                             }
    6635            0 : next_after_fail1542:;
    6636              :                           }
    6637              :                       }
    6638            0 :                       {
    6639            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6640            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6641            0 :                         const enum tree_code cmp2 = GE_EXPR;
    6642            0 :                         const enum tree_code rcmp = NE_EXPR;
    6643            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6644            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6645            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6646            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6647              : )
    6648              :                           {
    6649            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1543;
    6650            0 :                             {
    6651            0 :                               tree res_op0;
    6652            0 :                               res_op0 = captures[0];
    6653            0 :                               tree res_op1;
    6654            0 :                               res_op1 = captures[1];
    6655            0 :                               tree _r;
    6656            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6657            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6658            0 :                               return _r;
    6659              :                             }
    6660            0 : next_after_fail1543:;
    6661              :                           }
    6662              :                       }
    6663              :                     }
    6664              :                 }
    6665              :               break;
    6666              :             }
    6667           52 :           case EQ_EXPR:
    6668           52 :             {
    6669           52 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6670           52 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6671           52 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6672              :                 {
    6673            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6674              :                     {
    6675            0 :                       {
    6676            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6677            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6678            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6679            0 :                         const enum tree_code rcmp = LT_EXPR;
    6680            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6681            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6682            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6683            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6684              : )
    6685              :                           {
    6686            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1544;
    6687            0 :                             {
    6688            0 :                               tree res_op0;
    6689            0 :                               res_op0 = captures[0];
    6690            0 :                               tree res_op1;
    6691            0 :                               res_op1 = captures[1];
    6692            0 :                               tree _r;
    6693            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6694            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6695            0 :                               return _r;
    6696              :                             }
    6697            0 : next_after_fail1544:;
    6698              :                           }
    6699              :                       }
    6700              :                     }
    6701              :                 }
    6702              :               break;
    6703              :             }
    6704           11 :           case NE_EXPR:
    6705           11 :             {
    6706           11 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6707           11 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6708           11 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6709              :                 {
    6710            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6711              :                     {
    6712            0 :                       {
    6713            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6714            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6715            0 :                         const enum tree_code cmp2 = NE_EXPR;
    6716            0 :                         const enum tree_code rcmp = GE_EXPR;
    6717            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6718            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6719            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6720            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6721              : )
    6722              :                           {
    6723            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1545;
    6724            0 :                             {
    6725            0 :                               tree res_op0;
    6726            0 :                               res_op0 = captures[0];
    6727            0 :                               tree res_op1;
    6728            0 :                               res_op1 = captures[1];
    6729            0 :                               tree _r;
    6730            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6731            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6732            0 :                               return _r;
    6733              :                             }
    6734            0 : next_after_fail1545:;
    6735              :                           }
    6736              :                       }
    6737              :                     }
    6738              :                 }
    6739              :               break;
    6740              :             }
    6741           16 :           case LE_EXPR:
    6742           16 :             {
    6743           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6744           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6745           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6746              :                 {
    6747            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6748              :                     {
    6749            0 :                       {
    6750            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6751            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6752            0 :                         const enum tree_code cmp2 = GE_EXPR;
    6753            0 :                         const enum tree_code rcmp = NE_EXPR;
    6754            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6755            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6756            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6757            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6758              : )
    6759              :                           {
    6760            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1546;
    6761            0 :                             {
    6762            0 :                               tree res_op0;
    6763            0 :                               res_op0 = captures[0];
    6764            0 :                               tree res_op1;
    6765            0 :                               res_op1 = captures[1];
    6766            0 :                               tree _r;
    6767            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6768            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6769            0 :                               return _r;
    6770              :                             }
    6771            0 : next_after_fail1546:;
    6772              :                           }
    6773              :                       }
    6774              :                     }
    6775              :                 }
    6776              :               break;
    6777              :             }
    6778              :           default:;
    6779              :           }
    6780              :         break;
    6781              :       }
    6782        63865 :     case EQ_EXPR:
    6783        63865 :       {
    6784        63865 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6785        63865 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6786        63865 :         switch (TREE_CODE (_p1))
    6787              :           {
    6788            5 :           case LT_EXPR:
    6789            5 :             {
    6790            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6791            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6792            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6793              :                 {
    6794            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6795              :                     {
    6796            0 :                       {
    6797            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6798            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6799            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6800            0 :                         const enum tree_code rcmp = LE_EXPR;
    6801            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6802            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6803            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6804            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6805              : )
    6806              :                           {
    6807            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1547;
    6808            0 :                             {
    6809            0 :                               tree res_op0;
    6810            0 :                               res_op0 = captures[0];
    6811            0 :                               tree res_op1;
    6812            0 :                               res_op1 = captures[1];
    6813            0 :                               tree _r;
    6814            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6815            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6816            0 :                               return _r;
    6817              :                             }
    6818            0 : next_after_fail1547:;
    6819              :                           }
    6820              :                       }
    6821              :                     }
    6822              :                 }
    6823              :               break;
    6824              :             }
    6825           42 :           case LE_EXPR:
    6826           42 :             {
    6827           42 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6828           42 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6829           42 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6830              :                 {
    6831            7 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6832              :                     {
    6833            0 :                       {
    6834            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6835            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6836            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6837            0 :                         const enum tree_code rcmp = LT_EXPR;
    6838            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6839            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6840            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6841            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6842              : )
    6843              :                           {
    6844            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1548;
    6845            0 :                             {
    6846            0 :                               tree res_op0;
    6847            0 :                               res_op0 = captures[0];
    6848            0 :                               tree res_op1;
    6849            0 :                               res_op1 = captures[1];
    6850            0 :                               tree _r;
    6851            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6852            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6853            0 :                               return _r;
    6854              :                             }
    6855            0 : next_after_fail1548:;
    6856              :                           }
    6857              :                       }
    6858              :                     }
    6859              :                 }
    6860              :               break;
    6861              :             }
    6862            7 :           case GT_EXPR:
    6863            7 :             {
    6864            7 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6865            7 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6866            7 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6867              :                 {
    6868            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6869              :                     {
    6870            0 :                       {
    6871            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6872            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6873            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6874            0 :                         const enum tree_code rcmp = LE_EXPR;
    6875            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6876            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6877            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6878            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6879              : )
    6880              :                           {
    6881            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1549;
    6882            0 :                             {
    6883            0 :                               tree res_op0;
    6884            0 :                               res_op0 = captures[0];
    6885            0 :                               tree res_op1;
    6886            0 :                               res_op1 = captures[1];
    6887            0 :                               tree _r;
    6888            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6889            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6890            0 :                               return _r;
    6891              :                             }
    6892            0 : next_after_fail1549:;
    6893              :                           }
    6894              :                       }
    6895              :                     }
    6896              :                 }
    6897              :               break;
    6898              :             }
    6899           14 :           case GE_EXPR:
    6900           14 :             {
    6901           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6902           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6903           14 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6904              :                 {
    6905            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6906              :                     {
    6907            0 :                       {
    6908            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6909            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6910            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6911            0 :                         const enum tree_code rcmp = LT_EXPR;
    6912            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6913            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6914            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6915            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6916              : )
    6917              :                           {
    6918            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1550;
    6919            0 :                             {
    6920            0 :                               tree res_op0;
    6921            0 :                               res_op0 = captures[0];
    6922            0 :                               tree res_op1;
    6923            0 :                               res_op1 = captures[1];
    6924            0 :                               tree _r;
    6925            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6926            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6927            0 :                               return _r;
    6928              :                             }
    6929            0 : next_after_fail1550:;
    6930              :                           }
    6931              :                       }
    6932              :                     }
    6933              :                 }
    6934              :               break;
    6935              :             }
    6936              :           default:;
    6937              :           }
    6938              :         break;
    6939              :       }
    6940        69294 :     case NE_EXPR:
    6941        69294 :       {
    6942        69294 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6943        69294 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6944        69294 :         switch (TREE_CODE (_p1))
    6945              :           {
    6946            7 :           case LT_EXPR:
    6947            7 :             {
    6948            7 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6949            7 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6950            7 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6951              :                 {
    6952            7 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6953              :                     {
    6954            0 :                       {
    6955            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6956            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6957            0 :                         const enum tree_code cmp2 = NE_EXPR;
    6958            0 :                         const enum tree_code rcmp = GT_EXPR;
    6959            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6960            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6961            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6962            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6963              : )
    6964              :                           {
    6965            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1551;
    6966            0 :                             {
    6967            0 :                               tree res_op0;
    6968            0 :                               res_op0 = captures[0];
    6969            0 :                               tree res_op1;
    6970            0 :                               res_op1 = captures[1];
    6971            0 :                               tree _r;
    6972            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6973            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    6974            0 :                               return _r;
    6975              :                             }
    6976            0 : next_after_fail1551:;
    6977              :                           }
    6978              :                       }
    6979              :                     }
    6980              :                 }
    6981              :               break;
    6982              :             }
    6983          302 :           case LE_EXPR:
    6984          302 :             {
    6985          302 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6986          302 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6987          302 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6988              :                 {
    6989            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6990              :                     {
    6991            0 :                       {
    6992            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6993            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6994            0 :                         const enum tree_code cmp2 = NE_EXPR;
    6995            0 :                         const enum tree_code rcmp = GE_EXPR;
    6996            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6997            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6998            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6999            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    7000              : )
    7001              :                           {
    7002            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1552;
    7003            0 :                             {
    7004            0 :                               tree res_op0;
    7005            0 :                               res_op0 = captures[0];
    7006            0 :                               tree res_op1;
    7007            0 :                               res_op1 = captures[1];
    7008            0 :                               tree _r;
    7009            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    7010            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    7011            0 :                               return _r;
    7012              :                             }
    7013            0 : next_after_fail1552:;
    7014              :                           }
    7015              :                       }
    7016              :                     }
    7017              :                 }
    7018              :               break;
    7019              :             }
    7020          323 :           case GT_EXPR:
    7021          323 :             {
    7022          323 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7023          323 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7024          323 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7025              :                 {
    7026            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7027              :                     {
    7028            0 :                       {
    7029            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7030            0 :                         const enum tree_code cmp1 = LT_EXPR;
    7031            0 :                         const enum tree_code cmp2 = NE_EXPR;
    7032            0 :                         const enum tree_code rcmp = GT_EXPR;
    7033            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    7034            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    7035            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    7036            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    7037              : )
    7038              :                           {
    7039            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1553;
    7040            0 :                             {
    7041            0 :                               tree res_op0;
    7042            0 :                               res_op0 = captures[0];
    7043            0 :                               tree res_op1;
    7044            0 :                               res_op1 = captures[1];
    7045            0 :                               tree _r;
    7046            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    7047            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    7048            0 :                               return _r;
    7049              :                             }
    7050            0 : next_after_fail1553:;
    7051              :                           }
    7052              :                       }
    7053              :                     }
    7054              :                 }
    7055              :               break;
    7056              :             }
    7057            2 :           case GE_EXPR:
    7058            2 :             {
    7059            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7060            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7061            2 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7062              :                 {
    7063            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7064              :                     {
    7065            0 :                       {
    7066            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7067            0 :                         const enum tree_code cmp1 = LE_EXPR;
    7068            0 :                         const enum tree_code cmp2 = NE_EXPR;
    7069            0 :                         const enum tree_code rcmp = GE_EXPR;
    7070            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    7071            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    7072            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    7073            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    7074              : )
    7075              :                           {
    7076            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1554;
    7077            0 :                             {
    7078            0 :                               tree res_op0;
    7079            0 :                               res_op0 = captures[0];
    7080            0 :                               tree res_op1;
    7081            0 :                               res_op1 = captures[1];
    7082            0 :                               tree _r;
    7083            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    7084            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    7085            0 :                               return _r;
    7086              :                             }
    7087            0 : next_after_fail1554:;
    7088              :                           }
    7089              :                       }
    7090              :                     }
    7091              :                 }
    7092              :               break;
    7093              :             }
    7094              :           default:;
    7095              :           }
    7096              :         break;
    7097              :       }
    7098         8267 :     case MIN_EXPR:
    7099         8267 :       {
    7100         8267 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7101         8267 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7102         8267 :         switch (TREE_CODE (_p1))
    7103              :           {
    7104            0 :           case MAX_EXPR:
    7105            0 :             {
    7106            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7107            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7108            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7109              :                 {
    7110            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7111              :                     {
    7112            0 :                       {
    7113            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7114            0 :                         if (!HONOR_NANS (captures[0])
    7115              : )
    7116              :                           {
    7117            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1555;
    7118            0 :                             {
    7119            0 :                               tree res_op0;
    7120            0 :                               res_op0 = captures[0];
    7121            0 :                               tree res_op1;
    7122            0 :                               res_op1 = captures[1];
    7123            0 :                               tree _r;
    7124            0 :                               _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    7125            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    7126            0 :                               return _r;
    7127              :                             }
    7128            0 : next_after_fail1555:;
    7129              :                           }
    7130              :                       }
    7131              :                     }
    7132              :                 }
    7133            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7134              :                 {
    7135            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7136              :                     {
    7137            0 :                       {
    7138            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7139            0 :                         if (!HONOR_NANS (captures[0])
    7140              : )
    7141              :                           {
    7142            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1556;
    7143            0 :                             {
    7144            0 :                               tree res_op0;
    7145            0 :                               res_op0 = captures[0];
    7146            0 :                               tree res_op1;
    7147            0 :                               res_op1 = captures[1];
    7148            0 :                               tree _r;
    7149            0 :                               _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    7150            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    7151            0 :                               return _r;
    7152              :                             }
    7153            0 : next_after_fail1556:;
    7154              :                           }
    7155              :                       }
    7156              :                     }
    7157              :                 }
    7158              :               break;
    7159              :             }
    7160         8267 :           default:;
    7161              :           }
    7162         8267 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7163              :           {
    7164            0 :             {
    7165            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7166            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MIN_EXPR, NE_EXPR, GT_EXPR);
    7167            0 :               if (res) return res;
    7168              :             }
    7169              :           }
    7170         8267 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7171              :           {
    7172          616 :             {
    7173          616 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7174          616 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MIN_EXPR, NE_EXPR, GT_EXPR);
    7175          616 :               if (res) return res;
    7176              :             }
    7177              :           }
    7178              :         break;
    7179              :       }
    7180         7840 :     case MAX_EXPR:
    7181         7840 :       {
    7182         7840 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7183         7840 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7184         7840 :         switch (TREE_CODE (_p1))
    7185              :           {
    7186            0 :           case MIN_EXPR:
    7187            0 :             {
    7188            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7189            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7190            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7191              :                 {
    7192            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7193              :                     {
    7194            0 :                       {
    7195            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7196            0 :                         if (!HONOR_NANS (captures[0])
    7197              : )
    7198              :                           {
    7199            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1557;
    7200            0 :                             {
    7201            0 :                               tree res_op0;
    7202            0 :                               res_op0 = captures[0];
    7203            0 :                               tree res_op1;
    7204            0 :                               res_op1 = captures[1];
    7205            0 :                               tree _r;
    7206            0 :                               _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    7207            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    7208            0 :                               return _r;
    7209              :                             }
    7210            0 : next_after_fail1557:;
    7211              :                           }
    7212              :                       }
    7213              :                     }
    7214              :                 }
    7215            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7216              :                 {
    7217            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7218              :                     {
    7219            0 :                       {
    7220            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7221            0 :                         if (!HONOR_NANS (captures[0])
    7222              : )
    7223              :                           {
    7224            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1558;
    7225            0 :                             {
    7226            0 :                               tree res_op0;
    7227            0 :                               res_op0 = captures[0];
    7228            0 :                               tree res_op1;
    7229            0 :                               res_op1 = captures[1];
    7230            0 :                               tree _r;
    7231            0 :                               _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    7232            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    7233            0 :                               return _r;
    7234              :                             }
    7235            0 : next_after_fail1558:;
    7236              :                           }
    7237              :                       }
    7238              :                     }
    7239              :                 }
    7240              :               break;
    7241              :             }
    7242         7840 :           default:;
    7243              :           }
    7244         7840 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7245              :           {
    7246            0 :             {
    7247            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7248            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MAX_EXPR, NE_EXPR, LT_EXPR);
    7249            0 :               if (res) return res;
    7250              :             }
    7251              :           }
    7252         7840 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7253              :           {
    7254          425 :             {
    7255          425 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7256          425 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MAX_EXPR, NE_EXPR, LT_EXPR);
    7257          425 :               if (res) return res;
    7258              :             }
    7259              :           }
    7260              :         break;
    7261              :       }
    7262     37211797 :     default:;
    7263              :     }
    7264     37211797 : if (tree_with_possible_nonzero_bits (_p0))
    7265              :   {
    7266     15413172 :     if (tree_with_known_nonzero_bits (_p1))
    7267              :       {
    7268     13970640 :         {
    7269     13970640 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    7270     13970640 :           tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, NE_EXPR);
    7271     13970640 :           if (res) return res;
    7272              :         }
    7273              :       }
    7274              :   }
    7275     37154855 : if (tree_with_known_nonzero_bits (_p0))
    7276              :   {
    7277     11350952 :     if (tree_with_possible_nonzero_bits (_p1))
    7278              :       {
    7279     11300673 :         {
    7280     11300673 :           tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
    7281     11300673 :           tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, NE_EXPR);
    7282     11300673 :           if (res) return res;
    7283              :         }
    7284              :       }
    7285              :   }
    7286     37153469 :   switch (TREE_CODE (_p1))
    7287              :     {
    7288          144 :     case MIN_EXPR:
    7289          144 :       {
    7290          144 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7291          144 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7292          144 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7293              :           {
    7294            0 :             {
    7295            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7296            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MIN_EXPR, NE_EXPR, GT_EXPR);
    7297            0 :               if (res) return res;
    7298              :             }
    7299              :           }
    7300          144 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7301              :           {
    7302            0 :             {
    7303            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7304            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MIN_EXPR, NE_EXPR, GT_EXPR);
    7305            0 :               if (res) return res;
    7306              :             }
    7307              :           }
    7308              :         break;
    7309              :       }
    7310         1632 :     case MAX_EXPR:
    7311         1632 :       {
    7312         1632 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7313         1632 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7314         1632 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7315              :           {
    7316            0 :             {
    7317            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7318            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MAX_EXPR, NE_EXPR, LT_EXPR);
    7319            0 :               if (res) return res;
    7320              :             }
    7321              :           }
    7322         1632 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7323              :           {
    7324            0 :             {
    7325            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7326            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MAX_EXPR, NE_EXPR, LT_EXPR);
    7327            0 :               if (res) return res;
    7328              :             }
    7329              :           }
    7330              :         break;
    7331              :       }
    7332     37153469 :     default:;
    7333              :     }
    7334     37153469 :   switch (TREE_CODE (_p0))
    7335              :     {
    7336         8267 :     case MIN_EXPR:
    7337         8267 :       {
    7338         8267 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7339         8267 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7340         8267 :         switch (TREE_CODE (_q21))
    7341              :           {
    7342          674 :           case INTEGER_CST:
    7343          674 :             {
    7344          674 :               switch (TREE_CODE (_p1))
    7345              :                 {
    7346            0 :                 case INTEGER_CST:
    7347            0 :                   {
    7348            0 :                     {
    7349            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7350            0 :                       tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, NE_EXPR);
    7351            0 :                       if (res) return res;
    7352              :                     }
    7353            0 :                     break;
    7354              :                   }
    7355              :                 default:;
    7356              :                 }
    7357              :               break;
    7358              :             }
    7359              :           default:;
    7360              :           }
    7361              :         break;
    7362              :       }
    7363         7711 :     case MAX_EXPR:
    7364         7711 :       {
    7365         7711 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7366         7711 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7367         7711 :         switch (TREE_CODE (_q21))
    7368              :           {
    7369         6658 :           case INTEGER_CST:
    7370         6658 :             {
    7371         6658 :               switch (TREE_CODE (_p1))
    7372              :                 {
    7373          684 :                 case INTEGER_CST:
    7374          684 :                   {
    7375          684 :                     {
    7376          684 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7377          684 :                       tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, NE_EXPR);
    7378          684 :                       if (res) return res;
    7379              :                     }
    7380            0 :                     break;
    7381              :                   }
    7382              :                 default:;
    7383              :                 }
    7384              :               break;
    7385              :             }
    7386         7027 :           default:;
    7387              :           }
    7388         7027 :         if (integer_zerop (_p1))
    7389              :           {
    7390           34 :             {
    7391           34 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7392           34 :               tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, NE_EXPR);
    7393           34 :               if (res) return res;
    7394              :             }
    7395              :           }
    7396              :         break;
    7397              :       }
    7398      1261508 :     case BIT_AND_EXPR:
    7399      1261508 :       {
    7400      1261508 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7401      1261508 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7402      1261508 :         switch (TREE_CODE (_q20))
    7403              :           {
    7404         3607 :           case LSHIFT_EXPR:
    7405         3607 :             {
    7406         3607 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7407         3607 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7408         3607 :               if (integer_pow2p (_q30))
    7409              :                 {
    7410         3587 :                   if (integer_pow2p (_q21))
    7411              :                     {
    7412            5 :                       if (integer_zerop (_p1))
    7413              :                         {
    7414            5 :                           {
    7415            5 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    7416            5 :                             tree res = generic_simplify_236 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
    7417            5 :                             if (res) return res;
    7418              :                           }
    7419              :                         }
    7420              :                     }
    7421              :                 }
    7422         3602 :               switch (TREE_CODE (_q31))
    7423              :                 {
    7424           13 :                 case INTEGER_CST:
    7425           13 :                   {
    7426           13 :                     switch (TREE_CODE (_q21))
    7427              :                       {
    7428           13 :                       case INTEGER_CST:
    7429           13 :                         {
    7430           13 :                           switch (TREE_CODE (_p1))
    7431              :                             {
    7432           13 :                             case INTEGER_CST:
    7433           13 :                               {
    7434           13 :                                 {
    7435           13 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    7436           13 :                                   tree res = generic_simplify_237 (loc, type, _p0, _p1, captures, NE_EXPR);
    7437           13 :                                   if (res) return res;
    7438              :                                 }
    7439            0 :                                 break;
    7440              :                               }
    7441              :                             default:;
    7442              :                             }
    7443              :                           break;
    7444              :                         }
    7445              :                       default:;
    7446              :                       }
    7447              :                     break;
    7448              :                   }
    7449         3589 :                 default:;
    7450              :                 }
    7451         3589 :               if (integer_onep (_q30))
    7452              :                 {
    7453         3581 :                   if (integer_pow2p (_q21))
    7454              :                     {
    7455            0 :                       if (integer_zerop (_p1))
    7456              :                         {
    7457            0 :                           {
    7458            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q21 };
    7459            0 :                             tree res = generic_simplify_238 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
    7460            0 :                             if (res) return res;
    7461              :                           }
    7462              :                         }
    7463              :                     }
    7464              :                 }
    7465              :               break;
    7466              :             }
    7467         4796 :           case RSHIFT_EXPR:
    7468         4796 :             {
    7469         4796 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7470         4796 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7471         4796 :               if (integer_pow2p (_q30))
    7472              :                 {
    7473           33 :                   if (integer_pow2p (_q21))
    7474              :                     {
    7475            1 :                       if (integer_zerop (_p1))
    7476              :                         {
    7477            1 :                           {
    7478            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    7479            1 :                             tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
    7480            1 :                             if (res) return res;
    7481              :                           }
    7482              :                         }
    7483              :                     }
    7484              :                 }
    7485         4795 :               switch (TREE_CODE (_q31))
    7486              :                 {
    7487          329 :                 case INTEGER_CST:
    7488          329 :                   {
    7489          329 :                     switch (TREE_CODE (_q21))
    7490              :                       {
    7491          305 :                       case INTEGER_CST:
    7492          305 :                         {
    7493          305 :                           switch (TREE_CODE (_p1))
    7494              :                             {
    7495          280 :                             case INTEGER_CST:
    7496          280 :                               {
    7497          280 :                                 {
    7498          280 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    7499          280 :                                   tree res = generic_simplify_240 (loc, type, _p0, _p1, captures, NE_EXPR);
    7500          280 :                                   if (res) return res;
    7501              :                                 }
    7502           14 :                                 break;
    7503              :                               }
    7504              :                             default:;
    7505              :                             }
    7506              :                           break;
    7507              :                         }
    7508              :                       default:;
    7509              :                       }
    7510              :                     break;
    7511              :                   }
    7512              :                 default:;
    7513              :                 }
    7514              :               break;
    7515              :             }
    7516      1261223 :           default:;
    7517              :           }
    7518      1261223 :       {
    7519      1261223 :         tree _q20_pops[1];
    7520      1261223 :         if (tree_nop_convert (_q20, _q20_pops))
    7521              :           {
    7522       137519 :             tree _q30 = _q20_pops[0];
    7523       137519 :             switch (TREE_CODE (_q30))
    7524              :               {
    7525        37188 :               case LSHIFT_EXPR:
    7526        37188 :                 {
    7527        37188 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    7528        37188 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    7529        37188 :                   if (integer_onep (_q40))
    7530              :                     {
    7531        37188 :                       if (integer_pow2p (_q21))
    7532              :                         {
    7533            0 :                           if (integer_zerop (_p1))
    7534              :                             {
    7535            0 :                               {
    7536            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q41, _q21 };
    7537            0 :                                 tree res = generic_simplify_238 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
    7538            0 :                                 if (res) return res;
    7539              :                               }
    7540              :                             }
    7541              :                         }
    7542              :                     }
    7543              :                   break;
    7544              :                 }
    7545              :               default:;
    7546              :               }
    7547              :           }
    7548              :       }
    7549      1261223 :         break;
    7550              :       }
    7551         5134 :     case LSHIFT_EXPR:
    7552         5134 :       {
    7553         5134 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7554         5134 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7555         5134 :         switch (TREE_CODE (_q20))
    7556              :           {
    7557          536 :           case INTEGER_CST:
    7558          536 :             {
    7559          536 :               switch (TREE_CODE (_p1))
    7560              :                 {
    7561          159 :                 case INTEGER_CST:
    7562          159 :                   {
    7563          159 :                     {
    7564          159 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7565          159 :                       tree res = generic_simplify_241 (loc, type, _p0, _p1, captures, NE_EXPR);
    7566          159 :                       if (res) return res;
    7567              :                     }
    7568           88 :                     break;
    7569              :                   }
    7570              :                 default:;
    7571              :                 }
    7572              :               break;
    7573              :             }
    7574              :           default:;
    7575              :           }
    7576              :         break;
    7577              :       }
    7578          393 :     case LROTATE_EXPR:
    7579          393 :       {
    7580          393 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7581          393 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7582          393 :         switch (TREE_CODE (_p1))
    7583              :           {
    7584            0 :           case LROTATE_EXPR:
    7585            0 :             {
    7586            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7587            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7588            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7589              :                 {
    7590            0 :                   {
    7591            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7592            0 :                     tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, NE_EXPR);
    7593            0 :                     if (res) return res;
    7594              :                   }
    7595              :                 }
    7596              :               break;
    7597              :             }
    7598          393 :           default:;
    7599              :           }
    7600          393 :         switch (TREE_CODE (_q21))
    7601              :           {
    7602          112 :           case INTEGER_CST:
    7603          112 :             {
    7604          112 :               switch (TREE_CODE (_p1))
    7605              :                 {
    7606          112 :                 case INTEGER_CST:
    7607          112 :                   {
    7608          112 :                     {
    7609          112 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7610          112 :                       tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, NE_EXPR);
    7611          112 :                       if (res) return res;
    7612              :                     }
    7613            0 :                     break;
    7614              :                   }
    7615              :                 default:;
    7616              :                 }
    7617              :               break;
    7618              :             }
    7619          281 :           default:;
    7620              :           }
    7621          281 :         switch (TREE_CODE (_p1))
    7622              :           {
    7623          193 :           case INTEGER_CST:
    7624          193 :             {
    7625          193 :               {
    7626          193 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7627          193 :                 tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, NE_EXPR);
    7628          193 :                 if (res) return res;
    7629              :               }
    7630          193 :               break;
    7631              :             }
    7632              :           default:;
    7633              :           }
    7634              :         break;
    7635              :       }
    7636          439 :     case RROTATE_EXPR:
    7637          439 :       {
    7638          439 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7639          439 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7640          439 :         switch (TREE_CODE (_p1))
    7641              :           {
    7642            0 :           case RROTATE_EXPR:
    7643            0 :             {
    7644            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7645            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7646            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7647              :                 {
    7648            0 :                   {
    7649            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7650            0 :                     tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, NE_EXPR);
    7651            0 :                     if (res) return res;
    7652              :                   }
    7653              :                 }
    7654              :               break;
    7655              :             }
    7656          439 :           default:;
    7657              :           }
    7658          439 :         switch (TREE_CODE (_q21))
    7659              :           {
    7660          233 :           case INTEGER_CST:
    7661          233 :             {
    7662          233 :               switch (TREE_CODE (_p1))
    7663              :                 {
    7664           12 :                 case INTEGER_CST:
    7665           12 :                   {
    7666           12 :                     {
    7667           12 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7668           12 :                       tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, NE_EXPR);
    7669           12 :                       if (res) return res;
    7670              :                     }
    7671            0 :                     break;
    7672              :                   }
    7673              :                 default:;
    7674              :                 }
    7675              :               break;
    7676              :             }
    7677          427 :           default:;
    7678              :           }
    7679          427 :         switch (TREE_CODE (_p1))
    7680              :           {
    7681          190 :           case INTEGER_CST:
    7682          190 :             {
    7683          190 :               {
    7684          190 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7685          190 :                 tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, NE_EXPR);
    7686          190 :                 if (res) return res;
    7687              :               }
    7688          190 :               break;
    7689              :             }
    7690              :           default:;
    7691              :           }
    7692              :         break;
    7693              :       }
    7694          268 :     case VEC_COND_EXPR:
    7695          268 :       {
    7696          268 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7697          268 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7698          268 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7699          268 :         switch (TREE_CODE (_p1))
    7700              :           {
    7701            8 :           case VEC_COND_EXPR:
    7702            8 :             {
    7703            8 :               tree _q60 = TREE_OPERAND (_p1, 0);
    7704            8 :               tree _q61 = TREE_OPERAND (_p1, 1);
    7705            8 :               tree _q62 = TREE_OPERAND (_p1, 2);
    7706            8 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7707              :                 {
    7708            0 :                   {
    7709            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    7710            0 :                     if (VECTOR_TYPE_P (type)
    7711            0 :  && (TREE_CODE_CLASS (NE_EXPR) != tcc_comparison
    7712            0 :  || types_match (type, TREE_TYPE (captures[2]))
    7713            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7714              :  || (optimize_vectors_before_lowering_p ()
    7715            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7716              : )
    7717              :                       {
    7718            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1559;
    7719            0 :                         {
    7720            0 :                           tree res_op0;
    7721            0 :                           res_op0 = captures[1];
    7722            0 :                           tree res_op1;
    7723            0 :                           {
    7724            0 :                             tree _o1[2], _r1;
    7725            0 :                             _o1[0] = captures[2];
    7726            0 :                             _o1[1] = captures[5];
    7727            0 :                             _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    7728            0 :                             if (EXPR_P (_r1))
    7729            0 :                               goto next_after_fail1559;
    7730            0 :                             res_op1 = _r1;
    7731              :                           }
    7732            0 :                           tree res_op2;
    7733            0 :                           {
    7734            0 :                             tree _o1[2], _r1;
    7735            0 :                             _o1[0] = captures[3];
    7736            0 :                             _o1[1] = captures[6];
    7737            0 :                             _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    7738            0 :                             if (EXPR_P (_r1))
    7739            0 :                               goto next_after_fail1559;
    7740            0 :                             res_op2 = _r1;
    7741              :                           }
    7742            0 :                           tree _r;
    7743            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7744            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    7745            0 :                           return _r;
    7746              :                         }
    7747            0 : next_after_fail1559:;
    7748              :                       }
    7749              :                   }
    7750              :                 }
    7751              :               break;
    7752              :             }
    7753          268 :           default:;
    7754              :           }
    7755          268 :         {
    7756          268 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    7757          268 :           if (VECTOR_TYPE_P (type)
    7758          268 :  && (TREE_CODE_CLASS (NE_EXPR) != tcc_comparison
    7759          266 :  || types_match (type, TREE_TYPE (captures[2]))
    7760          266 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7761              :  || (optimize_vectors_before_lowering_p ()
    7762           27 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7763              : )
    7764              :             {
    7765          266 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1560;
    7766          266 :               {
    7767          266 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1560;
    7768           80 :                 tree res_op0;
    7769           80 :                 res_op0 = captures[1];
    7770           80 :                 tree res_op1;
    7771           80 :                 {
    7772           80 :                   tree _o1[2], _r1;
    7773           80 :                   _o1[0] = captures[2];
    7774           80 :                   _o1[1] = unshare_expr (captures[4]);
    7775           80 :                   _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    7776           80 :                   if (EXPR_P (_r1))
    7777            8 :                     goto next_after_fail1560;
    7778           72 :                   res_op1 = _r1;
    7779              :                 }
    7780           72 :                 tree res_op2;
    7781           72 :                 {
    7782           72 :                   tree _o1[2], _r1;
    7783           72 :                   _o1[0] = captures[3];
    7784           72 :                   _o1[1] = captures[4];
    7785           72 :                   _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    7786           72 :                   if (EXPR_P (_r1))
    7787            0 :                     goto next_after_fail1560;
    7788           72 :                   res_op2 = _r1;
    7789              :                 }
    7790           72 :                 tree _r;
    7791           72 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7792           72 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    7793           72 :                 return _r;
    7794              :               }
    7795          196 : next_after_fail1560:;
    7796              :             }
    7797              :         }
    7798          196 :         break;
    7799              :       }
    7800      2345978 :     case CALL_EXPR:
    7801      2345978 :       switch (get_call_combined_fn (_p0))
    7802              :         {
    7803            0 :         case CFN_BUILT_IN_BITREVERSE128:
    7804            0 :           if (call_expr_nargs (_p0) == 1)
    7805              :     {
    7806            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7807            0 :               switch (TREE_CODE (_p1))
    7808              :                 {
    7809            0 :                 case INTEGER_CST:
    7810            0 :                   {
    7811            0 :                     {
    7812            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7813            0 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE128);
    7814            0 :                       if (res) return res;
    7815              :                     }
    7816            0 :                     break;
    7817              :                   }
    7818            0 :                 case CALL_EXPR:
    7819            0 :                   switch (get_call_combined_fn (_p1))
    7820              :                     {
    7821            0 :                     case CFN_BUILT_IN_BITREVERSE128:
    7822            0 :                       if (call_expr_nargs (_p1) == 1)
    7823              :     {
    7824            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7825            0 :                           {
    7826            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7827            0 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE128);
    7828            0 :                             if (res) return res;
    7829              :                           }
    7830              :                         }
    7831              :                       break;
    7832              :                     default:;
    7833              :                     }
    7834              :                   break;
    7835              :                 default:;
    7836              :                 }
    7837              :             }
    7838              :           break;
    7839            0 :         case CFN_BUILT_IN_BITREVERSE16:
    7840            0 :           if (call_expr_nargs (_p0) == 1)
    7841              :     {
    7842            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7843            0 :               switch (TREE_CODE (_p1))
    7844              :                 {
    7845            0 :                 case INTEGER_CST:
    7846            0 :                   {
    7847            0 :                     {
    7848            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7849            0 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE16);
    7850            0 :                       if (res) return res;
    7851              :                     }
    7852            0 :                     break;
    7853              :                   }
    7854            0 :                 case CALL_EXPR:
    7855            0 :                   switch (get_call_combined_fn (_p1))
    7856              :                     {
    7857            0 :                     case CFN_BUILT_IN_BITREVERSE16:
    7858            0 :                       if (call_expr_nargs (_p1) == 1)
    7859              :     {
    7860            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7861            0 :                           {
    7862            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7863            0 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE16);
    7864            0 :                             if (res) return res;
    7865              :                           }
    7866              :                         }
    7867              :                       break;
    7868              :                     default:;
    7869              :                     }
    7870              :                   break;
    7871              :                 default:;
    7872              :                 }
    7873              :             }
    7874              :           break;
    7875            0 :         case CFN_BUILT_IN_BITREVERSE32:
    7876            0 :           if (call_expr_nargs (_p0) == 1)
    7877              :     {
    7878            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7879            0 :               switch (TREE_CODE (_p1))
    7880              :                 {
    7881            0 :                 case INTEGER_CST:
    7882            0 :                   {
    7883            0 :                     {
    7884            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7885            0 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE32);
    7886            0 :                       if (res) return res;
    7887              :                     }
    7888            0 :                     break;
    7889              :                   }
    7890            0 :                 case CALL_EXPR:
    7891            0 :                   switch (get_call_combined_fn (_p1))
    7892              :                     {
    7893            0 :                     case CFN_BUILT_IN_BITREVERSE32:
    7894            0 :                       if (call_expr_nargs (_p1) == 1)
    7895              :     {
    7896            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7897            0 :                           {
    7898            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7899            0 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE32);
    7900            0 :                             if (res) return res;
    7901              :                           }
    7902              :                         }
    7903              :                       break;
    7904              :                     default:;
    7905              :                     }
    7906              :                   break;
    7907              :                 default:;
    7908              :                 }
    7909              :             }
    7910              :           break;
    7911            0 :         case CFN_BUILT_IN_BITREVERSE64:
    7912            0 :           if (call_expr_nargs (_p0) == 1)
    7913              :     {
    7914            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7915            0 :               switch (TREE_CODE (_p1))
    7916              :                 {
    7917            0 :                 case INTEGER_CST:
    7918            0 :                   {
    7919            0 :                     {
    7920            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7921            0 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE64);
    7922            0 :                       if (res) return res;
    7923              :                     }
    7924            0 :                     break;
    7925              :                   }
    7926            0 :                 case CALL_EXPR:
    7927            0 :                   switch (get_call_combined_fn (_p1))
    7928              :                     {
    7929            0 :                     case CFN_BUILT_IN_BITREVERSE64:
    7930            0 :                       if (call_expr_nargs (_p1) == 1)
    7931              :     {
    7932            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7933            0 :                           {
    7934            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7935            0 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE64);
    7936            0 :                             if (res) return res;
    7937              :                           }
    7938              :                         }
    7939              :                       break;
    7940              :                     default:;
    7941              :                     }
    7942              :                   break;
    7943              :                 default:;
    7944              :                 }
    7945              :             }
    7946              :           break;
    7947            0 :         case CFN_BITREVERSE:
    7948            0 :           if (call_expr_nargs (_p0) == 1)
    7949              :     {
    7950            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7951            0 :               switch (TREE_CODE (_p1))
    7952              :                 {
    7953            0 :                 case INTEGER_CST:
    7954            0 :                   {
    7955            0 :                     {
    7956            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7957            0 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BITREVERSE);
    7958            0 :                       if (res) return res;
    7959              :                     }
    7960            0 :                     break;
    7961              :                   }
    7962            0 :                 case CALL_EXPR:
    7963            0 :                   switch (get_call_combined_fn (_p1))
    7964              :                     {
    7965            0 :                     case CFN_BITREVERSE:
    7966            0 :                       if (call_expr_nargs (_p1) == 1)
    7967              :     {
    7968            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7969            0 :                           {
    7970            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7971            0 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BITREVERSE);
    7972            0 :                             if (res) return res;
    7973              :                           }
    7974              :                         }
    7975              :                       break;
    7976              :                     default:;
    7977              :                     }
    7978              :                   break;
    7979              :                 default:;
    7980              :                 }
    7981              :             }
    7982              :           break;
    7983            0 :         case CFN_BSWAP:
    7984            0 :           if (call_expr_nargs (_p0) == 1)
    7985              :     {
    7986            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7987            0 :               switch (TREE_CODE (_p1))
    7988              :                 {
    7989            0 :                 case INTEGER_CST:
    7990            0 :                   {
    7991            0 :                     {
    7992            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7993            0 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BSWAP);
    7994            0 :                       if (res) return res;
    7995              :                     }
    7996            0 :                     break;
    7997              :                   }
    7998            0 :                 case CALL_EXPR:
    7999            0 :                   switch (get_call_combined_fn (_p1))
    8000              :                     {
    8001            0 :                     case CFN_BSWAP:
    8002            0 :                       if (call_expr_nargs (_p1) == 1)
    8003              :     {
    8004            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8005            0 :                           {
    8006            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8007            0 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BSWAP);
    8008            0 :                             if (res) return res;
    8009              :                           }
    8010              :                         }
    8011              :                       break;
    8012              :                     default:;
    8013              :                     }
    8014              :                   break;
    8015              :                 default:;
    8016              :                 }
    8017              :             }
    8018              :           break;
    8019            2 :         case CFN_BUILT_IN_BSWAP128:
    8020            2 :           if (call_expr_nargs (_p0) == 1)
    8021              :     {
    8022            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8023            2 :               switch (TREE_CODE (_p1))
    8024              :                 {
    8025            0 :                 case INTEGER_CST:
    8026            0 :                   {
    8027            0 :                     {
    8028            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8029            0 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP128);
    8030            0 :                       if (res) return res;
    8031              :                     }
    8032            0 :                     break;
    8033              :                   }
    8034            1 :                 case CALL_EXPR:
    8035            1 :                   switch (get_call_combined_fn (_p1))
    8036              :                     {
    8037            0 :                     case CFN_BUILT_IN_BSWAP128:
    8038            0 :                       if (call_expr_nargs (_p1) == 1)
    8039              :     {
    8040            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8041            0 :                           {
    8042            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8043            0 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP128);
    8044            0 :                             if (res) return res;
    8045              :                           }
    8046              :                         }
    8047              :                       break;
    8048              :                     default:;
    8049              :                     }
    8050              :                   break;
    8051              :                 default:;
    8052              :                 }
    8053              :             }
    8054              :           break;
    8055            0 :         case CFN_BUILT_IN_BITREVERSE8:
    8056            0 :           if (call_expr_nargs (_p0) == 1)
    8057              :     {
    8058            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8059            0 :               switch (TREE_CODE (_p1))
    8060              :                 {
    8061            0 :                 case INTEGER_CST:
    8062            0 :                   {
    8063            0 :                     {
    8064            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8065            0 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE8);
    8066            0 :                       if (res) return res;
    8067              :                     }
    8068            0 :                     break;
    8069              :                   }
    8070            0 :                 case CALL_EXPR:
    8071            0 :                   switch (get_call_combined_fn (_p1))
    8072              :                     {
    8073            0 :                     case CFN_BUILT_IN_BITREVERSE8:
    8074            0 :                       if (call_expr_nargs (_p1) == 1)
    8075              :     {
    8076            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8077            0 :                           {
    8078            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8079            0 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE8);
    8080            0 :                             if (res) return res;
    8081              :                           }
    8082              :                         }
    8083              :                       break;
    8084              :                     default:;
    8085              :                     }
    8086              :                   break;
    8087              :                 default:;
    8088              :                 }
    8089              :             }
    8090              :           break;
    8091           11 :         case CFN_BUILT_IN_BSWAP16:
    8092           11 :           if (call_expr_nargs (_p0) == 1)
    8093              :     {
    8094           11 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8095           11 :               switch (TREE_CODE (_p1))
    8096              :                 {
    8097            9 :                 case INTEGER_CST:
    8098            9 :                   {
    8099            9 :                     {
    8100            9 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8101            9 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP16);
    8102            9 :                       if (res) return res;
    8103              :                     }
    8104            9 :                     break;
    8105              :                   }
    8106            1 :                 case CALL_EXPR:
    8107            1 :                   switch (get_call_combined_fn (_p1))
    8108              :                     {
    8109            1 :                     case CFN_BUILT_IN_BSWAP16:
    8110            1 :                       if (call_expr_nargs (_p1) == 1)
    8111              :     {
    8112            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8113            1 :                           {
    8114            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8115            1 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP16);
    8116            1 :                             if (res) return res;
    8117              :                           }
    8118              :                         }
    8119              :                       break;
    8120              :                     default:;
    8121              :                     }
    8122              :                   break;
    8123              :                 default:;
    8124              :                 }
    8125              :             }
    8126              :           break;
    8127            7 :         case CFN_BUILT_IN_BSWAP32:
    8128            7 :           if (call_expr_nargs (_p0) == 1)
    8129              :     {
    8130            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8131            7 :               switch (TREE_CODE (_p1))
    8132              :                 {
    8133            3 :                 case INTEGER_CST:
    8134            3 :                   {
    8135            3 :                     {
    8136            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8137            3 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP32);
    8138            3 :                       if (res) return res;
    8139              :                     }
    8140            3 :                     break;
    8141              :                   }
    8142            3 :                 case CALL_EXPR:
    8143            3 :                   switch (get_call_combined_fn (_p1))
    8144              :                     {
    8145            3 :                     case CFN_BUILT_IN_BSWAP32:
    8146            3 :                       if (call_expr_nargs (_p1) == 1)
    8147              :     {
    8148            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8149            3 :                           {
    8150            3 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8151            3 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP32);
    8152            3 :                             if (res) return res;
    8153              :                           }
    8154              :                         }
    8155              :                       break;
    8156              :                     default:;
    8157              :                     }
    8158              :                   break;
    8159              :                 default:;
    8160              :                 }
    8161              :             }
    8162              :           break;
    8163            7 :         case CFN_BUILT_IN_BSWAP64:
    8164            7 :           if (call_expr_nargs (_p0) == 1)
    8165              :     {
    8166            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8167            7 :               switch (TREE_CODE (_p1))
    8168              :                 {
    8169            3 :                 case INTEGER_CST:
    8170            3 :                   {
    8171            3 :                     {
    8172            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8173            3 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP64);
    8174            3 :                       if (res) return res;
    8175              :                     }
    8176            3 :                     break;
    8177              :                   }
    8178            3 :                 case CALL_EXPR:
    8179            3 :                   switch (get_call_combined_fn (_p1))
    8180              :                     {
    8181            3 :                     case CFN_BUILT_IN_BSWAP64:
    8182            3 :                       if (call_expr_nargs (_p1) == 1)
    8183              :     {
    8184            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8185            3 :                           {
    8186            3 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8187            3 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP64);
    8188            3 :                             if (res) return res;
    8189              :                           }
    8190              :                         }
    8191              :                       break;
    8192              :                     default:;
    8193              :                     }
    8194              :                   break;
    8195              :                 default:;
    8196              :                 }
    8197              :             }
    8198              :           break;
    8199              :         default:;
    8200              :         }
    8201              :       break;
    8202     37152226 :     default:;
    8203              :     }
    8204     37152226 :   switch (TREE_CODE (_p1))
    8205              :     {
    8206           24 :     case VEC_COND_EXPR:
    8207           24 :       {
    8208           24 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8209           24 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8210           24 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8211           24 :         {
    8212           24 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8213           24 :           if (VECTOR_TYPE_P (type)
    8214           24 :  && (TREE_CODE_CLASS (NE_EXPR) != tcc_comparison
    8215           24 :  || types_match (type, TREE_TYPE (captures[3]))
    8216           24 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8217              :  || (optimize_vectors_before_lowering_p ()
    8218            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8219              : )
    8220              :             {
    8221           24 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1561;
    8222           24 :               {
    8223           24 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1561;
    8224            0 :                 tree res_op0;
    8225            0 :                 res_op0 = captures[2];
    8226            0 :                 tree res_op1;
    8227            0 :                 {
    8228            0 :                   tree _o1[2], _r1;
    8229            0 :                   _o1[0] = unshare_expr (captures[0]);
    8230            0 :                   _o1[1] = captures[3];
    8231            0 :                   _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    8232            0 :                   if (EXPR_P (_r1))
    8233            0 :                     goto next_after_fail1561;
    8234            0 :                   res_op1 = _r1;
    8235              :                 }
    8236            0 :                 tree res_op2;
    8237            0 :                 {
    8238            0 :                   tree _o1[2], _r1;
    8239            0 :                   _o1[0] = captures[0];
    8240            0 :                   _o1[1] = captures[4];
    8241            0 :                   _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    8242            0 :                   if (EXPR_P (_r1))
    8243            0 :                     goto next_after_fail1561;
    8244            0 :                   res_op2 = _r1;
    8245              :                 }
    8246            0 :                 tree _r;
    8247            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8248            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
    8249            0 :                 return _r;
    8250              :               }
    8251           24 : next_after_fail1561:;
    8252              :             }
    8253              :         }
    8254           24 :         break;
    8255              :       }
    8256     37152226 :     default:;
    8257              :     }
    8258     37152226 :   switch (TREE_CODE (_p0))
    8259              :     {
    8260        96885 :     case COND_EXPR:
    8261        96885 :       {
    8262        96885 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8263        96885 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8264        96885 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8265        96885 :         switch (TREE_CODE (_p1))
    8266              :           {
    8267          276 :           case COND_EXPR:
    8268          276 :             {
    8269          276 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8270          276 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8271          276 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8272          276 :               if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    8273              :                 {
    8274           72 :                   if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8275              :                     {
    8276           72 :                       {
    8277           72 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8278           72 :                         const enum tree_code eqne = NE_EXPR;
    8279           72 :                         if (!HONOR_NANS (captures[1])
    8280           56 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8281           49 :  && types_match (type, TREE_TYPE (captures[0]))
    8282           49 :  && expr_no_side_effects_p (captures[1])
    8283          114 :  && expr_no_side_effects_p (captures[2])
    8284              : )
    8285              :                           {
    8286           42 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1562;
    8287           42 :                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1562;
    8288           42 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1562;
    8289           42 :                             {
    8290           42 :                               tree res_op0;
    8291           42 :                               {
    8292           42 :                                 tree _o1[2], _r1;
    8293           42 :                                 {
    8294           42 :                                   tree _o2[2], _r2;
    8295           42 :                                   _o2[0] = captures[0];
    8296           42 :                                   _o2[1] = captures[3];
    8297           42 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8298           42 :                                   _o1[0] = _r2;
    8299              :                                 }
    8300           42 :                                 {
    8301           42 :                                   tree _o2[2], _r2;
    8302           42 :                                   _o2[0] = captures[1];
    8303           42 :                                   _o2[1] = captures[2];
    8304           42 :                                   _r2 = fold_build2_loc (loc, NE_EXPR, type, _o2[0], _o2[1]);
    8305           42 :                                   _o1[1] = _r2;
    8306              :                                 }
    8307           42 :                                 _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8308           42 :                                 res_op0 = _r1;
    8309              :                               }
    8310           42 :                               tree res_op1;
    8311           42 :                               res_op1 =  constant_boolean_node (eqne == NE_EXPR, type);
    8312           42 :                               tree res_op2;
    8313           42 :                               res_op2 =  constant_boolean_node (eqne != NE_EXPR, type);
    8314           42 :                               tree _r;
    8315           42 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    8316           42 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 985, __FILE__, __LINE__, true);
    8317           42 :                               return _r;
    8318              :                             }
    8319           30 : next_after_fail1562:;
    8320              :                           }
    8321              :                       }
    8322              :                     }
    8323              :                 }
    8324          234 :               if ((_q61 == _q22 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q22, 0) && types_match (_q61, _q22)))
    8325              :                 {
    8326            0 :                   if ((_q62 == _q21 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q21, 0) && types_match (_q62, _q21)))
    8327              :                     {
    8328            0 :                       {
    8329            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8330            0 :                         const enum tree_code eqne = NE_EXPR;
    8331            0 :                         if (!HONOR_NANS (captures[1])
    8332            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8333            0 :  && types_match (type, TREE_TYPE (captures[0]))
    8334            0 :  && expr_no_side_effects_p (captures[1])
    8335            0 :  && expr_no_side_effects_p (captures[2])
    8336              : )
    8337              :                           {
    8338            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1563;
    8339            0 :                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1563;
    8340            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1563;
    8341            0 :                             {
    8342            0 :                               tree res_op0;
    8343            0 :                               {
    8344            0 :                                 tree _o1[2], _r1;
    8345            0 :                                 {
    8346            0 :                                   tree _o2[2], _r2;
    8347            0 :                                   _o2[0] = captures[0];
    8348            0 :                                   _o2[1] = captures[3];
    8349            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8350            0 :                                   _o1[0] = _r2;
    8351              :                                 }
    8352            0 :                                 {
    8353            0 :                                   tree _o2[2], _r2;
    8354            0 :                                   _o2[0] = captures[1];
    8355            0 :                                   _o2[1] = captures[2];
    8356            0 :                                   _r2 = fold_build2_loc (loc, EQ_EXPR, type, _o2[0], _o2[1]);
    8357            0 :                                   _o1[1] = _r2;
    8358              :                                 }
    8359            0 :                                 _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8360            0 :                                 res_op0 = _r1;
    8361              :                               }
    8362            0 :                               tree res_op1;
    8363            0 :                               res_op1 =  constant_boolean_node (eqne != NE_EXPR, type);
    8364            0 :                               tree res_op2;
    8365            0 :                               res_op2 =  constant_boolean_node (eqne == NE_EXPR, type);
    8366            0 :                               tree _r;
    8367            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    8368            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
    8369            0 :                               return _r;
    8370              :                             }
    8371            0 : next_after_fail1563:;
    8372              :                           }
    8373              :                       }
    8374              :                     }
    8375              :                 }
    8376              :               break;
    8377              :             }
    8378              :           default:;
    8379              :           }
    8380              :         break;
    8381              :       }
    8382          196 :     case VEC_COND_EXPR:
    8383          196 :       {
    8384          196 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8385          196 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8386          196 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8387          196 :         switch (TREE_CODE (_p1))
    8388              :           {
    8389            8 :           case VEC_COND_EXPR:
    8390            8 :             {
    8391            8 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8392            8 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8393            8 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8394            8 :               if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    8395              :                 {
    8396            0 :                   if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8397              :                     {
    8398            0 :                       {
    8399            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8400            0 :                         const enum tree_code eqne = NE_EXPR;
    8401            0 :                         if (!HONOR_NANS (captures[1])
    8402            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8403            0 :  && types_match (type, TREE_TYPE (captures[0]))
    8404            0 :  && expr_no_side_effects_p (captures[1])
    8405            0 :  && expr_no_side_effects_p (captures[2])
    8406              : )
    8407              :                           {
    8408            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1564;
    8409            0 :                             {
    8410            0 :                               tree res_op0;
    8411            0 :                               {
    8412            0 :                                 tree _o1[2], _r1;
    8413            0 :                                 {
    8414            0 :                                   tree _o2[2], _r2;
    8415            0 :                                   _o2[0] = captures[0];
    8416            0 :                                   _o2[1] = captures[3];
    8417            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8418            0 :                                   _o1[0] = _r2;
    8419              :                                 }
    8420            0 :                                 {
    8421            0 :                                   tree _o2[2], _r2;
    8422            0 :                                   _o2[0] = captures[1];
    8423            0 :                                   _o2[1] = captures[2];
    8424            0 :                                   _r2 = fold_build2_loc (loc, NE_EXPR, type, _o2[0], _o2[1]);
    8425            0 :                                   _o1[1] = _r2;
    8426              :                                 }
    8427            0 :                                 _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8428            0 :                                 res_op0 = _r1;
    8429              :                               }
    8430            0 :                               tree res_op1;
    8431            0 :                               res_op1 =  constant_boolean_node (eqne == NE_EXPR, type);
    8432            0 :                               tree res_op2;
    8433            0 :                               res_op2 =  constant_boolean_node (eqne != NE_EXPR, type);
    8434            0 :                               tree _r;
    8435            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8436            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 985, __FILE__, __LINE__, true);
    8437            0 :                               return _r;
    8438              :                             }
    8439            0 : next_after_fail1564:;
    8440              :                           }
    8441              :                       }
    8442              :                     }
    8443              :                 }
    8444            8 :               if ((_q61 == _q22 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q22, 0) && types_match (_q61, _q22)))
    8445              :                 {
    8446            8 :                   if ((_q62 == _q21 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q21, 0) && types_match (_q62, _q21)))
    8447              :                     {
    8448            8 :                       {
    8449            8 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8450            8 :                         const enum tree_code eqne = NE_EXPR;
    8451            8 :                         if (!HONOR_NANS (captures[1])
    8452            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8453            0 :  && types_match (type, TREE_TYPE (captures[0]))
    8454            0 :  && expr_no_side_effects_p (captures[1])
    8455            8 :  && expr_no_side_effects_p (captures[2])
    8456              : )
    8457              :                           {
    8458            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1565;
    8459            0 :                             {
    8460            0 :                               tree res_op0;
    8461            0 :                               {
    8462            0 :                                 tree _o1[2], _r1;
    8463            0 :                                 {
    8464            0 :                                   tree _o2[2], _r2;
    8465            0 :                                   _o2[0] = captures[0];
    8466            0 :                                   _o2[1] = captures[3];
    8467            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8468            0 :                                   _o1[0] = _r2;
    8469              :                                 }
    8470            0 :                                 {
    8471            0 :                                   tree _o2[2], _r2;
    8472            0 :                                   _o2[0] = captures[1];
    8473            0 :                                   _o2[1] = captures[2];
    8474            0 :                                   _r2 = fold_build2_loc (loc, EQ_EXPR, type, _o2[0], _o2[1]);
    8475            0 :                                   _o1[1] = _r2;
    8476              :                                 }
    8477            0 :                                 _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8478            0 :                                 res_op0 = _r1;
    8479              :                               }
    8480            0 :                               tree res_op1;
    8481            0 :                               res_op1 =  constant_boolean_node (eqne != NE_EXPR, type);
    8482            0 :                               tree res_op2;
    8483            0 :                               res_op2 =  constant_boolean_node (eqne == NE_EXPR, type);
    8484            0 :                               tree _r;
    8485            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8486            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
    8487            0 :                               return _r;
    8488              :                             }
    8489            0 : next_after_fail1565:;
    8490              :                           }
    8491              :                       }
    8492              :                     }
    8493              :                 }
    8494              :               break;
    8495              :             }
    8496              :           default:;
    8497              :           }
    8498              :         break;
    8499              :       }
    8500        18271 :     case LT_EXPR:
    8501        18271 :       {
    8502        18271 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8503        18271 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8504        18271 :         if (integer_zerop (_p1))
    8505              :           {
    8506        16754 :             {
    8507        16754 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8508        16754 :               tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    8509        16754 :               if (res) return res;
    8510              :             }
    8511              :           }
    8512        15319 :         if (integer_truep (_p1))
    8513              :           {
    8514          563 :             {
    8515          563 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8516          563 :               tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    8517          563 :               if (res) return res;
    8518              :             }
    8519              :           }
    8520              :         break;
    8521              :       }
    8522        12003 :     case LE_EXPR:
    8523        12003 :       {
    8524        12003 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8525        12003 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8526        12003 :         if (integer_zerop (_p1))
    8527              :           {
    8528         9431 :             {
    8529         9431 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8530         9431 :               tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    8531         9431 :               if (res) return res;
    8532              :             }
    8533              :           }
    8534        11213 :         if (integer_truep (_p1))
    8535              :           {
    8536          473 :             {
    8537          473 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8538          473 :               tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    8539          473 :               if (res) return res;
    8540              :             }
    8541              :           }
    8542              :         break;
    8543              :       }
    8544        63865 :     case EQ_EXPR:
    8545        63865 :       {
    8546        63865 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8547        63865 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8548        63865 :         if (integer_zerop (_p1))
    8549              :           {
    8550        36198 :             {
    8551        36198 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8552        36198 :               tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    8553        36198 :               if (res) return res;
    8554              :             }
    8555              :           }
    8556        62744 :         if (integer_truep (_p1))
    8557              :           {
    8558        21941 :             {
    8559        21941 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8560        21941 :               tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    8561        21941 :               if (res) return res;
    8562              :             }
    8563              :           }
    8564              :         break;
    8565              :       }
    8566        69294 :     case NE_EXPR:
    8567        69294 :       {
    8568        69294 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8569        69294 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8570        69294 :         if (integer_zerop (_p1))
    8571              :           {
    8572        57448 :             {
    8573        57448 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8574        57448 :               tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    8575        57448 :               if (res) return res;
    8576              :             }
    8577              :           }
    8578        34592 :         if (integer_truep (_p1))
    8579              :           {
    8580          141 :             {
    8581          141 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8582          141 :               tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    8583          141 :               if (res) return res;
    8584              :             }
    8585              :           }
    8586              :         break;
    8587              :       }
    8588         6127 :     case GE_EXPR:
    8589         6127 :       {
    8590         6127 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8591         6127 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8592         6127 :         if (integer_zerop (_p1))
    8593              :           {
    8594         4174 :             {
    8595         4174 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8596         4174 :               tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    8597         4174 :               if (res) return res;
    8598              :             }
    8599              :           }
    8600         5469 :         if (integer_truep (_p1))
    8601              :           {
    8602          489 :             {
    8603          489 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8604          489 :               tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    8605          489 :               if (res) return res;
    8606              :             }
    8607              :           }
    8608              :         break;
    8609              :       }
    8610        35796 :     case GT_EXPR:
    8611        35796 :       {
    8612        35796 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8613        35796 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8614        35796 :         if (integer_zerop (_p1))
    8615              :           {
    8616        33733 :             {
    8617        33733 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8618        33733 :               tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    8619        33733 :               if (res) return res;
    8620              :             }
    8621              :           }
    8622        29749 :         if (integer_truep (_p1))
    8623              :           {
    8624          324 :             {
    8625          324 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8626          324 :               tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    8627          324 :               if (res) return res;
    8628              :             }
    8629              :           }
    8630              :         break;
    8631              :       }
    8632       129277 :     case UNORDERED_EXPR:
    8633       129277 :       {
    8634       129277 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8635       129277 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8636       129277 :         if (integer_zerop (_p1))
    8637              :           {
    8638       127129 :             {
    8639       127129 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8640       127129 :               tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    8641       127129 :               if (res) return res;
    8642              :             }
    8643              :           }
    8644       128887 :         if (integer_truep (_p1))
    8645              :           {
    8646           42 :             {
    8647           42 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8648           42 :               tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    8649           42 :               if (res) return res;
    8650              :             }
    8651              :           }
    8652              :         break;
    8653              :       }
    8654          113 :     case ORDERED_EXPR:
    8655          113 :       {
    8656          113 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8657          113 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8658          113 :         if (integer_zerop (_p1))
    8659              :           {
    8660           42 :             {
    8661           42 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8662           42 :               tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    8663           42 :               if (res) return res;
    8664              :             }
    8665              :           }
    8666           71 :         if (integer_truep (_p1))
    8667              :           {
    8668            0 :             {
    8669            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8670            0 :               tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    8671            0 :               if (res) return res;
    8672              :             }
    8673              :           }
    8674              :         break;
    8675              :       }
    8676          213 :     case UNLT_EXPR:
    8677          213 :       {
    8678          213 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8679          213 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8680          213 :         if (integer_zerop (_p1))
    8681              :           {
    8682           28 :             {
    8683           28 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8684           28 :               tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    8685           28 :               if (res) return res;
    8686              :             }
    8687              :           }
    8688          185 :         if (integer_truep (_p1))
    8689              :           {
    8690          161 :             {
    8691          161 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8692          161 :               tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    8693          161 :               if (res) return res;
    8694              :             }
    8695              :           }
    8696              :         break;
    8697              :       }
    8698         1442 :     case UNLE_EXPR:
    8699         1442 :       {
    8700         1442 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8701         1442 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8702         1442 :         if (integer_zerop (_p1))
    8703              :           {
    8704          104 :             {
    8705          104 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8706          104 :               tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    8707          104 :               if (res) return res;
    8708              :             }
    8709              :           }
    8710         1338 :         if (integer_truep (_p1))
    8711              :           {
    8712         1314 :             {
    8713         1314 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8714         1314 :               tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    8715         1314 :               if (res) return res;
    8716              :             }
    8717              :           }
    8718              :         break;
    8719              :       }
    8720         2009 :     case UNGT_EXPR:
    8721         2009 :       {
    8722         2009 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8723         2009 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8724         2009 :         if (integer_zerop (_p1))
    8725              :           {
    8726           96 :             {
    8727           96 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8728           96 :               tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    8729           96 :               if (res) return res;
    8730              :             }
    8731              :           }
    8732         1913 :         if (integer_truep (_p1))
    8733              :           {
    8734         1778 :             {
    8735         1778 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8736         1778 :               tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    8737         1778 :               if (res) return res;
    8738              :             }
    8739              :           }
    8740              :         break;
    8741              :       }
    8742          391 :     case UNGE_EXPR:
    8743          391 :       {
    8744          391 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8745          391 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8746          391 :         if (integer_zerop (_p1))
    8747              :           {
    8748           16 :             {
    8749           16 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8750           16 :               tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    8751           16 :               if (res) return res;
    8752              :             }
    8753              :           }
    8754          375 :         if (integer_truep (_p1))
    8755              :           {
    8756          211 :             {
    8757          211 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8758          211 :               tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    8759          211 :               if (res) return res;
    8760              :             }
    8761              :           }
    8762              :         break;
    8763              :       }
    8764          161 :     case UNEQ_EXPR:
    8765          161 :       {
    8766          161 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8767          161 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8768          161 :         if (integer_zerop (_p1))
    8769              :           {
    8770            0 :             {
    8771            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8772            0 :               tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    8773            0 :               if (res) return res;
    8774              :             }
    8775              :           }
    8776          161 :         if (integer_truep (_p1))
    8777              :           {
    8778          124 :             {
    8779          124 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8780          124 :               tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    8781          124 :               if (res) return res;
    8782              :             }
    8783              :           }
    8784              :         break;
    8785              :       }
    8786           24 :     case LTGT_EXPR:
    8787           24 :       {
    8788           24 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8789           24 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8790           24 :         if (integer_zerop (_p1))
    8791              :           {
    8792            6 :             {
    8793            6 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8794            6 :               tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    8795            6 :               if (res) return res;
    8796              :             }
    8797              :           }
    8798           24 :         if (integer_truep (_p1))
    8799              :           {
    8800            0 :             {
    8801            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8802            0 :               tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    8803            0 :               if (res) return res;
    8804              :             }
    8805              :           }
    8806              :         break;
    8807              :       }
    8808       103583 :     case MINUS_EXPR:
    8809       103583 :       {
    8810       103583 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8811       103583 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8812       103583 :         if (integer_zerop (_p1))
    8813              :           {
    8814        35110 :             {
    8815        35110 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8816        35110 :               tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, NE_EXPR);
    8817        35110 :               if (res) return res;
    8818              :             }
    8819              :           }
    8820              :         break;
    8821              :       }
    8822        24684 :     case POINTER_DIFF_EXPR:
    8823        24684 :       {
    8824        24684 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8825        24684 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8826        24684 :         if (integer_zerop (_p1))
    8827              :           {
    8828        12314 :             {
    8829        12314 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8830        12314 :               tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, NE_EXPR);
    8831        12314 :               if (res) return res;
    8832              :             }
    8833              :           }
    8834              :         break;
    8835              :       }
    8836        95056 :     case MULT_EXPR:
    8837        95056 :       {
    8838        95056 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8839        95056 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8840        95056 :         switch (TREE_CODE (_q21))
    8841              :           {
    8842        77587 :           case INTEGER_CST:
    8843        77587 :             {
    8844        77587 :               switch (TREE_CODE (_p1))
    8845              :                 {
    8846        50495 :                 case INTEGER_CST:
    8847        50495 :                   {
    8848        50495 :                     {
    8849        50495 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8850        50495 :                       tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, NE_EXPR);
    8851        50495 :                       if (res) return res;
    8852              :                     }
    8853        33711 :                     break;
    8854              :                   }
    8855        60803 :                 default:;
    8856              :                 }
    8857        60803 :             if (integer_zerop (_p1))
    8858              :               {
    8859        10626 :                 {
    8860        10626 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8861        10626 :                   tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    8862        10626 :                   if (res) return res;
    8863              :                 }
    8864              :               }
    8865              :               break;
    8866              :             }
    8867              :           default:;
    8868              :           }
    8869              :         break;
    8870              :       }
    8871     37018994 :     default:;
    8872              :     }
    8873     37018994 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8874              :     {
    8875       230071 :       {
    8876       230071 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8877       230071 :         tree res = generic_simplify_305 (loc, type, _p0, _p1, captures, NE_EXPR);
    8878       230071 :         if (res) return res;
    8879              :       }
    8880              :     }
    8881     36795647 :   switch (TREE_CODE (_p0))
    8882              :     {
    8883      8063648 :     CASE_CONVERT:
    8884      8063648 :       {
    8885      8063648 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8886      8063648 :         switch (TREE_CODE (_p1))
    8887              :           {
    8888      4373171 :           CASE_CONVERT:
    8889      4373171 :             {
    8890      4373171 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8891      4373171 :               {
    8892      4373171 :                 tree _q40_pops[1];
    8893      4373171 :                 if (tree_maybe_bit_not (_q40, _q40_pops))
    8894              :                   {
    8895            0 :                     tree _q50 = _q40_pops[0];
    8896            0 :                     {
    8897            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    8898            0 :                       tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, NE_EXPR);
    8899            0 :                       if (res) return res;
    8900              :                     }
    8901              :                   }
    8902              :               }
    8903      4373171 :               break;
    8904              :             }
    8905      8063648 :           default:;
    8906              :           }
    8907      8063648 :         {
    8908      8063648 :           tree _q20_pops[1];
    8909      8063648 :           if (tree_maybe_bit_not (_q20, _q20_pops))
    8910              :             {
    8911        13057 :               tree _q30 = _q20_pops[0];
    8912        13057 :               switch (TREE_CODE (_p1))
    8913              :                 {
    8914            0 :                 CASE_CONVERT:
    8915            0 :                   {
    8916            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    8917            0 :                     {
    8918            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    8919            0 :                       tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, NE_EXPR);
    8920            0 :                       if (res) return res;
    8921              :                     }
    8922            0 :                     break;
    8923              :                   }
    8924              :                 default:;
    8925              :                 }
    8926              :             }
    8927              :         }
    8928      8063648 :         break;
    8929              :       }
    8930     36795647 :     default:;
    8931              :     }
    8932     36795647 :   {
    8933     36795647 :     tree _p1_pops[1];
    8934     36795647 :     if (tree_maybe_bit_not (_p1, _p1_pops))
    8935              :       {
    8936     25752489 :         tree _q30 = _p1_pops[0];
    8937     25752489 :         {
    8938     25752489 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8939     25752489 :           tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, NE_EXPR);
    8940     25752489 :           if (res) return res;
    8941              :         }
    8942              :       }
    8943              :   }
    8944     36795647 :   switch (TREE_CODE (_p0))
    8945              :     {
    8946        13345 :     case BIT_NOT_EXPR:
    8947        13345 :       {
    8948        13345 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8949        13345 :         switch (TREE_CODE (_p1))
    8950              :           {
    8951            1 :           case BIT_NOT_EXPR:
    8952            1 :             {
    8953            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8954            1 :               {
    8955            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    8956            1 :                 tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, NE_EXPR);
    8957            1 :                 if (res) return res;
    8958              :               }
    8959            0 :               break;
    8960              :             }
    8961        13344 :           default:;
    8962              :           }
    8963        13344 :       {
    8964        13344 :         tree _p1_pops[1];
    8965        13344 :         if (tree_nop_convert (_p1, _p1_pops))
    8966              :           {
    8967           80 :             tree _q40 = _p1_pops[0];
    8968           80 :             switch (TREE_CODE (_q40))
    8969              :               {
    8970            0 :               case BIT_NOT_EXPR:
    8971            0 :                 {
    8972            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    8973            0 :                   {
    8974            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    8975            0 :                     tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, NE_EXPR);
    8976            0 :                     if (res) return res;
    8977              :                   }
    8978            0 :                   break;
    8979              :                 }
    8980              :               default:;
    8981              :               }
    8982              :           }
    8983              :       }
    8984        13344 :       if (CONSTANT_CLASS_P (_p1))
    8985              :         {
    8986        12185 :           {
    8987        12185 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8988        12185 :             tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    8989        12185 :             if (res) return res;
    8990              :           }
    8991              :         }
    8992              :         break;
    8993              :       }
    8994     36783461 :     default:;
    8995              :     }
    8996     36783461 : {
    8997     36783461 :   tree _p0_pops[1];
    8998     36783461 :   if (tree_maybe_bit_not (_p0, _p0_pops))
    8999              :     {
    9000       285457 :       tree _q20 = _p0_pops[0];
    9001       285457 :       {
    9002       285457 :         tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
    9003       285457 :         tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, NE_EXPR);
    9004       285457 :         if (res) return res;
    9005              :       }
    9006              :     }
    9007              : }
    9008     36783459 : {
    9009     36783459 :   tree _p0_pops[1];
    9010     36783459 :   if (tree_nop_convert (_p0, _p0_pops))
    9011              :     {
    9012      5873649 :       tree _q20 = _p0_pops[0];
    9013      5873649 :       switch (TREE_CODE (_q20))
    9014              :         {
    9015            1 :         case BIT_NOT_EXPR:
    9016            1 :           {
    9017            1 :             tree _q30 = TREE_OPERAND (_q20, 0);
    9018            1 :             switch (TREE_CODE (_p1))
    9019              :               {
    9020            0 :               case BIT_NOT_EXPR:
    9021            0 :                 {
    9022            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9023            0 :                   {
    9024            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    9025            0 :                     tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, NE_EXPR);
    9026            0 :                     if (res) return res;
    9027              :                   }
    9028            0 :                   break;
    9029              :                 }
    9030            1 :               default:;
    9031              :               }
    9032            1 :           {
    9033            1 :             tree _p1_pops[1];
    9034            1 :             if (tree_nop_convert (_p1, _p1_pops))
    9035              :               {
    9036            0 :                 tree _q50 = _p1_pops[0];
    9037            0 :                 switch (TREE_CODE (_q50))
    9038              :                   {
    9039            0 :                   case BIT_NOT_EXPR:
    9040            0 :                     {
    9041            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    9042            0 :                       {
    9043            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    9044            0 :                         tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, NE_EXPR);
    9045            0 :                         if (res) return res;
    9046              :                       }
    9047            0 :                       break;
    9048              :                     }
    9049              :                   default:;
    9050              :                   }
    9051              :               }
    9052              :           }
    9053            1 :           if (CONSTANT_CLASS_P (_p1))
    9054              :             {
    9055            1 :               {
    9056            1 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    9057            1 :                 tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    9058            1 :                 if (res) return res;
    9059              :               }
    9060              :             }
    9061              :             break;
    9062              :           }
    9063              :         default:;
    9064              :         }
    9065              :     }
    9066              : }
    9067     36783458 :   switch (TREE_CODE (_p1))
    9068              :     {
    9069       699967 :     case REAL_CST:
    9070       699967 :       {
    9071       699967 :         {
    9072       699967 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9073       699967 :           tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, NE_EXPR);
    9074       699967 :           if (res) return res;
    9075              :         }
    9076       632123 :         break;
    9077              :       }
    9078     36715614 :     default:;
    9079              :     }
    9080     36715614 :   switch (TREE_CODE (_p0))
    9081              :     {
    9082      1326043 :     case PLUS_EXPR:
    9083      1326043 :       {
    9084      1326043 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9085      1326043 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9086      1326043 :         switch (TREE_CODE (_q21))
    9087              :           {
    9088         3843 :           case REAL_CST:
    9089         3843 :             {
    9090         3843 :               switch (TREE_CODE (_p1))
    9091              :                 {
    9092         3067 :                 case REAL_CST:
    9093         3067 :                   {
    9094         3067 :                     {
    9095         3067 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9096         3067 :                       tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, PLUS_EXPR, NE_EXPR);
    9097         3067 :                       if (res) return res;
    9098              :                     }
    9099         3067 :                     break;
    9100              :                   }
    9101              :                 default:;
    9102              :                 }
    9103              :               break;
    9104              :             }
    9105              :           default:;
    9106              :           }
    9107              :         break;
    9108              :       }
    9109        68469 :     case MINUS_EXPR:
    9110        68469 :       {
    9111        68469 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9112        68469 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9113        68469 :         switch (TREE_CODE (_q21))
    9114              :           {
    9115         3215 :           case REAL_CST:
    9116         3215 :             {
    9117         3215 :               switch (TREE_CODE (_p1))
    9118              :                 {
    9119         2849 :                 case REAL_CST:
    9120         2849 :                   {
    9121         2849 :                     {
    9122         2849 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9123         2849 :                       tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, MINUS_EXPR, NE_EXPR);
    9124         2849 :                       if (res) return res;
    9125              :                     }
    9126         2849 :                     break;
    9127              :                   }
    9128              :                 default:;
    9129              :                 }
    9130              :               break;
    9131              :             }
    9132        68469 :           default:;
    9133              :           }
    9134        68469 :         switch (TREE_CODE (_q20))
    9135              :           {
    9136           87 :           case REAL_CST:
    9137           87 :             {
    9138           87 :               switch (TREE_CODE (_p1))
    9139              :                 {
    9140           44 :                 case REAL_CST:
    9141           44 :                   {
    9142           44 :                     {
    9143           44 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9144           44 :                       tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, NE_EXPR);
    9145           44 :                       if (res) return res;
    9146              :                     }
    9147           44 :                     break;
    9148              :                   }
    9149              :                 default:;
    9150              :                 }
    9151              :               break;
    9152              :             }
    9153              :           default:;
    9154              :           }
    9155              :         break;
    9156              :       }
    9157        10055 :     case FLOAT_EXPR:
    9158        10055 :       {
    9159        10055 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9160        10055 :         switch (TREE_CODE (_p1))
    9161              :           {
    9162         1115 :           case FLOAT_EXPR:
    9163         1115 :             {
    9164         1115 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9165         1115 :               {
    9166         1115 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    9167         1115 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    9168         1115 :                 if (res) return res;
    9169              :               }
    9170          971 :               break;
    9171              :             }
    9172         1808 :           case REAL_CST:
    9173         1808 :             {
    9174         1808 :               {
    9175         1808 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9176         1808 :                 tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    9177         1808 :                 if (res) return res;
    9178              :               }
    9179         1687 :               break;
    9180              :             }
    9181              :           default:;
    9182              :           }
    9183              :         break;
    9184              :       }
    9185         2017 :     case EXACT_DIV_EXPR:
    9186         2017 :       {
    9187         2017 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9188         2017 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9189         2017 :         switch (TREE_CODE (_p1))
    9190              :           {
    9191           36 :           case INTEGER_CST:
    9192           36 :             {
    9193           36 :               {
    9194           36 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9195           36 :                 tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, NE_EXPR);
    9196           36 :                 if (res) return res;
    9197              :               }
    9198            0 :               break;
    9199              :             }
    9200              :           default:;
    9201              :           }
    9202              :         break;
    9203              :       }
    9204         6148 :     case NEGATE_EXPR:
    9205         6148 :       {
    9206         6148 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9207         6148 :         switch (TREE_CODE (_p1))
    9208              :           {
    9209            4 :           case NEGATE_EXPR:
    9210            4 :             {
    9211            4 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9212            4 :               {
    9213            4 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9214            4 :                 tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    9215            4 :                 if (res) return res;
    9216              :               }
    9217            0 :               break;
    9218              :             }
    9219         6144 :           default:;
    9220              :           }
    9221         6144 :       if (CONSTANT_CLASS_P (_p1))
    9222              :         {
    9223          577 :           {
    9224          577 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9225          577 :             tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    9226          577 :             if (res) return res;
    9227              :           }
    9228              :         }
    9229              :         break;
    9230              :       }
    9231         1940 :     case ABS_EXPR:
    9232         1940 :       {
    9233         1940 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9234         1940 :         if (zerop (_p1))
    9235              :           {
    9236           72 :             {
    9237           72 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9238           72 :               const enum tree_code eqne = NE_EXPR;
    9239           72 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1566;
    9240           72 :               {
    9241           72 :                 tree res_op0;
    9242           72 :                 res_op0 = captures[0];
    9243           72 :                 tree res_op1;
    9244           72 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    9245           72 :                 tree _r;
    9246           72 :                 _r = fold_build2_loc (loc, eqne, type, res_op0, res_op1);
    9247           72 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    9248            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    9249           72 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
    9250           72 :                 return _r;
    9251              :               }
    9252            0 : next_after_fail1566:;
    9253              :             }
    9254              :           }
    9255              :         break;
    9256              :       }
    9257         1698 :     case ABSU_EXPR:
    9258         1698 :       {
    9259         1698 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9260         1698 :         if (zerop (_p1))
    9261              :           {
    9262           65 :             {
    9263           65 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9264           65 :               const enum tree_code eqne = NE_EXPR;
    9265           65 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1567;
    9266           65 :               {
    9267           65 :                 tree res_op0;
    9268           65 :                 res_op0 = captures[0];
    9269           65 :                 tree res_op1;
    9270           65 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    9271           65 :                 tree _r;
    9272           65 :                 _r = fold_build2_loc (loc, eqne, type, res_op0, res_op1);
    9273           65 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    9274            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    9275           65 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
    9276           65 :                 return _r;
    9277              :               }
    9278            0 : next_after_fail1567:;
    9279              :             }
    9280              :           }
    9281              :         break;
    9282              :       }
    9283      8063568 :     CASE_CONVERT:
    9284      8063568 :       {
    9285      8063568 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9286      8063568 :         switch (TREE_CODE (_p1))
    9287              :           {
    9288      4373171 :           CASE_CONVERT:
    9289      4373171 :             {
    9290      4373171 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9291      4373171 :               {
    9292      4373171 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9293      4373171 :                 tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, NE_EXPR);
    9294      4373171 :                 if (res) return res;
    9295              :               }
    9296      4170196 :               break;
    9297              :             }
    9298      7860593 :           default:;
    9299              :           }
    9300      7860593 :         {
    9301      7860593 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    9302      7860593 :           tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, NE_EXPR);
    9303      7860593 :           if (res) return res;
    9304              :         }
    9305      5776656 :         switch (TREE_CODE (_q20))
    9306              :           {
    9307           12 :           case BIT_IOR_EXPR:
    9308           12 :             {
    9309           12 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9310           12 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9311           12 :               switch (TREE_CODE (_q31))
    9312              :                 {
    9313            0 :                 case INTEGER_CST:
    9314            0 :                   {
    9315            0 :                     switch (TREE_CODE (_p1))
    9316              :                       {
    9317            0 :                       case INTEGER_CST:
    9318            0 :                         {
    9319            0 :                           {
    9320            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
    9321            0 :                             tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, NE_EXPR);
    9322            0 :                             if (res) return res;
    9323              :                           }
    9324            0 :                           break;
    9325              :                         }
    9326              :                       default:;
    9327              :                       }
    9328              :                     break;
    9329              :                   }
    9330              :                 default:;
    9331              :                 }
    9332              :               break;
    9333              :             }
    9334              :           default:;
    9335              :           }
    9336              :         break;
    9337              :       }
    9338     14743522 :     case SSA_NAME:
    9339     14743522 :       {
    9340     14743522 :         switch (TREE_CODE (_p1))
    9341              :           {
    9342       295907 :           case ADDR_EXPR:
    9343       295907 :             {
    9344       295907 :               {
    9345       295907 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9346       295907 :                 tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, NE_EXPR);
    9347       295907 :                 if (res) return res;
    9348              :               }
    9349       295905 :               break;
    9350              :             }
    9351              :           default:;
    9352              :           }
    9353              :         break;
    9354              :       }
    9355       239031 :     case BIT_IOR_EXPR:
    9356       239031 :       {
    9357       239031 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9358       239031 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9359       239031 :         switch (TREE_CODE (_q21))
    9360              :           {
    9361          970 :           case INTEGER_CST:
    9362          970 :             {
    9363          970 :               switch (TREE_CODE (_p1))
    9364              :                 {
    9365          233 :                 case INTEGER_CST:
    9366          233 :                   {
    9367          233 :                     {
    9368          233 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9369          233 :                       tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, NE_EXPR);
    9370          233 :                       if (res) return res;
    9371              :                     }
    9372          233 :                     break;
    9373              :                   }
    9374              :                 default:;
    9375              :                 }
    9376              :               break;
    9377              :             }
    9378              :           default:;
    9379              :           }
    9380              :         break;
    9381              :       }
    9382        30048 :     case BIT_XOR_EXPR:
    9383        30048 :       {
    9384        30048 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9385        30048 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9386        30048 :         if (integer_zerop (_p1))
    9387              :           {
    9388        25716 :             {
    9389        25716 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9390        25716 :               tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, NE_EXPR);
    9391        25716 :               if (res) return res;
    9392              :             }
    9393              :           }
    9394         4332 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9395              :           {
    9396            1 :             {
    9397            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9398            1 :               tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, NE_EXPR);
    9399            1 :               if (res) return res;
    9400              :             }
    9401              :           }
    9402         4331 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9403              :           {
    9404            2 :             {
    9405            2 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9406            2 :               tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, NE_EXPR);
    9407            2 :               if (res) return res;
    9408              :             }
    9409              :           }
    9410              :         break;
    9411              :       }
    9412      2339884 :     case CALL_EXPR:
    9413      2339884 :       switch (get_call_combined_fn (_p0))
    9414              :         {
    9415           42 :         case CFN_BUILT_IN_SQRTF:
    9416           42 :           if (call_expr_nargs (_p0) == 1)
    9417              :     {
    9418           42 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9419           42 :               switch (TREE_CODE (_p1))
    9420              :                 {
    9421            0 :                 case REAL_CST:
    9422            0 :                   {
    9423            0 :                     {
    9424            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9425            0 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, NE_EXPR);
    9426            0 :                       if (res) return res;
    9427              :                     }
    9428            0 :                     break;
    9429              :                   }
    9430           42 :                 case CALL_EXPR:
    9431           42 :                   switch (get_call_combined_fn (_p1))
    9432              :                     {
    9433            0 :                     case CFN_BUILT_IN_SQRTF:
    9434            0 :                       if (call_expr_nargs (_p1) == 1)
    9435              :     {
    9436            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9437            0 :                           {
    9438            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9439            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, NE_EXPR);
    9440            0 :                             if (res) return res;
    9441              :                           }
    9442              :                         }
    9443              :                       break;
    9444              :                     default:;
    9445              :                     }
    9446              :                   break;
    9447              :                 default:;
    9448              :                 }
    9449              :             }
    9450              :           break;
    9451           42 :         case CFN_BUILT_IN_SQRTL:
    9452           42 :           if (call_expr_nargs (_p0) == 1)
    9453              :     {
    9454           42 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9455           42 :               switch (TREE_CODE (_p1))
    9456              :                 {
    9457            0 :                 case REAL_CST:
    9458            0 :                   {
    9459            0 :                     {
    9460            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9461            0 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, NE_EXPR);
    9462            0 :                       if (res) return res;
    9463              :                     }
    9464            0 :                     break;
    9465              :                   }
    9466           42 :                 case CALL_EXPR:
    9467           42 :                   switch (get_call_combined_fn (_p1))
    9468              :                     {
    9469            0 :                     case CFN_BUILT_IN_SQRTL:
    9470            0 :                       if (call_expr_nargs (_p1) == 1)
    9471              :     {
    9472            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9473            0 :                           {
    9474            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9475            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, NE_EXPR);
    9476            0 :                             if (res) return res;
    9477              :                           }
    9478              :                         }
    9479              :                       break;
    9480              :                     default:;
    9481              :                     }
    9482              :                   break;
    9483              :                 default:;
    9484              :                 }
    9485              :             }
    9486              :           break;
    9487           46 :         case CFN_BUILT_IN_SQRT:
    9488           46 :           if (call_expr_nargs (_p0) == 1)
    9489              :     {
    9490           46 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9491           46 :               switch (TREE_CODE (_p1))
    9492              :                 {
    9493            2 :                 case REAL_CST:
    9494            2 :                   {
    9495            2 :                     {
    9496            2 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9497            2 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, NE_EXPR);
    9498            2 :                       if (res) return res;
    9499              :                     }
    9500            2 :                     break;
    9501              :                   }
    9502           43 :                 case CALL_EXPR:
    9503           43 :                   switch (get_call_combined_fn (_p1))
    9504              :                     {
    9505            0 :                     case CFN_BUILT_IN_SQRT:
    9506            0 :                       if (call_expr_nargs (_p1) == 1)
    9507              :     {
    9508            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9509            0 :                           {
    9510            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9511            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, NE_EXPR);
    9512            0 :                             if (res) return res;
    9513              :                           }
    9514              :                         }
    9515              :                       break;
    9516              :                     default:;
    9517              :                     }
    9518              :                   break;
    9519              :                 default:;
    9520              :                 }
    9521              :             }
    9522              :           break;
    9523            0 :         case CFN_SQRT:
    9524            0 :           if (call_expr_nargs (_p0) == 1)
    9525              :     {
    9526            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9527            0 :               switch (TREE_CODE (_p1))
    9528              :                 {
    9529            0 :                 case REAL_CST:
    9530            0 :                   {
    9531            0 :                     {
    9532            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9533            0 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_SQRT, NE_EXPR);
    9534            0 :                       if (res) return res;
    9535              :                     }
    9536            0 :                     break;
    9537              :                   }
    9538            0 :                 case CALL_EXPR:
    9539            0 :                   switch (get_call_combined_fn (_p1))
    9540              :                     {
    9541            0 :                     case CFN_SQRT:
    9542            0 :                       if (call_expr_nargs (_p1) == 1)
    9543              :     {
    9544            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9545            0 :                           {
    9546            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9547            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_SQRT, NE_EXPR);
    9548            0 :                             if (res) return res;
    9549              :                           }
    9550              :                         }
    9551              :                       break;
    9552              :                     default:;
    9553              :                     }
    9554              :                   break;
    9555              :                 default:;
    9556              :                 }
    9557              :             }
    9558              :           break;
    9559              :         default:;
    9560              :         }
    9561              :       break;
    9562     34401980 :     default:;
    9563              :     }
    9564     34401980 :   switch (TREE_CODE (_p1))
    9565              :     {
    9566          840 :     case BIT_XOR_EXPR:
    9567          840 :       {
    9568          840 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9569          840 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9570          840 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9571              :           {
    9572            0 :             {
    9573            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    9574            0 :               tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, NE_EXPR);
    9575            0 :               if (res) return res;
    9576              :             }
    9577              :           }
    9578          840 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9579              :           {
    9580            0 :             {
    9581            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9582            0 :               tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, NE_EXPR);
    9583            0 :               if (res) return res;
    9584              :             }
    9585              :           }
    9586              :         break;
    9587              :       }
    9588     34401980 :     default:;
    9589              :     }
    9590     34401980 :   switch (TREE_CODE (_p0))
    9591              :     {
    9592      1261211 :     case BIT_AND_EXPR:
    9593      1261211 :       {
    9594      1261211 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9595      1261211 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9596      1261211 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9597              :           {
    9598          179 :             {
    9599          179 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9600          179 :               tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, NE_EXPR);
    9601          179 :               if (res) return res;
    9602              :             }
    9603              :           }
    9604      1261183 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9605              :           {
    9606         4493 :             {
    9607         4493 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9608         4493 :               tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, NE_EXPR);
    9609         4493 :               if (res) return res;
    9610              :             }
    9611              :           }
    9612              :         break;
    9613              :       }
    9614     34401952 :     default:;
    9615              :     }
    9616     34401952 :   switch (TREE_CODE (_p1))
    9617              :     {
    9618        15626 :     case BIT_AND_EXPR:
    9619        15626 :       {
    9620        15626 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9621        15626 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9622        15626 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9623              :           {
    9624            0 :             {
    9625            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    9626            0 :               tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, NE_EXPR);
    9627            0 :               if (res) return res;
    9628              :             }
    9629              :           }
    9630        15626 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9631              :           {
    9632            0 :             {
    9633            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9634            0 :               tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, NE_EXPR);
    9635            0 :               if (res) return res;
    9636              :             }
    9637              :           }
    9638              :         break;
    9639              :       }
    9640     34401952 :     default:;
    9641              :     }
    9642     34401952 :   switch (TREE_CODE (_p0))
    9643              :     {
    9644      5776656 :     CASE_CONVERT:
    9645      5776656 :       {
    9646      5776656 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9647      5776656 :         switch (TREE_CODE (_q20))
    9648              :           {
    9649            0 :           case BIT_AND_EXPR:
    9650            0 :             {
    9651            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9652            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9653            0 :               switch (TREE_CODE (_q30))
    9654              :                 {
    9655            0 :                 CASE_CONVERT:
    9656            0 :                   {
    9657            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9658            0 :                     switch (TREE_CODE (_q31))
    9659              :                       {
    9660            0 :                       case INTEGER_CST:
    9661            0 :                         {
    9662            0 :                           switch (TREE_CODE (_p1))
    9663              :                             {
    9664            0 :                             CASE_CONVERT:
    9665            0 :                               {
    9666            0 :                                 tree _q70 = TREE_OPERAND (_p1, 0);
    9667            0 :                                 if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    9668              :                                   {
    9669            0 :                                     {
    9670            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q31 };
    9671            0 :                                       tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, NE_EXPR);
    9672            0 :                                       if (res) return res;
    9673              :                                     }
    9674              :                                   }
    9675              :                                 break;
    9676              :                               }
    9677              :                             default:;
    9678              :                             }
    9679              :                           break;
    9680              :                         }
    9681              :                       default:;
    9682              :                       }
    9683              :                     break;
    9684              :                   }
    9685              :                 default:;
    9686              :                 }
    9687              :               break;
    9688              :             }
    9689      5776656 :           default:;
    9690              :           }
    9691      5776656 :         switch (TREE_CODE (_p1))
    9692              :           {
    9693      4170196 :           CASE_CONVERT:
    9694      4170196 :             {
    9695      4170196 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9696      4170196 :               switch (TREE_CODE (_q40))
    9697              :                 {
    9698            0 :                 case BIT_AND_EXPR:
    9699            0 :                   {
    9700            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9701            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    9702            0 :                     switch (TREE_CODE (_q50))
    9703              :                       {
    9704            0 :                       CASE_CONVERT:
    9705            0 :                         {
    9706            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    9707            0 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9708              :                             {
    9709            0 :                               switch (TREE_CODE (_q51))
    9710              :                                 {
    9711            0 :                                 case INTEGER_CST:
    9712            0 :                                   {
    9713            0 :                                     {
    9714            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q51 };
    9715            0 :                                       tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, NE_EXPR);
    9716            0 :                                       if (res) return res;
    9717              :                                     }
    9718            0 :                                     break;
    9719              :                                   }
    9720              :                                 default:;
    9721              :                                 }
    9722              :                             }
    9723              :                           break;
    9724              :                         }
    9725              :                       default:;
    9726              :                       }
    9727              :                     break;
    9728              :                   }
    9729              :                 default:;
    9730              :                 }
    9731              :               break;
    9732              :             }
    9733              :           default:;
    9734              :           }
    9735              :         break;
    9736              :       }
    9737       239031 :     case BIT_IOR_EXPR:
    9738       239031 :       {
    9739       239031 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9740       239031 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9741       239031 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9742              :           {
    9743          126 :             {
    9744          126 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9745          126 :               tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, NE_EXPR);
    9746          126 :               if (res) return res;
    9747              :             }
    9748              :           }
    9749       239023 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9750              :           {
    9751          255 :             {
    9752          255 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9753          255 :               tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, NE_EXPR);
    9754          255 :               if (res) return res;
    9755              :             }
    9756              :           }
    9757              :         break;
    9758              :       }
    9759     34401944 :     default:;
    9760              :     }
    9761     34401944 :   switch (TREE_CODE (_p1))
    9762              :     {
    9763          566 :     case BIT_IOR_EXPR:
    9764          566 :       {
    9765          566 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9766          566 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9767          566 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9768              :           {
    9769            0 :             {
    9770            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    9771            0 :               tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, NE_EXPR);
    9772            0 :               if (res) return res;
    9773              :             }
    9774              :           }
    9775          566 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9776              :           {
    9777            0 :             {
    9778            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
    9779            0 :               tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, NE_EXPR);
    9780            0 :               if (res) return res;
    9781              :             }
    9782              :           }
    9783              :         break;
    9784              :       }
    9785     34401944 :     default:;
    9786              :     }
    9787     34401944 :   switch (TREE_CODE (_p0))
    9788              :     {
    9789      5776656 :     CASE_CONVERT:
    9790      5776656 :       {
    9791      5776656 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9792      5776656 :         switch (TREE_CODE (_q20))
    9793              :           {
    9794          661 :           case BIT_XOR_EXPR:
    9795          661 :             {
    9796          661 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9797          661 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9798          661 :               switch (TREE_CODE (_q31))
    9799              :                 {
    9800            0 :                 case INTEGER_CST:
    9801            0 :                   {
    9802            0 :                     switch (TREE_CODE (_p1))
    9803              :                       {
    9804            0 :                       case INTEGER_CST:
    9805            0 :                         {
    9806            0 :                           {
    9807            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
    9808            0 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, NE_EXPR);
    9809            0 :                             if (res) return res;
    9810              :                           }
    9811            0 :                           break;
    9812              :                         }
    9813              :                       default:;
    9814              :                       }
    9815              :                     break;
    9816              :                   }
    9817              :                 default:;
    9818              :                 }
    9819              :               break;
    9820              :             }
    9821              :           default:;
    9822              :           }
    9823              :         break;
    9824              :       }
    9825         4329 :     case BIT_XOR_EXPR:
    9826         4329 :       {
    9827         4329 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9828         4329 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9829         4329 :         switch (TREE_CODE (_q21))
    9830              :           {
    9831          884 :           case INTEGER_CST:
    9832          884 :             {
    9833          884 :               switch (TREE_CODE (_p1))
    9834              :                 {
    9835           10 :                 case INTEGER_CST:
    9836           10 :                   {
    9837           10 :                     {
    9838           10 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9839           10 :                       tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, NE_EXPR);
    9840           10 :                       if (res) return res;
    9841              :                     }
    9842            0 :                     break;
    9843              :                   }
    9844              :                 default:;
    9845              :                 }
    9846              :               break;
    9847              :             }
    9848              :           default:;
    9849              :           }
    9850              :         break;
    9851              :       }
    9852     34401934 :     default:;
    9853              :     }
    9854     34401934 : {
    9855     34401934 :   tree _p0_pops[1];
    9856     34401934 :   if (tree_nop_convert (_p0, _p0_pops))
    9857              :     {
    9858      5064702 :       tree _q20 = _p0_pops[0];
    9859      5064702 :       if (integer_zerop (_p1))
    9860              :         {
    9861       801886 :           {
    9862       801886 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9863       801886 :             tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, NE_EXPR);
    9864       801886 :             if (res) return res;
    9865              :           }
    9866              :         }
    9867              :     }
    9868              : }
    9869     33955996 :   if (integer_zerop (_p1))
    9870              :     {
    9871     18170742 :       {
    9872     18170742 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    9873     18170742 :         tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, NE_EXPR);
    9874     18170742 :         if (res) return res;
    9875              :       }
    9876              :     }
    9877     33779214 :   switch (TREE_CODE (_p0))
    9878              :     {
    9879      1261183 :     case BIT_AND_EXPR:
    9880      1261183 :       {
    9881      1261183 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9882      1261183 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9883      1261183 :         switch (TREE_CODE (_p1))
    9884              :           {
    9885        14220 :           case BIT_AND_EXPR:
    9886        14220 :             {
    9887        14220 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9888        14220 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9889        14220 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9890              :                 {
    9891        13975 :                   {
    9892        13975 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9893        13975 :                     tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, NE_EXPR);
    9894        13975 :                     if (res) return res;
    9895              :                   }
    9896              :                 }
    9897          245 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9898              :                 {
    9899            2 :                   {
    9900            2 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
    9901            2 :                     tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, NE_EXPR);
    9902            2 :                     if (res) return res;
    9903              :                   }
    9904              :                 }
    9905          243 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9906              :                 {
    9907            1 :                   {
    9908            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
    9909            1 :                     tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, NE_EXPR);
    9910            1 :                     if (res) return res;
    9911              :                   }
    9912              :                 }
    9913          242 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9914              :                 {
    9915            7 :                   {
    9916            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
    9917            7 :                     tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, NE_EXPR);
    9918            7 :                     if (res) return res;
    9919              :                   }
    9920              :                 }
    9921              :               break;
    9922              :             }
    9923      1247198 :           default:;
    9924              :           }
    9925      1247198 :         if (integer_pow2p (_q21))
    9926              :           {
    9927       643745 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9928              :               {
    9929          579 :                 {
    9930          579 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9931          579 :                   tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
    9932          579 :                   if (res) return res;
    9933              :                 }
    9934              :               }
    9935              :           }
    9936      1246623 :         switch (TREE_CODE (_q20))
    9937              :           {
    9938       192427 :           CASE_CONVERT:
    9939       192427 :             {
    9940       192427 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9941       192427 :               if (integer_pow2p (_q21))
    9942              :                 {
    9943        95582 :                   if (integer_zerop (_p1))
    9944              :                     {
    9945        95487 :                       {
    9946        95487 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
    9947        95487 :                         tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, NE_EXPR, LT_EXPR);
    9948        95487 :                         if (res) return res;
    9949              :                       }
    9950              :                     }
    9951              :                 }
    9952              :               break;
    9953              :             }
    9954      1242625 :           default:;
    9955              :           }
    9956      1242625 :         if (integer_pow2p (_q21))
    9957              :           {
    9958       639172 :             if (integer_zerop (_p1))
    9959              :               {
    9960       635782 :                 {
    9961       635782 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q21 };
    9962       635782 :                   tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, NE_EXPR, LT_EXPR);
    9963       635782 :                   if (res) return res;
    9964              :                 }
    9965              :               }
    9966              :           }
    9967              :         break;
    9968              :       }
    9969         5416 :     case GE_EXPR:
    9970         5416 :       {
    9971         5416 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9972         5416 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9973         5416 :         if (integer_zerop (_q21))
    9974              :           {
    9975          954 :             switch (TREE_CODE (_p1))
    9976              :               {
    9977            1 :               case GE_EXPR:
    9978            1 :                 {
    9979            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9980            1 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9981            1 :                   if (integer_zerop (_q51))
    9982              :                     {
    9983            1 :                       {
    9984            1 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9985            1 :                         tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR, LT_EXPR);
    9986            1 :                         if (res) return res;
    9987              :                       }
    9988              :                     }
    9989              :                   break;
    9990              :                 }
    9991            3 :               case LT_EXPR:
    9992            3 :                 {
    9993            3 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9994            3 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9995            3 :                   if (integer_zerop (_q51))
    9996              :                     {
    9997            3 :                       {
    9998            3 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
    9999            3 :                         tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
   10000            3 :                         if (res) return res;
   10001              :                       }
   10002              :                     }
   10003              :                   break;
   10004              :                 }
   10005              :               default:;
   10006              :               }
   10007              :           }
   10008              :         break;
   10009              :       }
   10010        15263 :     case LT_EXPR:
   10011        15263 :       {
   10012        15263 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10013        15263 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10014        15263 :         if (integer_zerop (_q21))
   10015              :           {
   10016         8604 :             switch (TREE_CODE (_p1))
   10017              :               {
   10018           72 :               case LT_EXPR:
   10019           72 :                 {
   10020           72 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10021           72 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10022           72 :                   if (integer_zerop (_q51))
   10023              :                     {
   10024           72 :                       {
   10025           72 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
   10026           72 :                         tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LT_EXPR);
   10027           72 :                         if (res) return res;
   10028              :                       }
   10029              :                     }
   10030              :                   break;
   10031              :                 }
   10032           17 :               case GE_EXPR:
   10033           17 :                 {
   10034           17 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10035           17 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10036           17 :                   if (integer_zerop (_q51))
   10037              :                     {
   10038           17 :                       {
   10039           17 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
   10040           17 :                         tree res = generic_simplify_286 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
   10041           17 :                         if (res) return res;
   10042              :                       }
   10043              :                     }
   10044              :                   break;
   10045              :                 }
   10046              :               default:;
   10047              :               }
   10048              :           }
   10049              :         break;
   10050              :       }
   10051       239023 :     case BIT_IOR_EXPR:
   10052       239023 :       {
   10053       239023 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10054       239023 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10055       239023 :         switch (TREE_CODE (_q21))
   10056              :           {
   10057          261 :           CASE_CONVERT:
   10058          261 :             {
   10059          261 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10060          261 :               switch (TREE_CODE (_q40))
   10061              :                 {
   10062            0 :                 case NE_EXPR:
   10063            0 :                   {
   10064            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   10065            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   10066            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10067              :                       {
   10068            0 :                         if (integer_zerop (_q51))
   10069              :                           {
   10070            0 :                             if (integer_zerop (_p1))
   10071              :                               {
   10072            0 :                                 {
   10073            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10074            0 :                                   tree res = generic_simplify_287 (loc, type, _p0, _p1, captures, NE_EXPR);
   10075            0 :                                   if (res) return res;
   10076              :                                 }
   10077              :                               }
   10078              :                           }
   10079              :                       }
   10080              :                     break;
   10081              :                   }
   10082              :                 default:;
   10083              :                 }
   10084              :               break;
   10085              :             }
   10086       239023 :           default:;
   10087              :           }
   10088       239023 :         switch (TREE_CODE (_q20))
   10089              :           {
   10090          800 :           CASE_CONVERT:
   10091          800 :             {
   10092          800 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10093          800 :               switch (TREE_CODE (_q30))
   10094              :                 {
   10095            0 :                 case NE_EXPR:
   10096            0 :                   {
   10097            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   10098            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   10099            0 :                     if (integer_zerop (_q41))
   10100              :                       {
   10101            0 :                         if ((_q21 == _q40 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q40, 0) && types_match (_q21, _q40)))
   10102              :                           {
   10103            0 :                             if (integer_zerop (_p1))
   10104              :                               {
   10105            0 :                                 {
   10106            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
   10107            0 :                                   tree res = generic_simplify_287 (loc, type, _p0, _p1, captures, NE_EXPR);
   10108            0 :                                   if (res) return res;
   10109              :                                 }
   10110              :                               }
   10111              :                           }
   10112              :                       }
   10113              :                     break;
   10114              :                   }
   10115              :                 default:;
   10116              :                 }
   10117              :               break;
   10118              :             }
   10119       239023 :           default:;
   10120              :           }
   10121       239023 :         switch (TREE_CODE (_q21))
   10122              :           {
   10123           24 :           case NE_EXPR:
   10124           24 :             {
   10125           24 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10126           24 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10127           24 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   10128              :                 {
   10129            0 :                   if (integer_zerop (_q41))
   10130              :                     {
   10131            0 :                       if (integer_zerop (_p1))
   10132              :                         {
   10133            0 :                           {
   10134            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10135            0 :                             tree res = generic_simplify_287 (loc, type, _p0, _p1, captures, NE_EXPR);
   10136            0 :                             if (res) return res;
   10137              :                           }
   10138              :                         }
   10139              :                     }
   10140              :                 }
   10141              :               break;
   10142              :             }
   10143       239023 :           default:;
   10144              :           }
   10145       239023 :         switch (TREE_CODE (_q20))
   10146              :           {
   10147            2 :           case NE_EXPR:
   10148            2 :             {
   10149            2 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10150            2 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10151            2 :               if (integer_zerop (_q31))
   10152              :                 {
   10153            1 :                   if ((_q21 == _q30 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q30, 0) && types_match (_q21, _q30)))
   10154              :                     {
   10155            0 :                       if (integer_zerop (_p1))
   10156              :                         {
   10157            0 :                           {
   10158            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   10159            0 :                             tree res = generic_simplify_287 (loc, type, _p0, _p1, captures, NE_EXPR);
   10160            0 :                             if (res) return res;
   10161              :                           }
   10162              :                         }
   10163              :                     }
   10164              :                 }
   10165              :               break;
   10166              :             }
   10167              :           default:;
   10168              :           }
   10169              :         break;
   10170              :       }
   10171      5330718 :     CASE_CONVERT:
   10172      5330718 :       {
   10173      5330718 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10174      5330718 :         switch (TREE_CODE (_q20))
   10175              :           {
   10176      4076249 :           case ADDR_EXPR:
   10177      4076249 :             {
   10178      4076249 :               switch (TREE_CODE (_p1))
   10179              :                 {
   10180      4046904 :                 CASE_CONVERT:
   10181      4046904 :                   {
   10182      4046904 :                     tree _q40 = TREE_OPERAND (_p1, 0);
   10183      4046904 :                     switch (TREE_CODE (_q40))
   10184              :                       {
   10185      4046904 :                       case ADDR_EXPR:
   10186      4046904 :                         {
   10187      4046904 :                           {
   10188      4046904 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   10189      4046904 :                             tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, NE_EXPR);
   10190      4046904 :                             if (res) return res;
   10191              :                           }
   10192           33 :                           break;
   10193              :                         }
   10194              :                       default:;
   10195              :                       }
   10196              :                     break;
   10197              :                   }
   10198        21251 :                 case ADDR_EXPR:
   10199        21251 :                   {
   10200        21251 :                     {
   10201        21251 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10202        21251 :                       tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, NE_EXPR);
   10203        21251 :                       if (res) return res;
   10204              :                     }
   10205         7935 :                     break;
   10206              :                   }
   10207              :                 default:;
   10208              :                 }
   10209              :               break;
   10210              :             }
   10211              :           default:;
   10212              :           }
   10213              :         break;
   10214              :       }
   10215        60399 :     case ADDR_EXPR:
   10216        60399 :       {
   10217        60399 :         switch (TREE_CODE (_p1))
   10218              :           {
   10219          294 :           CASE_CONVERT:
   10220          294 :             {
   10221          294 :               tree _q30 = TREE_OPERAND (_p1, 0);
   10222          294 :               switch (TREE_CODE (_q30))
   10223              :                 {
   10224          294 :                 case ADDR_EXPR:
   10225          294 :                   {
   10226          294 :                     {
   10227          294 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
   10228          294 :                       tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, NE_EXPR);
   10229          294 :                       if (res) return res;
   10230              :                     }
   10231          143 :                     break;
   10232              :                   }
   10233              :                 default:;
   10234              :                 }
   10235              :               break;
   10236              :             }
   10237        51882 :           case ADDR_EXPR:
   10238        51882 :             {
   10239        51882 :               {
   10240        51882 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
   10241        51882 :                 tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, NE_EXPR);
   10242        51882 :                 if (res) return res;
   10243              :               }
   10244         3442 :               break;
   10245              :             }
   10246              :           default:;
   10247              :           }
   10248              :         break;
   10249              :       }
   10250     29639136 :     default:;
   10251              :     }
   10252     29639136 :   {
   10253     29639136 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10254     29639136 :     tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, NE_EXPR);
   10255     29639136 :     if (res) return res;
   10256              :   }
   10257     29630384 :   switch (TREE_CODE (_p0))
   10258              :     {
   10259      1270531 :     CASE_CONVERT:
   10260      1270531 :       {
   10261      1270531 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10262      1270531 :         switch (TREE_CODE (_p1))
   10263              :           {
   10264       820070 :           case INTEGER_CST:
   10265       820070 :             {
   10266       820070 :               {
   10267       820070 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10268       820070 :                 tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, NE_EXPR);
   10269       820070 :                 if (res) return res;
   10270              :               }
   10271       811529 :               break;
   10272              :             }
   10273      1261990 :           default:;
   10274              :           }
   10275      1261990 :         switch (TREE_CODE (_q20))
   10276              :           {
   10277            8 :           case NE_EXPR:
   10278            8 :             {
   10279            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10280            8 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10281            8 :               switch (TREE_CODE (_q31))
   10282              :                 {
   10283            8 :                 case INTEGER_CST:
   10284            8 :                   {
   10285            8 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   10286              :                       {
   10287            0 :                         {
   10288            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   10289            0 :                           tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   10290            0 :                           if (res) return res;
   10291              :                         }
   10292              :                       }
   10293              :                     break;
   10294              :                   }
   10295              :                 default:;
   10296              :                 }
   10297              :               break;
   10298              :             }
   10299            0 :           case EQ_EXPR:
   10300            0 :             {
   10301            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10302            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10303            0 :               switch (TREE_CODE (_q31))
   10304              :                 {
   10305            0 :                 case INTEGER_CST:
   10306            0 :                   {
   10307            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   10308              :                       {
   10309            0 :                         {
   10310            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   10311            0 :                           tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   10312            0 :                           if (res) return res;
   10313              :                         }
   10314              :                       }
   10315              :                     break;
   10316              :                   }
   10317              :                 default:;
   10318              :                 }
   10319              :               break;
   10320              :             }
   10321              :           default:;
   10322              :           }
   10323              :         break;
   10324              :       }
   10325     29621843 :     default:;
   10326              :     }
   10327     29621843 :   switch (TREE_CODE (_p1))
   10328              :     {
   10329       515655 :     CASE_CONVERT:
   10330       515655 :       {
   10331       515655 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10332       515655 :         switch (TREE_CODE (_q30))
   10333              :           {
   10334            0 :           case NE_EXPR:
   10335            0 :             {
   10336            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   10337            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   10338            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10339              :                 {
   10340            0 :                   switch (TREE_CODE (_q41))
   10341              :                     {
   10342            0 :                     case INTEGER_CST:
   10343            0 :                       {
   10344            0 :                         {
   10345            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   10346            0 :                           tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   10347            0 :                           if (res) return res;
   10348              :                         }
   10349            0 :                         break;
   10350              :                       }
   10351              :                     default:;
   10352              :                     }
   10353              :                 }
   10354              :               break;
   10355              :             }
   10356            0 :           case EQ_EXPR:
   10357            0 :             {
   10358            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   10359            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   10360            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10361              :                 {
   10362            0 :                   switch (TREE_CODE (_q41))
   10363              :                     {
   10364            0 :                     case INTEGER_CST:
   10365            0 :                       {
   10366            0 :                         {
   10367            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   10368            0 :                           tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   10369            0 :                           if (res) return res;
   10370              :                         }
   10371            0 :                         break;
   10372              :                       }
   10373              :                     default:;
   10374              :                     }
   10375              :                 }
   10376              :               break;
   10377              :             }
   10378              :           default:;
   10379              :           }
   10380              :         break;
   10381              :       }
   10382     29621843 :     default:;
   10383              :     }
   10384     29621843 : if (integer_zerop (_p1))
   10385              :   {
   10386     17968491 :     {
   10387     17968491 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10388     17968491 :       if (TREE_CODE (TREE_TYPE (captures[0])) == BOOLEAN_TYPE
   10389     17968491 :  && types_match (type, TREE_TYPE (captures[0]))
   10390              : )
   10391              :         {
   10392      3335070 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1568;
   10393      3335070 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1568;
   10394      3335070 :           {
   10395      3335070 :             tree res_op0;
   10396      3335070 :             res_op0 = captures[0];
   10397      3335070 :             tree _r;
   10398      3335070 :             _r = non_lvalue_loc (loc, res_op0);
   10399      3335070 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 992, __FILE__, __LINE__, true);
   10400      3335070 :             return _r;
   10401              :           }
   10402              : next_after_fail1568:;
   10403              :         }
   10404              :     }
   10405              :   }
   10406     26286773 :   switch (TREE_CODE (_p0))
   10407              :     {
   10408       961587 :     case BIT_AND_EXPR:
   10409       961587 :       {
   10410       961587 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10411       961587 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10412       961587 :         switch (TREE_CODE (_q21))
   10413              :           {
   10414         2059 :           case VECTOR_CST:
   10415         2059 :             {
   10416         2059 :               if (integer_zerop (_p1))
   10417              :                 {
   10418         2059 :                   {
   10419         2059 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   10420         2059 :                     const enum tree_code cmp = NE_EXPR;
   10421         2059 :                     const enum tree_code icmp = GT_EXPR;
   10422         2059 :                     {
   10423         2059 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10424         2059 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10425              : )
   10426              :                           {
   10427           13 :                             {
   10428           13 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10429           13 :  ? optab_vector : optab_default;
   10430           13 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10431           13 :                                 if (target_supports_op_p (utype, icmp, optab)
   10432           13 :  || (optimize_vectors_before_lowering_p ()
   10433            7 :  && (!target_supports_op_p (type, cmp, optab)
   10434            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10435              : )
   10436              :                                   {
   10437            7 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10438              : )
   10439              :                                       {
   10440            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1569;
   10441            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1569;
   10442            0 :                                         {
   10443            0 :                                           tree res_op0;
   10444            0 :                                           res_op0 = captures[1];
   10445            0 :                                           tree res_op1;
   10446            0 :                                           res_op1 =  csts;
   10447            0 :                                           tree _r;
   10448            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10449            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10450            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10451            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
   10452            0 :                                           return _r;
   10453              :                                         }
   10454         2052 : next_after_fail1569:;
   10455              :                                       }
   10456              :                                     else
   10457              :                                       {
   10458            7 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1570;
   10459            7 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1570;
   10460            7 :                                         {
   10461            7 :                                           tree res_op0;
   10462            7 :                                           {
   10463            7 :                                             tree _o1[1], _r1;
   10464            7 :                                             _o1[0] = captures[1];
   10465            7 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10466              :                                               {
   10467            7 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10468              :                                               }
   10469              :                                             else
   10470              :                                               _r1 = _o1[0];
   10471            7 :                                             res_op0 = _r1;
   10472              :                                           }
   10473            7 :                                           tree res_op1;
   10474            7 :                                           res_op1 =  csts;
   10475            7 :                                           tree _r;
   10476            7 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10477            7 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10478            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10479            7 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
   10480            7 :                                           return _r;
   10481              :                                         }
   10482         2052 : next_after_fail1570:;
   10483              :                                       }
   10484              :                                   }
   10485              :                             }
   10486              :                           }
   10487              :                     }
   10488              :                   }
   10489              :                 }
   10490              :               break;
   10491              :             }
   10492       766275 :           case INTEGER_CST:
   10493       766275 :             {
   10494       766275 :               if (integer_zerop (_p1))
   10495              :                 {
   10496       730781 :                   {
   10497       730781 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   10498       730781 :                     const enum tree_code cmp = NE_EXPR;
   10499       730781 :                     const enum tree_code icmp = GT_EXPR;
   10500       730781 :                     {
   10501       730781 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10502       730781 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10503              : )
   10504              :                           {
   10505         1261 :                             {
   10506         1261 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10507         1261 :  ? optab_vector : optab_default;
   10508         1261 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10509         1261 :                                 if (target_supports_op_p (utype, icmp, optab)
   10510         1261 :  || (optimize_vectors_before_lowering_p ()
   10511         1092 :  && (!target_supports_op_p (type, cmp, optab)
   10512            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10513              : )
   10514              :                                   {
   10515         1092 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10516              : )
   10517              :                                       {
   10518          989 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1571;
   10519          989 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1571;
   10520          989 :                                         {
   10521          989 :                                           tree res_op0;
   10522          989 :                                           res_op0 = captures[1];
   10523          989 :                                           tree res_op1;
   10524          989 :                                           res_op1 =  csts;
   10525          989 :                                           tree _r;
   10526          989 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10527          989 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10528            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10529          989 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
   10530          989 :                                           return _r;
   10531              :                                         }
   10532       729689 : next_after_fail1571:;
   10533              :                                       }
   10534              :                                     else
   10535              :                                       {
   10536          103 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1572;
   10537          103 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1572;
   10538          103 :                                         {
   10539          103 :                                           tree res_op0;
   10540          103 :                                           {
   10541          103 :                                             tree _o1[1], _r1;
   10542          103 :                                             _o1[0] = captures[1];
   10543          103 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10544              :                                               {
   10545          103 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10546              :                                               }
   10547              :                                             else
   10548              :                                               _r1 = _o1[0];
   10549          103 :                                             res_op0 = _r1;
   10550              :                                           }
   10551          103 :                                           tree res_op1;
   10552          103 :                                           res_op1 =  csts;
   10553          103 :                                           tree _r;
   10554          103 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10555          103 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10556            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10557          103 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
   10558          103 :                                           return _r;
   10559              :                                         }
   10560       729689 : next_after_fail1572:;
   10561              :                                       }
   10562              :                                   }
   10563              :                             }
   10564              :                           }
   10565              :                     }
   10566              :                   }
   10567              :                 }
   10568              :               break;
   10569              :             }
   10570       960488 :           default:;
   10571              :           }
   10572       960488 :         switch (TREE_CODE (_q20))
   10573              :           {
   10574            0 :           case VECTOR_CST:
   10575            0 :             {
   10576            0 :               if (integer_zerop (_p1))
   10577              :                 {
   10578            0 :                   {
   10579            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   10580            0 :                     const enum tree_code cmp = NE_EXPR;
   10581            0 :                     const enum tree_code icmp = GT_EXPR;
   10582            0 :                     {
   10583            0 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10584            0 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10585              : )
   10586              :                           {
   10587            0 :                             {
   10588            0 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10589            0 :  ? optab_vector : optab_default;
   10590            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10591            0 :                                 if (target_supports_op_p (utype, icmp, optab)
   10592            0 :  || (optimize_vectors_before_lowering_p ()
   10593            0 :  && (!target_supports_op_p (type, cmp, optab)
   10594            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10595              : )
   10596              :                                   {
   10597            0 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10598              : )
   10599              :                                       {
   10600            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1573;
   10601            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1573;
   10602            0 :                                         {
   10603            0 :                                           tree res_op0;
   10604            0 :                                           res_op0 = captures[1];
   10605            0 :                                           tree res_op1;
   10606            0 :                                           res_op1 =  csts;
   10607            0 :                                           tree _r;
   10608            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10609            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10610            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10611            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
   10612            0 :                                           return _r;
   10613              :                                         }
   10614            0 : next_after_fail1573:;
   10615              :                                       }
   10616              :                                     else
   10617              :                                       {
   10618            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1574;
   10619            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1574;
   10620            0 :                                         {
   10621            0 :                                           tree res_op0;
   10622            0 :                                           {
   10623            0 :                                             tree _o1[1], _r1;
   10624            0 :                                             _o1[0] = captures[1];
   10625            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10626              :                                               {
   10627            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10628              :                                               }
   10629              :                                             else
   10630              :                                               _r1 = _o1[0];
   10631            0 :                                             res_op0 = _r1;
   10632              :                                           }
   10633            0 :                                           tree res_op1;
   10634            0 :                                           res_op1 =  csts;
   10635            0 :                                           tree _r;
   10636            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10637            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10638            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10639            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
   10640            0 :                                           return _r;
   10641              :                                         }
   10642            0 : next_after_fail1574:;
   10643              :                                       }
   10644              :                                   }
   10645              :                             }
   10646              :                           }
   10647              :                     }
   10648              :                   }
   10649              :                 }
   10650              :               break;
   10651              :             }
   10652            0 :           case INTEGER_CST:
   10653            0 :             {
   10654            0 :               if (integer_zerop (_p1))
   10655              :                 {
   10656            0 :                   {
   10657            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   10658            0 :                     const enum tree_code cmp = NE_EXPR;
   10659            0 :                     const enum tree_code icmp = GT_EXPR;
   10660            0 :                     {
   10661            0 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10662            0 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10663              : )
   10664              :                           {
   10665            0 :                             {
   10666            0 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10667            0 :  ? optab_vector : optab_default;
   10668            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10669            0 :                                 if (target_supports_op_p (utype, icmp, optab)
   10670            0 :  || (optimize_vectors_before_lowering_p ()
   10671            0 :  && (!target_supports_op_p (type, cmp, optab)
   10672            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10673              : )
   10674              :                                   {
   10675            0 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10676              : )
   10677              :                                       {
   10678            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1575;
   10679            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1575;
   10680            0 :                                         {
   10681            0 :                                           tree res_op0;
   10682            0 :                                           res_op0 = captures[1];
   10683            0 :                                           tree res_op1;
   10684            0 :                                           res_op1 =  csts;
   10685            0 :                                           tree _r;
   10686            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10687            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10688            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10689            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
   10690            0 :                                           return _r;
   10691              :                                         }
   10692            0 : next_after_fail1575:;
   10693              :                                       }
   10694              :                                     else
   10695              :                                       {
   10696            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1576;
   10697            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1576;
   10698            0 :                                         {
   10699            0 :                                           tree res_op0;
   10700            0 :                                           {
   10701            0 :                                             tree _o1[1], _r1;
   10702            0 :                                             _o1[0] = captures[1];
   10703            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10704              :                                               {
   10705            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10706              :                                               }
   10707              :                                             else
   10708              :                                               _r1 = _o1[0];
   10709            0 :                                             res_op0 = _r1;
   10710              :                                           }
   10711            0 :                                           tree res_op1;
   10712            0 :                                           res_op1 =  csts;
   10713            0 :                                           tree _r;
   10714            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10715            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10716            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10717            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
   10718            0 :                                           return _r;
   10719              :                                         }
   10720            0 : next_after_fail1576:;
   10721              :                                       }
   10722              :                                   }
   10723              :                             }
   10724              :                           }
   10725              :                     }
   10726              :                   }
   10727              :                 }
   10728              :               break;
   10729              :             }
   10730              :           default:;
   10731              :           }
   10732              :         break;
   10733              :       }
   10734        20381 :     case RSHIFT_EXPR:
   10735        20381 :       {
   10736        20381 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10737        20381 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10738        20381 :         switch (TREE_CODE (_q20))
   10739              :           {
   10740            1 :           case MULT_EXPR:
   10741            1 :             {
   10742            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10743            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10744            1 :               switch (TREE_CODE (_q30))
   10745              :                 {
   10746            1 :                 CASE_CONVERT:
   10747            1 :                   {
   10748            1 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   10749            1 :                     switch (TREE_CODE (_q31))
   10750              :                       {
   10751            1 :                       CASE_CONVERT:
   10752            1 :                         {
   10753            1 :                           tree _q60 = TREE_OPERAND (_q31, 0);
   10754            1 :                           switch (TREE_CODE (_q21))
   10755              :                             {
   10756            1 :                             case INTEGER_CST:
   10757            1 :                               {
   10758            1 :                                 if (integer_zerop (_p1))
   10759              :                                   {
   10760            1 :                                     {
   10761            1 :                                       tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q60, _q21 };
   10762            1 :                                       tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
   10763            1 :                                       if (res) return res;
   10764              :                                     }
   10765              :                                   }
   10766              :                                 break;
   10767              :                               }
   10768              :                             default:;
   10769              :                             }
   10770              :                           break;
   10771              :                         }
   10772              :                       default:;
   10773              :                       }
   10774              :                     break;
   10775              :                   }
   10776              :                 default:;
   10777              :                 }
   10778              :               break;
   10779              :             }
   10780              :           default:;
   10781              :           }
   10782              :         break;
   10783              :       }
   10784      1325990 :     case PLUS_EXPR:
   10785      1325990 :       {
   10786      1325990 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10787      1325990 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10788      1325990 :         switch (TREE_CODE (_q21))
   10789              :           {
   10790      1202090 :           case INTEGER_CST:
   10791      1202090 :             {
   10792      1202090 :               switch (TREE_CODE (_p1))
   10793              :                 {
   10794       711851 :                 case INTEGER_CST:
   10795       711851 :                   {
   10796       711851 :                     {
   10797       711851 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10798       711851 :                       tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, NE_EXPR);
   10799       711851 :                       if (res) return res;
   10800              :                     }
   10801          361 :                     break;
   10802              :                   }
   10803              :                 default:;
   10804              :                 }
   10805              :               break;
   10806              :             }
   10807              :           default:;
   10808              :           }
   10809              :         break;
   10810              :       }
   10811        68469 :     case MINUS_EXPR:
   10812        68469 :       {
   10813        68469 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10814        68469 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10815        68469 :         switch (TREE_CODE (_q21))
   10816              :           {
   10817          193 :           case INTEGER_CST:
   10818          193 :             {
   10819          193 :               switch (TREE_CODE (_p1))
   10820              :                 {
   10821           72 :                 case INTEGER_CST:
   10822           72 :                   {
   10823           72 :                     {
   10824           72 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10825           72 :                       tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, NE_EXPR);
   10826           72 :                       if (res) return res;
   10827              :                     }
   10828           72 :                     break;
   10829              :                   }
   10830              :                 default:;
   10831              :                 }
   10832              :               break;
   10833              :             }
   10834        68469 :           default:;
   10835              :           }
   10836        68469 :         switch (TREE_CODE (_q20))
   10837              :           {
   10838         1682 :           case INTEGER_CST:
   10839         1682 :             {
   10840         1682 :               switch (TREE_CODE (_p1))
   10841              :                 {
   10842           61 :                 case INTEGER_CST:
   10843           61 :                   {
   10844           61 :                     {
   10845           61 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10846           61 :                       tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   10847           61 :                       if (res) return res;
   10848              :                     }
   10849            0 :                     break;
   10850              :                   }
   10851              :                 default:;
   10852              :                 }
   10853              :               break;
   10854              :             }
   10855              :           default:;
   10856              :           }
   10857              :         break;
   10858              :       }
   10859      2337680 :     case CALL_EXPR:
   10860      2337680 :       switch (get_call_combined_fn (_p0))
   10861              :         {
   10862          224 :         case CFN_BUILT_IN_CLZ:
   10863          224 :           if (call_expr_nargs (_p0) == 1)
   10864              :     {
   10865          224 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10866          224 :               switch (TREE_CODE (_p1))
   10867              :                 {
   10868          210 :                 case INTEGER_CST:
   10869          210 :                   {
   10870          210 :                     {
   10871          210 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10872          210 :                       tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZ);
   10873          210 :                       if (res) return res;
   10874              :                     }
   10875          135 :                     break;
   10876              :                   }
   10877              :                 default:;
   10878              :                 }
   10879              :             }
   10880              :           break;
   10881          246 :         case CFN_BUILT_IN_CTZ:
   10882          246 :           if (call_expr_nargs (_p0) == 1)
   10883              :     {
   10884          246 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10885          246 :               switch (TREE_CODE (_p1))
   10886              :                 {
   10887          200 :                 case INTEGER_CST:
   10888          200 :                   {
   10889          200 :                     {
   10890          200 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10891          200 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_CTZ);
   10892          200 :                       if (res) return res;
   10893              :                     }
   10894            0 :                     break;
   10895              :                   }
   10896              :                 default:;
   10897              :                 }
   10898              :             }
   10899              :           break;
   10900           31 :         case CFN_BUILT_IN_FFS:
   10901           31 :           if (call_expr_nargs (_p0) == 1)
   10902              :     {
   10903           31 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10904           31 :               switch (TREE_CODE (_p1))
   10905              :                 {
   10906           11 :                 case INTEGER_CST:
   10907           11 :                   {
   10908           11 :                     {
   10909           11 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10910           11 :                       tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_FFS);
   10911           11 :                       if (res) return res;
   10912              :                     }
   10913            0 :                     break;
   10914              :                   }
   10915              :                 default:;
   10916              :                 }
   10917              :             }
   10918              :           break;
   10919            0 :         case CFN_REDUC_IOR:
   10920            0 :           if (call_expr_nargs (_p0) == 1)
   10921              :     {
   10922            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10923            0 :               if (integer_zerop (_p1))
   10924              :                 {
   10925            0 :                   {
   10926            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10927            0 :                     tree res = generic_simplify_302 (loc, type, _p0, _p1, captures, NE_EXPR);
   10928            0 :                     if (res) return res;
   10929              :                   }
   10930              :                 }
   10931              :             }
   10932              :           break;
   10933            0 :         case CFN_BUILT_IN_FFSIMAX:
   10934            0 :           if (call_expr_nargs (_p0) == 1)
   10935              :     {
   10936            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10937            0 :               switch (TREE_CODE (_p1))
   10938              :                 {
   10939            0 :                 case INTEGER_CST:
   10940            0 :                   {
   10941            0 :                     {
   10942            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10943            0 :                       tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_FFSIMAX);
   10944            0 :                       if (res) return res;
   10945              :                     }
   10946            0 :                     break;
   10947              :                   }
   10948              :                 default:;
   10949              :                 }
   10950              :             }
   10951              :           break;
   10952           13 :         case CFN_BUILT_IN_POPCOUNT:
   10953           13 :           if (call_expr_nargs (_p0) == 1)
   10954              :     {
   10955           13 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10956           13 :               if (integer_zerop (_p1))
   10957              :                 {
   10958            1 :                   {
   10959            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10960            1 :                     tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNT);
   10961            1 :                     if (res) return res;
   10962              :                   }
   10963              :                 }
   10964              :             }
   10965              :           break;
   10966           87 :         case CFN_BUILT_IN_CLZL:
   10967           87 :           if (call_expr_nargs (_p0) == 1)
   10968              :     {
   10969           87 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10970           87 :               switch (TREE_CODE (_p1))
   10971              :                 {
   10972           79 :                 case INTEGER_CST:
   10973           79 :                   {
   10974           79 :                     {
   10975           79 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10976           79 :                       tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZL);
   10977           79 :                       if (res) return res;
   10978              :                     }
   10979           43 :                     break;
   10980              :                   }
   10981              :                 default:;
   10982              :                 }
   10983              :             }
   10984              :           break;
   10985           85 :         case CFN_BUILT_IN_CTZL:
   10986           85 :           if (call_expr_nargs (_p0) == 1)
   10987              :     {
   10988           85 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10989           85 :               switch (TREE_CODE (_p1))
   10990              :                 {
   10991           77 :                 case INTEGER_CST:
   10992           77 :                   {
   10993           77 :                     {
   10994           77 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10995           77 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_CTZL);
   10996           77 :                       if (res) return res;
   10997              :                     }
   10998           16 :                     break;
   10999              :                   }
   11000              :                 default:;
   11001              :                 }
   11002              :             }
   11003              :           break;
   11004            8 :         case CFN_BUILT_IN_FFSL:
   11005            8 :           if (call_expr_nargs (_p0) == 1)
   11006              :     {
   11007            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11008            8 :               switch (TREE_CODE (_p1))
   11009              :                 {
   11010            0 :                 case INTEGER_CST:
   11011            0 :                   {
   11012            0 :                     {
   11013            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11014            0 :                       tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_FFSL);
   11015            0 :                       if (res) return res;
   11016              :                     }
   11017            0 :                     break;
   11018              :                   }
   11019              :                 default:;
   11020              :                 }
   11021              :             }
   11022              :           break;
   11023           11 :         case CFN_BUILT_IN_POPCOUNTLL:
   11024           11 :           if (call_expr_nargs (_p0) == 1)
   11025              :     {
   11026           11 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11027           11 :               if (integer_zerop (_p1))
   11028              :                 {
   11029            1 :                   {
   11030            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11031            1 :                     tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTLL);
   11032            1 :                     if (res) return res;
   11033              :                   }
   11034              :                 }
   11035              :             }
   11036              :           break;
   11037            0 :         case CFN_BUILT_IN_CTZIMAX:
   11038            0 :           if (call_expr_nargs (_p0) == 1)
   11039              :     {
   11040            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11041            0 :               switch (TREE_CODE (_p1))
   11042              :                 {
   11043            0 :                 case INTEGER_CST:
   11044            0 :                   {
   11045            0 :                     {
   11046            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11047            0 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_CTZIMAX);
   11048            0 :                       if (res) return res;
   11049              :                     }
   11050            0 :                     break;
   11051              :                   }
   11052              :                 default:;
   11053              :                 }
   11054              :             }
   11055              :           break;
   11056            0 :         case CFN_POPCOUNT:
   11057            0 :           if (call_expr_nargs (_p0) == 1)
   11058              :     {
   11059            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11060            0 :               if (integer_zerop (_p1))
   11061              :                 {
   11062            0 :                   {
   11063            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11064            0 :                     tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_POPCOUNT);
   11065            0 :                     if (res) return res;
   11066              :                   }
   11067              :                 }
   11068              :             }
   11069              :           break;
   11070            0 :         case CFN_CLZ:
   11071            0 :           if (call_expr_nargs (_p0) == 1)
   11072              :     {
   11073            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11074            0 :               switch (TREE_CODE (_p1))
   11075              :                 {
   11076            0 :                 case INTEGER_CST:
   11077            0 :                   {
   11078            0 :                     {
   11079            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11080            0 :                       tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_CLZ);
   11081            0 :                       if (res) return res;
   11082              :                     }
   11083            0 :                     break;
   11084              :                   }
   11085              :                 default:;
   11086              :                 }
   11087              :             }
   11088            0 :           if (call_expr_nargs (_p0) == 2)
   11089              :     {
   11090            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11091            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   11092            0 :               switch (TREE_CODE (_p1))
   11093              :                 {
   11094            0 :                 case INTEGER_CST:
   11095            0 :                   {
   11096            0 :                     {
   11097            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   11098            0 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
   11099            0 :                       if (res) return res;
   11100              :                     }
   11101            0 :                     break;
   11102              :                   }
   11103              :                 default:;
   11104              :                 }
   11105              :             }
   11106              :           break;
   11107            0 :         case CFN_CTZ:
   11108            0 :           if (call_expr_nargs (_p0) == 1)
   11109              :     {
   11110            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11111            0 :               switch (TREE_CODE (_p1))
   11112              :                 {
   11113            0 :                 case INTEGER_CST:
   11114            0 :                   {
   11115            0 :                     {
   11116            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11117            0 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_CTZ);
   11118            0 :                       if (res) return res;
   11119              :                     }
   11120            0 :                     break;
   11121              :                   }
   11122              :                 default:;
   11123              :                 }
   11124              :             }
   11125            0 :           if (call_expr_nargs (_p0) == 2)
   11126              :     {
   11127            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11128            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   11129            0 :               switch (TREE_CODE (_p1))
   11130              :                 {
   11131            0 :                 case INTEGER_CST:
   11132            0 :                   {
   11133            0 :                     {
   11134            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   11135            0 :                       tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, NE_EXPR);
   11136            0 :                       if (res) return res;
   11137              :                     }
   11138            0 :                     break;
   11139              :                   }
   11140              :                 default:;
   11141              :                 }
   11142              :             }
   11143              :           break;
   11144            0 :         case CFN_FFS:
   11145            0 :           if (call_expr_nargs (_p0) == 1)
   11146              :     {
   11147            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11148            0 :               switch (TREE_CODE (_p1))
   11149              :                 {
   11150            0 :                 case INTEGER_CST:
   11151            0 :                   {
   11152            0 :                     {
   11153            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11154            0 :                       tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_FFS);
   11155            0 :                       if (res) return res;
   11156              :                     }
   11157            0 :                     break;
   11158              :                   }
   11159              :                 default:;
   11160              :                 }
   11161              :             }
   11162              :           break;
   11163            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
   11164            0 :           if (call_expr_nargs (_p0) == 1)
   11165              :     {
   11166            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11167            0 :               if (integer_zerop (_p1))
   11168              :                 {
   11169            0 :                   {
   11170            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11171            0 :                     tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
   11172            0 :                     if (res) return res;
   11173              :                   }
   11174              :                 }
   11175              :             }
   11176              :           break;
   11177            0 :         case CFN_BUILT_IN_CLZIMAX:
   11178            0 :           if (call_expr_nargs (_p0) == 1)
   11179              :     {
   11180            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11181            0 :               switch (TREE_CODE (_p1))
   11182              :                 {
   11183            0 :                 case INTEGER_CST:
   11184            0 :                   {
   11185            0 :                     {
   11186            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11187            0 :                       tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZIMAX);
   11188            0 :                       if (res) return res;
   11189              :                     }
   11190            0 :                     break;
   11191              :                   }
   11192              :                 default:;
   11193              :                 }
   11194              :             }
   11195              :           break;
   11196           12 :         case CFN_BUILT_IN_POPCOUNTL:
   11197           12 :           if (call_expr_nargs (_p0) == 1)
   11198              :     {
   11199           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11200           12 :               if (integer_zerop (_p1))
   11201              :                 {
   11202            1 :                   {
   11203            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11204            1 :                     tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTL);
   11205            1 :                     if (res) return res;
   11206              :                   }
   11207              :                 }
   11208              :             }
   11209              :           break;
   11210           52 :         case CFN_BUILT_IN_CLZLL:
   11211           52 :           if (call_expr_nargs (_p0) == 1)
   11212              :     {
   11213           52 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11214           52 :               switch (TREE_CODE (_p1))
   11215              :                 {
   11216           42 :                 case INTEGER_CST:
   11217           42 :                   {
   11218           42 :                     {
   11219           42 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11220           42 :                       tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZLL);
   11221           42 :                       if (res) return res;
   11222              :                     }
   11223           18 :                     break;
   11224              :                   }
   11225              :                 default:;
   11226              :                 }
   11227              :             }
   11228              :           break;
   11229           74 :         case CFN_BUILT_IN_CTZLL:
   11230           74 :           if (call_expr_nargs (_p0) == 1)
   11231              :     {
   11232           74 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11233           74 :               switch (TREE_CODE (_p1))
   11234              :                 {
   11235           64 :                 case INTEGER_CST:
   11236           64 :                   {
   11237           64 :                     {
   11238           64 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11239           64 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_CTZLL);
   11240           64 :                       if (res) return res;
   11241              :                     }
   11242           16 :                     break;
   11243              :                   }
   11244              :                 default:;
   11245              :                 }
   11246              :             }
   11247              :           break;
   11248           11 :         case CFN_BUILT_IN_FFSLL:
   11249           11 :           if (call_expr_nargs (_p0) == 1)
   11250              :     {
   11251           11 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11252           11 :               switch (TREE_CODE (_p1))
   11253              :                 {
   11254            1 :                 case INTEGER_CST:
   11255            1 :                   {
   11256            1 :                     {
   11257            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11258            1 :                       tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_FFSLL);
   11259            1 :                       if (res) return res;
   11260              :                     }
   11261            0 :                     break;
   11262              :                   }
   11263              :                 default:;
   11264              :                 }
   11265              :             }
   11266              :           break;
   11267              :         default:;
   11268              :         }
   11269              :       break;
   11270              :     default:;
   11271              :     }
   11272              :   return NULL_TREE;
   11273              : }
   11274              : 
   11275              : tree
   11276        14778 : generic_simplify_BIT_INSERT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1, tree _p2)
   11277              : {
   11278        14778 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11279        14778 :   switch (TREE_CODE (_p1))
   11280              :     {
   11281            0 :     case BIT_FIELD_REF:
   11282            0 :       {
   11283            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11284            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11285            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11286            0 :         {
   11287            0 :           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _p2 };
   11288            0 :           if (VECTOR_TYPE_P (type)
   11289            0 :  && (VECTOR_MODE_P (TYPE_MODE (type))
   11290              :  || optimize_vectors_before_lowering_p ())
   11291            0 :  && operand_equal_p (TYPE_SIZE (TREE_TYPE (captures[0])),
   11292            0 :  TYPE_SIZE (TREE_TYPE (captures[2])), 0)
   11293            0 :  && types_match (TREE_TYPE (TREE_TYPE (captures[0])), TREE_TYPE (captures[1]))
   11294            0 :  && TYPE_VECTOR_SUBPARTS (type).is_constant ()
   11295            0 :  && multiple_p (wi::to_poly_offset (captures[4]),
   11296            0 :  wi::to_poly_offset (TYPE_SIZE (TREE_TYPE (type))))
   11297              : )
   11298              :             {
   11299            0 :               {
   11300            0 :  unsigned HOST_WIDE_INT elsz
   11301            0 :  = tree_to_uhwi (TYPE_SIZE (TREE_TYPE (TREE_TYPE (captures[0]))));
   11302            0 :  poly_uint64 relt = exact_div (tree_to_poly_uint64 (captures[4]), elsz);
   11303            0 :  poly_uint64 ielt = exact_div (tree_to_poly_uint64 (captures[5]), elsz);
   11304            0 :  unsigned nunits = TYPE_VECTOR_SUBPARTS (type).to_constant ();
   11305            0 :  vec_perm_builder builder;
   11306            0 :  builder.new_vector (nunits, nunits, 1);
   11307            0 :  for (unsigned i = 0; i < nunits; ++i)
   11308            0 :  builder.quick_push (known_eq (ielt, i) ? nunits + relt : i);
   11309            0 :  vec_perm_indices sel (builder, 2, nunits);
   11310            0 :                   if (!VECTOR_MODE_P (TYPE_MODE (type))
   11311            0 :  || can_vec_perm_const_p (TYPE_MODE (type),
   11312            0 :  TYPE_MODE (type), sel, false)
   11313              : )
   11314              :                     {
   11315            0 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1974;
   11316            0 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1974;
   11317            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1974;
   11318            0 :                       {
   11319            0 :                         tree res_op0;
   11320            0 :                         res_op0 = captures[0];
   11321            0 :                         tree res_op1;
   11322            0 :                         {
   11323            0 :                           tree _o1[1], _r1;
   11324            0 :                           _o1[0] = captures[2];
   11325            0 :                           if (TREE_TYPE (_o1[0]) != type)
   11326              :                             {
   11327            0 :                               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
   11328              :                             }
   11329              :                           else
   11330              :                             _r1 = _o1[0];
   11331            0 :                           res_op1 = _r1;
   11332              :                         }
   11333            0 :                         tree res_op2;
   11334            0 :                         res_op2 =  vec_perm_indices_to_tree (build_vector_type (ssizetype, nunits),
   11335              :  sel);
   11336            0 :                         tree _r;
   11337            0 :                         _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
   11338            0 :                         if (TREE_SIDE_EFFECTS (captures[3]))
   11339            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11340            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1103, __FILE__, __LINE__, true);
   11341            0 :                         return _r;
   11342              :                       }
   11343            0 : next_after_fail1974:;
   11344              :                     }
   11345            0 :               }
   11346              :             }
   11347              :         }
   11348            0 :         break;
   11349              :       }
   11350              :     default:;
   11351              :     }
   11352              :   return NULL_TREE;
   11353              : }
   11354              : 
   11355              : tree
   11356       776548 : generic_simplify_VEC_PERM_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1, tree _p2)
   11357              : {
   11358       776548 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11359       776548 :   switch (TREE_CODE (_p0))
   11360              :     {
   11361            0 :     case PLUS_EXPR:
   11362            0 :       {
   11363            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11364            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11365            0 :         switch (TREE_CODE (_p1))
   11366              :           {
   11367            0 :           case MINUS_EXPR:
   11368            0 :             {
   11369            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11370            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11371            0 :               switch (TREE_CODE (_p2))
   11372              :                 {
   11373            0 :                 case VECTOR_CST:
   11374            0 :                   {
   11375            0 :                     {
   11376            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51, _p2 };
   11377            0 :                       tree res = generic_simplify_626 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR, MINUS_EXPR);
   11378            0 :                       if (res) return res;
   11379              :                     }
   11380            0 :                     break;
   11381              :                   }
   11382              :                 default:;
   11383              :                 }
   11384              :               break;
   11385              :             }
   11386              :           default:;
   11387              :           }
   11388              :         break;
   11389              :       }
   11390            0 :     case MINUS_EXPR:
   11391            0 :       {
   11392            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11393            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11394            0 :         switch (TREE_CODE (_p1))
   11395              :           {
   11396            0 :           case PLUS_EXPR:
   11397            0 :             {
   11398            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11399            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11400            0 :               switch (TREE_CODE (_p2))
   11401              :                 {
   11402            0 :                 case VECTOR_CST:
   11403            0 :                   {
   11404            0 :                     {
   11405            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51, _p2 };
   11406            0 :                       tree res = generic_simplify_626 (loc, type, _p0, _p1, _p2, captures, MINUS_EXPR, PLUS_EXPR);
   11407            0 :                       if (res) return res;
   11408              :                     }
   11409            0 :                     break;
   11410              :                   }
   11411              :                 default:;
   11412              :                 }
   11413              :               break;
   11414              :             }
   11415              :           default:;
   11416              :           }
   11417              :         break;
   11418              :       }
   11419       776548 :     default:;
   11420              :     }
   11421       776548 :   switch (TREE_CODE (_p2))
   11422              :     {
   11423       765075 :     case VECTOR_CST:
   11424       765075 :       {
   11425       765075 :         {
   11426       765075 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   11427       765075 :           {
   11428       765075 :  tree op0 = captures[0], op1 = captures[1], op2 = captures[2];
   11429       765075 :  machine_mode result_mode = TYPE_MODE (type);
   11430       765075 :  machine_mode op_mode = TYPE_MODE (TREE_TYPE (op0));
   11431       765075 :  vec_perm_builder builder;
   11432       765075 :               if (tree_to_vec_perm_builder (&builder, op2)
   11433              : )
   11434              :                 {
   11435       765063 :                   {
   11436       765063 :  poly_uint64 nelts = TYPE_VECTOR_SUBPARTS (type);
   11437       765063 :  poly_uint64 nelts_in = TYPE_VECTOR_SUBPARTS (TREE_TYPE (op0));
   11438       765063 :  bool single_arg = (op0 == op1);
   11439      1334987 :  vec_perm_indices sel (builder, single_arg ? 1 : 2, nelts_in);
   11440       765063 :                       if (known_eq (nelts, nelts_in) && sel.series_p (0, 1, 0, 1)
   11441              : )
   11442              :                         {
   11443         8426 :                           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1975;
   11444         8426 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1975;
   11445         8426 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1975;
   11446         8426 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1975;
   11447         8426 :                           {
   11448         8426 :                             tree res_op0;
   11449         8426 :                             res_op0 = captures[0];
   11450         8426 :                             tree _r;
   11451         8426 :                             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
   11452         8426 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1104, __FILE__, __LINE__, true);
   11453         8426 :                             return _r;
   11454              :                           }
   11455       739033 : next_after_fail1975:;
   11456              :                         }
   11457              :                       else
   11458              :                         {
   11459       756637 :                           if (known_eq (nelts, nelts_in) && sel.series_p (0, 1, nelts_in, 1)
   11460              : )
   11461              :                             {
   11462           13 :                               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1976;
   11463           13 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1976;
   11464           13 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1976;
   11465           13 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1976;
   11466           13 :                               {
   11467           13 :                                 tree res_op0;
   11468           13 :                                 res_op0 = captures[1];
   11469           13 :                                 tree _r;
   11470           13 :                                 _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
   11471           13 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1105, __FILE__, __LINE__, true);
   11472           13 :                                 return _r;
   11473              :                               }
   11474       739033 : next_after_fail1976:;
   11475              :                             }
   11476              :                           else
   11477              :                             {
   11478       756624 :                               {
   11479       756624 :  if (!single_arg)
   11480              :  {
   11481       562161 :  if (sel.all_from_input_p (0))
   11482              :  op1 = op0;
   11483       555138 :  else if (sel.all_from_input_p (1))
   11484              :  {
   11485           32 :  op0 = op1;
   11486           32 :  sel.rotate_inputs (1);
   11487              :  }
   11488       555106 :  else if (known_ge (poly_uint64 (sel[0]), nelts_in))
   11489              :  {
   11490          158 :  std::swap (op0, op1);
   11491          158 :  sel.rotate_inputs (1);
   11492              :  }
   11493              :  }
   11494       756624 :  gassign *def;
   11495       756624 :  tree cop0 = op0, cop1 = op1;
   11496       756624 :  if (TREE_CODE (op0) == SSA_NAME
   11497       723515 :  && (def = dyn_cast <gassign *> (SSA_NAME_DEF_STMT (op0)))
   11498      1445851 :  && gimple_assign_rhs_code (def) == CONSTRUCTOR)
   11499         8480 :  cop0 = gimple_assign_rhs1 (def);
   11500       756624 :  if (TREE_CODE (op1) == SSA_NAME
   11501       709951 :  && (def = dyn_cast <gassign *> (SSA_NAME_DEF_STMT (op1)))
   11502      1433454 :  && gimple_assign_rhs_code (def) == CONSTRUCTOR)
   11503        15098 :  cop1 = gimple_assign_rhs1 (def);
   11504       756624 :  tree t;
   11505       756624 :                                   if ((TREE_CODE (cop0) == VECTOR_CST
   11506       727005 :  || TREE_CODE (cop0) == CONSTRUCTOR)
   11507        38946 :  && (TREE_CODE (cop1) == VECTOR_CST
   11508        20021 :  || TREE_CODE (cop1) == CONSTRUCTOR)
   11509       783163 :  && (t = fold_vec_perm (type, cop0, cop1, sel))
   11510              : )
   11511              :                                     {
   11512        15146 :                                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1977;
   11513        15146 :                                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1977;
   11514        15146 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1977;
   11515        15146 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1977;
   11516        15146 :                                       {
   11517        15146 :                                         tree _r;
   11518        15146 :                                         _r =  t;
   11519        15146 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1106, __FILE__, __LINE__, true);
   11520        15146 :                                         return _r;
   11521              :                                       }
   11522       739033 : next_after_fail1977:;
   11523              :                                     }
   11524              :                                   else
   11525              :                                     {
   11526       741478 :                                       {
   11527       741478 :  bool changed = (op0 == op1 && !single_arg);
   11528       741478 :  tree ins = NULL_TREE;
   11529       741478 :  unsigned at = 0;
   11530       741478 :  if (op_mode != BLKmode
   11531       732473 :  && known_eq (nelts, nelts_in)
   11532      1473798 :  && (TREE_CODE (cop0) == VECTOR_CST
   11533       716911 :  || TREE_CODE (cop0) == CONSTRUCTOR
   11534       710864 :  || TREE_CODE (cop1) == VECTOR_CST
   11535       686534 :  || TREE_CODE (cop1) == CONSTRUCTOR))
   11536              :  {
   11537        53530 :  bool insert_first_p = sel.series_p (1, 1, nelts + 1, 1);
   11538        53530 :  if (insert_first_p)
   11539              :  {
   11540          778 :  at = 0;
   11541          778 :  if ((ins = fold_read_from_vector (cop0, sel[0])))
   11542          115 :  op0 = op1;
   11543              :  }
   11544          778 :  if (!insert_first_p || (!ins && maybe_eq (nelts, 2u)))
   11545              :  {
   11546        53216 :  unsigned int encoded_nelts = sel.encoding ().encoded_nelts ();
   11547       108094 :  for (at = 0; at < encoded_nelts; ++at)
   11548       107968 :  if (maybe_ne (sel[at], at))
   11549              :  break;
   11550        53216 :  if (at < encoded_nelts
   11551        53216 :  && (known_eq (at + 1, nelts)
   11552        52001 :  || sel.series_p (at + 1, 1, at + 1, 1)))
   11553              :  {
   11554         1796 :  if (known_lt (poly_uint64 (sel[at]), nelts))
   11555            0 :  ins = fold_read_from_vector (cop0, sel[at]);
   11556              :  else
   11557         1796 :  ins = fold_read_from_vector (cop1, sel[at] - nelts);
   11558              :  }
   11559              :  }
   11560              :  }
   11561       741478 :  if (!ins && sel.encoding () != builder)
   11562              :  {
   11563         1128 :  tree oldop2 = op2;
   11564         1128 :  if (sel.ninputs () == 2
   11565         1128 :  || can_vec_perm_const_p (result_mode, op_mode, sel, false))
   11566          689 :  op2 = vec_perm_indices_to_tree (TREE_TYPE (op2), sel);
   11567              :  else
   11568              :  {
   11569          439 :  vec_perm_indices sel2 (builder, 2, nelts);
   11570          439 :  if (can_vec_perm_const_p (result_mode, op_mode, sel2, false))
   11571          164 :  op2 = vec_perm_indices_to_tree (TREE_TYPE (op2), sel2);
   11572              :  else
   11573          275 :  op2 = vec_perm_indices_to_tree (TREE_TYPE (op2), sel);
   11574          439 :  }
   11575         1128 :  if (!operand_equal_p (op2, oldop2, 0))
   11576          964 :  changed = true;
   11577              :  }
   11578       741478 :                                           if (ins
   11579              : )
   11580              :                                             {
   11581         1480 :                                               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1978;
   11582         1480 :                                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1978;
   11583         1480 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1978;
   11584         1480 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1978;
   11585         1480 :                                               {
   11586         1480 :                                                 tree res_op0;
   11587         1480 :                                                 res_op0 =  op0;
   11588         1480 :                                                 tree res_op1;
   11589         1480 :                                                 res_op1 =  ins;
   11590         1480 :                                                 tree res_op2;
   11591         1480 :                                                 res_op2 =  bitsize_int (at * vector_element_bits (type));
   11592         1480 :                                                 tree _r;
   11593         1480 :                                                 _r = fold_build3_loc (loc, BIT_INSERT_EXPR, type, res_op0, res_op1, res_op2);
   11594         1480 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1107, __FILE__, __LINE__, true);
   11595        26030 :                                                 return _r;
   11596              :                                               }
   11597              : next_after_fail1978:;
   11598              :                                             }
   11599              :                                           else
   11600              :                                             {
   11601       739998 :                                               if (changed
   11602              : )
   11603              :                                                 {
   11604          965 :                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1979;
   11605          965 :                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1979;
   11606          965 :                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1979;
   11607          965 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1979;
   11608          965 :                                                   {
   11609          965 :                                                     tree res_op0;
   11610          965 :                                                     res_op0 =  op0;
   11611          965 :                                                     tree res_op1;
   11612          965 :                                                     res_op1 =  op1;
   11613          965 :                                                     tree res_op2;
   11614          965 :                                                     res_op2 =  op2;
   11615          965 :                                                     tree _r;
   11616          965 :                                                     _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
   11617          965 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1108, __FILE__, __LINE__, true);
   11618          965 :                                                     return _r;
   11619              :                                                   }
   11620              : next_after_fail1979:;
   11621              :                                                 }
   11622              :                                             }
   11623              :                                       }
   11624              :                                     }
   11625              :                               }
   11626              :                             }
   11627              :                         }
   11628       765063 :                   }
   11629              :                 }
   11630        26030 :           }
   11631              :         }
   11632       739045 :         break;
   11633              :       }
   11634       750518 :     default:;
   11635              :     }
   11636       750518 :   switch (TREE_CODE (_p0))
   11637              :     {
   11638            0 :     case VIEW_CONVERT_EXPR:
   11639            0 :       {
   11640            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11641            0 :         switch (TREE_CODE (_q20))
   11642              :           {
   11643            0 :           case VEC_PERM_EXPR:
   11644            0 :             {
   11645            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11646            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11647            0 :               tree _q32 = TREE_OPERAND (_q20, 2);
   11648            0 :               switch (TREE_CODE (_q32))
   11649              :                 {
   11650            0 :                 case VECTOR_CST:
   11651            0 :                   {
   11652            0 :                     if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11653              :                       {
   11654            0 :                         switch (TREE_CODE (_p2))
   11655              :                           {
   11656            0 :                           case VECTOR_CST:
   11657            0 :                             {
   11658            0 :                               {
   11659            0 :                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q32, _p2 };
   11660            0 :                                 if (TYPE_VECTOR_SUBPARTS (type).is_constant ()
   11661              : )
   11662              :                                   {
   11663            0 :                                     {
   11664            0 :  machine_mode result_mode = TYPE_MODE (type);
   11665            0 :  machine_mode op_mode = TYPE_MODE (TREE_TYPE (captures[2]));
   11666            0 :  int nelts = TYPE_VECTOR_SUBPARTS (type).to_constant ();
   11667            0 :  vec_perm_builder builder0;
   11668            0 :  vec_perm_builder builder1;
   11669            0 :  vec_perm_builder builder2 (nelts, nelts, 1);
   11670            0 :                                         if (tree_to_vec_perm_builder (&builder0, captures[4])
   11671            0 :  && tree_to_vec_perm_builder (&builder1, captures[5])
   11672            0 :  && TYPE_SIZE (TREE_TYPE (TREE_TYPE (captures[0])))
   11673            0 :  == TYPE_SIZE (TREE_TYPE (TREE_TYPE (captures[1])))
   11674              : )
   11675              :                                           {
   11676            0 :                                             {
   11677            0 :  vec_perm_indices sel0 (builder0, 2, nelts);
   11678            0 :  vec_perm_indices sel1 (builder1, 2, nelts);
   11679            0 :  for (int i = 0; i < nelts; i++)
   11680            0 :  builder2.quick_push (sel0[sel1[i].to_constant ()]);
   11681            0 :  vec_perm_indices sel2 (builder2, 2, nelts);
   11682            0 :  tree op0 = NULL_TREE;
   11683            0 :  if (can_vec_perm_const_p (result_mode, op_mode, sel2, false)
   11684            0 :  || (single_use (captures[0])
   11685            0 :  ? (!can_vec_perm_const_p (result_mode, op_mode, sel0, false)
   11686            0 :  || !can_vec_perm_const_p (result_mode, op_mode, sel1, false))
   11687              :  : !can_vec_perm_const_p (result_mode, op_mode, sel1, false)))
   11688            0 :  op0 = vec_perm_indices_to_tree (TREE_TYPE (captures[5]), sel2);
   11689            0 :                                                 if (op0
   11690              : )
   11691              :                                                   {
   11692            0 :                                                     if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1980;
   11693            0 :                                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1980;
   11694            0 :                                                     {
   11695            0 :                                                       tree res_op0;
   11696            0 :                                                       {
   11697            0 :                                                         tree _o1[3], _r1;
   11698            0 :                                                         _o1[0] = captures[2];
   11699            0 :                                                         _o1[1] = captures[3];
   11700            0 :                                                         _o1[2] =  op0;
   11701            0 :                                                         _r1 = fold_build3_loc (loc, VEC_PERM_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1], _o1[2]);
   11702            0 :                                                         res_op0 = _r1;
   11703              :                                                       }
   11704            0 :                                                       tree _r;
   11705            0 :                                                       _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
   11706            0 :                                                       if (TREE_SIDE_EFFECTS (captures[4]))
   11707            0 :                                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
   11708            0 :                                                       if (TREE_SIDE_EFFECTS (captures[5]))
   11709            0 :                                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[5]), _r);
   11710            0 :                                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1109, __FILE__, __LINE__, true);
   11711            0 :                                                       return _r;
   11712              :                                                     }
   11713            0 : next_after_fail1980:;
   11714              :                                                   }
   11715            0 :                                             }
   11716              :                                           }
   11717            0 :                                     }
   11718              :                                   }
   11719              :                               }
   11720            0 :                               break;
   11721              :                             }
   11722              :                           default:;
   11723              :                           }
   11724              :                       }
   11725              :                     break;
   11726              :                   }
   11727              :                 default:;
   11728              :                 }
   11729              :               break;
   11730              :             }
   11731              :           default:;
   11732              :           }
   11733              :         break;
   11734              :       }
   11735            0 :     case VEC_PERM_EXPR:
   11736            0 :       {
   11737            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11738            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11739            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11740            0 :         switch (TREE_CODE (_q22))
   11741              :           {
   11742            0 :           case VECTOR_CST:
   11743            0 :             {
   11744            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11745              :                 {
   11746            0 :                   switch (TREE_CODE (_p2))
   11747              :                     {
   11748            0 :                     case VECTOR_CST:
   11749            0 :                       {
   11750            0 :                         {
   11751            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _q22, _p2 };
   11752            0 :                           if (TYPE_VECTOR_SUBPARTS (type).is_constant ()
   11753              : )
   11754              :                             {
   11755            0 :                               {
   11756            0 :  machine_mode result_mode = TYPE_MODE (type);
   11757            0 :  machine_mode op_mode = TYPE_MODE (TREE_TYPE (captures[2]));
   11758            0 :  int nelts = TYPE_VECTOR_SUBPARTS (type).to_constant ();
   11759            0 :  vec_perm_builder builder0;
   11760            0 :  vec_perm_builder builder1;
   11761            0 :  vec_perm_builder builder2 (nelts, nelts, 1);
   11762            0 :                                   if (tree_to_vec_perm_builder (&builder0, captures[4])
   11763            0 :  && tree_to_vec_perm_builder (&builder1, captures[5])
   11764            0 :  && TYPE_SIZE (TREE_TYPE (TREE_TYPE (captures[0])))
   11765            0 :  == TYPE_SIZE (TREE_TYPE (TREE_TYPE (captures[1])))
   11766              : )
   11767              :                                     {
   11768            0 :                                       {
   11769            0 :  vec_perm_indices sel0 (builder0, 2, nelts);
   11770            0 :  vec_perm_indices sel1 (builder1, 2, nelts);
   11771            0 :  for (int i = 0; i < nelts; i++)
   11772            0 :  builder2.quick_push (sel0[sel1[i].to_constant ()]);
   11773            0 :  vec_perm_indices sel2 (builder2, 2, nelts);
   11774            0 :  tree op0 = NULL_TREE;
   11775            0 :  if (can_vec_perm_const_p (result_mode, op_mode, sel2, false)
   11776            0 :  || (single_use (captures[0])
   11777            0 :  ? (!can_vec_perm_const_p (result_mode, op_mode, sel0, false)
   11778            0 :  || !can_vec_perm_const_p (result_mode, op_mode, sel1, false))
   11779              :  : !can_vec_perm_const_p (result_mode, op_mode, sel1, false)))
   11780            0 :  op0 = vec_perm_indices_to_tree (TREE_TYPE (captures[5]), sel2);
   11781            0 :                                           if (op0
   11782              : )
   11783              :                                             {
   11784            0 :                                               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1981;
   11785            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1981;
   11786            0 :                                               {
   11787            0 :                                                 tree res_op0;
   11788            0 :                                                 {
   11789            0 :                                                   tree _o1[3], _r1;
   11790            0 :                                                   _o1[0] = captures[2];
   11791            0 :                                                   _o1[1] = captures[3];
   11792            0 :                                                   _o1[2] =  op0;
   11793            0 :                                                   _r1 = fold_build3_loc (loc, VEC_PERM_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1], _o1[2]);
   11794            0 :                                                   res_op0 = _r1;
   11795              :                                                 }
   11796            0 :                                                 tree _r;
   11797            0 :                                                 _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
   11798            0 :                                                 if (TREE_SIDE_EFFECTS (captures[4]))
   11799            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
   11800            0 :                                                 if (TREE_SIDE_EFFECTS (captures[5]))
   11801            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[5]), _r);
   11802            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1109, __FILE__, __LINE__, true);
   11803            0 :                                                 return _r;
   11804              :                                               }
   11805            0 : next_after_fail1981:;
   11806              :                                             }
   11807            0 :                                       }
   11808              :                                     }
   11809            0 :                               }
   11810              :                             }
   11811              :                         }
   11812            0 :                         break;
   11813              :                       }
   11814              :                     default:;
   11815              :                     }
   11816              :                 }
   11817              :               break;
   11818              :             }
   11819              :           default:;
   11820              :           }
   11821              :         break;
   11822              :       }
   11823       750518 :     default:;
   11824              :     }
   11825       750518 : if (tree_vec_same_elem_p (_p0))
   11826              :   {
   11827        13913 :     if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11828              :       {
   11829            0 :         {
   11830            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p2 };
   11831            0 :           if (types_match (type, TREE_TYPE (captures[0]))
   11832              : )
   11833              :             {
   11834            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1982;
   11835            0 :               {
   11836            0 :                 tree _r;
   11837            0 :                 _r = captures[0];
   11838            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
   11839            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11840            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1110, __FILE__, __LINE__, true);
   11841            0 :                 return _r;
   11842              :               }
   11843            0 : next_after_fail1982:;
   11844              :             }
   11845              :           else
   11846              :             {
   11847            0 :               {
   11848            0 :  tree elem = uniform_vector_p (captures[0]);
   11849            0 :                   if (elem
   11850              : )
   11851              :                     {
   11852            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1983;
   11853            0 :                       {
   11854            0 :                         tree _r;
   11855            0 :                         _r =  build_vector_from_val (type, elem);
   11856            0 :                         if (TREE_SIDE_EFFECTS (captures[0]))
   11857            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11858            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
   11859            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11860            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1111, __FILE__, __LINE__, true);
   11861            0 :                         return _r;
   11862              :                       }
   11863            0 : next_after_fail1983:;
   11864              :                     }
   11865              :               }
   11866              :             }
   11867              :         }
   11868              :       }
   11869              :   }
   11870       750518 :   switch (TREE_CODE (_p1))
   11871              :     {
   11872            0 :     case VEC_PERM_EXPR:
   11873            0 :       {
   11874            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11875            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11876            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11877            0 :         switch (TREE_CODE (_q32))
   11878              :           {
   11879            0 :           case VECTOR_CST:
   11880            0 :             {
   11881            0 :               switch (TREE_CODE (_p2))
   11882              :                 {
   11883            0 :                 case VECTOR_CST:
   11884            0 :                   {
   11885            0 :                     {
   11886            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _p2 };
   11887            0 :                       if (TYPE_VECTOR_SUBPARTS (type).is_constant ()
   11888              : )
   11889              :                         {
   11890            0 :                           {
   11891            0 :  machine_mode result_mode = TYPE_MODE (type);
   11892            0 :  machine_mode op_mode = TYPE_MODE (TREE_TYPE (captures[2]));
   11893            0 :  int nelts = TYPE_VECTOR_SUBPARTS (type).to_constant ();
   11894            0 :  vec_perm_builder builder0;
   11895            0 :  vec_perm_builder builder1;
   11896            0 :  vec_perm_builder builder2 (nelts, nelts, 2);
   11897            0 :                               if (tree_to_vec_perm_builder (&builder0, captures[4])
   11898            0 :  && tree_to_vec_perm_builder (&builder1, captures[5])
   11899              : )
   11900              :                                 {
   11901            0 :                                   {
   11902            0 :  vec_perm_indices sel0 (builder0, 2, nelts);
   11903            0 :  vec_perm_indices sel1 (builder1, 2, nelts);
   11904            0 :  bool use_1 = false, use_2 = false;
   11905            0 :  for (int i = 0; i < nelts; i++)
   11906              :  {
   11907            0 :  if (known_lt ((poly_uint64)sel1[i], sel1.nelts_per_input ()))
   11908            0 :  builder2.quick_push (sel1[i]);
   11909              :  else
   11910              :  {
   11911            0 :  poly_uint64 j = sel0[(sel1[i] - sel1.nelts_per_input ())
   11912            0 :  .to_constant ()];
   11913            0 :  if (known_lt (j, sel0.nelts_per_input ()))
   11914              :  use_1 = true;
   11915              :  else
   11916              :  {
   11917            0 :  use_2 = true;
   11918            0 :  j -= sel0.nelts_per_input ();
   11919              :  }
   11920            0 :  builder2.quick_push (j + sel1.nelts_per_input ());
   11921              :  }
   11922              :  }
   11923            0 :                                       if (use_1 ^ use_2
   11924              : )
   11925              :                                         {
   11926            0 :                                           {
   11927            0 :  vec_perm_indices sel2 (builder2, 2, nelts);
   11928            0 :  tree op0 = NULL_TREE;
   11929            0 :  if (can_vec_perm_const_p (result_mode, op_mode, sel2, false)
   11930            0 :  || (single_use (captures[1])
   11931            0 :  ? (!can_vec_perm_const_p (result_mode, op_mode, sel0, false)
   11932            0 :  || !can_vec_perm_const_p (result_mode, op_mode, sel1, false))
   11933              :  : !can_vec_perm_const_p (result_mode, op_mode, sel1, false)))
   11934            0 :  op0 = vec_perm_indices_to_tree (TREE_TYPE (captures[5]), sel2);
   11935            0 :                                               if (op0
   11936              : )
   11937              :                                                 {
   11938            0 :                                                   if (use_1
   11939              : )
   11940              :                                                     {
   11941            0 :                                                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1984;
   11942            0 :                                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1984;
   11943            0 :                                                       {
   11944            0 :                                                         tree res_op0;
   11945            0 :                                                         res_op0 = captures[0];
   11946            0 :                                                         tree res_op1;
   11947            0 :                                                         res_op1 = captures[2];
   11948            0 :                                                         tree res_op2;
   11949            0 :                                                         res_op2 =  op0;
   11950            0 :                                                         tree _r;
   11951            0 :                                                         _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
   11952            0 :                                                         if (TREE_SIDE_EFFECTS (captures[3]))
   11953            0 :                                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11954            0 :                                                         if (TREE_SIDE_EFFECTS (captures[4]))
   11955            0 :                                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
   11956            0 :                                                         if (TREE_SIDE_EFFECTS (captures[5]))
   11957            0 :                                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[5]), _r);
   11958            0 :                                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1112, __FILE__, __LINE__, true);
   11959            0 :                                                         return _r;
   11960              :                                                       }
   11961            0 : next_after_fail1984:;
   11962              :                                                     }
   11963              :                                                   else
   11964              :                                                     {
   11965            0 :                                                       if (use_2
   11966              : )
   11967              :                                                         {
   11968            0 :                                                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1985;
   11969            0 :                                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1985;
   11970            0 :                                                           {
   11971            0 :                                                             tree res_op0;
   11972            0 :                                                             res_op0 = captures[0];
   11973            0 :                                                             tree res_op1;
   11974            0 :                                                             res_op1 = captures[3];
   11975            0 :                                                             tree res_op2;
   11976            0 :                                                             res_op2 =  op0;
   11977            0 :                                                             tree _r;
   11978            0 :                                                             _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
   11979            0 :                                                             if (TREE_SIDE_EFFECTS (captures[2]))
   11980            0 :                                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11981            0 :                                                             if (TREE_SIDE_EFFECTS (captures[4]))
   11982            0 :                                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
   11983            0 :                                                             if (TREE_SIDE_EFFECTS (captures[5]))
   11984            0 :                                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[5]), _r);
   11985            0 :                                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1113, __FILE__, __LINE__, true);
   11986            0 :                                                             return _r;
   11987              :                                                           }
   11988            0 : next_after_fail1985:;
   11989              :                                                         }
   11990              :                                                     }
   11991              :                                                 }
   11992            0 :                                           }
   11993              :                                         }
   11994            0 :                                   }
   11995              :                                 }
   11996            0 :                           }
   11997              :                         }
   11998              :                     }
   11999            0 :                     break;
   12000              :                   }
   12001              :                 default:;
   12002              :                 }
   12003              :               break;
   12004              :             }
   12005              :           default:;
   12006              :           }
   12007              :         break;
   12008              :       }
   12009       750518 :     default:;
   12010              :     }
   12011       750518 :   switch (TREE_CODE (_p0))
   12012              :     {
   12013            0 :     case VEC_PERM_EXPR:
   12014            0 :       {
   12015            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12016            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12017            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   12018            0 :         switch (TREE_CODE (_q22))
   12019              :           {
   12020            0 :           case VECTOR_CST:
   12021            0 :             {
   12022            0 :               switch (TREE_CODE (_p2))
   12023              :                 {
   12024            0 :                 case VECTOR_CST:
   12025            0 :                   {
   12026            0 :                     {
   12027            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _p2 };
   12028            0 :                       if (TYPE_VECTOR_SUBPARTS (type).is_constant ()
   12029              : )
   12030              :                         {
   12031            0 :                           {
   12032            0 :  machine_mode result_mode = TYPE_MODE (type);
   12033            0 :  machine_mode op_mode = TYPE_MODE (TREE_TYPE (captures[1]));
   12034            0 :  int nelts = TYPE_VECTOR_SUBPARTS (type).to_constant ();
   12035            0 :  vec_perm_builder builder0;
   12036            0 :  vec_perm_builder builder1;
   12037            0 :  vec_perm_builder builder2 (nelts, nelts, 2);
   12038            0 :                               if (tree_to_vec_perm_builder (&builder0, captures[3])
   12039            0 :  && tree_to_vec_perm_builder (&builder1, captures[5])
   12040              : )
   12041              :                                 {
   12042            0 :                                   {
   12043            0 :  vec_perm_indices sel0 (builder0, 2, nelts);
   12044            0 :  vec_perm_indices sel1 (builder1, 2, nelts);
   12045            0 :  bool use_1 = false, use_2 = false;
   12046            0 :  for (int i = 0; i < nelts; i++)
   12047              :  {
   12048            0 :  if (known_ge ((poly_uint64)sel1[i], sel1.nelts_per_input ()))
   12049            0 :  builder2.quick_push (sel1[i]);
   12050              :  else
   12051              :  {
   12052            0 :  poly_uint64 j = sel0[sel1[i].to_constant ()];
   12053            0 :  if (known_lt (j, sel0.nelts_per_input ()))
   12054              :  use_1 = true;
   12055              :  else
   12056              :  {
   12057            0 :  use_2 = true;
   12058            0 :  j -= sel0.nelts_per_input ();
   12059              :  }
   12060            0 :  builder2.quick_push (j);
   12061              :  }
   12062              :  }
   12063            0 :                                       if (use_1 ^ use_2
   12064              : )
   12065              :                                         {
   12066            0 :                                           {
   12067            0 :  vec_perm_indices sel2 (builder2, 2, nelts);
   12068            0 :  tree op0 = NULL_TREE;
   12069            0 :  if (can_vec_perm_const_p (result_mode, op_mode, sel2, false)
   12070            0 :  || (single_use (captures[0])
   12071            0 :  ? (!can_vec_perm_const_p (result_mode, op_mode, sel0, false)
   12072            0 :  || !can_vec_perm_const_p (result_mode, op_mode, sel1, false))
   12073              :  : !can_vec_perm_const_p (result_mode, op_mode, sel1, false)))
   12074            0 :  op0 = vec_perm_indices_to_tree (TREE_TYPE (captures[5]), sel2);
   12075            0 :                                               if (op0
   12076              : )
   12077              :                                                 {
   12078            0 :                                                   if (use_1
   12079              : )
   12080              :                                                     {
   12081            0 :                                                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1986;
   12082            0 :                                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1986;
   12083            0 :                                                       {
   12084            0 :                                                         tree res_op0;
   12085            0 :                                                         res_op0 = captures[1];
   12086            0 :                                                         tree res_op1;
   12087            0 :                                                         res_op1 = captures[4];
   12088            0 :                                                         tree res_op2;
   12089            0 :                                                         res_op2 =  op0;
   12090            0 :                                                         tree _r;
   12091            0 :                                                         _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
   12092            0 :                                                         if (TREE_SIDE_EFFECTS (captures[2]))
   12093            0 :                                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12094            0 :                                                         if (TREE_SIDE_EFFECTS (captures[3]))
   12095            0 :                                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   12096            0 :                                                         if (TREE_SIDE_EFFECTS (captures[5]))
   12097            0 :                                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[5]), _r);
   12098            0 :                                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1114, __FILE__, __LINE__, true);
   12099            0 :                                                         return _r;
   12100              :                                                       }
   12101            0 : next_after_fail1986:;
   12102              :                                                     }
   12103              :                                                   else
   12104              :                                                     {
   12105            0 :                                                       if (use_2
   12106              : )
   12107              :                                                         {
   12108            0 :                                                           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1987;
   12109            0 :                                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1987;
   12110            0 :                                                           {
   12111            0 :                                                             tree res_op0;
   12112            0 :                                                             res_op0 = captures[2];
   12113            0 :                                                             tree res_op1;
   12114            0 :                                                             res_op1 = captures[4];
   12115            0 :                                                             tree res_op2;
   12116            0 :                                                             res_op2 =  op0;
   12117            0 :                                                             tree _r;
   12118            0 :                                                             _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
   12119            0 :                                                             if (TREE_SIDE_EFFECTS (captures[1]))
   12120            0 :                                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   12121            0 :                                                             if (TREE_SIDE_EFFECTS (captures[3]))
   12122            0 :                                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   12123            0 :                                                             if (TREE_SIDE_EFFECTS (captures[5]))
   12124            0 :                                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[5]), _r);
   12125            0 :                                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1115, __FILE__, __LINE__, true);
   12126            0 :                                                             return _r;
   12127              :                                                           }
   12128            0 : next_after_fail1987:;
   12129              :                                                         }
   12130              :                                                     }
   12131              :                                                 }
   12132            0 :                                           }
   12133              :                                         }
   12134            0 :                                   }
   12135              :                                 }
   12136            0 :                           }
   12137              :                         }
   12138              :                     }
   12139            0 :                     break;
   12140              :                   }
   12141            0 :                 default:;
   12142              :                 }
   12143            0 :               switch (TREE_CODE (_p1))
   12144              :                 {
   12145            0 :                 case VEC_PERM_EXPR:
   12146            0 :                   {
   12147            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   12148            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   12149            0 :                     tree _q62 = TREE_OPERAND (_p1, 2);
   12150            0 :                     if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   12151              :                       {
   12152            0 :                         switch (TREE_CODE (_q62))
   12153              :                           {
   12154            0 :                           case VECTOR_CST:
   12155            0 :                             {
   12156            0 :                               switch (TREE_CODE (_p2))
   12157              :                                 {
   12158            0 :                                 case VECTOR_CST:
   12159            0 :                                   {
   12160            0 :                                     {
   12161            0 :                                       tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60, _q61, _p2 };
   12162            0 :                                       tree res = generic_simplify_627 (loc, type, _p0, _p1, _p2, captures);
   12163            0 :                                       if (res) return res;
   12164              :                                     }
   12165            0 :                                     break;
   12166              :                                   }
   12167              :                                 default:;
   12168              :                                 }
   12169              :                               break;
   12170              :                             }
   12171              :                           default:;
   12172              :                           }
   12173              :                       }
   12174              :                     break;
   12175              :                   }
   12176              :                 default:;
   12177              :                 }
   12178              :               break;
   12179              :             }
   12180              :           default:;
   12181              :           }
   12182              :         break;
   12183              :       }
   12184            0 :     case VIEW_CONVERT_EXPR:
   12185            0 :       {
   12186            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12187            0 :         switch (TREE_CODE (_q20))
   12188              :           {
   12189            0 :           case VEC_PERM_EXPR:
   12190            0 :             {
   12191            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12192            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12193            0 :               tree _q32 = TREE_OPERAND (_q20, 2);
   12194            0 :               switch (TREE_CODE (_q32))
   12195              :                 {
   12196            0 :                 case VECTOR_CST:
   12197            0 :                   {
   12198            0 :                     switch (TREE_CODE (_p1))
   12199              :                       {
   12200            0 :                       case VIEW_CONVERT_EXPR:
   12201            0 :                         {
   12202            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   12203            0 :                           switch (TREE_CODE (_q70))
   12204              :                             {
   12205            0 :                             case VEC_PERM_EXPR:
   12206            0 :                               {
   12207            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
   12208            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
   12209            0 :                                 tree _q82 = TREE_OPERAND (_q70, 2);
   12210            0 :                                 if ((_q82 == _q32 && ! TREE_SIDE_EFFECTS (_q82)) || (operand_equal_p (_q82, _q32, 0) && types_match (_q82, _q32)))
   12211              :                                   {
   12212            0 :                                     switch (TREE_CODE (_q82))
   12213              :                                       {
   12214            0 :                                       case VECTOR_CST:
   12215            0 :                                         {
   12216            0 :                                           switch (TREE_CODE (_p2))
   12217              :                                             {
   12218            0 :                                             case VECTOR_CST:
   12219            0 :                                               {
   12220            0 :                                                 {
   12221            0 :                                                   tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q31, _q32, _q80, _q81, _p2 };
   12222            0 :                                                   tree res = generic_simplify_627 (loc, type, _p0, _p1, _p2, captures);
   12223            0 :                                                   if (res) return res;
   12224              :                                                 }
   12225            0 :                                                 break;
   12226              :                                               }
   12227              :                                             default:;
   12228              :                                             }
   12229              :                                           break;
   12230              :                                         }
   12231              :                                       default:;
   12232              :                                       }
   12233              :                                   }
   12234              :                                 break;
   12235              :                               }
   12236              :                             default:;
   12237              :                             }
   12238              :                           break;
   12239              :                         }
   12240              :                       default:;
   12241              :                       }
   12242              :                     break;
   12243              :                   }
   12244              :                 default:;
   12245              :                 }
   12246              :               break;
   12247              :             }
   12248              :           default:;
   12249              :           }
   12250              :         break;
   12251              :       }
   12252              :     default:;
   12253              :     }
   12254              :   return NULL_TREE;
   12255              : }
   12256              : #pragma GCC diagnostic pop
        

Generated by: LCOV version 2.4-beta

LCOV profile is generated on x86_64 machine using following configure options: configure --disable-bootstrap --enable-coverage=opt --enable-languages=c,c++,fortran,go,jit,lto,rust,m2 --enable-host-shared. GCC test suite is run with the built compiler.