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: 49.3 % 11615 5728
Test Date: 2026-05-30 15:37:04 Functions: 59.5 % 79 47
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    101913796 : tree_logical_inverted_value (tree t, tree *res_ops)
      11              : {
      12    101913796 :   const tree type = TREE_TYPE (t);
      13    101913796 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    101913796 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15     93348576 :   switch (TREE_CODE (t))
      16              :     {
      17       479085 :     case TRUTH_NOT_EXPR:
      18       479085 :       {
      19       479085 :         tree _p0 = TREE_OPERAND (t, 0);
      20       479085 :         {
      21       479085 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      22       479085 :           {
      23       479085 :             res_ops[0] = captures[0];
      24       479085 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 23, __FILE__, __LINE__, false);
      25              :             return true;
      26              :           }
      27              :         }
      28       155519 :         break;
      29              :       }
      30       155519 :     case BIT_NOT_EXPR:
      31       155519 :       {
      32       155519 :         tree _p0 = TREE_OPERAND (t, 0);
      33       155519 :         if (tree_truth_valued_p (_p0))
      34              :           {
      35        12076 :             {
      36        12076 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      37        12076 :               {
      38        12076 :                 res_ops[0] = captures[0];
      39        12076 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 24, __FILE__, __LINE__, false);
      40        12076 :                 return true;
      41              :               }
      42              :             }
      43              :           }
      44              :         break;
      45              :       }
      46      1312577 :     case EQ_EXPR:
      47      1312577 :       {
      48      1312577 :         tree _p0 = TREE_OPERAND (t, 0);
      49      1312577 :         tree _p1 = TREE_OPERAND (t, 1);
      50      1312577 :         if (integer_zerop (_p1))
      51              :           {
      52       526688 :             {
      53       526688 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      54       526688 :               {
      55       526688 :                 res_ops[0] = captures[0];
      56       526688 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 25, __FILE__, __LINE__, false);
      57       526688 :                 return true;
      58              :               }
      59              :             }
      60              :           }
      61              :         break;
      62              :       }
      63      2052604 :     case NE_EXPR:
      64      2052604 :       {
      65      2052604 :         tree _p0 = TREE_OPERAND (t, 0);
      66      2052604 :         tree _p1 = TREE_OPERAND (t, 1);
      67      2052604 :         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       106042 :     case BIT_XOR_EXPR:
      84       106042 :       {
      85       106042 :         tree _p0 = TREE_OPERAND (t, 0);
      86       106042 :         tree _p1 = TREE_OPERAND (t, 1);
      87       106042 :         if (tree_truth_valued_p (_p0))
      88              :           {
      89        14910 :             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      3039883 : 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      3039883 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     371      3039883 :   if (!TYPE_SATURATING (type)
     372              : )
     373              :     {
     374      3039883 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     375      6079520 :  && !FIXED_POINT_TYPE_P (type)
     376              : )
     377              :         {
     378      3039637 :           if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
     379              : )
     380              :             {
     381      2030792 :               if (!CONSTANT_CLASS_P (captures[0])
     382              : )
     383              :                 {
     384      2030785 :                   if (outer_op == PLUS_EXPR
     385              : )
     386              :                     {
     387      2030785 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail144;
     388      2030785 :                       {
     389      2030785 :                         tree res_op0;
     390      2030785 :                         {
     391      2030785 :                           tree _o1[1], _r1;
     392      2030785 :                           _o1[0] = captures[0];
     393      2030785 :                           if (TREE_TYPE (_o1[0]) != type)
     394              :                             {
     395       855225 :                               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     396              :                             }
     397              :                           else
     398              :                             _r1 = _o1[0];
     399      2030785 :                           res_op0 = _r1;
     400              :                         }
     401      2030785 :                         tree res_op1;
     402      2030785 :                         {
     403      2030785 :                           tree _o1[2], _r1;
     404      2030785 :                           _o1[0] = captures[2];
     405      2030785 :                           {
     406      2030785 :                             tree _o2[1], _r2;
     407      2030785 :                             _o2[0] = captures[1];
     408      2030785 :                             if (TREE_TYPE (_o2[0]) != type)
     409              :                               {
     410       846549 :                                 _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     411              :                               }
     412              :                             else
     413              :                               _r2 = _o2[0];
     414      2030785 :                             _o1[1] = _r2;
     415              :                           }
     416      2030785 :                           _r1 = fold_build2_loc (loc, inner_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     417      2030785 :                           if (EXPR_P (_r1))
     418            0 :                             goto next_after_fail144;
     419      2030785 :                           res_op1 = _r1;
     420              :                         }
     421      2030785 :                         tree _r;
     422      2030785 :                         _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     423      2030785 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 112, __FILE__, __LINE__, true);
     424      2030785 :                         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      2017690 :               if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     476      2017690 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))
     477              : )
     478              :                 {
     479       217651 :                   if (outer_op == PLUS_EXPR
     480              : )
     481              :                     {
     482       217651 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail146;
     483       217651 :                       {
     484       217651 :                         tree res_op0;
     485       217651 :                         {
     486       217651 :                           tree _o1[2], _r1;
     487       217651 :                           _o1[0] = captures[0];
     488       217651 :                           {
     489       217651 :                             tree _o2[2], _r2;
     490       217651 :                             {
     491       217651 :                               tree _o3[1], _r3;
     492       217651 :                               _o3[0] = captures[2];
     493       217651 :                               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o1[0]))
     494              :                                 {
     495       217651 :                                   _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o1[0]), _o3[0]);
     496              :                                 }
     497              :                               else
     498              :                                 _r3 = _o3[0];
     499       217651 :                               _o2[0] = _r3;
     500              :                             }
     501       217651 :                             _o2[1] = captures[1];
     502       217651 :                             _r2 = fold_build2_loc (loc, inner_op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     503       217651 :                             if (EXPR_P (_r2))
     504            0 :                               goto next_after_fail146;
     505       217651 :                             _o1[1] = _r2;
     506              :                           }
     507       217651 :                           _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     508       217651 :                           res_op0 = _r1;
     509              :                         }
     510       217651 :                         tree _r;
     511       217651 :                         _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     512       217651 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 114, __FILE__, __LINE__, true);
     513       217651 :                         return _r;
     514              :                       }
     515              : next_after_fail146:;
     516              :                     }
     517              :                   else
     518              :                     {
     519            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail147;
     520            0 :                       {
     521            0 :                         tree res_op0;
     522            0 :                         {
     523            0 :                           tree _o1[2], _r1;
     524            0 :                           _o1[0] = captures[0];
     525            0 :                           {
     526            0 :                             tree _o2[2], _r2;
     527            0 :                             {
     528            0 :                               tree _o3[1], _r3;
     529            0 :                               _o3[0] = captures[2];
     530            0 :                               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o1[0]))
     531              :                                 {
     532            0 :                                   _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o1[0]), _o3[0]);
     533              :                                 }
     534              :                               else
     535              :                                 _r3 = _o3[0];
     536            0 :                               _o2[0] = _r3;
     537              :                             }
     538            0 :                             _o2[1] = captures[1];
     539            0 :                             _r2 = fold_build2_loc (loc, neg_inner_op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     540            0 :                             if (EXPR_P (_r2))
     541            0 :                               goto next_after_fail147;
     542            0 :                             _o1[1] = _r2;
     543              :                           }
     544            0 :                           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     545            0 :                           res_op0 = _r1;
     546              :                         }
     547            0 :                         tree _r;
     548            0 :                         _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     549            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 115, __FILE__, __LINE__, true);
     550            0 :                         return _r;
     551              :                       }
     552              : next_after_fail147:;
     553              :                     }
     554              :                 }
     555              :               else
     556              :                 {
     557       791194 :                   if (types_match (type, captures[0]) && !TYPE_OVERFLOW_SANITIZED (type)
     558              : )
     559              :                     {
     560       790015 :                       {
     561       790015 :  tree cst = const_binop (outer_op == inner_op
     562              :  ? PLUS_EXPR : MINUS_EXPR,
     563              :  type, captures[1], captures[2]);
     564       790015 :                           if (cst
     565              : )
     566              :                             {
     567       790015 :                               if (INTEGRAL_TYPE_P (type) && !TREE_OVERFLOW (cst)
     568              : )
     569              :                                 {
     570       790001 :                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail148;
     571       790001 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail148;
     572       790001 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail148;
     573       790001 :                                   {
     574       790001 :                                     tree res_op0;
     575       790001 :                                     res_op0 = captures[0];
     576       790001 :                                     tree res_op1;
     577       790001 :                                     res_op1 =  cst;
     578       790001 :                                     tree _r;
     579       790001 :                                     _r = fold_build2_loc (loc, inner_op, type, res_op0, res_op1);
     580       790001 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 116, __FILE__, __LINE__, true);
     581       790001 :                                     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_121 (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 (_p1)) goto next_after_fail218;
     673            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail218;
     674            0 :   {
     675            0 :     tree _r;
     676            0 :     _r = captures[0];
     677            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 182, __FILE__, __LINE__, true);
     678              :     return _r;
     679              :   }
     680              : next_after_fail218:;
     681              :   return NULL_TREE;
     682              : }
     683              : 
     684              : tree
     685          253 : generic_simplify_128 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     686              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     687              :  const enum tree_code ARG_UNUSED (bitop))
     688              : {
     689          253 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     690          253 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail225;
     691          253 :   {
     692          253 :     tree res_op0;
     693          253 :     res_op0 = captures[0];
     694          253 :     tree _r;
     695          253 :     _r = non_lvalue_loc (loc, res_op0);
     696          253 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 187, __FILE__, __LINE__, true);
     697              :     return _r;
     698              :   }
     699            0 : next_after_fail225:;
     700            0 :   return NULL_TREE;
     701              : }
     702              : 
     703              : tree
     704            0 : generic_simplify_137 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     705              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     706              :  const enum tree_code ARG_UNUSED (op))
     707              : {
     708            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     709            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     710            0 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
     711              : )
     712              :     {
     713            0 :       if (single_use (captures[4]) && single_use (captures[5])
     714              : )
     715              :         {
     716            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail234;
     717            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail234;
     718            0 :           {
     719            0 :             tree res_op0;
     720            0 :             res_op0 = captures[0];
     721            0 :             tree res_op1;
     722            0 :             {
     723            0 :               tree _o1[1], _r1;
     724            0 :               _o1[0] = captures[6];
     725            0 :               if (TREE_TYPE (_o1[0]) != type)
     726              :                 {
     727            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     728              :                 }
     729              :               else
     730              :                 _r1 = _o1[0];
     731            0 :               res_op1 = _r1;
     732              :             }
     733            0 :             tree _r;
     734            0 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     735            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 194, __FILE__, __LINE__, true);
     736            0 :             return _r;
     737              :           }
     738              : next_after_fail234:;
     739              :         }
     740              :       else
     741              :         {
     742              :           if (single_use (captures[0]) && single_use (captures[1])
     743              : )
     744              :             {
     745              :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail235;
     746              :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail235;
     747              :               {
     748              :                 tree res_op0;
     749              :                 {
     750              :                   tree _o1[1], _r1;
     751              :                   _o1[0] = captures[3];
     752              :                   if (TREE_TYPE (_o1[0]) != type)
     753              :                     {
     754              :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     755              :                     }
     756              :                   else
     757              :                     _r1 = _o1[0];
     758              :                   res_op0 = _r1;
     759              :                 }
     760              :                 tree res_op1;
     761              :                 res_op1 = captures[4];
     762              :                 tree _r;
     763              :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     764              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 195, __FILE__, __LINE__, true);
     765              :                 return _r;
     766              :               }
     767              : next_after_fail235:;
     768              :             }
     769              :         }
     770              :     }
     771              :   return NULL_TREE;
     772              : }
     773              : 
     774              : tree
     775            0 : generic_simplify_151 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     776              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     777              :  const enum tree_code ARG_UNUSED (cmp),
     778              :  const enum tree_code ARG_UNUSED (icmp))
     779              : {
     780            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     781            0 :   if (INTEGRAL_TYPE_P (type)
     782            0 :  && invert_tree_comparison (cmp, HONOR_NANS (captures[1])) == icmp
     783            0 :  && canonicalize_math_after_vectorization_p ()
     784              : )
     785              :     {
     786              :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail253;
     787              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail253;
     788              :       {
     789              :         tree res_op0;
     790              :         {
     791              :           tree _o1[3], _r1;
     792              :           _o1[0] = captures[0];
     793              :           _o1[1] = captures[3];
     794              :           _o1[2] = captures[5];
     795              :           _r1 = fold_build3_loc (loc, COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
     796              :           res_op0 = _r1;
     797              :         }
     798              :         tree res_op1;
     799              :         res_op1 =  build_one_cst (type);
     800              :         tree _r;
     801              :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     802              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 202, __FILE__, __LINE__, true);
     803              :         return _r;
     804              :       }
     805            0 : next_after_fail253:;
     806              :     }
     807            0 :   return NULL_TREE;
     808              : }
     809              : 
     810              : tree
     811            0 : generic_simplify_164 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     812              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     813              : {
     814            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     815            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail287;
     816            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail287;
     817            0 :   {
     818            0 :     tree _r;
     819            0 :     _r = captures[2];
     820            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
     821            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     822            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 209, __FILE__, __LINE__, true);
     823              :     return _r;
     824              :   }
     825              : next_after_fail287:;
     826              :   return NULL_TREE;
     827              : }
     828              : 
     829              : tree
     830            4 : generic_simplify_168 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     831              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     832              : {
     833            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     834            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail304;
     835            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail304;
     836            4 :   {
     837            4 :     tree _r;
     838            4 :     _r =  constant_boolean_node (true, type);
     839            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
     840            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     841            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 227, __FILE__, __LINE__, true);
     842              :     return _r;
     843              :   }
     844              : next_after_fail304:;
     845              :   return NULL_TREE;
     846              : }
     847              : 
     848              : tree
     849            2 : generic_simplify_171 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     850              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     851              : {
     852            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     853            4 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     854            4 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
     855              : )
     856              :     {
     857            2 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail308;
     858            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail308;
     859            2 :       {
     860            2 :         tree res_op0;
     861            2 :         res_op0 = captures[3];
     862            2 :         tree res_op1;
     863            2 :         {
     864            2 :           tree _o1[2], _r1;
     865            2 :           _o1[0] = captures[1];
     866            2 :           _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
     867            2 :           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     868            2 :           res_op1 = _r1;
     869              :         }
     870            2 :         tree _r;
     871            2 :         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     872            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 210, __FILE__, __LINE__, true);
     873            2 :         return _r;
     874              :       }
     875              : next_after_fail308:;
     876              :     }
     877              :   return NULL_TREE;
     878              : }
     879              : 
     880              : tree
     881            4 : generic_simplify_178 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     882              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     883              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
     884              : {
     885            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     886            4 :   if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
     887              : )
     888              :     {
     889            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail315;
     890            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail315;
     891            0 :       {
     892            0 :         tree res_op0;
     893            0 :         res_op0 = captures[0];
     894            0 :         tree _r;
     895            0 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     896            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 235, __FILE__, __LINE__, true);
     897            0 :         return _r;
     898              :       }
     899              : next_after_fail315:;
     900              :     }
     901              :   return NULL_TREE;
     902              : }
     903              : 
     904              : tree
     905      6131080 : generic_simplify_181 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     906              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     907              :  const enum tree_code ARG_UNUSED (op))
     908              : {
     909      6131080 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     910      6131080 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail318;
     911      6131080 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail318;
     912      6131080 :   {
     913      6131080 :     tree res_op0;
     914      6131080 :     res_op0 = captures[0];
     915      6131080 :     tree _r;
     916      6131080 :     _r = non_lvalue_loc (loc, res_op0);
     917      6131080 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 237, __FILE__, __LINE__, true);
     918              :     return _r;
     919              :   }
     920              : next_after_fail318:;
     921              :   return NULL_TREE;
     922              : }
     923              : 
     924              : tree
     925            3 : generic_simplify_184 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     926              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     927              : {
     928            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     929            3 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail321;
     930            3 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail321;
     931            3 :   {
     932            3 :     tree _r;
     933            3 :     _r =  build_zero_cst (type);
     934            3 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 240, __FILE__, __LINE__, true);
     935              :     return _r;
     936              :   }
     937              : next_after_fail321:;
     938              :   return NULL_TREE;
     939              : }
     940              : 
     941              : tree
     942        36661 : generic_simplify_188 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     943              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     944              : {
     945        36661 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     946        36661 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     947        36661 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     948              : )
     949              :     {
     950        34042 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail327;
     951        34042 :       {
     952        34042 :         tree res_op0;
     953        34042 :         {
     954        34042 :           tree _o1[1], _r1;
     955        34042 :           _o1[0] = captures[0];
     956        34042 :           if (TREE_TYPE (_o1[0]) != type)
     957              :             {
     958          772 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     959              :             }
     960              :           else
     961              :             _r1 = _o1[0];
     962        34042 :           res_op0 = _r1;
     963              :         }
     964        34042 :         tree res_op1;
     965        34042 :         {
     966        34042 :           tree _o1[1], _r1;
     967        34042 :           {
     968        34042 :             tree _o2[1], _r2;
     969        34042 :             _o2[0] = captures[1];
     970        34042 :             _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
     971        34042 :             _o1[0] = _r2;
     972              :           }
     973        34042 :           if (TREE_TYPE (_o1[0]) != type)
     974              :             {
     975            7 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     976              :             }
     977              :           else
     978              :             _r1 = _o1[0];
     979        34042 :           res_op1 = _r1;
     980              :         }
     981        34042 :         tree _r;
     982        34042 :         _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     983        34042 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 243, __FILE__, __LINE__, true);
     984        34042 :         return _r;
     985              :       }
     986            0 : next_after_fail327:;
     987              :     }
     988              :   return NULL_TREE;
     989              : }
     990              : 
     991              : tree
     992            2 : generic_simplify_196 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     993              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     994              :  const combined_fn ARG_UNUSED (SQRT_ALL))
     995              : {
     996            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     997            2 :   if (flag_unsafe_math_optimizations
     998              : )
     999              :     {
    1000            2 :       if (!tree_expr_maybe_signaling_nan_p (captures[1])
    1001              : )
    1002              :         {
    1003            2 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail336;
    1004            2 :           {
    1005            2 :             tree _r;
    1006            2 :             _r = captures[1];
    1007            2 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 251, __FILE__, __LINE__, true);
    1008            2 :             return _r;
    1009              :           }
    1010            0 : next_after_fail336:;
    1011              :         }
    1012              :     }
    1013              :   return NULL_TREE;
    1014              : }
    1015              : 
    1016              : tree
    1017            6 : generic_simplify_198 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1018              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1019              :  const combined_fn ARG_UNUSED (LDEXP))
    1020              : {
    1021            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1022            6 :   if (flag_unsafe_math_optimizations
    1023              : )
    1024              :     {
    1025            6 :       {
    1026            6 :  HOST_WIDE_INT tmp = 0;
    1027            6 :           if (real_isinteger (&TREE_REAL_CST (captures[0]), &tmp)
    1028            6 :  && tmp > 0 && pow2p_hwi (tmp)
    1029              : )
    1030              :             {
    1031            3 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail338;
    1032            3 :               {
    1033            3 :                 tree res_op0;
    1034            3 :                 res_op0 = captures[1];
    1035            3 :                 tree res_op1;
    1036            3 :                 {
    1037            3 :                   tree _o1[2], _r1;
    1038            3 :                   _o1[0] = build_int_cst (integer_type_node,
    1039            6 :  exact_log2 (tmp));
    1040            3 :                   _o1[1] = captures[2];
    1041            3 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1042            3 :                   res_op1 = _r1;
    1043              :                 }
    1044            3 :                 tree _r;
    1045            3 :                 _r = maybe_build_call_expr_loc (loc, LDEXP, type, 2, res_op0, res_op1);
    1046            3 :                 if (!_r)
    1047            0 :                   goto next_after_fail338;
    1048            3 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    1049            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1050            3 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 253, __FILE__, __LINE__, true);
    1051            3 :                 return _r;
    1052              :               }
    1053            3 : next_after_fail338:;
    1054              :             }
    1055              :       }
    1056              :     }
    1057              :   return NULL_TREE;
    1058              : }
    1059              : 
    1060              : tree
    1061            0 : generic_simplify_211 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1062              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1063              :  const enum tree_code ARG_UNUSED (neeq))
    1064              : {
    1065            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1066            0 :   if (TREE_CODE (TREE_TYPE (captures[0])) == BOOLEAN_TYPE
    1067            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
    1068            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1069              : )
    1070              :     {
    1071            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail354;
    1072            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail354;
    1073            0 :       {
    1074            0 :         tree res_op0;
    1075            0 :         res_op0 = captures[1];
    1076            0 :         tree res_op1;
    1077            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1078            0 :         tree _r;
    1079            0 :         _r = fold_build2_loc (loc, neeq, type, res_op0, res_op1);
    1080            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 268, __FILE__, __LINE__, true);
    1081            0 :         return _r;
    1082              :       }
    1083              : next_after_fail354:;
    1084              :     }
    1085              :   return NULL_TREE;
    1086              : }
    1087              : 
    1088              : tree
    1089      1751593 : generic_simplify_216 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1090              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1091              :  const enum tree_code ARG_UNUSED (cmp))
    1092              : {
    1093      1751593 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1094      3503186 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1095      1751593 :  && integer_nonzerop (captures[2])
    1096      1749804 :  && !TREE_OVERFLOW (captures[2])
    1097      3501397 :  && !TREE_OVERFLOW (captures[3])
    1098              : )
    1099              :     {
    1100      1749804 :       {
    1101      1749804 :  tree lo, hi; bool neg_overflow;
    1102      1749804 :  enum tree_code code = fold_div_compare (cmp, captures[2], captures[3], &lo, &hi,
    1103              :  &neg_overflow);
    1104      1749804 :           if (code == LT_EXPR || code == GE_EXPR
    1105              : )
    1106              :             {
    1107        40781 :               if (TREE_OVERFLOW (lo)
    1108              : )
    1109              :                 {
    1110         8743 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail359;
    1111         8743 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail359;
    1112         8743 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail359;
    1113         8743 :                   {
    1114         8743 :                     tree _r;
    1115         8743 :                     _r =  build_int_cst (type, (code == LT_EXPR) ^ neg_overflow);
    1116         8743 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1117            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1118         8743 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 273, __FILE__, __LINE__, true);
    1119      1749801 :                     return _r;
    1120              :                   }
    1121            3 : next_after_fail359:;
    1122              :                 }
    1123              :               else
    1124              :                 {
    1125        32038 :                   if (code == LT_EXPR
    1126              : )
    1127              :                     {
    1128          722 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail360;
    1129          722 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail360;
    1130          722 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail360;
    1131          722 :                       {
    1132          722 :                         tree res_op0;
    1133          722 :                         res_op0 = captures[1];
    1134          722 :                         tree res_op1;
    1135          722 :                         res_op1 =  lo;
    1136          722 :                         tree _r;
    1137          722 :                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    1138          722 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 274, __FILE__, __LINE__, true);
    1139          722 :                         return _r;
    1140              :                       }
    1141            3 : next_after_fail360:;
    1142              :                     }
    1143              :                   else
    1144              :                     {
    1145        31316 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail361;
    1146        31316 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail361;
    1147        31316 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail361;
    1148        31316 :                       {
    1149        31316 :                         tree res_op0;
    1150        31316 :                         res_op0 = captures[1];
    1151        31316 :                         tree res_op1;
    1152        31316 :                         res_op1 =  lo;
    1153        31316 :                         tree _r;
    1154        31316 :                         _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    1155        31316 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 275, __FILE__, __LINE__, true);
    1156        31316 :                         return _r;
    1157              :                       }
    1158            3 : next_after_fail361:;
    1159              :                     }
    1160              :                 }
    1161              :             }
    1162              :           else
    1163              :             {
    1164      1709023 :               if (code == LE_EXPR || code == GT_EXPR
    1165              : )
    1166              :                 {
    1167      1705940 :                   if (TREE_OVERFLOW (hi)
    1168              : )
    1169              :                     {
    1170       536331 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail362;
    1171       536331 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail362;
    1172       536331 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail362;
    1173       536331 :                       {
    1174       536331 :                         tree _r;
    1175       536331 :                         _r =  build_int_cst (type, (code == LE_EXPR) ^ neg_overflow);
    1176       536331 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1177            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1178       536331 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 276, __FILE__, __LINE__, true);
    1179       536331 :                         return _r;
    1180              :                       }
    1181            3 : next_after_fail362:;
    1182              :                     }
    1183              :                   else
    1184              :                     {
    1185      1169609 :                       if (code == LE_EXPR
    1186              : )
    1187              :                         {
    1188          682 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail363;
    1189          682 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail363;
    1190          682 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail363;
    1191          682 :                           {
    1192          682 :                             tree res_op0;
    1193          682 :                             res_op0 = captures[1];
    1194          682 :                             tree res_op1;
    1195          682 :                             res_op1 =  hi;
    1196          682 :                             tree _r;
    1197          682 :                             _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1198          682 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 277, __FILE__, __LINE__, true);
    1199          682 :                             return _r;
    1200              :                           }
    1201            3 : next_after_fail363:;
    1202              :                         }
    1203              :                       else
    1204              :                         {
    1205      1168927 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail364;
    1206      1168927 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail364;
    1207      1168927 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail364;
    1208      1168927 :                           {
    1209      1168927 :                             tree res_op0;
    1210      1168927 :                             res_op0 = captures[1];
    1211      1168927 :                             tree res_op1;
    1212      1168927 :                             res_op1 =  hi;
    1213      1168927 :                             tree _r;
    1214      1168927 :                             _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    1215      1168927 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 278, __FILE__, __LINE__, true);
    1216      1168927 :                             return _r;
    1217              :                           }
    1218            3 : next_after_fail364:;
    1219              :                         }
    1220              :                     }
    1221              :                 }
    1222              :               else
    1223              :                 {
    1224         3083 :                   if (!lo && !hi
    1225              : )
    1226              :                     {
    1227           40 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail365;
    1228           40 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail365;
    1229           40 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail365;
    1230           40 :                       {
    1231           40 :                         tree _r;
    1232           40 :                         _r =  build_int_cst (type, code == NE_EXPR);
    1233           40 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1234            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1235           40 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 279, __FILE__, __LINE__, true);
    1236           40 :                         return _r;
    1237              :                       }
    1238            3 : next_after_fail365:;
    1239              :                     }
    1240              :                   else
    1241              :                     {
    1242         3043 :                       if (code == EQ_EXPR && !hi
    1243              : )
    1244              :                         {
    1245           15 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail366;
    1246           15 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail366;
    1247           15 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail366;
    1248           15 :                           {
    1249           15 :                             tree res_op0;
    1250           15 :                             res_op0 = captures[1];
    1251           15 :                             tree res_op1;
    1252           15 :                             res_op1 =  lo;
    1253           15 :                             tree _r;
    1254           15 :                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    1255           15 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 280, __FILE__, __LINE__, true);
    1256           15 :                             return _r;
    1257              :                           }
    1258            3 : next_after_fail366:;
    1259              :                         }
    1260              :                       else
    1261              :                         {
    1262          930 :                           if (code == EQ_EXPR && !lo
    1263              : )
    1264              :                             {
    1265           11 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail367;
    1266           11 :                               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail367;
    1267           11 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail367;
    1268           11 :                               {
    1269           11 :                                 tree res_op0;
    1270           11 :                                 res_op0 = captures[1];
    1271           11 :                                 tree res_op1;
    1272           11 :                                 res_op1 =  hi;
    1273           11 :                                 tree _r;
    1274           11 :                                 _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1275           11 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 281, __FILE__, __LINE__, true);
    1276           11 :                                 return _r;
    1277              :                               }
    1278            3 : next_after_fail367:;
    1279              :                             }
    1280              :                           else
    1281              :                             {
    1282         3017 :                               if (code == NE_EXPR && !hi
    1283              : )
    1284              :                                 {
    1285            4 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail368;
    1286            4 :                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail368;
    1287            4 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail368;
    1288            4 :                                   {
    1289            4 :                                     tree res_op0;
    1290            4 :                                     res_op0 = captures[1];
    1291            4 :                                     tree res_op1;
    1292            4 :                                     res_op1 =  lo;
    1293            4 :                                     tree _r;
    1294            4 :                                     _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    1295            4 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 282, __FILE__, __LINE__, true);
    1296            4 :                                     return _r;
    1297              :                                   }
    1298            3 : next_after_fail368:;
    1299              :                                 }
    1300              :                               else
    1301              :                                 {
    1302         2094 :                                   if (code == NE_EXPR && !lo
    1303              : )
    1304              :                                     {
    1305           18 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail369;
    1306           18 :                                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail369;
    1307           18 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail369;
    1308           18 :                                       {
    1309           18 :                                         tree res_op0;
    1310           18 :                                         res_op0 = captures[1];
    1311           18 :                                         tree res_op1;
    1312           18 :                                         res_op1 =  hi;
    1313           18 :                                         tree _r;
    1314           18 :                                         _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    1315           18 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 283, __FILE__, __LINE__, true);
    1316           18 :                                         return _r;
    1317              :                                       }
    1318            3 : next_after_fail369:;
    1319              :                                     }
    1320              :                                   else
    1321              :                                     {
    1322         2995 :                                       if (1
    1323              : )
    1324              :                                         {
    1325         2995 :                                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail370;
    1326         2992 :                                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail370;
    1327         2992 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail370;
    1328         2992 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail370;
    1329         2992 :                                           {
    1330         2992 :                                             tree _r;
    1331         2992 :                                             _r =  build_range_check (UNKNOWN_LOCATION, type, captures[1], code == EQ_EXPR,
    1332              :  lo, hi);
    1333         2992 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 284, __FILE__, __LINE__, true);
    1334         2992 :                                             return _r;
    1335              :                                           }
    1336            3 : next_after_fail370:;
    1337              :                                         }
    1338              :                                       else
    1339              :                                         {
    1340              :                                           {
    1341              :  tree etype = range_check_type (TREE_TYPE (captures[1]));
    1342              :  if (etype)
    1343              :  {
    1344              :  hi = fold_convert (etype, hi);
    1345              :  lo = fold_convert (etype, lo);
    1346              :  hi = const_binop (MINUS_EXPR, etype, hi, lo);
    1347              :  }
    1348              :                                               if (etype && hi && !TREE_OVERFLOW (hi)
    1349              : )
    1350              :                                                 {
    1351              :                                                   if (code == EQ_EXPR
    1352              : )
    1353              :                                                     {
    1354              :                                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail371;
    1355              :                                                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail371;
    1356              :                                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail371;
    1357              :                                                       {
    1358              :                                                         tree res_op0;
    1359              :                                                         {
    1360              :                                                           tree _o1[2], _r1;
    1361              :                                                           {
    1362              :                                                             tree _o2[1], _r2;
    1363              :                                                             _o2[0] = captures[1];
    1364              :                                                             if (TREE_TYPE (_o2[0]) != etype)
    1365              :                                                               {
    1366              :                                                                 _r2 = fold_build1_loc (loc, NOP_EXPR, etype, _o2[0]);
    1367              :                                                               }
    1368              :                                                             else
    1369              :                                                               _r2 = _o2[0];
    1370              :                                                             _o1[0] = _r2;
    1371              :                                                           }
    1372              :                                                           _o1[1] =  lo;
    1373              :                                                           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1374              :                                                           res_op0 = _r1;
    1375              :                                                         }
    1376              :                                                         tree res_op1;
    1377              :                                                         res_op1 =  hi;
    1378              :                                                         tree _r;
    1379              :                                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1380              :                                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 285, __FILE__, __LINE__, true);
    1381              :                                                         return _r;
    1382              :                                                       }
    1383              : next_after_fail371:;
    1384              :                                                     }
    1385              :                                                   else
    1386              :                                                     {
    1387              :                                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail372;
    1388              :                                                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail372;
    1389              :                                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail372;
    1390              :                                                       {
    1391              :                                                         tree res_op0;
    1392              :                                                         {
    1393              :                                                           tree _o1[2], _r1;
    1394              :                                                           {
    1395              :                                                             tree _o2[1], _r2;
    1396              :                                                             _o2[0] = captures[1];
    1397              :                                                             if (TREE_TYPE (_o2[0]) != etype)
    1398              :                                                               {
    1399              :                                                                 _r2 = fold_build1_loc (loc, NOP_EXPR, etype, _o2[0]);
    1400              :                                                               }
    1401              :                                                             else
    1402              :                                                               _r2 = _o2[0];
    1403              :                                                             _o1[0] = _r2;
    1404              :                                                           }
    1405              :                                                           _o1[1] =  lo;
    1406              :                                                           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1407              :                                                           res_op0 = _r1;
    1408              :                                                         }
    1409              :                                                         tree res_op1;
    1410              :                                                         res_op1 =  hi;
    1411              :                                                         tree _r;
    1412              :                                                         _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    1413              :                                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 286, __FILE__, __LINE__, true);
    1414              :                                                         return _r;
    1415              :                                                       }
    1416              : next_after_fail372:;
    1417              :                                                     }
    1418              :                                                 }
    1419              :                                           }
    1420              :                                         }
    1421              :                                     }
    1422              :                                 }
    1423              :                             }
    1424              :                         }
    1425              :                     }
    1426              :                 }
    1427              :             }
    1428              :       }
    1429              :     }
    1430              :   return NULL_TREE;
    1431              : }
    1432              : 
    1433              : tree
    1434          451 : generic_simplify_274 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1435              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1436              :  const enum tree_code ARG_UNUSED (cmp))
    1437              : {
    1438          451 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1439          451 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail506;
    1440          451 :   {
    1441          451 :     tree res_op0;
    1442          451 :     {
    1443          451 :       tree _o1[2], _r1;
    1444          451 :       _o1[0] = captures[0];
    1445          451 :       {
    1446          451 :         tree _o2[1], _r2;
    1447          451 :         _o2[0] = captures[1];
    1448          451 :         _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    1449          451 :         if (EXPR_P (_r2))
    1450          443 :           goto next_after_fail506;
    1451            8 :         _o1[1] = _r2;
    1452              :       }
    1453            8 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1454            8 :       res_op0 = _r1;
    1455              :     }
    1456            8 :     tree res_op1;
    1457            8 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    1458            8 :     tree _r;
    1459            8 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1460            8 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 409, __FILE__, __LINE__, true);
    1461              :     return _r;
    1462              :   }
    1463              : next_after_fail506:;
    1464              :   return NULL_TREE;
    1465              : }
    1466              : 
    1467              : tree
    1468       109054 : generic_simplify_278 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1469              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1470              :  const enum tree_code ARG_UNUSED (cmp),
    1471              :  const enum tree_code ARG_UNUSED (icmp))
    1472              : {
    1473       109054 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1474       109054 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail510;
    1475       109030 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail510;
    1476       109030 :   {
    1477       109030 :     tree res_op0;
    1478       109030 :     res_op0 = captures[0];
    1479       109030 :     tree res_op1;
    1480       109030 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1481       109030 :     tree _r;
    1482       109030 :     _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1483       109030 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 413, __FILE__, __LINE__, true);
    1484              :     return _r;
    1485              :   }
    1486              : next_after_fail510:;
    1487              :   return NULL_TREE;
    1488              : }
    1489              : 
    1490              : tree
    1491           18 : generic_simplify_283 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1492              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1493              :  const enum tree_code ARG_UNUSED (cmp),
    1494              :  const enum tree_code ARG_UNUSED (ncmp))
    1495              : {
    1496           18 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1497           36 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1498           18 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1499           36 :  && types_match (captures[0], captures[2])
    1500              : )
    1501              :     {
    1502            2 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail515;
    1503            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail515;
    1504            2 :       {
    1505            2 :         tree res_op0;
    1506            2 :         {
    1507            2 :           tree _o1[2], _r1;
    1508            2 :           _o1[0] = captures[0];
    1509            2 :           _o1[1] = captures[2];
    1510            2 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1511            2 :           res_op0 = _r1;
    1512              :         }
    1513            2 :         tree res_op1;
    1514            2 :         res_op1 = captures[1];
    1515            2 :         tree _r;
    1516            2 :         _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1517            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 416, __FILE__, __LINE__, true);
    1518            2 :         return _r;
    1519              :       }
    1520              : next_after_fail515:;
    1521              :     }
    1522              :   return NULL_TREE;
    1523              : }
    1524              : 
    1525              : tree
    1526            0 : generic_simplify_289 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1527              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1528              :  const enum tree_code ARG_UNUSED (inner),
    1529              :  const enum tree_code ARG_UNUSED (outer))
    1530              : {
    1531            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1532            0 :   {
    1533            0 :  bool cst1 = integer_onep (captures[1]);
    1534            0 :  bool cst0 = integer_zerop (captures[1]);
    1535            0 :  bool innereq = inner == EQ_EXPR;
    1536            0 :  bool outereq = outer == EQ_EXPR;
    1537            0 :       if (innereq ? cst0 : cst1
    1538              : )
    1539              :         {
    1540            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail535;
    1541            0 :           {
    1542            0 :             tree _r;
    1543            0 :             _r =  constant_boolean_node (!outereq, type);
    1544            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    1545            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1546            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1547            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1548            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 428, __FILE__, __LINE__, true);
    1549            0 :             return _r;
    1550              :           }
    1551            0 : next_after_fail535:;
    1552              :         }
    1553              :       else
    1554              :         {
    1555            0 :           if (innereq ? cst1 : cst0
    1556              : )
    1557              :             {
    1558            0 :               {
    1559            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
    1560            0 :  tree ucst1 = build_one_cst (utype);
    1561            0 :                   if (!outereq
    1562              : )
    1563              :                     {
    1564            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail536;
    1565            0 :                       {
    1566            0 :                         tree res_op0;
    1567            0 :                         {
    1568            0 :                           tree _o1[1], _r1;
    1569            0 :                           _o1[0] = captures[0];
    1570            0 :                           if (TREE_TYPE (_o1[0]) != utype)
    1571              :                             {
    1572            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1573              :                             }
    1574              :                           else
    1575              :                             _r1 = _o1[0];
    1576            0 :                           res_op0 = _r1;
    1577              :                         }
    1578            0 :                         tree res_op1;
    1579            0 :                         res_op1 =  ucst1;
    1580            0 :                         tree _r;
    1581            0 :                         _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    1582            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1583            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1584            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 429, __FILE__, __LINE__, true);
    1585            0 :                         return _r;
    1586              :                       }
    1587            0 : next_after_fail536:;
    1588              :                     }
    1589              :                   else
    1590              :                     {
    1591            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail537;
    1592            0 :                       {
    1593            0 :                         tree res_op0;
    1594            0 :                         {
    1595            0 :                           tree _o1[1], _r1;
    1596            0 :                           _o1[0] = captures[0];
    1597            0 :                           if (TREE_TYPE (_o1[0]) != utype)
    1598              :                             {
    1599            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1600              :                             }
    1601              :                           else
    1602              :                             _r1 = _o1[0];
    1603            0 :                           res_op0 = _r1;
    1604              :                         }
    1605            0 :                         tree res_op1;
    1606            0 :                         res_op1 =  ucst1;
    1607            0 :                         tree _r;
    1608            0 :                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1609            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1610            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1611            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 430, __FILE__, __LINE__, true);
    1612            0 :                         return _r;
    1613              :                       }
    1614            0 : next_after_fail537:;
    1615              :                     }
    1616              :               }
    1617              :             }
    1618              :           else
    1619              :             {
    1620            0 :               {
    1621            0 :  tree value = build_int_cst (TREE_TYPE (captures[0]), !innereq);
    1622            0 :                   if (outereq
    1623              : )
    1624              :                     {
    1625            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail538;
    1626            0 :                       {
    1627            0 :                         tree res_op0;
    1628            0 :                         res_op0 = captures[0];
    1629            0 :                         tree res_op1;
    1630            0 :                         res_op1 =  value;
    1631            0 :                         tree _r;
    1632            0 :                         _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1633            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1634            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1635            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 431, __FILE__, __LINE__, true);
    1636            0 :                         return _r;
    1637              :                       }
    1638            0 : next_after_fail538:;
    1639              :                     }
    1640              :                   else
    1641              :                     {
    1642            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail539;
    1643            0 :                       {
    1644            0 :                         tree res_op0;
    1645            0 :                         res_op0 = captures[0];
    1646            0 :                         tree res_op1;
    1647            0 :                         res_op1 =  value;
    1648            0 :                         tree _r;
    1649            0 :                         _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    1650            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1651            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1652            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 432, __FILE__, __LINE__, true);
    1653            0 :                         return _r;
    1654              :                       }
    1655            0 : next_after_fail539:;
    1656              :                     }
    1657              :               }
    1658              :             }
    1659              :         }
    1660              :   }
    1661              :   return NULL_TREE;
    1662              : }
    1663              : 
    1664              : tree
    1665          374 : generic_simplify_295 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1666              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1667              :  const enum tree_code ARG_UNUSED (op),
    1668              :  const combined_fn ARG_UNUSED (ctz))
    1669              : {
    1670          374 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1671          374 :   {
    1672          374 :  tree type0 = TREE_TYPE (captures[1]);
    1673          374 :  int prec = TYPE_PRECISION (type0);
    1674          374 :  bool ok = true;
    1675          374 :  if (sanitize_flags_p (SANITIZE_BUILTIN)
    1676          374 :  && (!cfun
    1677           64 :  || (cfun->curr_properties & PROP_ssa) == 0))
    1678              :  ok = false;
    1679          620 :       if (ok && prec <= MAX_FIXED_MODE_SIZE
    1680              : )
    1681              :         {
    1682          310 :           if (tree_int_cst_sgn (captures[2]) < 0 || wi::to_widest (captures[2]) >= prec
    1683              : )
    1684              :             {
    1685           36 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail556;
    1686           36 :               {
    1687           36 :                 tree _r;
    1688           36 :                 _r =  constant_boolean_node (op == EQ_EXPR ? false : true, type);
    1689           36 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1690            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1691           36 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1692            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1693           36 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 449, __FILE__, __LINE__, true);
    1694          310 :                 return _r;
    1695              :               }
    1696            0 : next_after_fail556:;
    1697              :             }
    1698              :           else
    1699              :             {
    1700          274 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail557;
    1701          274 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail557;
    1702          274 :               {
    1703          274 :                 tree res_op0;
    1704          274 :                 {
    1705          274 :                   tree _o1[2], _r1;
    1706          274 :                   _o1[0] = captures[1];
    1707          274 :                   _o1[1] =  wide_int_to_tree (type0,
    1708          274 :  wi::mask (tree_to_uhwi (captures[2]) + 1,
    1709              :  false, prec));
    1710          274 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1711          274 :                   res_op0 = _r1;
    1712              :                 }
    1713          274 :                 tree res_op1;
    1714          274 :                 res_op1 =  wide_int_to_tree (type0,
    1715          274 :  wi::shifted_mask (tree_to_uhwi (captures[2]), 1,
    1716              :  false, prec));
    1717          274 :                 tree _r;
    1718          274 :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1719          274 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 450, __FILE__, __LINE__, true);
    1720          274 :                 return _r;
    1721              :               }
    1722           64 : next_after_fail557:;
    1723              :             }
    1724              :         }
    1725              :   }
    1726           64 :   return NULL_TREE;
    1727              : }
    1728              : 
    1729              : tree
    1730            0 : generic_simplify_307 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1731              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1732              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
    1733              : {
    1734            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1735            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail573;
    1736            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail573;
    1737            0 :   {
    1738            0 :     tree _r;
    1739            0 :     _r = captures[1];
    1740            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 466, __FILE__, __LINE__, true);
    1741              :     return _r;
    1742              :   }
    1743              : next_after_fail573:;
    1744              :   return NULL_TREE;
    1745              : }
    1746              : 
    1747              : tree
    1748          892 : generic_simplify_314 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1749              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1750              :  const enum tree_code ARG_UNUSED (div))
    1751              : {
    1752          892 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1753         1784 :   if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
    1754          892 :  && !integer_zerop (captures[0])
    1755         1159 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[0]))
    1756              : )
    1757              :     {
    1758          111 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail582;
    1759          111 :       {
    1760          111 :         tree _r;
    1761          111 :         _r =  build_one_cst (type);
    1762          111 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1763            2 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1764          111 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 473, __FILE__, __LINE__, true);
    1765          111 :         return _r;
    1766              :       }
    1767            0 : next_after_fail582:;
    1768              :     }
    1769              :   return NULL_TREE;
    1770              : }
    1771              : 
    1772              : tree
    1773          192 : generic_simplify_320 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1774              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1775              :  const enum tree_code ARG_UNUSED (div))
    1776              : {
    1777          192 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1778          192 :   if (ANY_INTEGRAL_TYPE_P (type)
    1779              : )
    1780              :     {
    1781          192 :       if (TYPE_OVERFLOW_UNDEFINED (type) && !TYPE_OVERFLOW_SANITIZED (type)
    1782              : )
    1783              :         {
    1784          164 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail589;
    1785          164 :           {
    1786          164 :             tree _r;
    1787          164 :             _r = captures[1];
    1788          164 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1789            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1790          164 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 480, __FILE__, __LINE__, true);
    1791          164 :             return _r;
    1792              :           }
    1793            0 : next_after_fail589:;
    1794              :         }
    1795              :     }
    1796              :   return NULL_TREE;
    1797              : }
    1798              : 
    1799              : tree
    1800       213396 : generic_simplify_324 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1801              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1802              :  const enum tree_code ARG_UNUSED (mod))
    1803              : {
    1804       213396 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1805       213396 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail593;
    1806       213396 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail593;
    1807       213396 :   {
    1808       213396 :     tree _r;
    1809       213396 :     _r =  build_zero_cst (type);
    1810       213396 :     if (TREE_SIDE_EFFECTS (captures[0]))
    1811           47 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1812       213396 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 484, __FILE__, __LINE__, true);
    1813              :     return _r;
    1814              :   }
    1815              : next_after_fail593:;
    1816              :   return NULL_TREE;
    1817              : }
    1818              : 
    1819              : tree
    1820            6 : generic_simplify_334 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1821              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1822              :  const combined_fn ARG_UNUSED (SIN),
    1823              :  const combined_fn ARG_UNUSED (TAN),
    1824              :  const combined_fn ARG_UNUSED (COS))
    1825              : {
    1826            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1827            6 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1828              : )
    1829              :     {
    1830            6 :       if (! HONOR_NANS (captures[1])
    1831            6 :  && ! HONOR_INFINITIES (captures[1])
    1832              : )
    1833              :         {
    1834            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail605;
    1835            6 :           {
    1836            6 :             tree res_op0;
    1837            6 :             res_op0 = captures[1];
    1838            6 :             tree _r;
    1839            6 :             _r = maybe_build_call_expr_loc (loc, COS, type, 1, res_op0);
    1840            6 :             if (!_r)
    1841            0 :               goto next_after_fail605;
    1842            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 496, __FILE__, __LINE__, true);
    1843            6 :             return _r;
    1844              :           }
    1845              : next_after_fail605:;
    1846              :         }
    1847              :     }
    1848              :   return NULL_TREE;
    1849              : }
    1850              : 
    1851              : tree
    1852            0 : generic_simplify_342 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1853              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1854              :  const enum tree_code ARG_UNUSED (cmp))
    1855              : {
    1856            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1857            0 :   if (INTEGRAL_TYPE_P (type)
    1858            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[3]))
    1859            0 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[4])) || tree_int_cst_sgn (captures[4]) > 0)
    1860            0 :  && TYPE_PRECISION (type) <= BITS_PER_WORD
    1861            0 :  && wi::to_wide (captures[4]) == ~wi::to_wide (captures[6])
    1862              : )
    1863              :     {
    1864            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail613;
    1865            0 :       if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail613;
    1866            0 :       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail613;
    1867            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail613;
    1868            0 :       {
    1869            0 :         tree res_op0;
    1870            0 :         res_op0 = captures[5];
    1871            0 :         tree res_op1;
    1872            0 :         {
    1873            0 :           tree _o1[2], _r1;
    1874            0 :           {
    1875            0 :             tree _o2[1], _r2;
    1876            0 :             _o2[0] = captures[0];
    1877            0 :             if (TREE_TYPE (_o2[0]) != type)
    1878              :               {
    1879            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    1880              :               }
    1881              :             else
    1882              :               _r2 = _o2[0];
    1883            0 :             _o1[0] = _r2;
    1884              :           }
    1885            0 :           {
    1886            0 :             tree _o2[1], _r2;
    1887            0 :             _o2[0] = captures[4];
    1888            0 :             if (TREE_TYPE (_o2[0]) != type)
    1889              :               {
    1890            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    1891              :               }
    1892              :             else
    1893              :               _r2 = _o2[0];
    1894            0 :             _o1[1] = _r2;
    1895              :           }
    1896            0 :           _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1897            0 :           res_op1 = _r1;
    1898              :         }
    1899            0 :         tree _r;
    1900            0 :         _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
    1901            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 504, __FILE__, __LINE__, true);
    1902            0 :         return _r;
    1903              :       }
    1904              : next_after_fail613:;
    1905              :     }
    1906              :   return NULL_TREE;
    1907              : }
    1908              : 
    1909              : tree
    1910            0 : generic_simplify_352 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1911              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1912              :  const enum tree_code ARG_UNUSED (op))
    1913              : {
    1914            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1915            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail629;
    1916            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail629;
    1917            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail629;
    1918            0 :   {
    1919            0 :     tree _r;
    1920            0 :     _r = captures[2];
    1921            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 520, __FILE__, __LINE__, true);
    1922              :     return _r;
    1923              :   }
    1924              : next_after_fail629:;
    1925              :   return NULL_TREE;
    1926              : }
    1927              : 
    1928              : tree
    1929            0 : generic_simplify_357 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1930              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1931              : {
    1932            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1933            0 :   if (INTEGRAL_TYPE_P (type)
    1934              : )
    1935              :     {
    1936            0 :       if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail634;
    1937            0 :       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail634;
    1938            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail634;
    1939            0 :       {
    1940            0 :         tree _r;
    1941            0 :         _r = captures[2];
    1942            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 525, __FILE__, __LINE__, true);
    1943            0 :         return _r;
    1944              :       }
    1945              : next_after_fail634:;
    1946              :     }
    1947              :   return NULL_TREE;
    1948              : }
    1949              : 
    1950              : tree
    1951            0 : generic_simplify_365 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1952              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1953              :  const enum tree_code ARG_UNUSED (cmp))
    1954              : {
    1955            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1956            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail642;
    1957            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail642;
    1958            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail642;
    1959            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail642;
    1960            0 :   {
    1961            0 :     tree _r;
    1962            0 :     _r = captures[3];
    1963            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 533, __FILE__, __LINE__, true);
    1964              :     return _r;
    1965              :   }
    1966              : next_after_fail642:;
    1967              :   return NULL_TREE;
    1968              : }
    1969              : 
    1970              : tree
    1971         1710 : generic_simplify_371 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1972              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1973              : {
    1974         1710 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1975         1710 :   if (INTEGRAL_TYPE_P (type)
    1976              : )
    1977              :     {
    1978         1710 :       {
    1979         1710 :  tree itype = TREE_TYPE (captures[2]);
    1980         1710 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail649;
    1981         1710 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail649;
    1982         1710 :           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail649;
    1983         1710 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail649;
    1984         1710 :           {
    1985         1710 :             tree res_op0;
    1986         1710 :             {
    1987         1710 :               tree _o1[2], _r1;
    1988         1710 :               _o1[0] = captures[2];
    1989         1710 :               {
    1990         1710 :                 tree _o2[1], _r2;
    1991         1710 :                 _o2[0] = captures[0];
    1992         1710 :                 if (TREE_TYPE (_o2[0]) != itype)
    1993              :                   {
    1994         1709 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, itype, _o2[0]);
    1995              :                   }
    1996              :                 else
    1997              :                   _r2 = _o2[0];
    1998         1710 :                 _o1[1] = _r2;
    1999              :               }
    2000         1710 :               _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2001         1710 :               res_op0 = _r1;
    2002              :             }
    2003         1710 :             tree _r;
    2004         1710 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2005         1710 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 539, __FILE__, __LINE__, true);
    2006         1710 :             return _r;
    2007              :           }
    2008              : next_after_fail649:;
    2009              :       }
    2010              :     }
    2011              :   return NULL_TREE;
    2012              : }
    2013              : 
    2014              : tree
    2015       490614 : generic_simplify_380 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2016              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2017              :  const enum tree_code ARG_UNUSED (op))
    2018              : {
    2019       490614 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2020       981227 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2021       981140 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    2022       306478 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
    2023       981184 :  && (CONSTANT_CLASS_P (captures[1]) || single_use (captures[0]))
    2024              : )
    2025              :     {
    2026       306407 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail662;
    2027       306407 :       {
    2028       306407 :         tree res_op0;
    2029       306407 :         res_op0 = captures[1];
    2030       306407 :         tree res_op1;
    2031       306407 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2032       306407 :         tree _r;
    2033       306407 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2034       306407 :         if (TREE_SIDE_EFFECTS (captures[2]))
    2035            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2036       306407 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 551, __FILE__, __LINE__, true);
    2037       306407 :         return _r;
    2038              :       }
    2039            0 : next_after_fail662:;
    2040              :     }
    2041              :   return NULL_TREE;
    2042              : }
    2043              : 
    2044              : tree
    2045           64 : generic_simplify_387 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2046              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2047              :  const enum tree_code ARG_UNUSED (minmax),
    2048              :  const enum tree_code ARG_UNUSED (cmp),
    2049              :  const enum tree_code ARG_UNUSED (comb))
    2050              : {
    2051           64 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2052           64 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail670;
    2053           64 :   {
    2054           64 :     if (! tree_invariant_p (captures[2])) goto next_after_fail670;
    2055           64 :     tree res_op0;
    2056           64 :     {
    2057           64 :       tree _o1[2], _r1;
    2058           64 :       _o1[0] = captures[0];
    2059           64 :       _o1[1] = unshare_expr (captures[2]);
    2060           64 :       _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
    2061           64 :       res_op0 = _r1;
    2062              :     }
    2063           64 :     tree res_op1;
    2064           64 :     {
    2065           64 :       tree _o1[2], _r1;
    2066           64 :       _o1[0] = captures[1];
    2067           64 :       _o1[1] = captures[2];
    2068           64 :       _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
    2069           64 :       res_op1 = _r1;
    2070              :     }
    2071           64 :     tree _r;
    2072           64 :     _r = fold_build2_loc (loc, comb, type, res_op0, res_op1);
    2073           64 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 559, __FILE__, __LINE__, true);
    2074              :     return _r;
    2075              :   }
    2076              : next_after_fail670:;
    2077              :   return NULL_TREE;
    2078              : }
    2079              : 
    2080              : tree
    2081            0 : generic_simplify_398 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2082              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2083              :  const enum tree_code ARG_UNUSED (cmp),
    2084              :  const enum tree_code ARG_UNUSED (out))
    2085              : {
    2086            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2087            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2088            0 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    2089              : )
    2090              :     {
    2091            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail713;
    2092            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail713;
    2093            0 :       {
    2094            0 :         tree res_op0;
    2095            0 :         {
    2096            0 :           tree _o1[1], _r1;
    2097            0 :           _o1[0] = captures[0];
    2098            0 :           _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2099            0 :           res_op0 = _r1;
    2100              :         }
    2101            0 :         tree res_op1;
    2102            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2103            0 :         tree _r;
    2104            0 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2105            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 585, __FILE__, __LINE__, true);
    2106            0 :         return _r;
    2107              :       }
    2108              : next_after_fail713:;
    2109              :     }
    2110              :   return NULL_TREE;
    2111              : }
    2112              : 
    2113              : tree
    2114       749730 : generic_simplify_405 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2115              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2116              :  const enum tree_code ARG_UNUSED (cmp),
    2117              :  const enum tree_code ARG_UNUSED (icmp))
    2118              : {
    2119       749730 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2120      1496738 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2121       749730 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2122       330604 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) > 1
    2123      1830064 :  && (wi::to_wide (captures[2])
    2124      1741542 :  == wi::max_value (TYPE_PRECISION (TREE_TYPE (captures[0])), SIGNED) - 1)
    2125              : )
    2126              :     {
    2127         5171 :       {
    2128         5171 :  tree stype = signed_type_for (TREE_TYPE (captures[0]));
    2129         5171 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail727;
    2130         5171 :           {
    2131         5171 :             tree res_op0;
    2132         5171 :             {
    2133         5171 :               tree _o1[1], _r1;
    2134         5171 :               _o1[0] = captures[0];
    2135         5171 :               if (TREE_TYPE (_o1[0]) != stype)
    2136              :                 {
    2137         5171 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    2138              :                 }
    2139              :               else
    2140              :                 _r1 = _o1[0];
    2141         5171 :               res_op0 = _r1;
    2142              :             }
    2143         5171 :             tree res_op1;
    2144         5171 :             res_op1 =  build_int_cst (stype, 0);
    2145         5171 :             tree _r;
    2146         5171 :             _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    2147         5171 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2148            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2149         5171 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2150            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2151         5171 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 599, __FILE__, __LINE__, true);
    2152         5171 :             return _r;
    2153              :           }
    2154            0 : next_after_fail727:;
    2155              :       }
    2156              :     }
    2157              :   return NULL_TREE;
    2158              : }
    2159              : 
    2160              : tree
    2161            0 : generic_simplify_411 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2162              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2163              :  const enum tree_code ARG_UNUSED (cmp),
    2164              :  const enum tree_code ARG_UNUSED (out))
    2165              : {
    2166            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2167            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    2168              : )
    2169              :     {
    2170            0 :       {
    2171            0 :  tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
    2172            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail733;
    2173            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail733;
    2174            0 :           {
    2175            0 :             tree res_op0;
    2176            0 :             {
    2177            0 :               tree _o1[1], _r1;
    2178            0 :               {
    2179            0 :                 tree _o2[2], _r2;
    2180            0 :                 _o2[0] = captures[2];
    2181            0 :                 _o2[1] = captures[1];
    2182            0 :                 _r2 = maybe_build_call_expr_loc (loc, CFN_MUL_OVERFLOW, cpx, 2, _o2[0], _o2[1]);
    2183            0 :                 if (!_r2)
    2184            0 :                   goto next_after_fail733;
    2185            0 :                 _o1[0] = _r2;
    2186              :               }
    2187            0 :               _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2188            0 :               res_op0 = _r1;
    2189              :             }
    2190            0 :             tree res_op1;
    2191            0 :             res_op1 =  build_zero_cst (t);
    2192            0 :             tree _r;
    2193            0 :             _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2194            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 587, __FILE__, __LINE__, true);
    2195            0 :             return _r;
    2196              :           }
    2197              : next_after_fail733:;
    2198              :       }
    2199              :     }
    2200              :   return NULL_TREE;
    2201              : }
    2202              : 
    2203              : tree
    2204           11 : generic_simplify_418 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2205              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2206              : {
    2207           11 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2208           11 :   if (wi::ltu_p (wi::to_wide (captures[1]), element_precision (type))
    2209              : )
    2210              :     {
    2211           11 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail744;
    2212           11 :       {
    2213           11 :         tree res_op0;
    2214           11 :         {
    2215           11 :           tree _o1[1], _r1;
    2216           11 :           _o1[0] = captures[0];
    2217           11 :           if (TREE_TYPE (_o1[0]) != type)
    2218              :             {
    2219            8 :               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    2220              :             }
    2221              :           else
    2222              :             _r1 = _o1[0];
    2223           11 :           res_op0 = _r1;
    2224              :         }
    2225           11 :         tree res_op1;
    2226           11 :         {
    2227           11 :           tree _o1[2], _r1;
    2228           11 :           _o1[0] =  build_minus_one_cst (type);
    2229           11 :           _o1[1] = captures[1];
    2230           11 :           _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2231           11 :           res_op1 = _r1;
    2232              :         }
    2233           11 :         tree _r;
    2234           11 :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2235           11 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 612, __FILE__, __LINE__, true);
    2236           11 :         return _r;
    2237              :       }
    2238            0 : next_after_fail744:;
    2239              :     }
    2240              :   return NULL_TREE;
    2241              : }
    2242              : 
    2243              : tree
    2244          267 : generic_simplify_427 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2245              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2246              :  const combined_fn ARG_UNUSED (bswap))
    2247              : {
    2248          267 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2249          267 :   if (BITS_PER_UNIT == 8
    2250              :  && CHAR_TYPE_SIZE == 8
    2251          267 :  && tree_fits_uhwi_p (captures[2])
    2252              : )
    2253              :     {
    2254          267 :       {
    2255          267 :  unsigned HOST_WIDE_INT prec = TYPE_PRECISION (TREE_TYPE (captures[0]));
    2256          267 :  unsigned HOST_WIDE_INT bits = tree_to_uhwi (captures[2]);
    2257          267 :  tree st = TYPE_PRECISION (type) > prec ? TREE_TYPE (captures[0]) : type;
    2258          267 :           if (TYPE_PRECISION (type) > prec
    2259            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2260            0 :  && TYPE_UNSIGNED (type)
    2261          267 :  && bits < prec && bits + 8 >= prec
    2262              : )
    2263              :             {
    2264            0 :               {
    2265            0 :  tree nst = build_int_cst (integer_type_node, prec - 8);
    2266            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail757;
    2267            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail757;
    2268            0 :                   {
    2269            0 :                     tree res_op0;
    2270            0 :                     {
    2271            0 :                       tree _o1[1], _r1;
    2272            0 :                       {
    2273            0 :                         tree _o2[2], _r2;
    2274            0 :                         {
    2275            0 :                           tree _o3[1], _r3;
    2276            0 :                           _o3[0] = captures[1];
    2277            0 :                           if (TREE_TYPE (_o3[0]) != st)
    2278              :                             {
    2279            0 :                               _r3 = fold_build1_loc (loc, NOP_EXPR, st, _o3[0]);
    2280              :                             }
    2281              :                           else
    2282              :                             _r3 = _o3[0];
    2283            0 :                           _o2[0] = _r3;
    2284              :                         }
    2285            0 :                         _o2[1] = nst;
    2286            0 :                         _r2 = fold_build2_loc (loc, LSHIFT_EXPR, st, _o2[0], _o2[1]);
    2287            0 :                         _o1[0] = _r2;
    2288              :                       }
    2289            0 :                       if (TREE_TYPE (_o1[0]) != type)
    2290              :                         {
    2291            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2292              :                         }
    2293              :                       else
    2294              :                         _r1 = _o1[0];
    2295            0 :                       res_op0 = _r1;
    2296              :                     }
    2297            0 :                     tree res_op1;
    2298            0 :                     res_op1 = captures[2];
    2299            0 :                     tree _r;
    2300            0 :                     _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    2301            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 623, __FILE__, __LINE__, true);
    2302            0 :                     return _r;
    2303              :                   }
    2304              : next_after_fail757:;
    2305              :               }
    2306              :             }
    2307              :           else
    2308              :             {
    2309          267 :               if (bits + 8 == prec
    2310              : )
    2311              :                 {
    2312           46 :                   if (TYPE_UNSIGNED (st)
    2313              : )
    2314              :                     {
    2315           36 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail758;
    2316           36 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail758;
    2317           36 :                       {
    2318           36 :                         tree res_op0;
    2319           36 :                         {
    2320           36 :                           tree _o1[1], _r1;
    2321           36 :                           _o1[0] = captures[1];
    2322           36 :                           if (TREE_TYPE (_o1[0]) != unsigned_char_type_node)
    2323              :                             {
    2324           36 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, unsigned_char_type_node, _o1[0]);
    2325              :                             }
    2326              :                           else
    2327              :                             _r1 = _o1[0];
    2328           36 :                           res_op0 = _r1;
    2329              :                         }
    2330           36 :                         tree _r;
    2331           36 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2332           36 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 624, __FILE__, __LINE__, true);
    2333           36 :                         return _r;
    2334              :                       }
    2335              : next_after_fail758:;
    2336              :                     }
    2337              :                   else
    2338              :                     {
    2339           10 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail759;
    2340           10 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail759;
    2341           10 :                       {
    2342           10 :                         tree res_op0;
    2343           10 :                         {
    2344           10 :                           tree _o1[1], _r1;
    2345           10 :                           _o1[0] = captures[1];
    2346           10 :                           if (TREE_TYPE (_o1[0]) != signed_char_type_node)
    2347              :                             {
    2348           10 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, signed_char_type_node, _o1[0]);
    2349              :                             }
    2350              :                           else
    2351              :                             _r1 = _o1[0];
    2352           10 :                           res_op0 = _r1;
    2353              :                         }
    2354           10 :                         tree _r;
    2355           10 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2356           10 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 625, __FILE__, __LINE__, true);
    2357           10 :                         return _r;
    2358              :                       }
    2359              : next_after_fail759:;
    2360              :                     }
    2361              :                 }
    2362              :               else
    2363              :                 {
    2364          221 :                   if (bits < prec && bits + 8 > prec
    2365              : )
    2366              :                     {
    2367           57 :                       {
    2368           57 :  tree nst = build_int_cst (integer_type_node, bits & 7);
    2369           57 :  tree bt = TYPE_UNSIGNED (st) ? unsigned_char_type_node
    2370           57 :  : signed_char_type_node;
    2371           57 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail760;
    2372           57 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail760;
    2373           57 :                           {
    2374           57 :                             tree res_op0;
    2375           57 :                             {
    2376           57 :                               tree _o1[2], _r1;
    2377           57 :                               {
    2378           57 :                                 tree _o2[1], _r2;
    2379           57 :                                 _o2[0] = captures[1];
    2380           57 :                                 if (TREE_TYPE (_o2[0]) != bt)
    2381              :                                   {
    2382           57 :                                     _r2 = fold_build1_loc (loc, NOP_EXPR, bt, _o2[0]);
    2383              :                                   }
    2384              :                                 else
    2385              :                                   _r2 = _o2[0];
    2386           57 :                                 _o1[0] = _r2;
    2387              :                               }
    2388           57 :                               _o1[1] = nst;
    2389           57 :                               _r1 = fold_build2_loc (loc, RSHIFT_EXPR, bt, _o1[0], _o1[1]);
    2390           57 :                               res_op0 = _r1;
    2391              :                             }
    2392           57 :                             tree _r;
    2393           57 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2394           57 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 626, __FILE__, __LINE__, true);
    2395           57 :                             return _r;
    2396              :                           }
    2397              : next_after_fail760:;
    2398              :                       }
    2399              :                     }
    2400              :                 }
    2401              :             }
    2402              :       }
    2403              :     }
    2404              :   return NULL_TREE;
    2405              : }
    2406              : 
    2407              : tree
    2408            0 : generic_simplify_441 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2409              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2410              :  const combined_fn ARG_UNUSED (pow))
    2411              : {
    2412            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2413            0 :   if (flag_unsafe_math_optimizations
    2414              : )
    2415              :     {
    2416            0 :       if (! HONOR_INFINITIES (type)
    2417            0 :  && ! flag_trapping_math
    2418            0 :  && ! flag_errno_math
    2419              : )
    2420              :         {
    2421            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail788;
    2422            0 :           {
    2423            0 :             tree res_op0;
    2424            0 :             res_op0 = captures[2];
    2425            0 :             tree res_op1;
    2426            0 :             {
    2427            0 :               tree _o1[1], _r1;
    2428            0 :               _o1[0] = captures[3];
    2429            0 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2430            0 :               res_op1 = _r1;
    2431              :             }
    2432            0 :             tree _r;
    2433            0 :             _r = maybe_build_call_expr_loc (loc, pow, type, 2, res_op0, res_op1);
    2434            0 :             if (!_r)
    2435            0 :               goto next_after_fail788;
    2436            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2437            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2438            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 642, __FILE__, __LINE__, true);
    2439            0 :             return _r;
    2440              :           }
    2441              : next_after_fail788:;
    2442              :         }
    2443              :     }
    2444              :   return NULL_TREE;
    2445              : }
    2446              : 
    2447              : tree
    2448            0 : generic_simplify_446 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2449              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2450              :  const combined_fn ARG_UNUSED (copysigns),
    2451              :  const combined_fn ARG_UNUSED (hypots))
    2452              : {
    2453            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2454            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail793;
    2455            0 :   {
    2456            0 :     tree res_op0;
    2457            0 :     res_op0 = captures[0];
    2458            0 :     tree res_op1;
    2459            0 :     res_op1 = captures[1];
    2460            0 :     tree _r;
    2461            0 :     _r = maybe_build_call_expr_loc (loc, hypots, type, 2, res_op0, res_op1);
    2462            0 :     if (!_r)
    2463            0 :       goto next_after_fail793;
    2464            0 :     if (TREE_SIDE_EFFECTS (captures[2]))
    2465            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2466            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 647, __FILE__, __LINE__, true);
    2467              :     return _r;
    2468              :   }
    2469              : next_after_fail793:;
    2470              :   return NULL_TREE;
    2471              : }
    2472              : 
    2473              : tree
    2474           21 : generic_simplify_451 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2475              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2476              : {
    2477           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2478           42 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2479           42 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
    2480              : )
    2481              :     {
    2482            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail798;
    2483            0 :       {
    2484            0 :         tree res_op0;
    2485            0 :         res_op0 = captures[0];
    2486            0 :         tree res_op1;
    2487            0 :         res_op1 = captures[1];
    2488            0 :         tree _r;
    2489            0 :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2490            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 652, __FILE__, __LINE__, true);
    2491            0 :         return _r;
    2492              :       }
    2493            0 : next_after_fail798:;
    2494              :     }
    2495              :   return NULL_TREE;
    2496              : }
    2497              : 
    2498              : tree
    2499            0 : generic_simplify_456 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2500              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2501              : {
    2502            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2503            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail803;
    2504            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail803;
    2505            0 :   {
    2506            0 :     tree res_op0;
    2507            0 :     res_op0 = captures[0];
    2508            0 :     tree res_op1;
    2509            0 :     {
    2510            0 :       tree _o1[1], _r1;
    2511            0 :       _o1[0] = captures[5];
    2512            0 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2513            0 :       res_op1 = _r1;
    2514              :     }
    2515            0 :     tree _r;
    2516            0 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2517            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 656, __FILE__, __LINE__, true);
    2518              :     return _r;
    2519              :   }
    2520              : next_after_fail803:;
    2521              :   return NULL_TREE;
    2522              : }
    2523              : 
    2524              : tree
    2525            0 : generic_simplify_462 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2526              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2527              : {
    2528            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2529            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail809;
    2530            0 :   {
    2531            0 :     tree res_op0;
    2532            0 :     res_op0 = captures[0];
    2533            0 :     tree res_op1;
    2534            0 :     res_op1 = captures[1];
    2535            0 :     tree _r;
    2536            0 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    2537            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 662, __FILE__, __LINE__, true);
    2538              :     return _r;
    2539              :   }
    2540            0 : next_after_fail809:;
    2541            0 :   return NULL_TREE;
    2542              : }
    2543              : 
    2544              : tree
    2545           13 : generic_simplify_466 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2546              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2547              : {
    2548           13 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2549           13 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail813;
    2550           13 :   {
    2551           13 :     tree _r;
    2552           13 :     _r =  build_zero_cst (type);
    2553           13 :     if (TREE_SIDE_EFFECTS (captures[0]))
    2554            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2555           13 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 666, __FILE__, __LINE__, true);
    2556              :     return _r;
    2557              :   }
    2558            0 : next_after_fail813:;
    2559            0 :   return NULL_TREE;
    2560              : }
    2561              : 
    2562              : tree
    2563            8 : generic_simplify_471 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2564              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2565              :  const enum tree_code ARG_UNUSED (eqne))
    2566              : {
    2567            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2568            8 :   if (eqne == EQ_EXPR
    2569              : )
    2570              :     {
    2571            4 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail819;
    2572            4 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail819;
    2573            4 :       {
    2574            4 :         tree _r;
    2575            4 :         _r =  constant_boolean_node (false, type);
    2576            4 :         if (TREE_SIDE_EFFECTS (captures[2]))
    2577            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2578            4 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 671, __FILE__, __LINE__, true);
    2579            4 :         return _r;
    2580              :       }
    2581              : next_after_fail819:;
    2582              :     }
    2583              :   else
    2584              :     {
    2585            4 :       if (eqne == NE_EXPR
    2586              : )
    2587              :         {
    2588            4 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail820;
    2589            4 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail820;
    2590            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail820;
    2591            4 :           {
    2592            4 :             tree _r;
    2593            4 :             _r = captures[0];
    2594            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 672, __FILE__, __LINE__, true);
    2595            4 :             return _r;
    2596              :           }
    2597              : next_after_fail820:;
    2598              :         }
    2599              :     }
    2600              :   return NULL_TREE;
    2601              : }
    2602              : 
    2603              : tree
    2604            4 : generic_simplify_482 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2605              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2606              : {
    2607            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2608            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail863;
    2609            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail863;
    2610            4 :   {
    2611            4 :     tree _r;
    2612            4 :     _r = captures[2];
    2613            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2614            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2615            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 687, __FILE__, __LINE__, true);
    2616              :     return _r;
    2617              :   }
    2618              : next_after_fail863:;
    2619              :   return NULL_TREE;
    2620              : }
    2621              : 
    2622              : tree
    2623        30765 : generic_simplify_486 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2624              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2625              :  const enum tree_code ARG_UNUSED (shift))
    2626              : {
    2627        30765 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2628        30765 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2629        30765 :  && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
    2630        30765 :  && tree_fits_uhwi_p (captures[4])
    2631        30765 :  && tree_to_uhwi (captures[4]) > 0
    2632        61529 :  && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
    2633              : )
    2634              :     {
    2635        30764 :       {
    2636        30764 :  unsigned int shiftc = tree_to_uhwi (captures[4]);
    2637        30764 :  unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
    2638        30764 :  unsigned HOST_WIDE_INT newmask, zerobits = 0;
    2639        30764 :  tree shift_type = TREE_TYPE (captures[2]);
    2640        30764 :  unsigned int prec;
    2641        30764 :  if (shift == LSHIFT_EXPR)
    2642         5306 :  zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
    2643        25458 :  else if (shift == RSHIFT_EXPR
    2644        25458 :  && type_has_mode_precision_p (shift_type))
    2645              :  {
    2646        25458 :  prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
    2647        25458 :  tree arg00 = captures[3];
    2648        25458 :  if (captures[2] != captures[3]
    2649        25458 :  && TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2650              :  {
    2651        25200 :  tree inner_type = TREE_TYPE (captures[3]);
    2652        25200 :  if (type_has_mode_precision_p (inner_type)
    2653        25200 :  && TYPE_PRECISION (inner_type) < prec)
    2654              :  {
    2655          270 :  prec = TYPE_PRECISION (inner_type);
    2656          270 :  if (shiftc < prec)
    2657          269 :  shift_type = inner_type;
    2658              :  }
    2659              :  }
    2660        25458 :  zerobits = HOST_WIDE_INT_M1U;
    2661        25458 :  if (shiftc < prec)
    2662              :  {
    2663        25457 :  zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
    2664        25457 :  zerobits <<= prec - shiftc;
    2665              :  }
    2666        25458 :  if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2667        25458 :  && prec == TYPE_PRECISION (TREE_TYPE (captures[2])))
    2668              :  {
    2669          824 :  if ((mask & zerobits) == 0)
    2670          817 :  shift_type = unsigned_type_for (TREE_TYPE (captures[2]));
    2671              :  else
    2672              :  zerobits = 0;
    2673              :  }
    2674              :  }
    2675        30757 :           if ((mask & zerobits) == mask
    2676              : )
    2677              :             {
    2678            1 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail867;
    2679            1 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail867;
    2680            1 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail867;
    2681            1 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail867;
    2682            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail867;
    2683            1 :               {
    2684            1 :                 tree _r;
    2685            1 :                 _r =  build_int_cst (type, 0);
    2686            1 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 691, __FILE__, __LINE__, true);
    2687            1 :                 return _r;
    2688              :               }
    2689              : next_after_fail867:;
    2690              :             }
    2691              :           else
    2692              :             {
    2693        30763 :               {
    2694        30763 :  newmask = mask | zerobits;
    2695        30763 :                   if (newmask != mask && (newmask & (newmask + 1)) == 0
    2696              : )
    2697              :                     {
    2698              :                       {
    2699         7144 :  for (prec = BITS_PER_UNIT;
    2700        10916 :  prec < HOST_BITS_PER_WIDE_INT; prec <<= 1)
    2701         8796 :  if (newmask == (HOST_WIDE_INT_1U << prec) - 1)
    2702              :  break;
    2703         3772 :                           if (prec < HOST_BITS_PER_WIDE_INT
    2704         2120 :  || newmask == HOST_WIDE_INT_M1U
    2705              : )
    2706              :                             {
    2707         2058 :                               {
    2708         2058 :  tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
    2709         2058 :                                   if (!tree_int_cst_equal (newmaskt, captures[5])
    2710              : )
    2711              :                                     {
    2712         2058 :                                       if (shift_type != TREE_TYPE (captures[2])
    2713              : )
    2714              :                                         {
    2715           96 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail868;
    2716           96 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail868;
    2717           96 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail868;
    2718           96 :                                           {
    2719           96 :                                             tree res_op0;
    2720           96 :                                             {
    2721           96 :                                               tree _o1[1], _r1;
    2722           96 :                                               {
    2723           96 :                                                 tree _o2[2], _r2;
    2724           96 :                                                 {
    2725           96 :                                                   tree _o3[1], _r3;
    2726           96 :                                                   _o3[0] = captures[2];
    2727           96 :                                                   if (TREE_TYPE (_o3[0]) != shift_type)
    2728              :                                                     {
    2729           96 :                                                       _r3 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o3[0]);
    2730              :                                                     }
    2731              :                                                   else
    2732              :                                                     _r3 = _o3[0];
    2733           96 :                                                   _o2[0] = _r3;
    2734              :                                                 }
    2735           96 :                                                 _o2[1] = captures[4];
    2736           96 :                                                 _r2 = fold_build2_loc (loc, shift, shift_type, _o2[0], _o2[1]);
    2737           96 :                                                 _o1[0] = _r2;
    2738              :                                               }
    2739           96 :                                               if (TREE_TYPE (_o1[0]) != type)
    2740              :                                                 {
    2741           96 :                                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2742              :                                                 }
    2743              :                                               else
    2744              :                                                 _r1 = _o1[0];
    2745           96 :                                               res_op0 = _r1;
    2746              :                                             }
    2747           96 :                                             tree res_op1;
    2748           96 :                                             res_op1 =  newmaskt;
    2749           96 :                                             tree _r;
    2750           96 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2751           96 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 692, __FILE__, __LINE__, true);
    2752           96 :                                             return _r;
    2753              :                                           }
    2754              : next_after_fail868:;
    2755              :                                         }
    2756              :                                       else
    2757              :                                         {
    2758         1962 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail869;
    2759          883 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail869;
    2760          883 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail869;
    2761          883 :                                           {
    2762          883 :                                             tree res_op0;
    2763          883 :                                             res_op0 = captures[0];
    2764          883 :                                             tree res_op1;
    2765          883 :                                             res_op1 =  newmaskt;
    2766          883 :                                             tree _r;
    2767          883 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2768          883 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 693, __FILE__, __LINE__, true);
    2769          883 :                                             return _r;
    2770              :                                           }
    2771              : next_after_fail869:;
    2772              :                                         }
    2773              :                                     }
    2774              :                               }
    2775              :                             }
    2776              :                       }
    2777              :                     }
    2778              :               }
    2779              :             }
    2780              :       }
    2781              :     }
    2782              :   return NULL_TREE;
    2783              : }
    2784              : 
    2785              : tree
    2786            0 : generic_simplify_494 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2787              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2788              : {
    2789            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2790            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail884;
    2791            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail884;
    2792            0 :   {
    2793            0 :     tree _r;
    2794            0 :     _r = captures[1];
    2795            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 698, __FILE__, __LINE__, true);
    2796              :     return _r;
    2797              :   }
    2798              : next_after_fail884:;
    2799              :   return NULL_TREE;
    2800              : }
    2801              : 
    2802              : tree
    2803           17 : generic_simplify_500 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2804              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2805              : {
    2806           17 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2807           17 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail891;
    2808           17 :   {
    2809           17 :     tree res_op0;
    2810           17 :     res_op0 = captures[0];
    2811           17 :     tree res_op1;
    2812           17 :     res_op1 = captures[1];
    2813           17 :     tree _r;
    2814           17 :     _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    2815           17 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 705, __FILE__, __LINE__, true);
    2816              :     return _r;
    2817              :   }
    2818            0 : next_after_fail891:;
    2819            0 :   return NULL_TREE;
    2820              : }
    2821              : 
    2822              : tree
    2823            4 : generic_simplify_506 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2824              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2825              : {
    2826            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2827            4 :   if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2828            7 :  && (element_precision (TREE_TYPE (captures[2]))
    2829            3 :  <= element_precision (TREE_TYPE (captures[3]))
    2830            0 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2831              : )
    2832              :     {
    2833            3 :       {
    2834            3 :  tree shift_type = TREE_TYPE (captures[2]);
    2835            3 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail897;
    2836            3 :           {
    2837            3 :             tree res_op0;
    2838            3 :             {
    2839            3 :               tree _o1[2], _r1;
    2840            3 :               {
    2841            3 :                 tree _o2[1], _r2;
    2842            3 :                 _o2[0] = captures[3];
    2843            3 :                 if (TREE_TYPE (_o2[0]) != shift_type)
    2844              :                   {
    2845            1 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o2[0]);
    2846              :                   }
    2847              :                 else
    2848              :                   _r2 = _o2[0];
    2849            3 :                 _o1[0] = _r2;
    2850              :               }
    2851            3 :               _o1[1] = captures[4];
    2852            3 :               _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2853            3 :               res_op0 = _r1;
    2854              :             }
    2855            3 :             tree _r;
    2856            3 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2857            3 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 707, __FILE__, __LINE__, true);
    2858            3 :             return _r;
    2859              :           }
    2860            0 : next_after_fail897:;
    2861              :       }
    2862              :     }
    2863              :   return NULL_TREE;
    2864              : }
    2865              : 
    2866              : tree
    2867         1847 : generic_simplify_515 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2868              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2869              : {
    2870         1847 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2871         1847 :   if (! TYPE_UNSIGNED (type)
    2872         1433 :  && ! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    2873         1847 :  && single_use (captures[0])
    2874              : )
    2875              :     {
    2876         1433 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail907;
    2877         1433 :       {
    2878         1433 :         tree res_op0;
    2879         1433 :         res_op0 = captures[1];
    2880         1433 :         tree res_op1;
    2881         1433 :         {
    2882         1433 :           tree _o1[1], _r1;
    2883         1433 :           _o1[0] = captures[2];
    2884         1433 :           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2885         1433 :           res_op1 = _r1;
    2886              :         }
    2887         1433 :         tree _r;
    2888         1433 :         _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    2889         1433 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 719, __FILE__, __LINE__, true);
    2890         1433 :         return _r;
    2891              :       }
    2892            0 : next_after_fail907:;
    2893              :     }
    2894              :   return NULL_TREE;
    2895              : }
    2896              : 
    2897              : tree
    2898            0 : generic_simplify_524 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2899              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2900              :  const enum tree_code ARG_UNUSED (minmax))
    2901              : {
    2902            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2903            0 :   if (INTEGRAL_TYPE_P (type)
    2904            0 :  && TYPE_OVERFLOW_UNDEFINED (type)
    2905            0 :  && !TYPE_OVERFLOW_SANITIZED (type)
    2906              : )
    2907              :     {
    2908            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail917;
    2909            0 :       {
    2910            0 :         tree res_op0;
    2911            0 :         {
    2912            0 :           tree _o1[2], _r1;
    2913            0 :           _o1[0] = captures[1];
    2914            0 :           _o1[1] = captures[4];
    2915            0 :           _r1 = fold_build2_loc (loc, minmax, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2916            0 :           res_op0 = _r1;
    2917              :         }
    2918            0 :         tree res_op1;
    2919            0 :         res_op1 = captures[2];
    2920            0 :         tree _r;
    2921            0 :         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    2922            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 728, __FILE__, __LINE__, true);
    2923            0 :         return _r;
    2924              :       }
    2925            0 : next_after_fail917:;
    2926              :     }
    2927              :   return NULL_TREE;
    2928              : }
    2929              : 
    2930              : tree
    2931            2 : generic_simplify_533 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2932              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2933              : {
    2934            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2935            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail940;
    2936            2 :   {
    2937            2 :     tree _r;
    2938            2 :     _r = captures[1];
    2939            2 :     if (TREE_SIDE_EFFECTS (captures[0]))
    2940            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2941            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 739, __FILE__, __LINE__, true);
    2942              :     return _r;
    2943              :   }
    2944            0 : next_after_fail940:;
    2945            0 :   return NULL_TREE;
    2946              : }
    2947              : 
    2948              : tree
    2949            0 : generic_simplify_537 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2950              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2951              :  const combined_fn ARG_UNUSED (FMIN_ALL))
    2952              : {
    2953            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2954            0 :   if (flag_finite_math_only
    2955              : )
    2956              :     {
    2957            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail944;
    2958            0 :       {
    2959            0 :         tree res_op0;
    2960            0 :         res_op0 = captures[0];
    2961            0 :         tree res_op1;
    2962            0 :         res_op1 = captures[1];
    2963            0 :         tree _r;
    2964            0 :         _r = fold_build2_loc (loc, MIN_EXPR, type, res_op0, res_op1);
    2965            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 743, __FILE__, __LINE__, true);
    2966            0 :         return _r;
    2967              :       }
    2968            0 : next_after_fail944:;
    2969              :     }
    2970              :   return NULL_TREE;
    2971              : }
    2972              : 
    2973              : tree
    2974            0 : generic_simplify_543 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2975              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2976              :  const enum tree_code ARG_UNUSED (cmp))
    2977              : {
    2978            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2979            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail950;
    2980            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail950;
    2981            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail950;
    2982            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail950;
    2983            0 :   {
    2984            0 :     tree _r;
    2985            0 :     _r = captures[0];
    2986            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 536, __FILE__, __LINE__, true);
    2987              :     return _r;
    2988              :   }
    2989              : next_after_fail950:;
    2990              :   return NULL_TREE;
    2991              : }
    2992              : 
    2993              : tree
    2994            0 : generic_simplify_553 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2995              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2996              :  const combined_fn ARG_UNUSED (cond_op))
    2997              : {
    2998            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2999            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail960;
    3000            0 :   {
    3001            0 :     tree res_op0;
    3002            0 :     {
    3003            0 :       tree _o1[2], _r1;
    3004            0 :       _o1[0] = captures[2];
    3005            0 :       _o1[1] = captures[0];
    3006            0 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3007            0 :       res_op0 = _r1;
    3008              :     }
    3009            0 :     tree res_op1;
    3010            0 :     res_op1 = captures[3];
    3011            0 :     tree res_op2;
    3012            0 :     res_op2 = captures[4];
    3013            0 :     tree res_op3;
    3014            0 :     res_op3 = captures[5];
    3015            0 :     tree res_op4;
    3016            0 :     res_op4 = captures[6];
    3017            0 :     tree _r;
    3018            0 :     _r = maybe_build_call_expr_loc (loc, cond_op, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3019            0 :     if (!_r)
    3020            0 :       goto next_after_fail960;
    3021            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 754, __FILE__, __LINE__, true);
    3022              :     return _r;
    3023              :   }
    3024              : next_after_fail960:;
    3025              :   return NULL_TREE;
    3026              : }
    3027              : 
    3028              : tree
    3029            0 : generic_simplify_559 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3030              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3031              :  const combined_fn ARG_UNUSED (bswap))
    3032              : {
    3033            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3034            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail969;
    3035            0 :   {
    3036            0 :     tree res_op0;
    3037            0 :     res_op0 = captures[0];
    3038            0 :     tree _r;
    3039            0 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    3040            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 763, __FILE__, __LINE__, true);
    3041              :     return _r;
    3042              :   }
    3043            0 : next_after_fail969:;
    3044            0 :   return NULL_TREE;
    3045              : }
    3046              : 
    3047              : tree
    3048            0 : generic_simplify_566 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3049              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3050              :  const combined_fn ARG_UNUSED (logs))
    3051              : {
    3052            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3053            0 :   if (flag_unsafe_math_optimizations
    3054              : )
    3055              :     {
    3056            0 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3057            0 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
    3058            0 :  && ! flag_trapping_math
    3059            0 :  && ! flag_errno_math
    3060              : )
    3061              :         {
    3062            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail976;
    3063            0 :           {
    3064            0 :             tree res_op0;
    3065            0 :             {
    3066            0 :               tree _o1[1], _r1;
    3067            0 :               _o1[0] = captures[2];
    3068            0 :               _r1 = maybe_build_call_expr_loc (loc, logs, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3069            0 :               if (!_r1)
    3070            0 :                 goto next_after_fail976;
    3071            0 :               res_op0 = _r1;
    3072              :             }
    3073            0 :             tree _r;
    3074            0 :             _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    3075            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    3076            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3077            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 770, __FILE__, __LINE__, true);
    3078            0 :             return _r;
    3079              :           }
    3080              : next_after_fail976:;
    3081              :         }
    3082              :     }
    3083              :   return NULL_TREE;
    3084              : }
    3085              : 
    3086              : tree
    3087            0 : generic_simplify_575 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3088              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3089              :  const combined_fn ARG_UNUSED (froms),
    3090              :  const combined_fn ARG_UNUSED (tos))
    3091              : {
    3092            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3093            0 :   if (optimize && canonicalize_math_p ()
    3094              : )
    3095              :     {
    3096            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail985;
    3097            0 :       {
    3098            0 :         tree res_op0;
    3099            0 :         {
    3100            0 :           tree _o1[1], _r1;
    3101            0 :           _o1[0] = captures[0];
    3102            0 :           _r1 = maybe_build_call_expr_loc (loc, tos, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3103            0 :           if (!_r1)
    3104            0 :             goto next_after_fail985;
    3105            0 :           res_op0 = _r1;
    3106              :         }
    3107            0 :         tree _r;
    3108            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3109            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 779, __FILE__, __LINE__, true);
    3110            0 :         return _r;
    3111              :       }
    3112              : next_after_fail985:;
    3113              :     }
    3114              :   return NULL_TREE;
    3115              : }
    3116              : 
    3117              : tree
    3118            0 : generic_simplify_584 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3119              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3120              :  const combined_fn ARG_UNUSED (ifn),
    3121              :  const combined_fn ARG_UNUSED (lfn),
    3122              :  const combined_fn ARG_UNUSED (llfn))
    3123              : {
    3124            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3125            0 :   if (canonicalize_math_p ()
    3126              : )
    3127              :     {
    3128            0 :       if (TYPE_PRECISION (long_long_integer_type_node)
    3129            0 :  == TYPE_PRECISION (long_integer_type_node)
    3130              : )
    3131              :         {
    3132            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail994;
    3133            0 :           {
    3134            0 :             tree res_op0;
    3135            0 :             res_op0 = captures[0];
    3136            0 :             tree _r;
    3137            0 :             _r = maybe_build_call_expr_loc (loc, lfn, type, 1, res_op0);
    3138            0 :             if (!_r)
    3139            0 :               goto next_after_fail994;
    3140            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 788, __FILE__, __LINE__, true);
    3141            0 :             return _r;
    3142              :           }
    3143              : next_after_fail994:;
    3144              :         }
    3145              :     }
    3146              :   return NULL_TREE;
    3147              : }
    3148              : 
    3149              : tree
    3150            0 : generic_simplify_595 (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 (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_fail1005;
    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 _r;
    3166              :         _r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
    3167              :         if (!_r)
    3168              :           goto next_after_fail1005;
    3169              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 799, __FILE__, __LINE__, true);
    3170              :         return _r;
    3171              :       }
    3172            0 : next_after_fail1005:;
    3173              :     }
    3174            0 :   return NULL_TREE;
    3175              : }
    3176              : 
    3177              : tree
    3178            0 : generic_simplify_604 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3179              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
    3180              : {
    3181            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3182            0 :   if (canonicalize_math_after_vectorization_p ()
    3183              : )
    3184              :     {
    3185              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1014;
    3186              :       {
    3187              :         tree res_op0;
    3188              :         res_op0 = captures[0];
    3189              :         tree res_op1;
    3190              :         res_op1 = captures[1];
    3191              :         tree res_op2;
    3192              :         res_op2 = captures[2];
    3193              :         tree res_op3;
    3194              :         res_op3 = captures[3];
    3195              :         tree res_op4;
    3196              :         res_op4 = captures[4];
    3197              :         tree _r;
    3198              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3199              :         if (!_r)
    3200              :           goto next_after_fail1014;
    3201              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 808, __FILE__, __LINE__, true);
    3202              :         return _r;
    3203              :       }
    3204            0 : next_after_fail1014:;
    3205              :     }
    3206            0 :   return NULL_TREE;
    3207              : }
    3208              : 
    3209              : tree
    3210            0 : generic_simplify_614 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3211              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3212              :  const enum tree_code ARG_UNUSED (rot),
    3213              :  const combined_fn ARG_UNUSED (popcount))
    3214              : {
    3215            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3216            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3217            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3218            0 :  && (
    3219              : 
    3220            0 :  || !TREE_SIDE_EFFECTS (captures[3]))
    3221              : )
    3222              :     {
    3223            0 :       {
    3224            0 :  tree type0 = TREE_TYPE (captures[0]);
    3225            0 :  tree type1 = TREE_TYPE (captures[1]);
    3226            0 :  unsigned int prec0 = TYPE_PRECISION (type0);
    3227            0 :  unsigned int prec1 = TYPE_PRECISION (type1);
    3228            0 :           if (prec0 == prec1 || (prec0 > prec1 && TYPE_UNSIGNED (type1))
    3229              : )
    3230              :             {
    3231            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1024;
    3232            0 :               {
    3233            0 :                 tree res_op0;
    3234            0 :                 {
    3235            0 :                   tree _o1[1], _r1;
    3236            0 :                   _o1[0] = captures[2];
    3237            0 :                   if (TREE_TYPE (_o1[0]) != type0)
    3238              :                     {
    3239            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3240              :                     }
    3241              :                   else
    3242              :                     _r1 = _o1[0];
    3243            0 :                   res_op0 = _r1;
    3244              :                 }
    3245            0 :                 tree _r;
    3246            0 :                 _r = maybe_build_call_expr_loc (loc, popcount, type, 1, res_op0);
    3247            0 :                 if (!_r)
    3248            0 :                   goto next_after_fail1024;
    3249            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    3250            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3251            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 812, __FILE__, __LINE__, true);
    3252            0 :                 return _r;
    3253              :               }
    3254              : next_after_fail1024:;
    3255              :             }
    3256              :       }
    3257              :     }
    3258              :   return NULL_TREE;
    3259              : }
    3260              : 
    3261              : tree
    3262            0 : generic_simplify_624 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3263              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    3264              : {
    3265            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3266            0 :   {
    3267            0 :  bool can_fold = false;
    3268            0 :  unsigned HOST_WIDE_INT nelts;
    3269            0 :  vec_perm_builder builder;
    3270            0 :  if (TYPE_VECTOR_SUBPARTS (type).is_constant (&nelts)
    3271            0 :  && tree_to_vec_perm_builder (&builder, captures[2]))
    3272              :  {
    3273            0 :  vec_perm_indices sel0 (builder, 2, VECTOR_CST_NELTS (captures[2]));
    3274            0 :  unsigned int sel0_first_idx = sel0[0].to_constant ();
    3275            0 :  unsigned int elt_size = vector_element_bits (TREE_TYPE (captures[0]));
    3276            0 :  unsigned int ia_size = tree_to_uhwi (TYPE_SIZE (type))
    3277            0 :  - elt_size * sel0_first_idx;
    3278            0 :  unsigned int ib_start;
    3279            0 :  if (sel0.series_p (0, 1, sel0_first_idx, 1)
    3280            0 :  && multiple_p (ia_size, vector_element_bits (type), &ib_start)
    3281            0 :  && tree_to_vec_perm_builder (&builder, captures[5]))
    3282              :  {
    3283            0 :  vec_perm_indices sel1 (builder, 2, VECTOR_CST_NELTS (captures[5]));
    3284            0 :  can_fold = sel1.series_p (ib_start, 1, nelts + ib_start, 1);
    3285            0 :  if (can_fold)
    3286            0 :  for (unsigned int i = 0; i < ib_start; i++)
    3287            0 :  if (sel1[i].to_constant () != i)
    3288              :  {
    3289              :  can_fold = false;
    3290              :  break;
    3291              :  }
    3292            0 :  }
    3293            0 :  }
    3294            0 :       if (can_fold
    3295              : )
    3296              :         {
    3297            0 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1036;
    3298            0 :           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1036;
    3299            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1036;
    3300            0 :           {
    3301            0 :             tree res_op0;
    3302            0 :             {
    3303            0 :               tree _o1[3], _r1;
    3304            0 :               _o1[0] = captures[0];
    3305            0 :               _o1[1] = captures[4];
    3306            0 :               _o1[2] = captures[2];
    3307            0 :               _r1 = fold_build3_loc (loc, VEC_PERM_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1], _o1[2]);
    3308            0 :               res_op0 = _r1;
    3309              :             }
    3310            0 :             tree _r;
    3311            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3312            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    3313            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3314            0 :             if (TREE_SIDE_EFFECTS (captures[3]))
    3315            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3316            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 823, __FILE__, __LINE__, true);
    3317            0 :             return _r;
    3318              :           }
    3319            0 : next_after_fail1036:;
    3320              :         }
    3321            0 :   }
    3322            0 :   return NULL_TREE;
    3323              : }
    3324              : 
    3325              : tree
    3326         3678 : generic_simplify_PAREN_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3327              : {
    3328         3678 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3329         3678 :   switch (TREE_CODE (_p0))
    3330              :     {
    3331            2 :     case PAREN_EXPR:
    3332            2 :       {
    3333            2 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3334            2 :         {
    3335            2 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    3336            2 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1130;
    3337            2 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1130;
    3338            2 :           {
    3339            2 :             tree _r;
    3340            2 :             _r = captures[0];
    3341            2 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 875, __FILE__, __LINE__, true);
    3342            2 :             return _r;
    3343              :           }
    3344            0 : next_after_fail1130:;
    3345              :         }
    3346            0 :         break;
    3347              :       }
    3348         3676 :     default:;
    3349              :     }
    3350         3676 : if (CONSTANT_CLASS_P (_p0))
    3351              :   {
    3352            1 :     {
    3353            1 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3354            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1131;
    3355            1 :       {
    3356            1 :         tree _r;
    3357            1 :         _r = captures[0];
    3358            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    3359            1 :         return _r;
    3360              :       }
    3361            0 : next_after_fail1131:;
    3362              :     }
    3363              :   }
    3364              :   return NULL_TREE;
    3365              : }
    3366              : 
    3367              : tree
    3368      1654530 : generic_simplify_REALPART_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3369              : {
    3370      1654530 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3371      1654530 :   switch (TREE_CODE (_p0))
    3372              :     {
    3373         9611 :     case COMPLEX_EXPR:
    3374         9611 :       {
    3375         9611 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3376         9611 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3377         9611 :         {
    3378         9611 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3379         9611 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1132;
    3380         9611 :           {
    3381         9611 :             tree _r;
    3382         9611 :             _r = captures[0];
    3383         9611 :             if (TREE_SIDE_EFFECTS (captures[1]))
    3384         1366 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3385         9611 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
    3386         9611 :             return _r;
    3387              :           }
    3388            0 : next_after_fail1132:;
    3389              :         }
    3390            0 :         break;
    3391              :       }
    3392        45598 :     CASE_CONVERT:
    3393        45598 :       {
    3394        45598 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3395        45598 :         switch (TREE_CODE (_q20))
    3396              :           {
    3397            0 :           case CONJ_EXPR:
    3398            0 :             {
    3399            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3400            0 :               {
    3401            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3402            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1133;
    3403            0 :                 {
    3404            0 :                   tree res_op0;
    3405            0 :                   {
    3406            0 :                     tree _o1[1], _r1;
    3407            0 :                     _o1[0] = captures[2];
    3408            0 :                     _r1 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    3409            0 :                     res_op0 = _r1;
    3410              :                   }
    3411            0 :                   tree _r;
    3412            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3413            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
    3414            0 :                   return _r;
    3415              :                 }
    3416            0 : next_after_fail1133:;
    3417              :               }
    3418            0 :               break;
    3419              :             }
    3420            0 :           case PLUS_EXPR:
    3421            0 :             {
    3422            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3423            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3424            0 :               {
    3425            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3426            0 :                 const enum tree_code op = PLUS_EXPR;
    3427            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1134;
    3428            0 :                 {
    3429            0 :                   tree res_op0;
    3430            0 :                   {
    3431            0 :                     tree _o1[2], _r1;
    3432            0 :                     {
    3433            0 :                       tree _o2[1], _r2;
    3434            0 :                       _o2[0] = captures[2];
    3435            0 :                       _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3436            0 :                       _o1[0] = _r2;
    3437              :                     }
    3438            0 :                     {
    3439            0 :                       tree _o2[1], _r2;
    3440            0 :                       _o2[0] = captures[3];
    3441            0 :                       _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3442            0 :                       _o1[1] = _r2;
    3443              :                     }
    3444            0 :                     _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3445            0 :                     res_op0 = _r1;
    3446              :                   }
    3447            0 :                   tree _r;
    3448            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3449            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
    3450            0 :                   return _r;
    3451              :                 }
    3452            0 : next_after_fail1134:;
    3453              :               }
    3454            0 :               break;
    3455              :             }
    3456            0 :           case MINUS_EXPR:
    3457            0 :             {
    3458            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3459            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3460            0 :               {
    3461            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3462            0 :                 const enum tree_code op = MINUS_EXPR;
    3463            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1135;
    3464            0 :                 {
    3465            0 :                   tree res_op0;
    3466            0 :                   {
    3467            0 :                     tree _o1[2], _r1;
    3468            0 :                     {
    3469            0 :                       tree _o2[1], _r2;
    3470            0 :                       _o2[0] = captures[2];
    3471            0 :                       _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3472            0 :                       _o1[0] = _r2;
    3473              :                     }
    3474            0 :                     {
    3475            0 :                       tree _o2[1], _r2;
    3476            0 :                       _o2[0] = captures[3];
    3477            0 :                       _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3478            0 :                       _o1[1] = _r2;
    3479              :                     }
    3480            0 :                     _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3481            0 :                     res_op0 = _r1;
    3482              :                   }
    3483            0 :                   tree _r;
    3484            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3485            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
    3486            0 :                   return _r;
    3487              :                 }
    3488            0 : next_after_fail1135:;
    3489              :               }
    3490            0 :               break;
    3491              :             }
    3492            0 :           case CALL_EXPR:
    3493            0 :             switch (get_call_combined_fn (_q20))
    3494              :               {
    3495            0 :               case CFN_BUILT_IN_CEXPIF:
    3496            0 :                 if (call_expr_nargs (_q20) == 1)
    3497              :     {
    3498            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3499            0 :                     {
    3500            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3501            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3502              : )
    3503              :                         {
    3504            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1136;
    3505            0 :                           {
    3506            0 :                             tree res_op0;
    3507            0 :                             {
    3508            0 :                               tree _o1[1], _r1;
    3509            0 :                               _o1[0] = captures[2];
    3510            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COSF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3511            0 :                               if (!_r1)
    3512            0 :                                 goto next_after_fail1136;
    3513            0 :                               res_op0 = _r1;
    3514              :                             }
    3515            0 :                             tree _r;
    3516            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3517            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 880, __FILE__, __LINE__, true);
    3518            0 :                             return _r;
    3519              :                           }
    3520            0 : next_after_fail1136:;
    3521              :                         }
    3522              :                     }
    3523              :                   }
    3524              :                 break;
    3525            0 :               case CFN_BUILT_IN_CEXPIL:
    3526            0 :                 if (call_expr_nargs (_q20) == 1)
    3527              :     {
    3528            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3529            0 :                     {
    3530            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3531            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3532              : )
    3533              :                         {
    3534            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1137;
    3535            0 :                           {
    3536            0 :                             tree res_op0;
    3537            0 :                             {
    3538            0 :                               tree _o1[1], _r1;
    3539            0 :                               _o1[0] = captures[2];
    3540            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COSL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3541            0 :                               if (!_r1)
    3542            0 :                                 goto next_after_fail1137;
    3543            0 :                               res_op0 = _r1;
    3544              :                             }
    3545            0 :                             tree _r;
    3546            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3547            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 880, __FILE__, __LINE__, true);
    3548            0 :                             return _r;
    3549              :                           }
    3550            0 : next_after_fail1137:;
    3551              :                         }
    3552              :                     }
    3553              :                   }
    3554              :                 break;
    3555            0 :               case CFN_BUILT_IN_CEXPI:
    3556            0 :                 if (call_expr_nargs (_q20) == 1)
    3557              :     {
    3558            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3559            0 :                     {
    3560            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3561            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3562              : )
    3563              :                         {
    3564            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1138;
    3565            0 :                           {
    3566            0 :                             tree res_op0;
    3567            0 :                             {
    3568            0 :                               tree _o1[1], _r1;
    3569            0 :                               _o1[0] = captures[2];
    3570            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COS, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3571            0 :                               if (!_r1)
    3572            0 :                                 goto next_after_fail1138;
    3573            0 :                               res_op0 = _r1;
    3574              :                             }
    3575            0 :                             tree _r;
    3576            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3577            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 880, __FILE__, __LINE__, true);
    3578            0 :                             return _r;
    3579              :                           }
    3580            0 : next_after_fail1138:;
    3581              :                         }
    3582              :                     }
    3583              :                   }
    3584              :                 break;
    3585              :               default:;
    3586              :               }
    3587              :             break;
    3588              :           default:;
    3589              :           }
    3590              :         break;
    3591              :       }
    3592           16 :     case CONJ_EXPR:
    3593           16 :       {
    3594           16 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3595           16 :         {
    3596           16 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3597           16 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1139;
    3598           16 :           {
    3599           16 :             tree res_op0;
    3600           16 :             {
    3601           16 :               tree _o1[1], _r1;
    3602           16 :               _o1[0] = captures[2];
    3603           16 :               _r1 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    3604           16 :               res_op0 = _r1;
    3605              :             }
    3606           16 :             tree _r;
    3607           16 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3608           16 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
    3609           16 :             return _r;
    3610              :           }
    3611            0 : next_after_fail1139:;
    3612              :         }
    3613            0 :         break;
    3614              :       }
    3615          407 :     case PLUS_EXPR:
    3616          407 :       {
    3617          407 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3618          407 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3619          407 :         {
    3620          407 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    3621          407 :           const enum tree_code op = PLUS_EXPR;
    3622          407 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1140;
    3623          407 :           {
    3624          407 :             tree res_op0;
    3625          407 :             {
    3626          407 :               tree _o1[2], _r1;
    3627          407 :               {
    3628          407 :                 tree _o2[1], _r2;
    3629          407 :                 _o2[0] = captures[2];
    3630          407 :                 _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3631          407 :                 _o1[0] = _r2;
    3632              :               }
    3633          407 :               {
    3634          407 :                 tree _o2[1], _r2;
    3635          407 :                 _o2[0] = captures[3];
    3636          407 :                 _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3637          407 :                 _o1[1] = _r2;
    3638              :               }
    3639          407 :               _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3640          407 :               res_op0 = _r1;
    3641              :             }
    3642          407 :             tree _r;
    3643          407 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3644          407 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
    3645          407 :             return _r;
    3646              :           }
    3647            0 : next_after_fail1140:;
    3648              :         }
    3649            0 :         break;
    3650              :       }
    3651           47 :     case MINUS_EXPR:
    3652           47 :       {
    3653           47 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3654           47 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3655           47 :         {
    3656           47 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    3657           47 :           const enum tree_code op = MINUS_EXPR;
    3658           47 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1141;
    3659           47 :           {
    3660           47 :             tree res_op0;
    3661           47 :             {
    3662           47 :               tree _o1[2], _r1;
    3663           47 :               {
    3664           47 :                 tree _o2[1], _r2;
    3665           47 :                 _o2[0] = captures[2];
    3666           47 :                 _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3667           47 :                 _o1[0] = _r2;
    3668              :               }
    3669           47 :               {
    3670           47 :                 tree _o2[1], _r2;
    3671           47 :                 _o2[0] = captures[3];
    3672           47 :                 _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3673           47 :                 _o1[1] = _r2;
    3674              :               }
    3675           47 :               _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3676           47 :               res_op0 = _r1;
    3677              :             }
    3678           47 :             tree _r;
    3679           47 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3680           47 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
    3681           47 :             return _r;
    3682              :           }
    3683            0 : next_after_fail1141:;
    3684              :         }
    3685            0 :         break;
    3686              :       }
    3687          263 :     case CALL_EXPR:
    3688          263 :       switch (get_call_combined_fn (_p0))
    3689              :         {
    3690            0 :         case CFN_BUILT_IN_CEXPIF:
    3691            0 :           if (call_expr_nargs (_p0) == 1)
    3692              :     {
    3693            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3694            0 :               {
    3695            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3696            0 :                 if (single_use (captures[1]) && single_use (captures[0])
    3697              : )
    3698              :                   {
    3699            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1142;
    3700            0 :                     {
    3701            0 :                       tree res_op0;
    3702            0 :                       {
    3703            0 :                         tree _o1[1], _r1;
    3704            0 :                         _o1[0] = captures[2];
    3705            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COSF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3706            0 :                         if (!_r1)
    3707            0 :                           goto next_after_fail1142;
    3708            0 :                         res_op0 = _r1;
    3709              :                       }
    3710            0 :                       tree _r;
    3711            0 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3712            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 880, __FILE__, __LINE__, true);
    3713            0 :                       return _r;
    3714              :                     }
    3715            0 : next_after_fail1142:;
    3716              :                   }
    3717              :               }
    3718              :             }
    3719              :           break;
    3720            0 :         case CFN_BUILT_IN_CEXPIL:
    3721            0 :           if (call_expr_nargs (_p0) == 1)
    3722              :     {
    3723            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3724            0 :               {
    3725            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3726            0 :                 if (single_use (captures[1]) && single_use (captures[0])
    3727              : )
    3728              :                   {
    3729            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1143;
    3730            0 :                     {
    3731            0 :                       tree res_op0;
    3732            0 :                       {
    3733            0 :                         tree _o1[1], _r1;
    3734            0 :                         _o1[0] = captures[2];
    3735            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COSL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3736            0 :                         if (!_r1)
    3737            0 :                           goto next_after_fail1143;
    3738            0 :                         res_op0 = _r1;
    3739              :                       }
    3740            0 :                       tree _r;
    3741            0 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3742            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 880, __FILE__, __LINE__, true);
    3743            0 :                       return _r;
    3744              :                     }
    3745            0 : next_after_fail1143:;
    3746              :                   }
    3747              :               }
    3748              :             }
    3749              :           break;
    3750            1 :         case CFN_BUILT_IN_CEXPI:
    3751            1 :           if (call_expr_nargs (_p0) == 1)
    3752              :     {
    3753            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3754            1 :               {
    3755            1 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3756            1 :                 if (single_use (captures[1]) && single_use (captures[0])
    3757              : )
    3758              :                   {
    3759            1 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1144;
    3760            1 :                     {
    3761            1 :                       tree res_op0;
    3762            1 :                       {
    3763            1 :                         tree _o1[1], _r1;
    3764            1 :                         _o1[0] = captures[2];
    3765            1 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COS, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3766            1 :                         if (!_r1)
    3767            0 :                           goto next_after_fail1144;
    3768            1 :                         res_op0 = _r1;
    3769              :                       }
    3770            1 :                       tree _r;
    3771            1 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3772            1 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 880, __FILE__, __LINE__, true);
    3773            1 :                       return _r;
    3774              :                     }
    3775            0 : next_after_fail1144:;
    3776              :                   }
    3777              :               }
    3778              :             }
    3779              :           break;
    3780              :         default:;
    3781              :         }
    3782              :       break;
    3783              :     default:;
    3784              :     }
    3785              :   return NULL_TREE;
    3786              : }
    3787              : 
    3788              : tree
    3789      2870107 : generic_simplify_POINTER_DIFF_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    3790              : {
    3791      2870107 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3792      2870107 :   if (integer_zerop (_p1))
    3793              :     {
    3794           29 :       {
    3795           29 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3796           29 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1371;
    3797           29 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1371;
    3798           29 :         {
    3799           29 :           tree res_op0;
    3800           29 :           res_op0 = captures[0];
    3801           29 :           tree _r;
    3802           29 :           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3803           29 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 945, __FILE__, __LINE__, true);
    3804           29 :           return _r;
    3805              :         }
    3806              : next_after_fail1371:;
    3807              :       }
    3808              :     }
    3809      2870078 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _p0, 0))
    3810              :     {
    3811        39295 :       {
    3812        39295 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p0 };
    3813        39295 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1372;
    3814        39295 :         {
    3815        39295 :           tree _r;
    3816        39295 :           _r =  build_zero_cst (type);
    3817        39295 :           if (TREE_SIDE_EFFECTS (captures[1]))
    3818            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3819        39295 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 946, __FILE__, __LINE__, true);
    3820        39295 :           return _r;
    3821              :         }
    3822            0 : next_after_fail1372:;
    3823              :       }
    3824              :     }
    3825      2830783 :   switch (TREE_CODE (_p0))
    3826              :     {
    3827       257363 :     case POINTER_PLUS_EXPR:
    3828       257363 :       {
    3829       257363 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3830       257363 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3831       257363 :         switch (TREE_CODE (_p1))
    3832              :           {
    3833        15382 :           case POINTER_PLUS_EXPR:
    3834        15382 :             {
    3835        15382 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3836        15382 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3837        15382 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3838              :                 {
    3839        15351 :                   {
    3840        15351 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    3841        15351 :                     if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    3842              : )
    3843              :                       {
    3844        15351 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1373;
    3845        15351 :                         {
    3846        15351 :                           tree res_op0;
    3847        15351 :                           {
    3848        15351 :                             tree _o1[2], _r1;
    3849        15351 :                             _o1[0] = captures[1];
    3850        15351 :                             _o1[1] = captures[2];
    3851        15351 :                             _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3852        15351 :                             res_op0 = _r1;
    3853              :                           }
    3854        15351 :                           tree _r;
    3855        15351 :                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3856        15351 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    3857            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3858        15351 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
    3859        15351 :                           return _r;
    3860              :                         }
    3861            0 : next_after_fail1373:;
    3862              :                       }
    3863              :                   }
    3864              :                 }
    3865           31 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3866              :                 {
    3867            1 :                   {
    3868            1 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    3869            1 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1374;
    3870            1 :                     {
    3871            1 :                       tree res_op0;
    3872            1 :                       res_op0 = captures[0];
    3873            1 :                       tree res_op1;
    3874            1 :                       res_op1 = captures[2];
    3875            1 :                       tree _r;
    3876            1 :                       _r = fold_build2_loc (loc, POINTER_DIFF_EXPR, type, res_op0, res_op1);
    3877            1 :                       if (TREE_SIDE_EFFECTS (captures[1]))
    3878            0 :                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3879            1 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 948, __FILE__, __LINE__, true);
    3880            1 :                       return _r;
    3881              :                     }
    3882            0 : next_after_fail1374:;
    3883              :                   }
    3884              :                 }
    3885              :               break;
    3886              :             }
    3887              :           default:;
    3888              :           }
    3889              :         break;
    3890              :       }
    3891       148724 :     CASE_CONVERT:
    3892       148724 :       {
    3893       148724 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3894       148724 :         switch (TREE_CODE (_q20))
    3895              :           {
    3896         2037 :           case ADDR_EXPR:
    3897         2037 :             {
    3898         2037 :               switch (TREE_CODE (_p1))
    3899              :                 {
    3900          324 :                 CASE_CONVERT:
    3901          324 :                   {
    3902          324 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    3903          324 :                     {
    3904          324 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    3905          324 :                       if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    3906          324 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    3907              : )
    3908              :                         {
    3909          324 :                           {
    3910          324 :  poly_int64 diff;
    3911          324 :                               if (ptr_difference_const (captures[1], captures[3], &diff)
    3912              : )
    3913              :                                 {
    3914          189 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1375;
    3915          189 :                                   {
    3916          189 :                                     tree _r;
    3917          189 :                                     _r =  build_int_cst_type (type, diff);
    3918          189 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    3919            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3920          189 :                                     if (TREE_SIDE_EFFECTS (captures[3]))
    3921            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3922          189 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 949, __FILE__, __LINE__, true);
    3923          189 :                                     return _r;
    3924              :                                   }
    3925            0 : next_after_fail1375:;
    3926              :                                 }
    3927              :                           }
    3928              :                         }
    3929              :                     }
    3930          135 :                     break;
    3931              :                   }
    3932         1848 :                 default:;
    3933              :                 }
    3934         1848 :               {
    3935         1848 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    3936         1848 :                 if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    3937         1848 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    3938              : )
    3939              :                   {
    3940         1848 :                     {
    3941         1848 :  poly_int64 diff;
    3942         1848 :                         if (ptr_difference_const (captures[1], captures[3], &diff)
    3943              : )
    3944              :                           {
    3945          103 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1376;
    3946          103 :                             {
    3947          103 :                               tree _r;
    3948          103 :                               _r =  build_int_cst_type (type, diff);
    3949          103 :                               if (TREE_SIDE_EFFECTS (captures[1]))
    3950            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3951          103 :                               if (TREE_SIDE_EFFECTS (captures[2]))
    3952            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3953          103 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 949, __FILE__, __LINE__, true);
    3954          103 :                               return _r;
    3955              :                             }
    3956            0 : next_after_fail1376:;
    3957              :                           }
    3958              :                     }
    3959              :                   }
    3960              :               }
    3961         1745 :               break;
    3962              :             }
    3963       148432 :           default:;
    3964              :           }
    3965       148432 :         switch (TREE_CODE (_p1))
    3966              :           {
    3967       116528 :           CASE_CONVERT:
    3968       116528 :             {
    3969       116528 :               tree _q40 = TREE_OPERAND (_p1, 0);
    3970       116528 :               switch (TREE_CODE (_q40))
    3971              :                 {
    3972        18301 :                 case ADDR_EXPR:
    3973        18301 :                   {
    3974        18301 :                     {
    3975        18301 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    3976        18301 :                       if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    3977        18301 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    3978              : )
    3979              :                         {
    3980        18301 :                           {
    3981        18301 :  poly_int64 diff;
    3982        18301 :                               if (ptr_difference_const (captures[1], captures[3], &diff)
    3983              : )
    3984              :                                 {
    3985           37 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1377;
    3986           37 :                                   {
    3987           37 :                                     tree _r;
    3988           37 :                                     _r =  build_int_cst_type (type, diff);
    3989           37 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    3990            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3991           37 :                                     if (TREE_SIDE_EFFECTS (captures[3]))
    3992            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3993           37 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 950, __FILE__, __LINE__, true);
    3994           37 :                                     return _r;
    3995              :                                   }
    3996            0 : next_after_fail1377:;
    3997              :                                 }
    3998              :                           }
    3999              :                         }
    4000              :                     }
    4001        18264 :                     break;
    4002              :                   }
    4003              :                 default:;
    4004              :                 }
    4005              :               break;
    4006              :             }
    4007           12 :           case ADDR_EXPR:
    4008           12 :             {
    4009           12 :               {
    4010           12 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    4011           12 :                 if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    4012           12 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    4013              : )
    4014              :                   {
    4015           12 :                     {
    4016           12 :  poly_int64 diff;
    4017           12 :                         if (ptr_difference_const (captures[1], captures[3], &diff)
    4018              : )
    4019              :                           {
    4020            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1378;
    4021            0 :                             {
    4022            0 :                               tree _r;
    4023            0 :                               _r =  build_int_cst_type (type, diff);
    4024            0 :                               if (TREE_SIDE_EFFECTS (captures[1]))
    4025            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4026            0 :                               if (TREE_SIDE_EFFECTS (captures[2]))
    4027            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4028            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 950, __FILE__, __LINE__, true);
    4029            0 :                               return _r;
    4030              :                             }
    4031            0 : next_after_fail1378:;
    4032              :                           }
    4033              :                     }
    4034              :                   }
    4035              :               }
    4036           12 :               break;
    4037              :             }
    4038              :           default:;
    4039              :           }
    4040              :         break;
    4041              :       }
    4042         3755 :     case ADDR_EXPR:
    4043         3755 :       {
    4044         3755 :         switch (TREE_CODE (_p1))
    4045              :           {
    4046           50 :           CASE_CONVERT:
    4047           50 :             {
    4048           50 :               tree _q30 = TREE_OPERAND (_p1, 0);
    4049           50 :               {
    4050           50 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
    4051           50 :                 if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    4052           50 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    4053              : )
    4054              :                   {
    4055           50 :                     {
    4056           50 :  poly_int64 diff;
    4057           50 :                         if (ptr_difference_const (captures[1], captures[3], &diff)
    4058              : )
    4059              :                           {
    4060           29 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1379;
    4061           29 :                             {
    4062           29 :                               tree _r;
    4063           29 :                               _r =  build_int_cst_type (type, diff);
    4064           29 :                               if (TREE_SIDE_EFFECTS (captures[0]))
    4065            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4066           29 :                               if (TREE_SIDE_EFFECTS (captures[3]))
    4067            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    4068           29 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 949, __FILE__, __LINE__, true);
    4069           29 :                               return _r;
    4070              :                             }
    4071            0 : next_after_fail1379:;
    4072              :                           }
    4073              :                     }
    4074              :                   }
    4075              :               }
    4076           21 :               break;
    4077              :             }
    4078         3726 :           default:;
    4079              :           }
    4080         3726 :         {
    4081         3726 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
    4082         3726 :           if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    4083         3726 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    4084              : )
    4085              :             {
    4086         3726 :               {
    4087         3726 :  poly_int64 diff;
    4088         3726 :                   if (ptr_difference_const (captures[1], captures[3], &diff)
    4089              : )
    4090              :                     {
    4091         2441 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1380;
    4092         2441 :                       {
    4093         2441 :                         tree _r;
    4094         2441 :                         _r =  build_int_cst_type (type, diff);
    4095         2441 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    4096            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4097         2441 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    4098            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4099         2441 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 949, __FILE__, __LINE__, true);
    4100         2441 :                         return _r;
    4101              :                       }
    4102            0 : next_after_fail1380:;
    4103              :                     }
    4104              :               }
    4105              :             }
    4106              :         }
    4107         1285 :         break;
    4108              :       }
    4109      2812632 :     default:;
    4110              :     }
    4111      2812632 :   switch (TREE_CODE (_p1))
    4112              :     {
    4113       541773 :     CASE_CONVERT:
    4114       541773 :       {
    4115       541773 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4116       541773 :         switch (TREE_CODE (_q30))
    4117              :           {
    4118       377964 :           case ADDR_EXPR:
    4119       377964 :             {
    4120       377964 :               {
    4121       377964 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
    4122       377964 :                 if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    4123       377964 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    4124              : )
    4125              :                   {
    4126       377964 :                     {
    4127       377964 :  poly_int64 diff;
    4128       377964 :                         if (ptr_difference_const (captures[1], captures[3], &diff)
    4129              : )
    4130              :                           {
    4131       235958 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1381;
    4132       235958 :                             {
    4133       235958 :                               tree _r;
    4134       235958 :                               _r =  build_int_cst_type (type, diff);
    4135       235958 :                               if (TREE_SIDE_EFFECTS (captures[0]))
    4136            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4137       235958 :                               if (TREE_SIDE_EFFECTS (captures[3]))
    4138            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    4139       235958 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 950, __FILE__, __LINE__, true);
    4140       235958 :                               return _r;
    4141              :                             }
    4142            0 : next_after_fail1381:;
    4143              :                           }
    4144              :                     }
    4145              :                   }
    4146              :               }
    4147       142006 :               break;
    4148              :             }
    4149              :           default:;
    4150              :           }
    4151              :         break;
    4152              :       }
    4153         8016 :     case ADDR_EXPR:
    4154         8016 :       {
    4155         8016 :         {
    4156         8016 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
    4157         8016 :           if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    4158         8016 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    4159              : )
    4160              :             {
    4161         8016 :               {
    4162         8016 :  poly_int64 diff;
    4163         8016 :                   if (ptr_difference_const (captures[1], captures[3], &diff)
    4164              : )
    4165              :                     {
    4166           76 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1382;
    4167           76 :                       {
    4168           76 :                         tree _r;
    4169           76 :                         _r =  build_int_cst_type (type, diff);
    4170           76 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    4171            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4172           76 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    4173            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4174           76 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 950, __FILE__, __LINE__, true);
    4175           76 :                         return _r;
    4176              :                       }
    4177            0 : next_after_fail1382:;
    4178              :                     }
    4179              :               }
    4180              :             }
    4181              :         }
    4182         7940 :         break;
    4183              :       }
    4184      2576598 :     default:;
    4185              :     }
    4186      2576598 :   switch (TREE_CODE (_p0))
    4187              :     {
    4188         5977 :     case POINTER_PLUS_EXPR:
    4189         5977 :       {
    4190         5977 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4191         5977 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4192         5977 :         switch (TREE_CODE (_q20))
    4193              :           {
    4194           65 :           case ADDR_EXPR:
    4195           65 :             {
    4196           65 :               switch (TREE_CODE (_p1))
    4197              :                 {
    4198            0 :                 case POINTER_PLUS_EXPR:
    4199            0 :                   {
    4200            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4201            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4202            0 :                     switch (TREE_CODE (_q50))
    4203              :                       {
    4204            0 :                       case ADDR_EXPR:
    4205            0 :                         {
    4206            0 :                           {
    4207            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
    4208            0 :                             {
    4209            0 :  poly_int64 diff;
    4210            0 :                                 if (ptr_difference_const (captures[0], captures[2], &diff)
    4211              : )
    4212              :                                   {
    4213            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1383;
    4214            0 :                                     {
    4215            0 :                                       tree res_op0;
    4216            0 :                                       res_op0 =  build_int_cst_type (type, diff);
    4217            0 :                                       tree res_op1;
    4218            0 :                                       {
    4219            0 :                                         tree _o1[1], _r1;
    4220            0 :                                         {
    4221            0 :                                           tree _o2[2], _r2;
    4222            0 :                                           _o2[0] = captures[1];
    4223            0 :                                           _o2[1] = captures[3];
    4224            0 :                                           _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    4225            0 :                                           _o1[0] = _r2;
    4226              :                                         }
    4227            0 :                                         if (TREE_TYPE (_o1[0]) != type)
    4228              :                                           {
    4229            0 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4230              :                                           }
    4231              :                                         else
    4232              :                                           _r1 = _o1[0];
    4233            0 :                                         res_op1 = _r1;
    4234              :                                       }
    4235            0 :                                       tree _r;
    4236            0 :                                       _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    4237            0 :                                       if (TREE_SIDE_EFFECTS (captures[0]))
    4238            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4239            0 :                                       if (TREE_SIDE_EFFECTS (captures[2]))
    4240            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4241            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 951, __FILE__, __LINE__, true);
    4242            0 :                                       return _r;
    4243              :                                     }
    4244            0 : next_after_fail1383:;
    4245              :                                   }
    4246              :                             }
    4247              :                           }
    4248            0 :                           break;
    4249              :                         }
    4250              :                       default:;
    4251              :                       }
    4252              :                     break;
    4253              :                   }
    4254              :                 default:;
    4255              :                 }
    4256              :               break;
    4257              :             }
    4258         5977 :           default:;
    4259              :           }
    4260         5977 :         switch (TREE_CODE (_p1))
    4261              :           {
    4262          112 :           case ADDR_EXPR:
    4263          112 :             {
    4264          112 :               {
    4265          112 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4266          112 :                 {
    4267          112 :  poly_int64 diff;
    4268          112 :                     if (ptr_difference_const (captures[0], captures[2], &diff)
    4269              : )
    4270              :                       {
    4271           98 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1384;
    4272           98 :                         {
    4273           98 :                           tree res_op0;
    4274           98 :                           res_op0 =  build_int_cst_type (type, diff);
    4275           98 :                           tree res_op1;
    4276           98 :                           {
    4277           98 :                             tree _o1[1], _r1;
    4278           98 :                             _o1[0] = captures[1];
    4279           98 :                             if (TREE_TYPE (_o1[0]) != type)
    4280              :                               {
    4281           98 :                                 _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4282              :                               }
    4283              :                             else
    4284              :                               _r1 = _o1[0];
    4285           98 :                             res_op1 = _r1;
    4286              :                           }
    4287           98 :                           tree _r;
    4288           98 :                           _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    4289           98 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    4290            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4291           98 :                           if (TREE_SIDE_EFFECTS (captures[2]))
    4292            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4293           98 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 952, __FILE__, __LINE__, true);
    4294           98 :                           return _r;
    4295              :                         }
    4296            0 : next_after_fail1384:;
    4297              :                       }
    4298              :                 }
    4299              :               }
    4300           14 :               break;
    4301              :             }
    4302         5879 :           default:;
    4303              :           }
    4304         5879 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
    4305              :           {
    4306         1761 :             {
    4307         1761 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
    4308         1761 :               if (!TYPE_SATURATING (type)
    4309              : )
    4310              :                 {
    4311         1761 :                   if ((!FLOAT_TYPE_P (type) || flag_associative_math)
    4312         3522 :  && !FIXED_POINT_TYPE_P (type)
    4313              : )
    4314              :                     {
    4315         1761 :                       {
    4316         1761 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    4317         1761 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1385;
    4318         1761 :                           {
    4319         1761 :                             tree res_op0;
    4320         1761 :                             {
    4321         1761 :                               tree _o1[1], _r1;
    4322         1761 :                               _o1[0] = captures[1];
    4323         1761 :                               if (TREE_TYPE (_o1[0]) != stype)
    4324              :                                 {
    4325         1761 :                                   _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, stype, _o1[0]);
    4326              :                                 }
    4327              :                               else
    4328              :                                 _r1 = _o1[0];
    4329         1761 :                               res_op0 = _r1;
    4330              :                             }
    4331         1761 :                             tree _r;
    4332         1761 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4333         1761 :                             if (TREE_SIDE_EFFECTS (captures[2]))
    4334            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4335         1761 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 953, __FILE__, __LINE__, true);
    4336         1761 :                             return _r;
    4337              :                           }
    4338            0 : next_after_fail1385:;
    4339              :                       }
    4340              :                     }
    4341              :                 }
    4342              :             }
    4343              :           }
    4344              :         break;
    4345              :       }
    4346         1285 :     case ADDR_EXPR:
    4347         1285 :       {
    4348         1285 :         switch (TREE_CODE (_p1))
    4349              :           {
    4350            9 :           case POINTER_PLUS_EXPR:
    4351            9 :             {
    4352            9 :               tree _q30 = TREE_OPERAND (_p1, 0);
    4353            9 :               tree _q31 = TREE_OPERAND (_p1, 1);
    4354            9 :               {
    4355            9 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    4356            9 :                 {
    4357            9 :  poly_int64 diff;
    4358            9 :                     if (ptr_difference_const (captures[0], captures[1], &diff)
    4359              : )
    4360              :                       {
    4361            9 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1386;
    4362            9 :                         {
    4363            9 :                           tree res_op0;
    4364            9 :                           res_op0 =  build_int_cst_type (type, diff);
    4365            9 :                           tree res_op1;
    4366            9 :                           {
    4367            9 :                             tree _o1[1], _r1;
    4368            9 :                             _o1[0] = captures[2];
    4369            9 :                             if (TREE_TYPE (_o1[0]) != type)
    4370              :                               {
    4371            9 :                                 _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4372              :                               }
    4373              :                             else
    4374              :                               _r1 = _o1[0];
    4375            9 :                             res_op1 = _r1;
    4376              :                           }
    4377            9 :                           tree _r;
    4378            9 :                           _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    4379            9 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    4380            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4381            9 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    4382            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4383            9 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 954, __FILE__, __LINE__, true);
    4384            9 :                           return _r;
    4385              :                         }
    4386            0 : next_after_fail1386:;
    4387              :                       }
    4388              :                 }
    4389              :               }
    4390            0 :               break;
    4391              :             }
    4392              :           default:;
    4393              :           }
    4394              :         break;
    4395              :       }
    4396      2574730 :     default:;
    4397              :     }
    4398      2574730 :   switch (TREE_CODE (_p1))
    4399              :     {
    4400          209 :     case POINTER_PLUS_EXPR:
    4401          209 :       {
    4402          209 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4403          209 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4404          209 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
    4405              :           {
    4406          124 :             {
    4407          124 :               tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
    4408          124 :               if (!TYPE_SATURATING (type)
    4409              : )
    4410              :                 {
    4411          124 :                   if ((!FLOAT_TYPE_P (type) || flag_associative_math)
    4412          248 :  && !FIXED_POINT_TYPE_P (type)
    4413              : )
    4414              :                     {
    4415          124 :                       {
    4416          124 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    4417          124 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1387;
    4418          124 :                           {
    4419          124 :                             tree res_op0;
    4420          124 :                             {
    4421          124 :                               tree _o1[1], _r1;
    4422          124 :                               {
    4423          124 :                                 tree _o2[1], _r2;
    4424          124 :                                 _o2[0] = captures[1];
    4425          124 :                                 if (TREE_TYPE (_o2[0]) != stype)
    4426              :                                   {
    4427          124 :                                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, stype, _o2[0]);
    4428              :                                   }
    4429              :                                 else
    4430              :                                   _r2 = _o2[0];
    4431          124 :                                 _o1[0] = _r2;
    4432              :                               }
    4433          124 :                               if (TREE_TYPE (_o1[0]) != type)
    4434              :                                 {
    4435          124 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4436              :                                 }
    4437              :                               else
    4438              :                                 _r1 = _o1[0];
    4439          124 :                               res_op0 = _r1;
    4440              :                             }
    4441          124 :                             tree _r;
    4442          124 :                             _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4443          124 :                             if (TREE_SIDE_EFFECTS (captures[2]))
    4444            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4445          124 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 955, __FILE__, __LINE__, true);
    4446          124 :                             return _r;
    4447              :                           }
    4448            0 : next_after_fail1387:;
    4449              :                       }
    4450              :                     }
    4451              :                 }
    4452              :             }
    4453              :           }
    4454              :         break;
    4455              :       }
    4456      2574606 :     default:;
    4457              :     }
    4458      2574606 :   switch (TREE_CODE (_p0))
    4459              :     {
    4460         4118 :     case POINTER_PLUS_EXPR:
    4461         4118 :       {
    4462         4118 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4463         4118 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4464         4118 :         switch (TREE_CODE (_p1))
    4465              :           {
    4466           30 :           case POINTER_PLUS_EXPR:
    4467           30 :             {
    4468           30 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4469           30 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4470           30 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
    4471              :                 {
    4472            2 :                   {
    4473            2 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
    4474            2 :                     if (!TYPE_SATURATING (type)
    4475              : )
    4476              :                       {
    4477            2 :                         if ((!FLOAT_TYPE_P (type) || flag_associative_math)
    4478            4 :  && !FIXED_POINT_TYPE_P (type)
    4479              : )
    4480              :                           {
    4481            2 :                             {
    4482            2 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    4483            2 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1388;
    4484            2 :                                 {
    4485            2 :                                   tree res_op0;
    4486            2 :                                   {
    4487            2 :                                     tree _o1[1], _r1;
    4488            2 :                                     {
    4489            2 :                                       tree _o2[1], _r2;
    4490            2 :                                       _o2[0] = captures[1];
    4491            2 :                                       if (TREE_TYPE (_o2[0]) != stype)
    4492              :                                         {
    4493            2 :                                           _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, stype, _o2[0]);
    4494              :                                         }
    4495              :                                       else
    4496              :                                         _r2 = _o2[0];
    4497            2 :                                       _o1[0] = _r2;
    4498              :                                     }
    4499            2 :                                     if (TREE_TYPE (_o1[0]) != type)
    4500              :                                       {
    4501            2 :                                         _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4502              :                                       }
    4503              :                                     else
    4504              :                                       _r1 = _o1[0];
    4505            2 :                                     res_op0 = _r1;
    4506              :                                   }
    4507            2 :                                   tree res_op1;
    4508            2 :                                   {
    4509            2 :                                     tree _o1[1], _r1;
    4510            2 :                                     {
    4511            2 :                                       tree _o2[1], _r2;
    4512            2 :                                       _o2[0] = captures[2];
    4513            2 :                                       if (TREE_TYPE (_o2[0]) != stype)
    4514              :                                         {
    4515            2 :                                           _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, stype, _o2[0]);
    4516              :                                         }
    4517              :                                       else
    4518              :                                         _r2 = _o2[0];
    4519            2 :                                       _o1[0] = _r2;
    4520              :                                     }
    4521            2 :                                     if (TREE_TYPE (_o1[0]) != type)
    4522              :                                       {
    4523            2 :                                         _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4524              :                                       }
    4525              :                                     else
    4526              :                                       _r1 = _o1[0];
    4527            2 :                                     res_op1 = _r1;
    4528              :                                   }
    4529            2 :                                   tree _r;
    4530            2 :                                   _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    4531            2 :                                   if (TREE_SIDE_EFFECTS (captures[3]))
    4532            0 :                                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    4533            2 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 956, __FILE__, __LINE__, true);
    4534            2 :                                   return _r;
    4535              :                                 }
    4536            0 : next_after_fail1388:;
    4537              :                             }
    4538              :                           }
    4539              :                       }
    4540              :                   }
    4541              :                 }
    4542              :               break;
    4543              :             }
    4544              :           default:;
    4545              :           }
    4546              :         break;
    4547              :       }
    4548      2574604 :     default:;
    4549              :     }
    4550      2574604 : if (integer_zerop (_p0))
    4551              :   {
    4552            0 :     {
    4553            0 :       tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
    4554            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1389;
    4555            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1389;
    4556            0 :       {
    4557            0 :         tree res_op0;
    4558            0 :         {
    4559            0 :           tree _o1[1], _r1;
    4560            0 :           _o1[0] = captures[0];
    4561            0 :           if (TREE_TYPE (_o1[0]) != type)
    4562              :             {
    4563            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4564              :             }
    4565              :           else
    4566              :             _r1 = _o1[0];
    4567            0 :           res_op0 = _r1;
    4568              :         }
    4569            0 :         tree _r;
    4570            0 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4571            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 957, __FILE__, __LINE__, true);
    4572            0 :         return _r;
    4573              :       }
    4574              : next_after_fail1389:;
    4575              :     }
    4576              :   }
    4577              :   return NULL_TREE;
    4578              : }
    4579              : 
    4580              : tree
    4581      2194688 : generic_simplify_FLOOR_DIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4582              : {
    4583      2194688 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4584      2194688 :   if (integer_onep (_p1))
    4585              :     {
    4586       768877 :       {
    4587       768877 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4588       768877 :         tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4589       768877 :         if (res) return res;
    4590              :       }
    4591              :     }
    4592      1425811 :   if (integer_zerop (_p0))
    4593              :     {
    4594            4 :       {
    4595            4 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4596            4 :         tree res = generic_simplify_311 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4597            4 :         if (res) return res;
    4598              :       }
    4599              :     }
    4600      1425807 :   switch (TREE_CODE (_p1))
    4601              :     {
    4602          969 :     case SSA_NAME:
    4603          969 :       {
    4604          969 :         {
    4605          969 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4606          969 :           tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4607          969 :           if (res) return res;
    4608              :         }
    4609          969 :         break;
    4610              :       }
    4611      1425807 :     default:;
    4612              :     }
    4613      1425807 : if (integer_minus_onep (_p1))
    4614              :   {
    4615          229 :     {
    4616          229 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4617          229 :       tree res = generic_simplify_312 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4618          229 :       if (res) return res;
    4619              :     }
    4620              :   }
    4621      1425746 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4622              :     {
    4623            0 :       {
    4624            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4625            0 :         tree res = generic_simplify_314 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4626            0 :         if (res) return res;
    4627              :       }
    4628              :     }
    4629      1425746 :   switch (TREE_CODE (_p1))
    4630              :     {
    4631            0 :     case ABS_EXPR:
    4632            0 :       {
    4633            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4634            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4635              :           {
    4636            0 :             {
    4637            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4638            0 :               tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4639            0 :               if (res) return res;
    4640              :             }
    4641              :           }
    4642              :         break;
    4643              :       }
    4644      1425746 :     default:;
    4645              :     }
    4646      1425746 :   switch (TREE_CODE (_p0))
    4647              :     {
    4648            0 :     case ABS_EXPR:
    4649            0 :       {
    4650            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4651            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4652              :           {
    4653            0 :             {
    4654            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4655            0 :               tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4656            0 :               if (res) return res;
    4657              :             }
    4658              :           }
    4659              :         break;
    4660              :       }
    4661      1425746 :     default:;
    4662              :     }
    4663      1425746 :   switch (TREE_CODE (_p1))
    4664              :     {
    4665            0 :     case NEGATE_EXPR:
    4666            0 :       {
    4667            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4668            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4669              :           {
    4670            0 :             {
    4671            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4672            0 :               tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4673            0 :               if (res) return res;
    4674              :             }
    4675              :           }
    4676              :         break;
    4677              :       }
    4678      1425746 :     default:;
    4679              :     }
    4680      1425746 :   switch (TREE_CODE (_p0))
    4681              :     {
    4682          290 :     case NEGATE_EXPR:
    4683          290 :       {
    4684          290 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4685          290 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4686              :           {
    4687            0 :             {
    4688            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4689            0 :               tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4690            0 :               if (res) return res;
    4691              :             }
    4692              :           }
    4693              :         break;
    4694              :       }
    4695      1425746 :     default:;
    4696              :     }
    4697      1425746 :   {
    4698      1425746 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4699      1425746 :     tree res = generic_simplify_322 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, TRUNC_DIV_EXPR);
    4700      1425746 :     if (res) return res;
    4701              :   }
    4702         5553 :   switch (TREE_CODE (_p0))
    4703              :     {
    4704          388 :     CASE_CONVERT:
    4705          388 :       {
    4706          388 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4707          388 :         switch (TREE_CODE (_q20))
    4708              :           {
    4709            0 :           case BIT_AND_EXPR:
    4710            0 :             {
    4711            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4712            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4713            0 :               switch (TREE_CODE (_q31))
    4714              :                 {
    4715            0 :                 case INTEGER_CST:
    4716            0 :                   {
    4717            0 :                     switch (TREE_CODE (_p1))
    4718              :                       {
    4719            0 :                       case INTEGER_CST:
    4720            0 :                         {
    4721            0 :                           {
    4722            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    4723            0 :                             tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4724            0 :                             if (res) return res;
    4725              :                           }
    4726            0 :                           break;
    4727              :                         }
    4728              :                       default:;
    4729              :                       }
    4730              :                     break;
    4731              :                   }
    4732              :                 default:;
    4733              :                 }
    4734              :               break;
    4735              :             }
    4736              :           default:;
    4737              :           }
    4738              :         break;
    4739              :       }
    4740            0 :     case BIT_AND_EXPR:
    4741            0 :       {
    4742            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4743            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4744            0 :         switch (TREE_CODE (_q21))
    4745              :           {
    4746            0 :           case INTEGER_CST:
    4747            0 :             {
    4748            0 :               switch (TREE_CODE (_p1))
    4749              :                 {
    4750            0 :                 case INTEGER_CST:
    4751            0 :                   {
    4752            0 :                     {
    4753            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4754            0 :                       tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4755            0 :                       if (res) return res;
    4756              :                     }
    4757            0 :                     break;
    4758              :                   }
    4759              :                 default:;
    4760              :                 }
    4761              :               break;
    4762              :             }
    4763              :           default:;
    4764              :           }
    4765              :         break;
    4766              :       }
    4767            0 :     case MULT_EXPR:
    4768            0 :       {
    4769            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4770            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4771            0 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4772              :           {
    4773            0 :             {
    4774            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4775            0 :               tree res = generic_simplify_320 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4776            0 :               if (res) return res;
    4777              :             }
    4778              :           }
    4779            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4780              :           {
    4781            0 :             {
    4782            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    4783            0 :               tree res = generic_simplify_320 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4784            0 :               if (res) return res;
    4785              :             }
    4786              :           }
    4787            0 :         switch (TREE_CODE (_q21))
    4788              :           {
    4789            0 :           case INTEGER_CST:
    4790            0 :             {
    4791            0 :               switch (TREE_CODE (_p1))
    4792              :                 {
    4793            0 :                 case MULT_EXPR:
    4794            0 :                   {
    4795            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4796            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4797            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4798              :                       {
    4799            0 :                         switch (TREE_CODE (_q51))
    4800              :                           {
    4801            0 :                           case INTEGER_CST:
    4802            0 :                             {
    4803            0 :                               {
    4804            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    4805            0 :                                 tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4806            0 :                                 if (res) return res;
    4807              :                               }
    4808            0 :                               break;
    4809              :                             }
    4810              :                           default:;
    4811              :                           }
    4812              :                       }
    4813              :                     break;
    4814              :                   }
    4815              :                 default:;
    4816              :                 }
    4817              :               break;
    4818              :             }
    4819              :           default:;
    4820              :           }
    4821              :         break;
    4822              :       }
    4823            0 :     case VEC_COND_EXPR:
    4824            0 :       {
    4825            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4826            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4827            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4828            0 :         switch (TREE_CODE (_p1))
    4829              :           {
    4830            0 :           case VEC_COND_EXPR:
    4831            0 :             {
    4832            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    4833            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    4834            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    4835            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4836              :                 {
    4837            0 :                   {
    4838            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    4839            0 :                     if (VECTOR_TYPE_P (type)
    4840            0 :  && (TREE_CODE_CLASS (FLOOR_DIV_EXPR) != tcc_comparison
    4841              :  || types_match (type, TREE_TYPE (captures[2]))
    4842              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4843              :  || (optimize_vectors_before_lowering_p ()
    4844              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4845              : )
    4846              :                       {
    4847            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1581;
    4848            0 :                         {
    4849            0 :                           tree res_op0;
    4850            0 :                           res_op0 = captures[1];
    4851            0 :                           tree res_op1;
    4852            0 :                           {
    4853            0 :                             tree _o1[2], _r1;
    4854            0 :                             _o1[0] = captures[2];
    4855            0 :                             _o1[1] = captures[5];
    4856            0 :                             _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4857            0 :                             if (EXPR_P (_r1))
    4858            0 :                               goto next_after_fail1581;
    4859            0 :                             res_op1 = _r1;
    4860              :                           }
    4861            0 :                           tree res_op2;
    4862            0 :                           {
    4863            0 :                             tree _o1[2], _r1;
    4864            0 :                             _o1[0] = captures[3];
    4865            0 :                             _o1[1] = captures[6];
    4866            0 :                             _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4867            0 :                             if (EXPR_P (_r1))
    4868            0 :                               goto next_after_fail1581;
    4869            0 :                             res_op2 = _r1;
    4870              :                           }
    4871            0 :                           tree _r;
    4872            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4873            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
    4874            0 :                           return _r;
    4875              :                         }
    4876            0 : next_after_fail1581:;
    4877              :                       }
    4878              :                   }
    4879              :                 }
    4880              :               break;
    4881              :             }
    4882            0 :           default:;
    4883              :           }
    4884            0 :         {
    4885            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    4886            0 :           if (VECTOR_TYPE_P (type)
    4887            0 :  && (TREE_CODE_CLASS (FLOOR_DIV_EXPR) != tcc_comparison
    4888              :  || types_match (type, TREE_TYPE (captures[2]))
    4889              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4890              :  || (optimize_vectors_before_lowering_p ()
    4891              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4892              : )
    4893              :             {
    4894            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1582;
    4895            0 :               {
    4896            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1582;
    4897            0 :                 tree res_op0;
    4898            0 :                 res_op0 = captures[1];
    4899            0 :                 tree res_op1;
    4900            0 :                 {
    4901            0 :                   tree _o1[2], _r1;
    4902            0 :                   _o1[0] = captures[2];
    4903            0 :                   _o1[1] = unshare_expr (captures[4]);
    4904            0 :                   _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4905            0 :                   if (EXPR_P (_r1))
    4906            0 :                     goto next_after_fail1582;
    4907            0 :                   res_op1 = _r1;
    4908              :                 }
    4909            0 :                 tree res_op2;
    4910            0 :                 {
    4911            0 :                   tree _o1[2], _r1;
    4912            0 :                   _o1[0] = captures[3];
    4913            0 :                   _o1[1] = captures[4];
    4914            0 :                   _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4915            0 :                   if (EXPR_P (_r1))
    4916            0 :                     goto next_after_fail1582;
    4917            0 :                   res_op2 = _r1;
    4918              :                 }
    4919            0 :                 tree _r;
    4920            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4921            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    4922            0 :                 return _r;
    4923              :               }
    4924            0 : next_after_fail1582:;
    4925              :             }
    4926              :         }
    4927            0 :         break;
    4928              :       }
    4929         5553 :     default:;
    4930              :     }
    4931         5553 :   switch (TREE_CODE (_p1))
    4932              :     {
    4933            0 :     case VEC_COND_EXPR:
    4934            0 :       {
    4935            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4936            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4937            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    4938            0 :         {
    4939            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    4940            0 :           if (VECTOR_TYPE_P (type)
    4941            0 :  && (TREE_CODE_CLASS (FLOOR_DIV_EXPR) != tcc_comparison
    4942              :  || types_match (type, TREE_TYPE (captures[3]))
    4943              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    4944              :  || (optimize_vectors_before_lowering_p ()
    4945              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    4946              : )
    4947              :             {
    4948            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1583;
    4949            0 :               {
    4950            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1583;
    4951            0 :                 tree res_op0;
    4952            0 :                 res_op0 = captures[2];
    4953            0 :                 tree res_op1;
    4954            0 :                 {
    4955            0 :                   tree _o1[2], _r1;
    4956            0 :                   _o1[0] = unshare_expr (captures[0]);
    4957            0 :                   _o1[1] = captures[3];
    4958            0 :                   _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4959            0 :                   if (EXPR_P (_r1))
    4960            0 :                     goto next_after_fail1583;
    4961            0 :                   res_op1 = _r1;
    4962              :                 }
    4963            0 :                 tree res_op2;
    4964            0 :                 {
    4965            0 :                   tree _o1[2], _r1;
    4966            0 :                   _o1[0] = captures[0];
    4967            0 :                   _o1[1] = captures[4];
    4968            0 :                   _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4969            0 :                   if (EXPR_P (_r1))
    4970            0 :                     goto next_after_fail1583;
    4971            0 :                   res_op2 = _r1;
    4972              :                 }
    4973            0 :                 tree _r;
    4974            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4975            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    4976            0 :                 return _r;
    4977              :               }
    4978            0 : next_after_fail1583:;
    4979              :             }
    4980              :         }
    4981            0 :         break;
    4982              :       }
    4983              :     default:;
    4984              :     }
    4985              :   return NULL_TREE;
    4986              : }
    4987              : 
    4988              : tree
    4989       856679 : generic_simplify_FLOOR_MOD_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4990              : {
    4991       856679 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4992       856679 :   {
    4993       856679 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4994       856679 :     tree res = generic_simplify_322 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR, TRUNC_MOD_EXPR);
    4995       856679 :     if (res) return res;
    4996              :   }
    4997         3561 :   if (integer_zerop (_p0))
    4998              :     {
    4999            0 :       {
    5000            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5001            0 :         tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5002            0 :         if (res) return res;
    5003              :       }
    5004              :     }
    5005         3561 :   if (integer_onep (_p1))
    5006              :     {
    5007            0 :       {
    5008            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5009            0 :         tree res = generic_simplify_324 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5010            0 :         if (res) return res;
    5011              :       }
    5012              :     }
    5013         3561 :   if (integer_minus_onep (_p1))
    5014              :     {
    5015            0 :       {
    5016            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5017            0 :         tree res = generic_simplify_325 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5018            0 :         if (res) return res;
    5019              :       }
    5020              :     }
    5021         3561 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5022              :     {
    5023            0 :       {
    5024            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5025            0 :         tree res = generic_simplify_326 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5026            0 :         if (res) return res;
    5027              :       }
    5028              :     }
    5029         3561 :   switch (TREE_CODE (_p0))
    5030              :     {
    5031            0 :     case FLOOR_MOD_EXPR:
    5032            0 :       {
    5033            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5034            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5035            0 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5036              :           {
    5037            0 :             {
    5038            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5039            0 :               tree res = generic_simplify_327 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5040            0 :               if (res) return res;
    5041              :             }
    5042              :           }
    5043              :         break;
    5044              :       }
    5045            4 :     case MULT_EXPR:
    5046            4 :       {
    5047            4 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5048            4 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5049            4 :         switch (TREE_CODE (_q21))
    5050              :           {
    5051            4 :           case INTEGER_CST:
    5052            4 :             {
    5053            4 :               switch (TREE_CODE (_p1))
    5054              :                 {
    5055            4 :                 case INTEGER_CST:
    5056            4 :                   {
    5057            4 :                     {
    5058            4 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5059            4 :                       tree res = generic_simplify_328 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5060            4 :                       if (res) return res;
    5061              :                     }
    5062            4 :                     break;
    5063              :                   }
    5064              :                 default:;
    5065              :                 }
    5066              :               break;
    5067              :             }
    5068              :           default:;
    5069              :           }
    5070              :         break;
    5071              :       }
    5072         3561 :     default:;
    5073              :     }
    5074         3561 :   switch (TREE_CODE (_p1))
    5075              :     {
    5076            1 :     CASE_CONVERT:
    5077            1 :       {
    5078            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5079            1 :         {
    5080            1 :           tree _q30_pops[1];
    5081            1 :           if (tree_power_of_two_cand (_q30, _q30_pops))
    5082              :             {
    5083            0 :               tree _q40 = _q30_pops[0];
    5084            0 :               {
    5085            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
    5086            0 :                 tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5087            0 :                 if (res) return res;
    5088              :               }
    5089              :             }
    5090              :         }
    5091            1 :         break;
    5092              :       }
    5093         3561 :     default:;
    5094              :     }
    5095         3561 : {
    5096         3561 :   tree _p1_pops[1];
    5097         3561 :   if (tree_power_of_two_cand (_p1, _p1_pops))
    5098              :     {
    5099         1778 :       tree _q30 = _p1_pops[0];
    5100         1778 :       {
    5101         1778 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    5102         1778 :         tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5103         1778 :         if (res) return res;
    5104              :       }
    5105              :     }
    5106              : }
    5107         3521 :   switch (TREE_CODE (_p0))
    5108              :     {
    5109            0 :     case VEC_COND_EXPR:
    5110            0 :       {
    5111            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5112            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5113            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    5114            0 :         switch (TREE_CODE (_p1))
    5115              :           {
    5116            0 :           case VEC_COND_EXPR:
    5117            0 :             {
    5118            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    5119            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    5120            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    5121            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5122              :                 {
    5123            0 :                   {
    5124            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    5125            0 :                     if (VECTOR_TYPE_P (type)
    5126            0 :  && (TREE_CODE_CLASS (FLOOR_MOD_EXPR) != tcc_comparison
    5127              :  || types_match (type, TREE_TYPE (captures[2]))
    5128              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5129              :  || (optimize_vectors_before_lowering_p ()
    5130              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5131              : )
    5132              :                       {
    5133            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1590;
    5134            0 :                         {
    5135            0 :                           tree res_op0;
    5136            0 :                           res_op0 = captures[1];
    5137            0 :                           tree res_op1;
    5138            0 :                           {
    5139            0 :                             tree _o1[2], _r1;
    5140            0 :                             _o1[0] = captures[2];
    5141            0 :                             _o1[1] = captures[5];
    5142            0 :                             _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5143            0 :                             if (EXPR_P (_r1))
    5144            0 :                               goto next_after_fail1590;
    5145            0 :                             res_op1 = _r1;
    5146              :                           }
    5147            0 :                           tree res_op2;
    5148            0 :                           {
    5149            0 :                             tree _o1[2], _r1;
    5150            0 :                             _o1[0] = captures[3];
    5151            0 :                             _o1[1] = captures[6];
    5152            0 :                             _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5153            0 :                             if (EXPR_P (_r1))
    5154            0 :                               goto next_after_fail1590;
    5155            0 :                             res_op2 = _r1;
    5156              :                           }
    5157            0 :                           tree _r;
    5158            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5159            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
    5160            0 :                           return _r;
    5161              :                         }
    5162            0 : next_after_fail1590:;
    5163              :                       }
    5164              :                   }
    5165              :                 }
    5166              :               break;
    5167              :             }
    5168            0 :           default:;
    5169              :           }
    5170            0 :         {
    5171            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    5172            0 :           if (VECTOR_TYPE_P (type)
    5173            0 :  && (TREE_CODE_CLASS (FLOOR_MOD_EXPR) != tcc_comparison
    5174              :  || types_match (type, TREE_TYPE (captures[2]))
    5175              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5176              :  || (optimize_vectors_before_lowering_p ()
    5177              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5178              : )
    5179              :             {
    5180            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1591;
    5181            0 :               {
    5182            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1591;
    5183            0 :                 tree res_op0;
    5184            0 :                 res_op0 = captures[1];
    5185            0 :                 tree res_op1;
    5186            0 :                 {
    5187            0 :                   tree _o1[2], _r1;
    5188            0 :                   _o1[0] = captures[2];
    5189            0 :                   _o1[1] = unshare_expr (captures[4]);
    5190            0 :                   _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5191            0 :                   if (EXPR_P (_r1))
    5192            0 :                     goto next_after_fail1591;
    5193            0 :                   res_op1 = _r1;
    5194              :                 }
    5195            0 :                 tree res_op2;
    5196            0 :                 {
    5197            0 :                   tree _o1[2], _r1;
    5198            0 :                   _o1[0] = captures[3];
    5199            0 :                   _o1[1] = captures[4];
    5200            0 :                   _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5201            0 :                   if (EXPR_P (_r1))
    5202            0 :                     goto next_after_fail1591;
    5203            0 :                   res_op2 = _r1;
    5204              :                 }
    5205            0 :                 tree _r;
    5206            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5207            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    5208            0 :                 return _r;
    5209              :               }
    5210            0 : next_after_fail1591:;
    5211              :             }
    5212              :         }
    5213            0 :         break;
    5214              :       }
    5215         3521 :     default:;
    5216              :     }
    5217         3521 :   switch (TREE_CODE (_p1))
    5218              :     {
    5219            0 :     case VEC_COND_EXPR:
    5220            0 :       {
    5221            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5222            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5223            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    5224            0 :         {
    5225            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    5226            0 :           if (VECTOR_TYPE_P (type)
    5227            0 :  && (TREE_CODE_CLASS (FLOOR_MOD_EXPR) != tcc_comparison
    5228              :  || types_match (type, TREE_TYPE (captures[3]))
    5229              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    5230              :  || (optimize_vectors_before_lowering_p ()
    5231              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    5232              : )
    5233              :             {
    5234            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1592;
    5235            0 :               {
    5236            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1592;
    5237            0 :                 tree res_op0;
    5238            0 :                 res_op0 = captures[2];
    5239            0 :                 tree res_op1;
    5240            0 :                 {
    5241            0 :                   tree _o1[2], _r1;
    5242            0 :                   _o1[0] = unshare_expr (captures[0]);
    5243            0 :                   _o1[1] = captures[3];
    5244            0 :                   _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5245            0 :                   if (EXPR_P (_r1))
    5246            0 :                     goto next_after_fail1592;
    5247            0 :                   res_op1 = _r1;
    5248              :                 }
    5249            0 :                 tree res_op2;
    5250            0 :                 {
    5251            0 :                   tree _o1[2], _r1;
    5252            0 :                   _o1[0] = captures[0];
    5253            0 :                   _o1[1] = captures[4];
    5254            0 :                   _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5255            0 :                   if (EXPR_P (_r1))
    5256            0 :                     goto next_after_fail1592;
    5257            0 :                   res_op2 = _r1;
    5258              :                 }
    5259            0 :                 tree _r;
    5260            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5261            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    5262            0 :                 return _r;
    5263              :               }
    5264            0 : next_after_fail1592:;
    5265              :             }
    5266              :         }
    5267            0 :         break;
    5268              :       }
    5269              :     default:;
    5270              :     }
    5271              :   return NULL_TREE;
    5272              : }
    5273              : 
    5274              : tree
    5275     17487821 : generic_simplify_LT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    5276              : {
    5277     17487821 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    5278     17487821 :   switch (TREE_CODE (_p0))
    5279              :     {
    5280         2173 :     case RDIV_EXPR:
    5281         2173 :       {
    5282         2173 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5283         2173 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5284         2173 :         switch (TREE_CODE (_q20))
    5285              :           {
    5286          677 :           case REAL_CST:
    5287          677 :             {
    5288          677 :               if (real_zerop (_p1))
    5289              :                 {
    5290          392 :                   {
    5291          392 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5292          392 :                     tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    5293          392 :                     if (res) return res;
    5294              :                   }
    5295              :                 }
    5296              :               break;
    5297              :             }
    5298              :           default:;
    5299              :           }
    5300              :         break;
    5301              :       }
    5302         2943 :     case TRUNC_MOD_EXPR:
    5303         2943 :       {
    5304         2943 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5305         2943 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5306         2943 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5307              :           {
    5308           74 :             {
    5309           74 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5310           74 :               tree res = generic_simplify_376 (loc, type, _p0, _p1, captures, LT_EXPR);
    5311           74 :               if (res) return res;
    5312              :             }
    5313              :           }
    5314              :         break;
    5315              :       }
    5316       142774 :     case MULT_EXPR:
    5317       142774 :       {
    5318       142774 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5319       142774 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5320       142774 :         switch (TREE_CODE (_p1))
    5321              :           {
    5322        50814 :           case MULT_EXPR:
    5323        50814 :             {
    5324        50814 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5325        50814 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5326        50814 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5327              :                 {
    5328        10208 :                   {
    5329        10208 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5330        10208 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, LT_EXPR);
    5331        10208 :                     if (res) return res;
    5332              :                   }
    5333              :                 }
    5334        42633 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5335              :                 {
    5336            0 :                   {
    5337            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5338            0 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, LT_EXPR);
    5339            0 :                     if (res) return res;
    5340              :                   }
    5341              :                 }
    5342        42633 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5343              :                 {
    5344            0 :                   {
    5345            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5346            0 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, LT_EXPR);
    5347            0 :                     if (res) return res;
    5348              :                   }
    5349              :                 }
    5350        42633 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5351              :                 {
    5352         1374 :                   {
    5353         1374 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5354         1374 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, LT_EXPR);
    5355         1374 :                     if (res) return res;
    5356              :                   }
    5357              :                 }
    5358              :               break;
    5359              :             }
    5360              :           default:;
    5361              :           }
    5362              :         break;
    5363              :       }
    5364      3129538 :     CASE_CONVERT:
    5365      3129538 :       {
    5366      3129538 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5367      3129538 :         switch (TREE_CODE (_q20))
    5368              :           {
    5369          107 :           case EXACT_DIV_EXPR:
    5370          107 :             {
    5371          107 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5372          107 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5373          107 :               switch (TREE_CODE (_q31))
    5374              :                 {
    5375          107 :                 case INTEGER_CST:
    5376          107 :                   {
    5377          107 :                     switch (TREE_CODE (_p1))
    5378              :                       {
    5379           37 :                       CASE_CONVERT:
    5380           37 :                         {
    5381           37 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    5382           37 :                           switch (TREE_CODE (_q60))
    5383              :                             {
    5384            0 :                             case EXACT_DIV_EXPR:
    5385            0 :                               {
    5386            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    5387            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    5388            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    5389              :                                   {
    5390            0 :                                     {
    5391            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    5392            0 :                                       tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, LT_EXPR);
    5393            0 :                                       if (res) return res;
    5394              :                                     }
    5395              :                                   }
    5396              :                                 break;
    5397              :                               }
    5398              :                             default:;
    5399              :                             }
    5400              :                           break;
    5401              :                         }
    5402              :                       default:;
    5403              :                       }
    5404              :                     break;
    5405              :                   }
    5406              :                 default:;
    5407              :                 }
    5408              :               break;
    5409              :             }
    5410              :           default:;
    5411              :           }
    5412              :         break;
    5413              :       }
    5414         1047 :     case EXACT_DIV_EXPR:
    5415         1047 :       {
    5416         1047 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5417         1047 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5418         1047 :         switch (TREE_CODE (_q21))
    5419              :           {
    5420         1047 :           case INTEGER_CST:
    5421         1047 :             {
    5422         1047 :               switch (TREE_CODE (_p1))
    5423              :                 {
    5424            2 :                 case EXACT_DIV_EXPR:
    5425            2 :                   {
    5426            2 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5427            2 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5428            2 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5429              :                       {
    5430            0 :                         {
    5431            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5432            0 :                           tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, LT_EXPR);
    5433            0 :                           if (res) return res;
    5434              :                         }
    5435              :                       }
    5436              :                     break;
    5437              :                   }
    5438              :                 default:;
    5439              :                 }
    5440              :               break;
    5441              :             }
    5442              :           default:;
    5443              :           }
    5444              :         break;
    5445              :       }
    5446        12583 :     case TRUNC_DIV_EXPR:
    5447        12583 :       {
    5448        12583 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5449        12583 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5450        12583 :         switch (TREE_CODE (_q21))
    5451              :           {
    5452         3490 :           case INTEGER_CST:
    5453         3490 :             {
    5454         3490 :               switch (TREE_CODE (_p1))
    5455              :                 {
    5456         1457 :                 case INTEGER_CST:
    5457         1457 :                   {
    5458         1457 :                     {
    5459         1457 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    5460         1457 :                       tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, LT_EXPR);
    5461         1457 :                       if (res) return res;
    5462              :                     }
    5463          698 :                     break;
    5464              :                   }
    5465              :                 default:;
    5466              :                 }
    5467              :               break;
    5468              :             }
    5469              :           default:;
    5470              :           }
    5471              :         break;
    5472              :       }
    5473      2351063 :     case PLUS_EXPR:
    5474      2351063 :       {
    5475      2351063 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5476      2351063 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5477      2351063 :         switch (TREE_CODE (_p1))
    5478              :           {
    5479       345295 :           case PLUS_EXPR:
    5480       345295 :             {
    5481       345295 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5482       345295 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5483       345295 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5484              :                 {
    5485       137917 :                   {
    5486       137917 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5487       137917 :                     tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, LT_EXPR);
    5488       137917 :                     if (res) return res;
    5489              :                   }
    5490              :                 }
    5491       285455 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5492              :                 {
    5493           24 :                   {
    5494           24 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5495           24 :                     tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, LT_EXPR);
    5496           24 :                     if (res) return res;
    5497              :                   }
    5498              :                 }
    5499       285439 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5500              :                 {
    5501           48 :                   {
    5502           48 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5503           48 :                     tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, LT_EXPR);
    5504           48 :                     if (res) return res;
    5505              :                   }
    5506              :                 }
    5507       285423 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5508              :                 {
    5509         1735 :                   {
    5510         1735 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5511         1735 :                     tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, LT_EXPR);
    5512         1735 :                     if (res) return res;
    5513              :                   }
    5514              :                 }
    5515              :               break;
    5516              :             }
    5517      2290841 :           default:;
    5518              :           }
    5519      2290841 :         switch (TREE_CODE (_q21))
    5520              :           {
    5521      1773182 :           case INTEGER_CST:
    5522      1773182 :             {
    5523      1773182 :               switch (TREE_CODE (_p1))
    5524              :                 {
    5525       279839 :                 case PLUS_EXPR:
    5526       279839 :                   {
    5527       279839 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5528       279839 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5529       279839 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5530              :                       {
    5531        78077 :                         {
    5532        78077 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5533        78077 :                           tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, LT_EXPR);
    5534        78077 :                           if (res) return res;
    5535              :                         }
    5536              :                       }
    5537              :                     break;
    5538              :                   }
    5539              :                 default:;
    5540              :                 }
    5541              :               break;
    5542              :             }
    5543      2290836 :           default:;
    5544              :           }
    5545      2290836 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5546              :           {
    5547       213737 :             {
    5548       213737 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5549       213737 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, LT_EXPR);
    5550       213737 :               if (res) return res;
    5551              :             }
    5552              :           }
    5553      2104471 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5554              :           {
    5555        55750 :             {
    5556        55750 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    5557        55750 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, LT_EXPR);
    5558        55750 :               if (res) return res;
    5559              :             }
    5560              :           }
    5561              :         break;
    5562              :       }
    5563       190497 :     case MINUS_EXPR:
    5564       190497 :       {
    5565       190497 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5566       190497 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5567       190497 :         switch (TREE_CODE (_p1))
    5568              :           {
    5569         5225 :           case MINUS_EXPR:
    5570         5225 :             {
    5571         5225 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5572         5225 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5573         5225 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5574              :                 {
    5575            4 :                   {
    5576            4 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5577            4 :                     tree res = generic_simplify_381 (loc, type, _p0, _p1, captures, LT_EXPR);
    5578            4 :                     if (res) return res;
    5579              :                   }
    5580              :                 }
    5581         5225 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5582              :                 {
    5583          215 :                   {
    5584          215 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5585          215 :                     tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, LT_EXPR);
    5586          215 :                     if (res) return res;
    5587              :                   }
    5588              :                 }
    5589              :               break;
    5590              :             }
    5591              :           default:;
    5592              :           }
    5593              :         break;
    5594              :       }
    5595       112985 :     case POINTER_DIFF_EXPR:
    5596       112985 :       {
    5597       112985 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5598       112985 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5599       112985 :         switch (TREE_CODE (_p1))
    5600              :           {
    5601          430 :           case POINTER_DIFF_EXPR:
    5602          430 :             {
    5603          430 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5604          430 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5605          430 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5606              :                 {
    5607            0 :                   {
    5608            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5609            0 :                     tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LT_EXPR);
    5610            0 :                     if (res) return res;
    5611              :                   }
    5612              :                 }
    5613          430 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5614              :                 {
    5615            0 :                   {
    5616            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5617            0 :                     tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, LT_EXPR);
    5618            0 :                     if (res) return res;
    5619              :                   }
    5620              :                 }
    5621              :               break;
    5622              :             }
    5623              :           default:;
    5624              :           }
    5625              :         break;
    5626              :       }
    5627     17231899 :     default:;
    5628              :     }
    5629     17231899 :   switch (TREE_CODE (_p1))
    5630              :     {
    5631       354093 :     case PLUS_EXPR:
    5632       354093 :       {
    5633       354093 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5634       354093 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5635       354093 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5636              :           {
    5637          120 :             {
    5638          120 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    5639          120 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, GT_EXPR);
    5640          120 :               if (res) return res;
    5641              :             }
    5642              :           }
    5643       353973 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5644              :           {
    5645           80 :             {
    5646           80 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    5647           80 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, GT_EXPR);
    5648           80 :               if (res) return res;
    5649              :             }
    5650              :           }
    5651              :         break;
    5652              :       }
    5653        23707 :     case MINUS_EXPR:
    5654        23707 :       {
    5655        23707 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5656        23707 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5657        23707 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5658              :           {
    5659            0 :             {
    5660            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    5661            0 :               tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, LT_EXPR);
    5662            0 :               if (res) return res;
    5663              :             }
    5664              :           }
    5665              :         break;
    5666              :       }
    5667     17231779 :     default:;
    5668              :     }
    5669     17231779 :   switch (TREE_CODE (_p0))
    5670              :     {
    5671       190497 :     case MINUS_EXPR:
    5672       190497 :       {
    5673       190497 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5674       190497 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5675       190497 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5676              :           {
    5677         3356 :             {
    5678         3356 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    5679         3356 :               tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, GT_EXPR);
    5680         3356 :               if (res) return res;
    5681              :             }
    5682              :           }
    5683              :         break;
    5684              :       }
    5685         1467 :     case BIT_IOR_EXPR:
    5686         1467 :       {
    5687         1467 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5688         1467 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5689         1467 :         if (tree_expr_nonnegative_p (_q20))
    5690              :           {
    5691          555 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5692              :               {
    5693            0 :                 {
    5694            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5695            0 :                   tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    5696            0 :                   if (res) return res;
    5697              :                 }
    5698              :               }
    5699              :           }
    5700         1467 :         if (tree_expr_nonnegative_p (_q21))
    5701              :           {
    5702          813 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5703              :               {
    5704            0 :                 {
    5705            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    5706            0 :                   tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    5707            0 :                   if (res) return res;
    5708              :                 }
    5709              :               }
    5710              :           }
    5711              :         break;
    5712              :       }
    5713     17229355 :     default:;
    5714              :     }
    5715     17229355 :   switch (TREE_CODE (_p1))
    5716              :     {
    5717          458 :     case BIT_AND_EXPR:
    5718          458 :       {
    5719          458 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5720          458 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5721          458 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5722              :           {
    5723            0 :             if (tree_expr_nonnegative_p (_q30))
    5724              :               {
    5725            0 :                 {
    5726            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    5727            0 :                   tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, GT_EXPR, BIT_AND_EXPR);
    5728            0 :                   if (res) return res;
    5729              :                 }
    5730              :               }
    5731              :           }
    5732          458 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5733              :           {
    5734            0 :             if (tree_expr_nonnegative_p (_q31))
    5735              :               {
    5736            0 :                 {
    5737            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5738            0 :                   tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, GT_EXPR, BIT_AND_EXPR);
    5739            0 :                   if (res) return res;
    5740              :                 }
    5741              :               }
    5742              :           }
    5743              :         break;
    5744              :       }
    5745     17229355 :     default:;
    5746              :     }
    5747     17229355 :   switch (TREE_CODE (_p0))
    5748              :     {
    5749        10137 :     case MAX_EXPR:
    5750        10137 :       {
    5751        10137 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5752        10137 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5753        10137 :         switch (TREE_CODE (_p1))
    5754              :           {
    5755            8 :           case MIN_EXPR:
    5756            8 :             {
    5757            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5758            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5759            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5760              :                 {
    5761            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5762              :                     {
    5763            0 :                       {
    5764            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5765            0 :                         tree res = generic_simplify_384 (loc, type, _p0, _p1, captures, GT_EXPR);
    5766            0 :                         if (res) return res;
    5767              :                       }
    5768              :                     }
    5769              :                 }
    5770              :               break;
    5771              :             }
    5772              :           default:;
    5773              :           }
    5774              :         break;
    5775              :       }
    5776         9782 :     case MIN_EXPR:
    5777         9782 :       {
    5778         9782 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5779         9782 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5780         9782 :         switch (TREE_CODE (_p1))
    5781              :           {
    5782            0 :           case MAX_EXPR:
    5783            0 :             {
    5784            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5785            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5786            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5787              :                 {
    5788            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5789              :                     {
    5790            0 :                       {
    5791            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5792            0 :                         tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    5793            0 :                         if (res) return res;
    5794              :                       }
    5795              :                     }
    5796              :                 }
    5797              :               break;
    5798              :             }
    5799         9782 :           default:;
    5800              :           }
    5801         9782 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5802              :           {
    5803            1 :             {
    5804            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5805            1 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, GT_EXPR);
    5806            1 :               if (res) return res;
    5807              :             }
    5808              :           }
    5809         9781 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5810              :           {
    5811            5 :             {
    5812            5 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    5813            5 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, GT_EXPR);
    5814            5 :               if (res) return res;
    5815              :             }
    5816              :           }
    5817              :         break;
    5818              :       }
    5819     17229352 :     default:;
    5820              :     }
    5821     17229352 :   switch (TREE_CODE (_p1))
    5822              :     {
    5823         1013 :     case MAX_EXPR:
    5824         1013 :       {
    5825         1013 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5826         1013 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5827         1013 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5828              :           {
    5829            0 :             {
    5830            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    5831            0 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, LT_EXPR);
    5832            0 :               if (res) return res;
    5833              :             }
    5834              :           }
    5835         1013 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5836              :           {
    5837            0 :             {
    5838            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5839            0 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, LT_EXPR);
    5840            0 :               if (res) return res;
    5841              :             }
    5842              :           }
    5843              :         break;
    5844              :       }
    5845          911 :     case MIN_EXPR:
    5846          911 :       {
    5847          911 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5848          911 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5849          911 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5850              :           {
    5851            0 :             {
    5852            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    5853            0 :               tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    5854            0 :               if (res) return res;
    5855              :             }
    5856              :           }
    5857          911 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5858              :           {
    5859            0 :             {
    5860            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5861            0 :               tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    5862            0 :               if (res) return res;
    5863              :             }
    5864              :           }
    5865              :         break;
    5866              :       }
    5867     17229352 :     default:;
    5868              :     }
    5869     17229352 :   switch (TREE_CODE (_p0))
    5870              :     {
    5871        10137 :     case MAX_EXPR:
    5872        10137 :       {
    5873        10137 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5874        10137 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5875        10137 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5876              :           {
    5877            1 :             {
    5878            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5879            1 :               tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
    5880            1 :               if (res) return res;
    5881              :             }
    5882              :           }
    5883        10136 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5884              :           {
    5885            1 :             {
    5886            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    5887            1 :               tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
    5888            1 :               if (res) return res;
    5889              :             }
    5890              :           }
    5891        10135 :         switch (TREE_CODE (_q21))
    5892              :           {
    5893         9606 :           case INTEGER_CST:
    5894         9606 :             {
    5895         9606 :               switch (TREE_CODE (_p1))
    5896              :                 {
    5897            1 :                 case INTEGER_CST:
    5898            1 :                   {
    5899            1 :                     {
    5900            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5901            1 :                       tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, MAX_EXPR, LT_EXPR, BIT_AND_EXPR);
    5902            1 :                       if (res) return res;
    5903              :                     }
    5904            0 :                     break;
    5905              :                   }
    5906              :                 default:;
    5907              :                 }
    5908              :               break;
    5909              :             }
    5910              :           default:;
    5911              :           }
    5912              :         break;
    5913              :       }
    5914         9779 :     case MIN_EXPR:
    5915         9779 :       {
    5916         9779 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5917         9779 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5918         9779 :         switch (TREE_CODE (_q21))
    5919              :           {
    5920          774 :           case INTEGER_CST:
    5921          774 :             {
    5922          774 :               switch (TREE_CODE (_p1))
    5923              :                 {
    5924            2 :                 case INTEGER_CST:
    5925            2 :                   {
    5926            2 :                     {
    5927            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5928            2 :                       tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, BIT_IOR_EXPR);
    5929            2 :                       if (res) return res;
    5930              :                     }
    5931            0 :                     break;
    5932              :                   }
    5933              :                 default:;
    5934              :                 }
    5935              :               break;
    5936              :             }
    5937              :           default:;
    5938              :           }
    5939              :         break;
    5940              :       }
    5941      3129418 :     CASE_CONVERT:
    5942      3129418 :       {
    5943      3129418 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5944      3129418 :         switch (TREE_CODE (_q20))
    5945              :           {
    5946            0 :           case GE_EXPR:
    5947            0 :             {
    5948            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5949            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5950            0 :               if (tree_zero_one_valued_p (_q30))
    5951              :                 {
    5952            0 :                   if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    5953              :                     {
    5954            0 :                       {
    5955            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    5956            0 :                         tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, LT_EXPR);
    5957            0 :                         if (res) return res;
    5958              :                       }
    5959              :                     }
    5960              :                 }
    5961              :               break;
    5962              :             }
    5963              :           default:;
    5964              :           }
    5965              :         break;
    5966              :       }
    5967           15 :     case GE_EXPR:
    5968           15 :       {
    5969           15 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5970           15 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5971           15 :         if (tree_zero_one_valued_p (_q20))
    5972              :           {
    5973            3 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5974              :               {
    5975            3 :                 {
    5976            3 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5977            3 :                   tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, LT_EXPR);
    5978            3 :                   if (res) return res;
    5979              :                 }
    5980              :               }
    5981              :           }
    5982              :         break;
    5983              :       }
    5984          904 :     case VEC_COND_EXPR:
    5985          904 :       {
    5986          904 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5987          904 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5988          904 :         tree _q22 = TREE_OPERAND (_p0, 2);
    5989          904 :         switch (TREE_CODE (_p1))
    5990              :           {
    5991            0 :           case VEC_COND_EXPR:
    5992            0 :             {
    5993            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    5994            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    5995            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    5996            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5997              :                 {
    5998            0 :                   {
    5999            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    6000            0 :                     if (VECTOR_TYPE_P (type)
    6001            0 :  && (TREE_CODE_CLASS (LT_EXPR) != tcc_comparison
    6002            0 :  || types_match (type, TREE_TYPE (captures[2]))
    6003            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    6004              :  || (optimize_vectors_before_lowering_p ()
    6005            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    6006              : )
    6007              :                       {
    6008            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1631;
    6009            0 :                         {
    6010            0 :                           tree res_op0;
    6011            0 :                           res_op0 = captures[1];
    6012            0 :                           tree res_op1;
    6013            0 :                           {
    6014            0 :                             tree _o1[2], _r1;
    6015            0 :                             _o1[0] = captures[2];
    6016            0 :                             _o1[1] = captures[5];
    6017            0 :                             _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    6018            0 :                             if (EXPR_P (_r1))
    6019            0 :                               goto next_after_fail1631;
    6020            0 :                             res_op1 = _r1;
    6021              :                           }
    6022            0 :                           tree res_op2;
    6023            0 :                           {
    6024            0 :                             tree _o1[2], _r1;
    6025            0 :                             _o1[0] = captures[3];
    6026            0 :                             _o1[1] = captures[6];
    6027            0 :                             _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    6028            0 :                             if (EXPR_P (_r1))
    6029            0 :                               goto next_after_fail1631;
    6030            0 :                             res_op2 = _r1;
    6031              :                           }
    6032            0 :                           tree _r;
    6033            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    6034            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
    6035            0 :                           return _r;
    6036              :                         }
    6037            0 : next_after_fail1631:;
    6038              :                       }
    6039              :                   }
    6040              :                 }
    6041              :               break;
    6042              :             }
    6043          904 :           default:;
    6044              :           }
    6045          904 :         {
    6046          904 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    6047          904 :           if (VECTOR_TYPE_P (type)
    6048          904 :  && (TREE_CODE_CLASS (LT_EXPR) != tcc_comparison
    6049          904 :  || types_match (type, TREE_TYPE (captures[2]))
    6050          904 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    6051              :  || (optimize_vectors_before_lowering_p ()
    6052            1 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    6053              : )
    6054              :             {
    6055          904 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1632;
    6056          904 :               {
    6057          904 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1632;
    6058           36 :                 tree res_op0;
    6059           36 :                 res_op0 = captures[1];
    6060           36 :                 tree res_op1;
    6061           36 :                 {
    6062           36 :                   tree _o1[2], _r1;
    6063           36 :                   _o1[0] = captures[2];
    6064           36 :                   _o1[1] = unshare_expr (captures[4]);
    6065           36 :                   _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    6066           36 :                   if (EXPR_P (_r1))
    6067           35 :                     goto next_after_fail1632;
    6068            1 :                   res_op1 = _r1;
    6069              :                 }
    6070            1 :                 tree res_op2;
    6071            1 :                 {
    6072            1 :                   tree _o1[2], _r1;
    6073            1 :                   _o1[0] = captures[3];
    6074            1 :                   _o1[1] = captures[4];
    6075            1 :                   _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    6076            1 :                   if (EXPR_P (_r1))
    6077            0 :                     goto next_after_fail1632;
    6078            1 :                   res_op2 = _r1;
    6079              :                 }
    6080            1 :                 tree _r;
    6081            1 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    6082            1 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    6083            1 :                 return _r;
    6084              :               }
    6085          903 : next_after_fail1632:;
    6086              :             }
    6087              :         }
    6088          903 :         break;
    6089              :       }
    6090     17229343 :     default:;
    6091              :     }
    6092     17229343 :   switch (TREE_CODE (_p1))
    6093              :     {
    6094           68 :     case VEC_COND_EXPR:
    6095           68 :       {
    6096           68 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6097           68 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6098           68 :         tree _q32 = TREE_OPERAND (_p1, 2);
    6099           68 :         {
    6100           68 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    6101           68 :           if (VECTOR_TYPE_P (type)
    6102           68 :  && (TREE_CODE_CLASS (LT_EXPR) != tcc_comparison
    6103           68 :  || types_match (type, TREE_TYPE (captures[3]))
    6104           68 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    6105              :  || (optimize_vectors_before_lowering_p ()
    6106            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    6107              : )
    6108              :             {
    6109           68 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1633;
    6110           68 :               {
    6111           68 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1633;
    6112            0 :                 tree res_op0;
    6113            0 :                 res_op0 = captures[2];
    6114            0 :                 tree res_op1;
    6115            0 :                 {
    6116            0 :                   tree _o1[2], _r1;
    6117            0 :                   _o1[0] = unshare_expr (captures[0]);
    6118            0 :                   _o1[1] = captures[3];
    6119            0 :                   _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    6120            0 :                   if (EXPR_P (_r1))
    6121            0 :                     goto next_after_fail1633;
    6122            0 :                   res_op1 = _r1;
    6123              :                 }
    6124            0 :                 tree res_op2;
    6125            0 :                 {
    6126            0 :                   tree _o1[2], _r1;
    6127            0 :                   _o1[0] = captures[0];
    6128            0 :                   _o1[1] = captures[4];
    6129            0 :                   _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    6130            0 :                   if (EXPR_P (_r1))
    6131            0 :                     goto next_after_fail1633;
    6132            0 :                   res_op2 = _r1;
    6133              :                 }
    6134            0 :                 tree _r;
    6135            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    6136            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    6137            0 :                 return _r;
    6138              :               }
    6139           68 : next_after_fail1633:;
    6140              :             }
    6141              :         }
    6142           68 :         break;
    6143              :       }
    6144     17229343 :     default:;
    6145              :     }
    6146     17229343 : if (uniform_integer_cst_p (_p1))
    6147              :   {
    6148      6275233 :     {
    6149      6275233 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    6150      6275233 :       tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
    6151      6275233 :       if (res) return res;
    6152              :     }
    6153              :   }
    6154     14750877 :   switch (TREE_CODE (_p0))
    6155              :     {
    6156       126300 :     case MULT_EXPR:
    6157       126300 :       {
    6158       126300 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6159       126300 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6160       126300 :         switch (TREE_CODE (_q21))
    6161              :           {
    6162        69172 :           case INTEGER_CST:
    6163        69172 :             {
    6164        69172 :               if (integer_zerop (_p1))
    6165              :                 {
    6166         5828 :                   {
    6167         5828 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    6168         5828 :                     tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6169         5828 :                     if (res) return res;
    6170              :                   }
    6171              :                 }
    6172              :               break;
    6173              :             }
    6174              :           default:;
    6175              :           }
    6176              :         break;
    6177              :       }
    6178     14747885 :     default:;
    6179              :     }
    6180     14747885 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    6181              :     {
    6182         3835 :       {
    6183         3835 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6184         3835 :         tree res = generic_simplify_302 (loc, type, _p0, _p1, captures, LT_EXPR);
    6185         3835 :         if (res) return res;
    6186              :       }
    6187              :     }
    6188     14744050 :   switch (TREE_CODE (_p0))
    6189              :     {
    6190         2484 :     case BIT_NOT_EXPR:
    6191         2484 :       {
    6192         2484 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6193         2484 :         switch (TREE_CODE (_p1))
    6194              :           {
    6195            7 :           case BIT_NOT_EXPR:
    6196            7 :             {
    6197            7 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6198            7 :               {
    6199            7 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    6200            7 :                 tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, LT_EXPR);
    6201            7 :                 if (res) return res;
    6202              :               }
    6203            0 :               break;
    6204              :             }
    6205         2477 :           default:;
    6206              :           }
    6207         2477 :       {
    6208         2477 :         tree _p1_pops[1];
    6209         2477 :         if (tree_nop_convert (_p1, _p1_pops))
    6210              :           {
    6211           24 :             tree _q40 = _p1_pops[0];
    6212           24 :             switch (TREE_CODE (_q40))
    6213              :               {
    6214            0 :               case BIT_NOT_EXPR:
    6215            0 :                 {
    6216            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    6217            0 :                   {
    6218            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    6219            0 :                     tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, LT_EXPR);
    6220            0 :                     if (res) return res;
    6221              :                   }
    6222            0 :                   break;
    6223              :                 }
    6224              :               default:;
    6225              :               }
    6226              :           }
    6227              :       }
    6228         2477 :       if (CONSTANT_CLASS_P (_p1))
    6229              :         {
    6230           20 :           {
    6231           20 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6232           20 :             tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6233           20 :             if (res) return res;
    6234              :           }
    6235              :         }
    6236              :         break;
    6237              :       }
    6238     14744023 :     default:;
    6239              :     }
    6240     14744023 : {
    6241     14744023 :   tree _p0_pops[1];
    6242     14744023 :   if (tree_nop_convert (_p0, _p0_pops))
    6243              :     {
    6244      1703402 :       tree _q20 = _p0_pops[0];
    6245      1703402 :       switch (TREE_CODE (_q20))
    6246              :         {
    6247            0 :         case BIT_NOT_EXPR:
    6248            0 :           {
    6249            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    6250            0 :             switch (TREE_CODE (_p1))
    6251              :               {
    6252            0 :               case BIT_NOT_EXPR:
    6253            0 :                 {
    6254            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    6255            0 :                   {
    6256            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    6257            0 :                     tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, LT_EXPR);
    6258            0 :                     if (res) return res;
    6259              :                   }
    6260            0 :                   break;
    6261              :                 }
    6262            0 :               default:;
    6263              :               }
    6264            0 :           {
    6265            0 :             tree _p1_pops[1];
    6266            0 :             if (tree_nop_convert (_p1, _p1_pops))
    6267              :               {
    6268            0 :                 tree _q50 = _p1_pops[0];
    6269            0 :                 switch (TREE_CODE (_q50))
    6270              :                   {
    6271            0 :                   case BIT_NOT_EXPR:
    6272            0 :                     {
    6273            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    6274            0 :                       {
    6275            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    6276            0 :                         tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, LT_EXPR);
    6277            0 :                         if (res) return res;
    6278              :                       }
    6279            0 :                       break;
    6280              :                     }
    6281              :                   default:;
    6282              :                   }
    6283              :               }
    6284              :           }
    6285            0 :           if (CONSTANT_CLASS_P (_p1))
    6286              :             {
    6287            0 :               {
    6288            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    6289            0 :                 tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6290            0 :                 if (res) return res;
    6291              :               }
    6292              :             }
    6293              :             break;
    6294              :           }
    6295              :         default:;
    6296              :         }
    6297              :     }
    6298              : }
    6299     14744023 :   switch (TREE_CODE (_p1))
    6300              :     {
    6301      2944720 :     case REAL_CST:
    6302      2944720 :       {
    6303      2944720 :         {
    6304      2944720 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    6305      2944720 :           tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, LT_EXPR);
    6306      2944720 :           if (res) return res;
    6307              :         }
    6308      2944638 :         break;
    6309              :       }
    6310     14743941 :     default:;
    6311              :     }
    6312     14743941 :   switch (TREE_CODE (_p0))
    6313              :     {
    6314      1981013 :     case PLUS_EXPR:
    6315      1981013 :       {
    6316      1981013 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6317      1981013 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6318      1981013 :         switch (TREE_CODE (_q21))
    6319              :           {
    6320          567 :           case REAL_CST:
    6321          567 :             {
    6322          567 :               switch (TREE_CODE (_p1))
    6323              :                 {
    6324          217 :                 case REAL_CST:
    6325          217 :                   {
    6326          217 :                     {
    6327          217 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6328          217 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, PLUS_EXPR, LT_EXPR);
    6329          217 :                       if (res) return res;
    6330              :                     }
    6331          215 :                     break;
    6332              :                   }
    6333              :                 default:;
    6334              :                 }
    6335              :               break;
    6336              :             }
    6337      1472121 :           case INTEGER_CST:
    6338      1472121 :             {
    6339      1472121 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6340              :                 {
    6341        17977 :                   {
    6342        17977 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
    6343        17977 :                     tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6344        17977 :                     if (res) return res;
    6345              :                   }
    6346              :                 }
    6347              :               break;
    6348              :             }
    6349              :           default:;
    6350              :           }
    6351              :         break;
    6352              :       }
    6353       180851 :     case MINUS_EXPR:
    6354       180851 :       {
    6355       180851 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6356       180851 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6357       180851 :         switch (TREE_CODE (_q21))
    6358              :           {
    6359          210 :           case REAL_CST:
    6360          210 :             {
    6361          210 :               switch (TREE_CODE (_p1))
    6362              :                 {
    6363          195 :                 case REAL_CST:
    6364          195 :                   {
    6365          195 :                     {
    6366          195 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6367          195 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, MINUS_EXPR, LT_EXPR);
    6368          195 :                       if (res) return res;
    6369              :                     }
    6370          195 :                     break;
    6371              :                   }
    6372              :                 default:;
    6373              :                 }
    6374              :               break;
    6375              :             }
    6376       180851 :           default:;
    6377              :           }
    6378       180851 :         switch (TREE_CODE (_q20))
    6379              :           {
    6380        18997 :           case REAL_CST:
    6381        18997 :             {
    6382        18997 :               switch (TREE_CODE (_p1))
    6383              :                 {
    6384        18784 :                 case REAL_CST:
    6385        18784 :                   {
    6386        18784 :                     {
    6387        18784 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6388        18784 :                       tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, LT_EXPR);
    6389        18784 :                       if (res) return res;
    6390              :                     }
    6391        18774 :                     break;
    6392              :                   }
    6393              :                 default:;
    6394              :                 }
    6395              :               break;
    6396              :             }
    6397              :           default:;
    6398              :           }
    6399              :         break;
    6400              :       }
    6401        49423 :     case FLOAT_EXPR:
    6402        49423 :       {
    6403        49423 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6404        49423 :         switch (TREE_CODE (_p1))
    6405              :           {
    6406          102 :           case FLOAT_EXPR:
    6407          102 :             {
    6408          102 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6409          102 :               {
    6410          102 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    6411          102 :                 tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
    6412          102 :                 if (res) return res;
    6413              :               }
    6414           71 :               break;
    6415              :             }
    6416          656 :           case REAL_CST:
    6417          656 :             {
    6418          656 :               {
    6419          656 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6420          656 :                 tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
    6421          656 :                 if (res) return res;
    6422              :               }
    6423          552 :               break;
    6424              :             }
    6425              :           default:;
    6426              :           }
    6427              :         break;
    6428              :       }
    6429          694 :     case EXACT_DIV_EXPR:
    6430          694 :       {
    6431          694 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6432          694 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6433          694 :         switch (TREE_CODE (_q21))
    6434              :           {
    6435          694 :           case INTEGER_CST:
    6436          694 :             {
    6437          694 :               switch (TREE_CODE (_p1))
    6438              :                 {
    6439           19 :                 case INTEGER_CST:
    6440           19 :                   {
    6441           19 :                     {
    6442           19 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6443           19 :                       tree res = generic_simplify_391 (loc, type, _p0, _p1, captures, LT_EXPR);
    6444           19 :                       if (res) return res;
    6445              :                     }
    6446            0 :                     break;
    6447              :                   }
    6448              :                 default:;
    6449              :                 }
    6450              :               break;
    6451              :             }
    6452              :           default:;
    6453              :           }
    6454              :         break;
    6455              :       }
    6456      2675997 :     CASE_CONVERT:
    6457      2675997 :       {
    6458      2675997 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6459      2675997 :         switch (TREE_CODE (_q20))
    6460              :           {
    6461          107 :           case EXACT_DIV_EXPR:
    6462          107 :             {
    6463          107 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6464          107 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6465          107 :               switch (TREE_CODE (_q31))
    6466              :                 {
    6467          107 :                 case INTEGER_CST:
    6468          107 :                   {
    6469          107 :                     switch (TREE_CODE (_p1))
    6470              :                       {
    6471            0 :                       case INTEGER_CST:
    6472            0 :                         {
    6473            0 :                           {
    6474            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    6475            0 :                             tree res = generic_simplify_392 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
    6476            0 :                             if (res) return res;
    6477              :                           }
    6478            0 :                           break;
    6479              :                         }
    6480              :                       default:;
    6481              :                       }
    6482              :                     break;
    6483              :                   }
    6484              :                 default:;
    6485              :                 }
    6486              :               break;
    6487              :             }
    6488      2675997 :           default:;
    6489              :           }
    6490      2675997 :         switch (TREE_CODE (_p1))
    6491              :           {
    6492      1396605 :           CASE_CONVERT:
    6493      1396605 :             {
    6494      1396605 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6495      1396605 :               {
    6496      1396605 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    6497      1396605 :                 tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, LT_EXPR);
    6498      1396605 :                 if (res) return res;
    6499              :               }
    6500      1138729 :               break;
    6501              :             }
    6502      2418121 :           default:;
    6503              :           }
    6504      2418121 :         {
    6505      2418121 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    6506      2418121 :           tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, LT_EXPR);
    6507      2418121 :           if (res) return res;
    6508              :         }
    6509      2027536 :         switch (TREE_CODE (_q20))
    6510              :           {
    6511        50924 :           case ADDR_EXPR:
    6512        50924 :             {
    6513        50924 :               switch (TREE_CODE (_p1))
    6514              :                 {
    6515        50352 :                 CASE_CONVERT:
    6516        50352 :                   {
    6517        50352 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    6518        50352 :                     switch (TREE_CODE (_q40))
    6519              :                       {
    6520        50352 :                       case ADDR_EXPR:
    6521        50352 :                         {
    6522        50352 :                           {
    6523        50352 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    6524        50352 :                             tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, LT_EXPR);
    6525        50352 :                             if (res) return res;
    6526              :                           }
    6527          314 :                           break;
    6528              :                         }
    6529              :                       default:;
    6530              :                       }
    6531              :                     break;
    6532              :                   }
    6533          475 :                 case ADDR_EXPR:
    6534          475 :                   {
    6535          475 :                     {
    6536          475 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6537          475 :                       tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, LT_EXPR);
    6538          475 :                       if (res) return res;
    6539              :                     }
    6540            0 :                     break;
    6541              :                   }
    6542              :                 default:;
    6543              :                 }
    6544              :               break;
    6545              :             }
    6546      1977023 :           default:;
    6547              :           }
    6548      1977023 :         if (uniform_integer_cst_p (_p1))
    6549              :           {
    6550       300482 :             {
    6551       300482 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6552       300482 :               tree res = generic_simplify_393 (loc, type, _p0, _p1, captures, LT_EXPR);
    6553       300482 :               if (res) return res;
    6554              :             }
    6555              :           }
    6556              :         break;
    6557              :       }
    6558         2294 :     case NEGATE_EXPR:
    6559         2294 :       {
    6560         2294 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6561         2294 :         switch (TREE_CODE (_p1))
    6562              :           {
    6563            0 :           case NEGATE_EXPR:
    6564            0 :             {
    6565            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6566            0 :               {
    6567            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6568            0 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6569            0 :                 if (res) return res;
    6570              :               }
    6571            0 :               break;
    6572              :             }
    6573         2294 :           default:;
    6574              :           }
    6575         2294 :       if (CONSTANT_CLASS_P (_p1))
    6576              :         {
    6577          301 :           {
    6578          301 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6579          301 :             tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6580          301 :             if (res) return res;
    6581              :           }
    6582              :         }
    6583              :         break;
    6584              :       }
    6585        30127 :     case ADDR_EXPR:
    6586        30127 :       {
    6587        30127 :         switch (TREE_CODE (_p1))
    6588              :           {
    6589            0 :           CASE_CONVERT:
    6590            0 :             {
    6591            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    6592            0 :               switch (TREE_CODE (_q30))
    6593              :                 {
    6594            0 :                 case ADDR_EXPR:
    6595            0 :                   {
    6596            0 :                     {
    6597            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    6598            0 :                       tree res = generic_simplify_286 (loc, type, _p0, _p1, captures, LT_EXPR);
    6599            0 :                       if (res) return res;
    6600              :                     }
    6601            0 :                     break;
    6602              :                   }
    6603              :                 default:;
    6604              :                 }
    6605              :               break;
    6606              :             }
    6607        29704 :           case ADDR_EXPR:
    6608        29704 :             {
    6609        29704 :               {
    6610        29704 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    6611        29704 :                 tree res = generic_simplify_286 (loc, type, _p0, _p1, captures, LT_EXPR);
    6612        29704 :                 if (res) return res;
    6613              :               }
    6614          620 :               break;
    6615              :             }
    6616              :           default:;
    6617              :           }
    6618              :         break;
    6619              :       }
    6620      1384108 :     case CALL_EXPR:
    6621      1384108 :       switch (get_call_combined_fn (_p0))
    6622              :         {
    6623            5 :         case CFN_BUILT_IN_SQRTF:
    6624            5 :           if (call_expr_nargs (_p0) == 1)
    6625              :     {
    6626            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6627            5 :               switch (TREE_CODE (_p1))
    6628              :                 {
    6629            5 :                 case REAL_CST:
    6630            5 :                   {
    6631            5 :                     {
    6632            5 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6633            5 :                       tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, LT_EXPR);
    6634            5 :                       if (res) return res;
    6635              :                     }
    6636            0 :                     break;
    6637              :                   }
    6638            0 :                 case CALL_EXPR:
    6639            0 :                   switch (get_call_combined_fn (_p1))
    6640              :                     {
    6641            0 :                     case CFN_BUILT_IN_SQRTF:
    6642            0 :                       if (call_expr_nargs (_p1) == 1)
    6643              :     {
    6644            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6645            0 :                           {
    6646            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6647            0 :                             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, LT_EXPR);
    6648            0 :                             if (res) return res;
    6649              :                           }
    6650              :                         }
    6651              :                       break;
    6652              :                     default:;
    6653              :                     }
    6654              :                   break;
    6655              :                 default:;
    6656              :                 }
    6657              :             }
    6658              :           break;
    6659            0 :         case CFN_BUILT_IN_SQRTL:
    6660            0 :           if (call_expr_nargs (_p0) == 1)
    6661              :     {
    6662            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6663            0 :               switch (TREE_CODE (_p1))
    6664              :                 {
    6665            0 :                 case REAL_CST:
    6666            0 :                   {
    6667            0 :                     {
    6668            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6669            0 :                       tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, LT_EXPR);
    6670            0 :                       if (res) return res;
    6671              :                     }
    6672            0 :                     break;
    6673              :                   }
    6674            0 :                 case CALL_EXPR:
    6675            0 :                   switch (get_call_combined_fn (_p1))
    6676              :                     {
    6677            0 :                     case CFN_BUILT_IN_SQRTL:
    6678            0 :                       if (call_expr_nargs (_p1) == 1)
    6679              :     {
    6680            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6681            0 :                           {
    6682            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6683            0 :                             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, LT_EXPR);
    6684            0 :                             if (res) return res;
    6685              :                           }
    6686              :                         }
    6687              :                       break;
    6688              :                     default:;
    6689              :                     }
    6690              :                   break;
    6691              :                 default:;
    6692              :                 }
    6693              :             }
    6694              :           break;
    6695            4 :         case CFN_BUILT_IN_SQRT:
    6696            4 :           if (call_expr_nargs (_p0) == 1)
    6697              :     {
    6698            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6699            4 :               switch (TREE_CODE (_p1))
    6700              :                 {
    6701            4 :                 case REAL_CST:
    6702            4 :                   {
    6703            4 :                     {
    6704            4 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6705            4 :                       tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, LT_EXPR);
    6706            4 :                       if (res) return res;
    6707              :                     }
    6708            1 :                     break;
    6709              :                   }
    6710            0 :                 case CALL_EXPR:
    6711            0 :                   switch (get_call_combined_fn (_p1))
    6712              :                     {
    6713            0 :                     case CFN_BUILT_IN_SQRT:
    6714            0 :                       if (call_expr_nargs (_p1) == 1)
    6715              :     {
    6716            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6717            0 :                           {
    6718            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6719            0 :                             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, LT_EXPR);
    6720            0 :                             if (res) return res;
    6721              :                           }
    6722              :                         }
    6723              :                       break;
    6724              :                     default:;
    6725              :                     }
    6726              :                   break;
    6727              :                 default:;
    6728              :                 }
    6729              :             }
    6730              :           break;
    6731            0 :         case CFN_SQRT:
    6732            0 :           if (call_expr_nargs (_p0) == 1)
    6733              :     {
    6734            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6735            0 :               switch (TREE_CODE (_p1))
    6736              :                 {
    6737            0 :                 case REAL_CST:
    6738            0 :                   {
    6739            0 :                     {
    6740            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6741            0 :                       tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_SQRT, LT_EXPR);
    6742            0 :                       if (res) return res;
    6743              :                     }
    6744            0 :                     break;
    6745              :                   }
    6746            0 :                 case CALL_EXPR:
    6747            0 :                   switch (get_call_combined_fn (_p1))
    6748              :                     {
    6749            0 :                     case CFN_SQRT:
    6750            0 :                       if (call_expr_nargs (_p1) == 1)
    6751              :     {
    6752            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6753            0 :                           {
    6754            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6755            0 :                             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, CFN_SQRT, LT_EXPR);
    6756            0 :                             if (res) return res;
    6757              :                           }
    6758              :                         }
    6759              :                       break;
    6760              :                     default:;
    6761              :                     }
    6762              :                   break;
    6763              :                 default:;
    6764              :                 }
    6765              :             }
    6766              :           break;
    6767              :         default:;
    6768              :         }
    6769              :       break;
    6770     13994434 :     default:;
    6771              :     }
    6772     13994434 :   switch (TREE_CODE (_p1))
    6773              :     {
    6774      1886051 :     CASE_CONVERT:
    6775      1886051 :       {
    6776      1886051 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6777      1886051 :         switch (TREE_CODE (_q30))
    6778              :           {
    6779            0 :           case NE_EXPR:
    6780            0 :             {
    6781            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6782            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6783            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6784              :                 {
    6785            0 :                   if (integer_zerop (_q41))
    6786              :                     {
    6787            0 :                       {
    6788            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6789            0 :                         if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    6790              : )
    6791              :                           {
    6792            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1634;
    6793            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1634;
    6794            0 :                             {
    6795            0 :                               tree _r;
    6796            0 :                               _r =  constant_boolean_node (false, type);
    6797            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1002, __FILE__, __LINE__, true);
    6798            0 :                               return _r;
    6799              :                             }
    6800              : next_after_fail1634:;
    6801              :                           }
    6802              :                       }
    6803              :                     }
    6804              :                 }
    6805              :               break;
    6806              :             }
    6807              :           default:;
    6808              :           }
    6809              :         break;
    6810              :       }
    6811     13994434 :     default:;
    6812              :     }
    6813     13994434 : if (uniform_integer_cst_p (_p1))
    6814              :   {
    6815      3400332 :     {
    6816      3400332 :       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    6817      3400332 :       tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, LT_EXPR);
    6818      3400332 :       if (res) return res;
    6819              :     }
    6820              :   }
    6821     13534418 :   switch (TREE_CODE (_p0))
    6822              :     {
    6823      1973277 :     CASE_CONVERT:
    6824      1973277 :       {
    6825      1973277 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6826      1973277 :         switch (TREE_CODE (_q20))
    6827              :           {
    6828        83347 :           case PLUS_EXPR:
    6829        83347 :             {
    6830        83347 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6831        83347 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6832        83347 :               switch (TREE_CODE (_q30))
    6833              :                 {
    6834        56283 :                 CASE_CONVERT:
    6835        56283 :                   {
    6836        56283 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6837        56283 :                     switch (TREE_CODE (_q31))
    6838              :                       {
    6839        56246 :                       case INTEGER_CST:
    6840        56246 :                         {
    6841        56246 :                           if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    6842              :                             {
    6843           27 :                               {
    6844           27 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    6845           27 :                                 tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6846           27 :                                 if (res) return res;
    6847              :                               }
    6848              :                             }
    6849              :                           break;
    6850              :                         }
    6851              :                       default:;
    6852              :                       }
    6853              :                     break;
    6854              :                   }
    6855              :                 default:;
    6856              :                 }
    6857              :               break;
    6858              :             }
    6859              :           default:;
    6860              :           }
    6861              :         break;
    6862              :       }
    6863     13534391 :     default:;
    6864              :     }
    6865     13534391 :   switch (TREE_CODE (_p1))
    6866              :     {
    6867      1886051 :     CASE_CONVERT:
    6868      1886051 :       {
    6869      1886051 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6870      1886051 :         switch (TREE_CODE (_q30))
    6871              :           {
    6872        22963 :           case PLUS_EXPR:
    6873        22963 :             {
    6874        22963 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6875        22963 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6876        22963 :               switch (TREE_CODE (_q40))
    6877              :                 {
    6878        20788 :                 CASE_CONVERT:
    6879        20788 :                   {
    6880        20788 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6881        20788 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    6882              :                       {
    6883            0 :                         switch (TREE_CODE (_q41))
    6884              :                           {
    6885            0 :                           case INTEGER_CST:
    6886            0 :                             {
    6887            0 :                               {
    6888            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
    6889            0 :                                 tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    6890            0 :                                 if (res) return res;
    6891              :                               }
    6892            0 :                               break;
    6893              :                             }
    6894              :                           default:;
    6895              :                           }
    6896              :                       }
    6897              :                     break;
    6898              :                   }
    6899              :                 default:;
    6900              :                 }
    6901              :               break;
    6902              :             }
    6903              :           default:;
    6904              :           }
    6905              :         break;
    6906              :       }
    6907       353973 :     case PLUS_EXPR:
    6908       353973 :       {
    6909       353973 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6910       353973 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6911       353973 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6912              :           {
    6913           80 :             switch (TREE_CODE (_q31))
    6914              :               {
    6915           64 :               case INTEGER_CST:
    6916           64 :                 {
    6917           64 :                   {
    6918           64 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
    6919           64 :                     tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    6920           64 :                     if (res) return res;
    6921              :                   }
    6922            0 :                   break;
    6923              :                 }
    6924              :               default:;
    6925              :               }
    6926              :           }
    6927              :         break;
    6928              :       }
    6929        23707 :     case MINUS_EXPR:
    6930        23707 :       {
    6931        23707 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6932        23707 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6933        23707 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6934              :           {
    6935            0 :             {
    6936            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
    6937            0 :               tree res = generic_simplify_396 (loc, type, _p0, _p1, captures, GT_EXPR);
    6938            0 :               if (res) return res;
    6939              :             }
    6940              :           }
    6941              :         break;
    6942              :       }
    6943     13534327 :     default:;
    6944              :     }
    6945     13534327 :   switch (TREE_CODE (_p0))
    6946              :     {
    6947      1946268 :     case PLUS_EXPR:
    6948      1946268 :       {
    6949      1946268 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6950      1946268 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6951      1946268 :         switch (TREE_CODE (_q20))
    6952              :           {
    6953         1345 :           case MINUS_EXPR:
    6954         1345 :             {
    6955         1345 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6956         1345 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6957         1345 :               if (integer_minus_onep (_q21))
    6958              :                 {
    6959           49 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6960              :                     {
    6961            1 :                       {
    6962            1 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6963            1 :                         tree res = generic_simplify_397 (loc, type, _p0, _p1, captures, LT_EXPR);
    6964            1 :                         if (res) return res;
    6965              :                       }
    6966              :                     }
    6967              :                 }
    6968              :               break;
    6969              :             }
    6970              :           default:;
    6971              :           }
    6972              :         break;
    6973              :       }
    6974     13534326 :     default:;
    6975              :     }
    6976     13534326 :   switch (TREE_CODE (_p1))
    6977              :     {
    6978            0 :     case REALPART_EXPR:
    6979            0 :       {
    6980            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6981            0 :         switch (TREE_CODE (_q30))
    6982              :           {
    6983            0 :           case CALL_EXPR:
    6984            0 :             switch (get_call_combined_fn (_q30))
    6985              :               {
    6986            0 :               case CFN_SUB_OVERFLOW:
    6987            0 :                 if (call_expr_nargs (_q30) == 2)
    6988              :     {
    6989            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
    6990            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
    6991            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6992              :                       {
    6993            0 :                         {
    6994            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
    6995            0 :                           tree res = generic_simplify_398 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
    6996            0 :                           if (res) return res;
    6997              :                         }
    6998              :                       }
    6999              :                   }
    7000              :                 break;
    7001              :               default:;
    7002              :               }
    7003              :             break;
    7004              :           default:;
    7005              :           }
    7006              :         break;
    7007              :       }
    7008     13534326 :     default:;
    7009              :     }
    7010     13534326 :   switch (TREE_CODE (_p0))
    7011              :     {
    7012           20 :     case REALPART_EXPR:
    7013           20 :       {
    7014           20 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7015           20 :         switch (TREE_CODE (_q20))
    7016              :           {
    7017            0 :           case CALL_EXPR:
    7018            0 :             switch (get_call_combined_fn (_q20))
    7019              :               {
    7020            0 :               case CFN_ADD_OVERFLOW:
    7021            0 :                 if (call_expr_nargs (_q20) == 2)
    7022              :     {
    7023            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    7024            0 :                     tree _q31 = CALL_EXPR_ARG (_q20, 1);
    7025            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    7026              :                       {
    7027            0 :                         {
    7028            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7029            0 :                           tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    7030            0 :                           if (res) return res;
    7031              :                         }
    7032              :                       }
    7033            0 :                     if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    7034              :                       {
    7035            0 :                         {
    7036            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q31, _q30 };
    7037            0 :                           tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    7038            0 :                           if (res) return res;
    7039              :                         }
    7040              :                       }
    7041              :                   }
    7042              :                 break;
    7043              :               default:;
    7044              :               }
    7045              :             break;
    7046              :           default:;
    7047              :           }
    7048              :         break;
    7049              :       }
    7050         7351 :     case TRUNC_DIV_EXPR:
    7051         7351 :       {
    7052         7351 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7053         7351 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7054         7351 :         if (integer_all_onesp (_q20))
    7055              :           {
    7056         1058 :             {
    7057         1058 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _p1 };
    7058         1058 :               tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    7059         1058 :               if (res) return res;
    7060              :             }
    7061              :           }
    7062              :         break;
    7063              :       }
    7064       118587 :     case MULT_EXPR:
    7065       118587 :       {
    7066       118587 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7067       118587 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7068       118587 :         switch (TREE_CODE (_q21))
    7069              :           {
    7070        11704 :           case REAL_CST:
    7071        11704 :             {
    7072        11704 :               switch (TREE_CODE (_p1))
    7073              :                 {
    7074          830 :                 case REAL_CST:
    7075          830 :                   {
    7076          830 :                     {
    7077          830 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7078          830 :                       tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    7079          830 :                       if (res) return res;
    7080              :                     }
    7081          830 :                     break;
    7082              :                   }
    7083              :                 default:;
    7084              :                 }
    7085              :               break;
    7086              :             }
    7087              :           default:;
    7088              :           }
    7089              :         break;
    7090              :       }
    7091      1946267 :     case PLUS_EXPR:
    7092      1946267 :       {
    7093      1946267 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7094      1946267 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7095      1946267 :         switch (TREE_CODE (_q21))
    7096              :           {
    7097      1452761 :           case INTEGER_CST:
    7098      1452761 :             {
    7099      1452761 :               switch (TREE_CODE (_p1))
    7100              :                 {
    7101       232580 :                 case INTEGER_CST:
    7102       232580 :                   {
    7103       232580 :                     {
    7104       232580 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7105       232580 :                       tree res = generic_simplify_402 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, LT_EXPR, GT_EXPR);
    7106       232580 :                       if (res) return res;
    7107              :                     }
    7108        15222 :                     break;
    7109              :                   }
    7110              :                 default:;
    7111              :                 }
    7112              :               break;
    7113              :             }
    7114              :           default:;
    7115              :           }
    7116              :         break;
    7117              :       }
    7118       180679 :     case MINUS_EXPR:
    7119       180679 :       {
    7120       180679 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7121       180679 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7122       180679 :         switch (TREE_CODE (_q21))
    7123              :           {
    7124            0 :           case INTEGER_CST:
    7125            0 :             {
    7126            0 :               switch (TREE_CODE (_p1))
    7127              :                 {
    7128            0 :                 case INTEGER_CST:
    7129            0 :                   {
    7130            0 :                     {
    7131            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7132            0 :                       tree res = generic_simplify_402 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, LT_EXPR, GT_EXPR);
    7133            0 :                       if (res) return res;
    7134              :                     }
    7135            0 :                     break;
    7136              :                   }
    7137              :                 default:;
    7138              :                 }
    7139              :               break;
    7140              :             }
    7141       180679 :           default:;
    7142              :           }
    7143       180679 :         switch (TREE_CODE (_q20))
    7144              :           {
    7145        42901 :           case INTEGER_CST:
    7146        42901 :             {
    7147        42901 :               switch (TREE_CODE (_p1))
    7148              :                 {
    7149         1645 :                 case INTEGER_CST:
    7150         1645 :                   {
    7151         1645 :                     {
    7152         1645 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7153         1645 :                       tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    7154         1645 :                       if (res) return res;
    7155              :                     }
    7156            0 :                     break;
    7157              :                   }
    7158              :                 default:;
    7159              :                 }
    7160              :               break;
    7161              :             }
    7162              :           default:;
    7163              :           }
    7164              :         break;
    7165              :       }
    7166      1384085 :     case CALL_EXPR:
    7167      1384085 :       switch (get_call_combined_fn (_p0))
    7168              :         {
    7169            3 :         case CFN_BUILT_IN_CTZ:
    7170            3 :           if (call_expr_nargs (_p0) == 1)
    7171              :     {
    7172            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7173            3 :               switch (TREE_CODE (_p1))
    7174              :                 {
    7175            3 :                 case INTEGER_CST:
    7176            3 :                   {
    7177            3 :                     {
    7178            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7179            3 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZ);
    7180            3 :                       if (res) return res;
    7181              :                     }
    7182            0 :                     break;
    7183              :                   }
    7184              :                 default:;
    7185              :                 }
    7186              :             }
    7187              :           break;
    7188            2 :         case CFN_BUILT_IN_CTZL:
    7189            2 :           if (call_expr_nargs (_p0) == 1)
    7190              :     {
    7191            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7192            2 :               switch (TREE_CODE (_p1))
    7193              :                 {
    7194            2 :                 case INTEGER_CST:
    7195            2 :                   {
    7196            2 :                     {
    7197            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7198            2 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZL);
    7199            2 :                       if (res) return res;
    7200              :                     }
    7201            0 :                     break;
    7202              :                   }
    7203              :                 default:;
    7204              :                 }
    7205              :             }
    7206              :           break;
    7207            0 :         case CFN_BUILT_IN_CTZIMAX:
    7208            0 :           if (call_expr_nargs (_p0) == 1)
    7209              :     {
    7210            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7211            0 :               switch (TREE_CODE (_p1))
    7212              :                 {
    7213            0 :                 case INTEGER_CST:
    7214            0 :                   {
    7215            0 :                     {
    7216            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7217            0 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZIMAX);
    7218            0 :                       if (res) return res;
    7219              :                     }
    7220            0 :                     break;
    7221              :                   }
    7222              :                 default:;
    7223              :                 }
    7224              :             }
    7225              :           break;
    7226            0 :         case CFN_CTZ:
    7227            0 :           if (call_expr_nargs (_p0) == 1)
    7228              :     {
    7229            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7230            0 :               switch (TREE_CODE (_p1))
    7231              :                 {
    7232            0 :                 case INTEGER_CST:
    7233            0 :                   {
    7234            0 :                     {
    7235            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7236            0 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_CTZ);
    7237            0 :                       if (res) return res;
    7238              :                     }
    7239            0 :                     break;
    7240              :                   }
    7241              :                 default:;
    7242              :                 }
    7243              :             }
    7244            0 :           if (call_expr_nargs (_p0) == 2)
    7245              :     {
    7246            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7247            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7248            0 :               switch (TREE_CODE (_p1))
    7249              :                 {
    7250            0 :                 case INTEGER_CST:
    7251            0 :                   {
    7252            0 :                     {
    7253            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7254            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    7255            0 :                       if (res) return res;
    7256              :                     }
    7257            0 :                     break;
    7258              :                   }
    7259              :                 default:;
    7260              :                 }
    7261              :             }
    7262              :           break;
    7263            2 :         case CFN_BUILT_IN_CTZLL:
    7264            2 :           if (call_expr_nargs (_p0) == 1)
    7265              :     {
    7266            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7267            2 :               switch (TREE_CODE (_p1))
    7268              :                 {
    7269            2 :                 case INTEGER_CST:
    7270            2 :                   {
    7271            2 :                     {
    7272            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7273            2 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZLL);
    7274            2 :                       if (res) return res;
    7275              :                     }
    7276            0 :                     break;
    7277              :                   }
    7278              :                 default:;
    7279              :                 }
    7280              :             }
    7281              :           break;
    7282              :         default:;
    7283              :         }
    7284              :       break;
    7285              :     default:;
    7286              :     }
    7287              :   return NULL_TREE;
    7288              : }
    7289              : 
    7290              : tree
    7291     20783466 : generic_simplify_GT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    7292              : {
    7293     20783466 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    7294     20783466 :   switch (TREE_CODE (_p0))
    7295              :     {
    7296         1006 :     case RDIV_EXPR:
    7297         1006 :       {
    7298         1006 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7299         1006 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7300         1006 :         switch (TREE_CODE (_q20))
    7301              :           {
    7302           29 :           case REAL_CST:
    7303           29 :             {
    7304           29 :               if (real_zerop (_p1))
    7305              :                 {
    7306            0 :                   {
    7307            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7308            0 :                     tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    7309            0 :                     if (res) return res;
    7310              :                   }
    7311              :                 }
    7312              :               break;
    7313              :             }
    7314              :           default:;
    7315              :           }
    7316              :         break;
    7317              :       }
    7318     20783466 :     default:;
    7319              :     }
    7320     20783466 :   switch (TREE_CODE (_p1))
    7321              :     {
    7322           96 :     case TRUNC_MOD_EXPR:
    7323           96 :       {
    7324           96 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7325           96 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7326           96 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7327              :           {
    7328            0 :             {
    7329            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    7330            0 :               tree res = generic_simplify_376 (loc, type, _p0, _p1, captures, LT_EXPR);
    7331            0 :               if (res) return res;
    7332              :             }
    7333              :           }
    7334              :         break;
    7335              :       }
    7336     20783466 :     default:;
    7337              :     }
    7338     20783466 :   switch (TREE_CODE (_p0))
    7339              :     {
    7340       225825 :     case MULT_EXPR:
    7341       225825 :       {
    7342       225825 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7343       225825 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7344       225825 :         switch (TREE_CODE (_p1))
    7345              :           {
    7346         7601 :           case MULT_EXPR:
    7347         7601 :             {
    7348         7601 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7349         7601 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7350         7601 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7351              :                 {
    7352          590 :                   {
    7353          590 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7354          590 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, GT_EXPR);
    7355          590 :                     if (res) return res;
    7356              :                   }
    7357              :                 }
    7358         7116 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7359              :                 {
    7360            8 :                   {
    7361            8 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7362            8 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, GT_EXPR);
    7363            8 :                     if (res) return res;
    7364              :                   }
    7365              :                 }
    7366         7116 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7367              :                 {
    7368            0 :                   {
    7369            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    7370            0 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, GT_EXPR);
    7371            0 :                     if (res) return res;
    7372              :                   }
    7373              :                 }
    7374         7116 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7375              :                 {
    7376          646 :                   {
    7377          646 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    7378          646 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, GT_EXPR);
    7379          646 :                     if (res) return res;
    7380              :                   }
    7381              :                 }
    7382              :               break;
    7383              :             }
    7384              :           default:;
    7385              :           }
    7386              :         break;
    7387              :       }
    7388      2154311 :     case PLUS_EXPR:
    7389      2154311 :       {
    7390      2154311 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7391      2154311 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7392      2154311 :         if (integer_minus_onep (_q21))
    7393              :           {
    7394       555093 :             switch (TREE_CODE (_p1))
    7395              :               {
    7396       419790 :               case INTEGER_CST:
    7397       419790 :                 {
    7398       419790 :                   {
    7399       419790 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7400       419790 :                     tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    7401       419790 :                     if (res) return res;
    7402              :                   }
    7403       414621 :                   break;
    7404              :                 }
    7405              :               default:;
    7406              :               }
    7407              :           }
    7408      2149142 :         switch (TREE_CODE (_p1))
    7409              :           {
    7410        60938 :           case PLUS_EXPR:
    7411        60938 :             {
    7412        60938 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7413        60938 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7414        60938 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7415              :                 {
    7416         4602 :                   {
    7417         4602 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7418         4602 :                     tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, GT_EXPR);
    7419         4602 :                     if (res) return res;
    7420              :                   }
    7421              :                 }
    7422        57705 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7423              :                 {
    7424          319 :                   {
    7425          319 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7426          319 :                     tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, GT_EXPR);
    7427          319 :                     if (res) return res;
    7428              :                   }
    7429              :                 }
    7430        57705 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7431              :                 {
    7432           31 :                   {
    7433           31 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    7434           31 :                     tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, GT_EXPR);
    7435           31 :                     if (res) return res;
    7436              :                   }
    7437              :                 }
    7438        57705 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7439              :                 {
    7440          302 :                   {
    7441          302 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    7442          302 :                     tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, GT_EXPR);
    7443          302 :                     if (res) return res;
    7444              :                   }
    7445              :                 }
    7446              :               break;
    7447              :             }
    7448      2145909 :           default:;
    7449              :           }
    7450      2145909 :         switch (TREE_CODE (_q21))
    7451              :           {
    7452      1945186 :           case INTEGER_CST:
    7453      1945186 :             {
    7454      1945186 :               switch (TREE_CODE (_p1))
    7455              :                 {
    7456        34760 :                 case PLUS_EXPR:
    7457        34760 :                   {
    7458        34760 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7459        34760 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    7460        34760 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7461              :                       {
    7462         1343 :                         {
    7463         1343 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7464         1343 :                           tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, GT_EXPR);
    7465         1343 :                           if (res) return res;
    7466              :                         }
    7467              :                       }
    7468              :                     break;
    7469              :                   }
    7470              :                 default:;
    7471              :                 }
    7472              :               break;
    7473              :             }
    7474      2145909 :           default:;
    7475              :           }
    7476      2145909 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7477              :           {
    7478        59408 :             {
    7479        59408 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7480        59408 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, GT_EXPR);
    7481        59408 :               if (res) return res;
    7482              :             }
    7483              :           }
    7484      2107985 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7485              :           {
    7486         6929 :             {
    7487         6929 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    7488         6929 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, GT_EXPR);
    7489         6929 :               if (res) return res;
    7490              :             }
    7491              :           }
    7492              :         break;
    7493              :       }
    7494      2370533 :     CASE_CONVERT:
    7495      2370533 :       {
    7496      2370533 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7497      2370533 :         switch (TREE_CODE (_q20))
    7498              :           {
    7499            5 :           case EXACT_DIV_EXPR:
    7500            5 :             {
    7501            5 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7502            5 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7503            5 :               switch (TREE_CODE (_q31))
    7504              :                 {
    7505            5 :                 case INTEGER_CST:
    7506            5 :                   {
    7507            5 :                     switch (TREE_CODE (_p1))
    7508              :                       {
    7509            2 :                       CASE_CONVERT:
    7510            2 :                         {
    7511            2 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    7512            2 :                           switch (TREE_CODE (_q60))
    7513              :                             {
    7514            0 :                             case EXACT_DIV_EXPR:
    7515            0 :                               {
    7516            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    7517            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    7518            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    7519              :                                   {
    7520            0 :                                     {
    7521            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    7522            0 :                                       tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, GT_EXPR);
    7523            0 :                                       if (res) return res;
    7524              :                                     }
    7525              :                                   }
    7526              :                                 break;
    7527              :                               }
    7528              :                             default:;
    7529              :                             }
    7530              :                           break;
    7531              :                         }
    7532              :                       default:;
    7533              :                       }
    7534              :                     break;
    7535              :                   }
    7536              :                 default:;
    7537              :                 }
    7538              :               break;
    7539              :             }
    7540              :           default:;
    7541              :           }
    7542              :         break;
    7543              :       }
    7544         3626 :     case EXACT_DIV_EXPR:
    7545         3626 :       {
    7546         3626 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7547         3626 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7548         3626 :         switch (TREE_CODE (_q21))
    7549              :           {
    7550         3626 :           case INTEGER_CST:
    7551         3626 :             {
    7552         3626 :               switch (TREE_CODE (_p1))
    7553              :                 {
    7554            6 :                 case EXACT_DIV_EXPR:
    7555            6 :                   {
    7556            6 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7557            6 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    7558            6 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7559              :                       {
    7560            0 :                         {
    7561            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    7562            0 :                           tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, GT_EXPR);
    7563            0 :                           if (res) return res;
    7564              :                         }
    7565              :                       }
    7566              :                     break;
    7567              :                   }
    7568              :                 default:;
    7569              :                 }
    7570              :               break;
    7571              :             }
    7572              :           default:;
    7573              :           }
    7574              :         break;
    7575              :       }
    7576      1727177 :     case TRUNC_DIV_EXPR:
    7577      1727177 :       {
    7578      1727177 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7579      1727177 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7580      1727177 :         switch (TREE_CODE (_q21))
    7581              :           {
    7582      1718863 :           case INTEGER_CST:
    7583      1718863 :             {
    7584      1718863 :               switch (TREE_CODE (_p1))
    7585              :                 {
    7586      1705297 :                 case INTEGER_CST:
    7587      1705297 :                   {
    7588      1705297 :                     {
    7589      1705297 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7590      1705297 :                       tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, GT_EXPR);
    7591      1705297 :                       if (res) return res;
    7592              :                     }
    7593           69 :                     break;
    7594              :                   }
    7595              :                 default:;
    7596              :                 }
    7597              :               break;
    7598              :             }
    7599              :           default:;
    7600              :           }
    7601              :         break;
    7602              :       }
    7603       758386 :     case MINUS_EXPR:
    7604       758386 :       {
    7605       758386 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7606       758386 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7607       758386 :         switch (TREE_CODE (_p1))
    7608              :           {
    7609         3478 :           case MINUS_EXPR:
    7610         3478 :             {
    7611         3478 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7612         3478 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7613         3478 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7614              :                 {
    7615          876 :                   {
    7616          876 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7617          876 :                     tree res = generic_simplify_381 (loc, type, _p0, _p1, captures, GT_EXPR);
    7618          876 :                     if (res) return res;
    7619              :                   }
    7620              :                 }
    7621         3478 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7622              :                 {
    7623          170 :                   {
    7624          170 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7625          170 :                     tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, GT_EXPR);
    7626          170 :                     if (res) return res;
    7627              :                   }
    7628              :                 }
    7629              :               break;
    7630              :             }
    7631              :           default:;
    7632              :           }
    7633              :         break;
    7634              :       }
    7635        53477 :     case POINTER_DIFF_EXPR:
    7636        53477 :       {
    7637        53477 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7638        53477 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7639        53477 :         switch (TREE_CODE (_p1))
    7640              :           {
    7641          315 :           case POINTER_DIFF_EXPR:
    7642          315 :             {
    7643          315 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7644          315 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7645          315 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7646              :                 {
    7647           43 :                   {
    7648           43 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    7649           43 :                     tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GT_EXPR);
    7650           43 :                     if (res) return res;
    7651              :                   }
    7652              :                 }
    7653          272 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7654              :                 {
    7655            0 :                   {
    7656            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    7657            0 :                     tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, GT_EXPR);
    7658            0 :                     if (res) return res;
    7659              :                   }
    7660              :                 }
    7661              :               break;
    7662              :             }
    7663              :           default:;
    7664              :           }
    7665              :         break;
    7666              :       }
    7667     19029841 :     default:;
    7668              :     }
    7669     19029841 :   switch (TREE_CODE (_p1))
    7670              :     {
    7671       111532 :     case PLUS_EXPR:
    7672       111532 :       {
    7673       111532 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7674       111532 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7675       111532 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7676              :           {
    7677            0 :             {
    7678            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7679            0 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, LT_EXPR);
    7680            0 :               if (res) return res;
    7681              :             }
    7682              :           }
    7683       111532 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7684              :           {
    7685            4 :             {
    7686            4 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    7687            4 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, LT_EXPR);
    7688            4 :               if (res) return res;
    7689              :             }
    7690              :           }
    7691              :         break;
    7692              :       }
    7693        11844 :     case MINUS_EXPR:
    7694        11844 :       {
    7695        11844 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7696        11844 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7697        11844 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7698              :           {
    7699            0 :             {
    7700            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    7701            0 :               tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, GT_EXPR);
    7702            0 :               if (res) return res;
    7703              :             }
    7704              :           }
    7705              :         break;
    7706              :       }
    7707     19029841 :     default:;
    7708              :     }
    7709     19029841 :   switch (TREE_CODE (_p0))
    7710              :     {
    7711       758386 :     case MINUS_EXPR:
    7712       758386 :       {
    7713       758386 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7714       758386 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7715       758386 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7716              :           {
    7717        16010 :             {
    7718        16010 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    7719        16010 :               tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, LT_EXPR);
    7720        16010 :               if (res) return res;
    7721              :             }
    7722              :           }
    7723              :         break;
    7724              :       }
    7725        20216 :     case BIT_AND_EXPR:
    7726        20216 :       {
    7727        20216 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7728        20216 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7729        20216 :         if (tree_expr_nonnegative_p (_q20))
    7730              :           {
    7731        18109 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7732              :               {
    7733            0 :                 {
    7734            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7735            0 :                   tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, GT_EXPR, BIT_AND_EXPR);
    7736            0 :                   if (res) return res;
    7737              :                 }
    7738              :               }
    7739              :           }
    7740        20216 :         if (tree_expr_nonnegative_p (_q21))
    7741              :           {
    7742        19208 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7743              :               {
    7744         3936 :                 {
    7745         3936 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7746         3936 :                   tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, GT_EXPR, BIT_AND_EXPR);
    7747         3936 :                   if (res) return res;
    7748              :                 }
    7749              :               }
    7750              :           }
    7751              :         break;
    7752              :       }
    7753     19025862 :     default:;
    7754              :     }
    7755     19025862 :   switch (TREE_CODE (_p1))
    7756              :     {
    7757           99 :     case BIT_IOR_EXPR:
    7758           99 :       {
    7759           99 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7760           99 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7761           99 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7762              :           {
    7763            0 :             if (tree_expr_nonnegative_p (_q30))
    7764              :               {
    7765            0 :                 {
    7766            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7767            0 :                   tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    7768            0 :                   if (res) return res;
    7769              :                 }
    7770              :               }
    7771              :           }
    7772           99 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7773              :           {
    7774            0 :             if (tree_expr_nonnegative_p (_q31))
    7775              :               {
    7776            0 :                 {
    7777            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7778            0 :                   tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    7779            0 :                   if (res) return res;
    7780              :                 }
    7781              :               }
    7782              :           }
    7783              :         break;
    7784              :       }
    7785     19025862 :     default:;
    7786              :     }
    7787     19025862 :   switch (TREE_CODE (_p0))
    7788              :     {
    7789        33424 :     case MIN_EXPR:
    7790        33424 :       {
    7791        33424 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7792        33424 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7793        33424 :         switch (TREE_CODE (_p1))
    7794              :           {
    7795            4 :           case MAX_EXPR:
    7796            4 :             {
    7797            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7798            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7799            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7800              :                 {
    7801            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7802              :                     {
    7803            0 :                       {
    7804            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7805            0 :                         tree res = generic_simplify_384 (loc, type, _p0, _p1, captures, GT_EXPR);
    7806            0 :                         if (res) return res;
    7807              :                       }
    7808              :                     }
    7809              :                 }
    7810              :               break;
    7811              :             }
    7812              :           default:;
    7813              :           }
    7814              :         break;
    7815              :       }
    7816        14030 :     case MAX_EXPR:
    7817        14030 :       {
    7818        14030 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7819        14030 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7820        14030 :         switch (TREE_CODE (_p1))
    7821              :           {
    7822           16 :           case MIN_EXPR:
    7823           16 :             {
    7824           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7825           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7826           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7827              :                 {
    7828            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7829              :                     {
    7830            0 :                       {
    7831            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7832            0 :                         tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    7833            0 :                         if (res) return res;
    7834              :                       }
    7835              :                     }
    7836              :                 }
    7837              :               break;
    7838              :             }
    7839        14030 :           default:;
    7840              :           }
    7841        14030 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7842              :           {
    7843            1 :             {
    7844            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7845            1 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, LT_EXPR);
    7846            1 :               if (res) return res;
    7847              :             }
    7848              :           }
    7849        14029 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7850              :           {
    7851           12 :             {
    7852           12 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7853           12 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, LT_EXPR);
    7854           12 :               if (res) return res;
    7855              :             }
    7856              :           }
    7857              :         break;
    7858              :       }
    7859     19025852 :     default:;
    7860              :     }
    7861     19025852 :   switch (TREE_CODE (_p1))
    7862              :     {
    7863          118 :     case MIN_EXPR:
    7864          118 :       {
    7865          118 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7866          118 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7867          118 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7868              :           {
    7869            0 :             {
    7870            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7871            0 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, GT_EXPR);
    7872            0 :               if (res) return res;
    7873              :             }
    7874              :           }
    7875          118 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7876              :           {
    7877            0 :             {
    7878            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7879            0 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, GT_EXPR);
    7880            0 :               if (res) return res;
    7881              :             }
    7882              :           }
    7883              :         break;
    7884              :       }
    7885         2511 :     case MAX_EXPR:
    7886         2511 :       {
    7887         2511 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7888         2511 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7889         2511 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7890              :           {
    7891            0 :             {
    7892            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7893            0 :               tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
    7894            0 :               if (res) return res;
    7895              :             }
    7896              :           }
    7897         2511 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7898              :           {
    7899            0 :             {
    7900            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7901            0 :               tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
    7902            0 :               if (res) return res;
    7903              :             }
    7904              :           }
    7905              :         break;
    7906              :       }
    7907     19025852 :     default:;
    7908              :     }
    7909     19025852 :   switch (TREE_CODE (_p0))
    7910              :     {
    7911        33424 :     case MIN_EXPR:
    7912        33424 :       {
    7913        33424 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7914        33424 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7915        33424 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7916              :           {
    7917            1 :             {
    7918            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7919            1 :               tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    7920            1 :               if (res) return res;
    7921              :             }
    7922              :           }
    7923        33423 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7924              :           {
    7925            1 :             {
    7926            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7927            1 :               tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    7928            1 :               if (res) return res;
    7929              :             }
    7930              :           }
    7931        33422 :         switch (TREE_CODE (_q21))
    7932              :           {
    7933        20096 :           case INTEGER_CST:
    7934        20096 :             {
    7935        20096 :               switch (TREE_CODE (_p1))
    7936              :                 {
    7937           61 :                 case INTEGER_CST:
    7938           61 :                   {
    7939           61 :                     {
    7940           61 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7941           61 :                       tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, MIN_EXPR, GT_EXPR, BIT_AND_EXPR);
    7942           61 :                       if (res) return res;
    7943              :                     }
    7944            0 :                     break;
    7945              :                   }
    7946              :                 default:;
    7947              :                 }
    7948              :               break;
    7949              :             }
    7950              :           default:;
    7951              :           }
    7952              :         break;
    7953              :       }
    7954        14020 :     case MAX_EXPR:
    7955        14020 :       {
    7956        14020 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7957        14020 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7958        14020 :         switch (TREE_CODE (_q21))
    7959              :           {
    7960        13421 :           case INTEGER_CST:
    7961        13421 :             {
    7962        13421 :               switch (TREE_CODE (_p1))
    7963              :                 {
    7964            0 :                 case INTEGER_CST:
    7965            0 :                   {
    7966            0 :                     {
    7967            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7968            0 :                       tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, BIT_IOR_EXPR);
    7969            0 :                       if (res) return res;
    7970              :                     }
    7971            0 :                     break;
    7972              :                   }
    7973              :                 default:;
    7974              :                 }
    7975              :               break;
    7976              :             }
    7977              :           default:;
    7978              :           }
    7979              :         break;
    7980              :       }
    7981          877 :     case VEC_COND_EXPR:
    7982          877 :       {
    7983          877 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7984          877 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7985          877 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7986          877 :         switch (TREE_CODE (_p1))
    7987              :           {
    7988           14 :           case VEC_COND_EXPR:
    7989           14 :             {
    7990           14 :               tree _q60 = TREE_OPERAND (_p1, 0);
    7991           14 :               tree _q61 = TREE_OPERAND (_p1, 1);
    7992           14 :               tree _q62 = TREE_OPERAND (_p1, 2);
    7993           14 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7994              :                 {
    7995            0 :                   {
    7996            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    7997            0 :                     if (VECTOR_TYPE_P (type)
    7998            0 :  && (TREE_CODE_CLASS (GT_EXPR) != tcc_comparison
    7999            0 :  || types_match (type, TREE_TYPE (captures[2]))
    8000            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8001              :  || (optimize_vectors_before_lowering_p ()
    8002            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8003              : )
    8004              :                       {
    8005            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1638;
    8006            0 :                         {
    8007            0 :                           tree res_op0;
    8008            0 :                           res_op0 = captures[1];
    8009            0 :                           tree res_op1;
    8010            0 :                           {
    8011            0 :                             tree _o1[2], _r1;
    8012            0 :                             _o1[0] = captures[2];
    8013            0 :                             _o1[1] = captures[5];
    8014            0 :                             _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    8015            0 :                             if (EXPR_P (_r1))
    8016            0 :                               goto next_after_fail1638;
    8017            0 :                             res_op1 = _r1;
    8018              :                           }
    8019            0 :                           tree res_op2;
    8020            0 :                           {
    8021            0 :                             tree _o1[2], _r1;
    8022            0 :                             _o1[0] = captures[3];
    8023            0 :                             _o1[1] = captures[6];
    8024            0 :                             _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    8025            0 :                             if (EXPR_P (_r1))
    8026            0 :                               goto next_after_fail1638;
    8027            0 :                             res_op2 = _r1;
    8028              :                           }
    8029            0 :                           tree _r;
    8030            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8031            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
    8032            0 :                           return _r;
    8033              :                         }
    8034            0 : next_after_fail1638:;
    8035              :                       }
    8036              :                   }
    8037              :                 }
    8038              :               break;
    8039              :             }
    8040          877 :           default:;
    8041              :           }
    8042          877 :         {
    8043          877 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    8044          877 :           if (VECTOR_TYPE_P (type)
    8045          877 :  && (TREE_CODE_CLASS (GT_EXPR) != tcc_comparison
    8046          877 :  || types_match (type, TREE_TYPE (captures[2]))
    8047          877 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8048              :  || (optimize_vectors_before_lowering_p ()
    8049           10 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8050              : )
    8051              :             {
    8052          877 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1639;
    8053          877 :               {
    8054          877 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1639;
    8055           21 :                 tree res_op0;
    8056           21 :                 res_op0 = captures[1];
    8057           21 :                 tree res_op1;
    8058           21 :                 {
    8059           21 :                   tree _o1[2], _r1;
    8060           21 :                   _o1[0] = captures[2];
    8061           21 :                   _o1[1] = unshare_expr (captures[4]);
    8062           21 :                   _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    8063           21 :                   if (EXPR_P (_r1))
    8064           17 :                     goto next_after_fail1639;
    8065            4 :                   res_op1 = _r1;
    8066              :                 }
    8067            4 :                 tree res_op2;
    8068            4 :                 {
    8069            4 :                   tree _o1[2], _r1;
    8070            4 :                   _o1[0] = captures[3];
    8071            4 :                   _o1[1] = captures[4];
    8072            4 :                   _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    8073            4 :                   if (EXPR_P (_r1))
    8074            4 :                     goto next_after_fail1639;
    8075            0 :                   res_op2 = _r1;
    8076              :                 }
    8077            0 :                 tree _r;
    8078            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8079            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    8080            0 :                 return _r;
    8081              :               }
    8082          877 : next_after_fail1639:;
    8083              :             }
    8084              :         }
    8085          877 :         break;
    8086              :       }
    8087     19025789 :     default:;
    8088              :     }
    8089     19025789 :   switch (TREE_CODE (_p1))
    8090              :     {
    8091           74 :     case VEC_COND_EXPR:
    8092           74 :       {
    8093           74 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8094           74 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8095           74 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8096           74 :         {
    8097           74 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8098           74 :           if (VECTOR_TYPE_P (type)
    8099           74 :  && (TREE_CODE_CLASS (GT_EXPR) != tcc_comparison
    8100           74 :  || types_match (type, TREE_TYPE (captures[3]))
    8101           74 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8102              :  || (optimize_vectors_before_lowering_p ()
    8103            7 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8104              : )
    8105              :             {
    8106           74 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1640;
    8107           74 :               {
    8108           74 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1640;
    8109            0 :                 tree res_op0;
    8110            0 :                 res_op0 = captures[2];
    8111            0 :                 tree res_op1;
    8112            0 :                 {
    8113            0 :                   tree _o1[2], _r1;
    8114            0 :                   _o1[0] = unshare_expr (captures[0]);
    8115            0 :                   _o1[1] = captures[3];
    8116            0 :                   _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    8117            0 :                   if (EXPR_P (_r1))
    8118            0 :                     goto next_after_fail1640;
    8119            0 :                   res_op1 = _r1;
    8120              :                 }
    8121            0 :                 tree res_op2;
    8122            0 :                 {
    8123            0 :                   tree _o1[2], _r1;
    8124            0 :                   _o1[0] = captures[0];
    8125            0 :                   _o1[1] = captures[4];
    8126            0 :                   _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    8127            0 :                   if (EXPR_P (_r1))
    8128            0 :                     goto next_after_fail1640;
    8129            0 :                   res_op2 = _r1;
    8130              :                 }
    8131            0 :                 tree _r;
    8132            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8133            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    8134            0 :                 return _r;
    8135              :               }
    8136           74 : next_after_fail1640:;
    8137              :             }
    8138              :         }
    8139           74 :         break;
    8140              :       }
    8141     19025789 :     default:;
    8142              :     }
    8143     19025789 : if (uniform_integer_cst_p (_p1))
    8144              :   {
    8145     13459416 :     {
    8146     13459416 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8147     13459416 :       tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
    8148     13459416 :       if (res) return res;
    8149              :     }
    8150              :   }
    8151     18946299 :   switch (TREE_CODE (_p0))
    8152              :     {
    8153       225028 :     case MULT_EXPR:
    8154       225028 :       {
    8155       225028 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8156       225028 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8157       225028 :         switch (TREE_CODE (_q21))
    8158              :           {
    8159       186576 :           case INTEGER_CST:
    8160       186576 :             {
    8161       186576 :               if (integer_zerop (_p1))
    8162              :                 {
    8163         7331 :                   {
    8164         7331 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8165         7331 :                     tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    8166         7331 :                     if (res) return res;
    8167              :                   }
    8168              :                 }
    8169              :               break;
    8170              :             }
    8171              :           default:;
    8172              :           }
    8173              :         break;
    8174              :       }
    8175     18943840 :     default:;
    8176              :     }
    8177     18943840 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8178              :     {
    8179         1331 :       {
    8180         1331 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8181         1331 :         tree res = generic_simplify_302 (loc, type, _p0, _p1, captures, GT_EXPR);
    8182         1331 :         if (res) return res;
    8183              :       }
    8184              :     }
    8185     18942509 :   switch (TREE_CODE (_p0))
    8186              :     {
    8187       913628 :     case BIT_NOT_EXPR:
    8188       913628 :       {
    8189       913628 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8190       913628 :         switch (TREE_CODE (_p1))
    8191              :           {
    8192           10 :           case BIT_NOT_EXPR:
    8193           10 :             {
    8194           10 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8195           10 :               {
    8196           10 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    8197           10 :                 tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, GT_EXPR);
    8198           10 :                 if (res) return res;
    8199              :               }
    8200            0 :               break;
    8201              :             }
    8202       913618 :           default:;
    8203              :           }
    8204       913618 :       {
    8205       913618 :         tree _p1_pops[1];
    8206       913618 :         if (tree_nop_convert (_p1, _p1_pops))
    8207              :           {
    8208            2 :             tree _q40 = _p1_pops[0];
    8209            2 :             switch (TREE_CODE (_q40))
    8210              :               {
    8211            0 :               case BIT_NOT_EXPR:
    8212            0 :                 {
    8213            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    8214            0 :                   {
    8215            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    8216            0 :                     tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, GT_EXPR);
    8217            0 :                     if (res) return res;
    8218              :                   }
    8219            0 :                   break;
    8220              :                 }
    8221              :               default:;
    8222              :               }
    8223              :           }
    8224              :       }
    8225       913618 :       if (CONSTANT_CLASS_P (_p1))
    8226              :         {
    8227       911309 :           {
    8228       911309 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8229       911309 :             tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    8230       911309 :             if (res) return res;
    8231              :           }
    8232              :         }
    8233              :         break;
    8234              :       }
    8235     18031190 :     default:;
    8236              :     }
    8237     18031190 : {
    8238     18031190 :   tree _p0_pops[1];
    8239     18031190 :   if (tree_nop_convert (_p0, _p0_pops))
    8240              :     {
    8241       958243 :       tree _q20 = _p0_pops[0];
    8242       958243 :       switch (TREE_CODE (_q20))
    8243              :         {
    8244            0 :         case BIT_NOT_EXPR:
    8245            0 :           {
    8246            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    8247            0 :             switch (TREE_CODE (_p1))
    8248              :               {
    8249            0 :               case BIT_NOT_EXPR:
    8250            0 :                 {
    8251            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    8252            0 :                   {
    8253            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    8254            0 :                     tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, GT_EXPR);
    8255            0 :                     if (res) return res;
    8256              :                   }
    8257            0 :                   break;
    8258              :                 }
    8259            0 :               default:;
    8260              :               }
    8261            0 :           {
    8262            0 :             tree _p1_pops[1];
    8263            0 :             if (tree_nop_convert (_p1, _p1_pops))
    8264              :               {
    8265            0 :                 tree _q50 = _p1_pops[0];
    8266            0 :                 switch (TREE_CODE (_q50))
    8267              :                   {
    8268            0 :                   case BIT_NOT_EXPR:
    8269            0 :                     {
    8270            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    8271            0 :                       {
    8272            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    8273            0 :                         tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, GT_EXPR);
    8274            0 :                         if (res) return res;
    8275              :                       }
    8276            0 :                       break;
    8277              :                     }
    8278              :                   default:;
    8279              :                   }
    8280              :               }
    8281              :           }
    8282            0 :           if (CONSTANT_CLASS_P (_p1))
    8283              :             {
    8284            0 :               {
    8285            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    8286            0 :                 tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    8287            0 :                 if (res) return res;
    8288              :               }
    8289              :             }
    8290              :             break;
    8291              :           }
    8292              :         default:;
    8293              :         }
    8294              :     }
    8295              : }
    8296     18031190 :   switch (TREE_CODE (_p1))
    8297              :     {
    8298       830375 :     case REAL_CST:
    8299       830375 :       {
    8300       830375 :         {
    8301       830375 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8302       830375 :           tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, GT_EXPR);
    8303       830375 :           if (res) return res;
    8304              :         }
    8305       830327 :         break;
    8306              :       }
    8307     18031142 :     default:;
    8308              :     }
    8309     18031142 :   switch (TREE_CODE (_p0))
    8310              :     {
    8311      2105757 :     case PLUS_EXPR:
    8312      2105757 :       {
    8313      2105757 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8314      2105757 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8315      2105757 :         switch (TREE_CODE (_q21))
    8316              :           {
    8317          479 :           case REAL_CST:
    8318          479 :             {
    8319          479 :               switch (TREE_CODE (_p1))
    8320              :                 {
    8321          199 :                 case REAL_CST:
    8322          199 :                   {
    8323          199 :                     {
    8324          199 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8325          199 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, PLUS_EXPR, GT_EXPR);
    8326          199 :                       if (res) return res;
    8327              :                     }
    8328          199 :                     break;
    8329              :                   }
    8330              :                 default:;
    8331              :                 }
    8332              :               break;
    8333              :             }
    8334      1906348 :           case INTEGER_CST:
    8335      1906348 :             {
    8336      1906348 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8337              :                 {
    8338         1194 :                   {
    8339         1194 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
    8340         1194 :                     tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    8341         1194 :                     if (res) return res;
    8342              :                   }
    8343              :                 }
    8344              :               break;
    8345              :             }
    8346              :           default:;
    8347              :           }
    8348              :         break;
    8349              :       }
    8350       748070 :     case MINUS_EXPR:
    8351       748070 :       {
    8352       748070 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8353       748070 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8354       748070 :         switch (TREE_CODE (_q21))
    8355              :           {
    8356          751 :           case REAL_CST:
    8357          751 :             {
    8358          751 :               switch (TREE_CODE (_p1))
    8359              :                 {
    8360          537 :                 case REAL_CST:
    8361          537 :                   {
    8362          537 :                     {
    8363          537 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8364          537 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, MINUS_EXPR, GT_EXPR);
    8365          537 :                       if (res) return res;
    8366              :                     }
    8367          535 :                     break;
    8368              :                   }
    8369              :                 default:;
    8370              :                 }
    8371              :               break;
    8372              :             }
    8373       748068 :           default:;
    8374              :           }
    8375       748068 :         switch (TREE_CODE (_q20))
    8376              :           {
    8377           43 :           case REAL_CST:
    8378           43 :             {
    8379           43 :               switch (TREE_CODE (_p1))
    8380              :                 {
    8381           37 :                 case REAL_CST:
    8382           37 :                   {
    8383           37 :                     {
    8384           37 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8385           37 :                       tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, GT_EXPR);
    8386           37 :                       if (res) return res;
    8387              :                     }
    8388           35 :                     break;
    8389              :                   }
    8390              :                 default:;
    8391              :                 }
    8392              :               break;
    8393              :             }
    8394              :           default:;
    8395              :           }
    8396              :         break;
    8397              :       }
    8398        39965 :     case FLOAT_EXPR:
    8399        39965 :       {
    8400        39965 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8401        39965 :         switch (TREE_CODE (_p1))
    8402              :           {
    8403           30 :           case FLOAT_EXPR:
    8404           30 :             {
    8405           30 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8406           30 :               {
    8407           30 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8408           30 :                 tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
    8409           30 :                 if (res) return res;
    8410              :               }
    8411           30 :               break;
    8412              :             }
    8413        38250 :           case REAL_CST:
    8414        38250 :             {
    8415        38250 :               {
    8416        38250 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8417        38250 :                 tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
    8418        38250 :                 if (res) return res;
    8419              :               }
    8420        19301 :               break;
    8421              :             }
    8422              :           default:;
    8423              :           }
    8424              :         break;
    8425              :       }
    8426         3626 :     case EXACT_DIV_EXPR:
    8427         3626 :       {
    8428         3626 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8429         3626 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8430         3626 :         switch (TREE_CODE (_q21))
    8431              :           {
    8432         3626 :           case INTEGER_CST:
    8433         3626 :             {
    8434         3626 :               switch (TREE_CODE (_p1))
    8435              :                 {
    8436          181 :                 case INTEGER_CST:
    8437          181 :                   {
    8438          181 :                     {
    8439          181 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8440          181 :                       tree res = generic_simplify_391 (loc, type, _p0, _p1, captures, GT_EXPR);
    8441          181 :                       if (res) return res;
    8442              :                     }
    8443            0 :                     break;
    8444              :                   }
    8445              :                 default:;
    8446              :                 }
    8447              :               break;
    8448              :             }
    8449              :           default:;
    8450              :           }
    8451              :         break;
    8452              :       }
    8453      2366873 :     CASE_CONVERT:
    8454      2366873 :       {
    8455      2366873 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8456      2366873 :         switch (TREE_CODE (_q20))
    8457              :           {
    8458            5 :           case EXACT_DIV_EXPR:
    8459            5 :             {
    8460            5 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8461            5 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8462            5 :               switch (TREE_CODE (_q31))
    8463              :                 {
    8464            5 :                 case INTEGER_CST:
    8465            5 :                   {
    8466            5 :                     switch (TREE_CODE (_p1))
    8467              :                       {
    8468            0 :                       case INTEGER_CST:
    8469            0 :                         {
    8470            0 :                           {
    8471            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    8472            0 :                             tree res = generic_simplify_392 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    8473            0 :                             if (res) return res;
    8474              :                           }
    8475            0 :                           break;
    8476              :                         }
    8477              :                       default:;
    8478              :                       }
    8479              :                     break;
    8480              :                   }
    8481              :                 default:;
    8482              :                 }
    8483              :               break;
    8484              :             }
    8485      2366873 :           default:;
    8486              :           }
    8487      2366873 :         switch (TREE_CODE (_p1))
    8488              :           {
    8489       174363 :           CASE_CONVERT:
    8490       174363 :             {
    8491       174363 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8492       174363 :               {
    8493       174363 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8494       174363 :                 tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, GT_EXPR);
    8495       174363 :                 if (res) return res;
    8496              :               }
    8497       146637 :               break;
    8498              :             }
    8499      2339147 :           default:;
    8500              :           }
    8501      2339147 :         {
    8502      2339147 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    8503      2339147 :           tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, GT_EXPR);
    8504      2339147 :           if (res) return res;
    8505              :         }
    8506      1179470 :         switch (TREE_CODE (_q20))
    8507              :           {
    8508         1005 :           case ADDR_EXPR:
    8509         1005 :             {
    8510         1005 :               switch (TREE_CODE (_p1))
    8511              :                 {
    8512          735 :                 CASE_CONVERT:
    8513          735 :                   {
    8514          735 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    8515          735 :                     switch (TREE_CODE (_q40))
    8516              :                       {
    8517          735 :                       case ADDR_EXPR:
    8518          735 :                         {
    8519          735 :                           {
    8520          735 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8521          735 :                             tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, GT_EXPR);
    8522          735 :                             if (res) return res;
    8523              :                           }
    8524          242 :                           break;
    8525              :                         }
    8526              :                       default:;
    8527              :                       }
    8528              :                     break;
    8529              :                   }
    8530            7 :                 case ADDR_EXPR:
    8531            7 :                   {
    8532            7 :                     {
    8533            7 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8534            7 :                       tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, GT_EXPR);
    8535            7 :                       if (res) return res;
    8536              :                     }
    8537            0 :                     break;
    8538              :                   }
    8539              :                 default:;
    8540              :                 }
    8541              :               break;
    8542              :             }
    8543      1178970 :           default:;
    8544              :           }
    8545      1178970 :         if (uniform_integer_cst_p (_p1))
    8546              :           {
    8547       324136 :             {
    8548       324136 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8549       324136 :               tree res = generic_simplify_393 (loc, type, _p0, _p1, captures, GT_EXPR);
    8550       324136 :               if (res) return res;
    8551              :             }
    8552              :           }
    8553              :         break;
    8554              :       }
    8555        16277 :     case BIT_AND_EXPR:
    8556        16277 :       {
    8557        16277 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8558        16277 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8559        16277 :         switch (TREE_CODE (_q21))
    8560              :           {
    8561        15164 :           case INTEGER_CST:
    8562        15164 :             {
    8563        15164 :               switch (TREE_CODE (_p1))
    8564              :                 {
    8565         9255 :                 case INTEGER_CST:
    8566         9255 :                   {
    8567         9255 :                     {
    8568         9255 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8569         9255 :                       tree res = generic_simplify_407 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
    8570         9255 :                       if (res) return res;
    8571              :                     }
    8572         8746 :                     break;
    8573              :                   }
    8574              :                 default:;
    8575              :                 }
    8576              :               break;
    8577              :             }
    8578              :           default:;
    8579              :           }
    8580              :         break;
    8581              :       }
    8582        10921 :     case NEGATE_EXPR:
    8583        10921 :       {
    8584        10921 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8585        10921 :         switch (TREE_CODE (_p1))
    8586              :           {
    8587            4 :           case NEGATE_EXPR:
    8588            4 :             {
    8589            4 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8590            4 :               {
    8591            4 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8592            4 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    8593            4 :                 if (res) return res;
    8594              :               }
    8595            4 :               break;
    8596              :             }
    8597        10921 :           default:;
    8598              :           }
    8599        10921 :       if (CONSTANT_CLASS_P (_p1))
    8600              :         {
    8601          690 :           {
    8602          690 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8603          690 :             tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    8604          690 :             if (res) return res;
    8605              :           }
    8606              :         }
    8607              :         break;
    8608              :       }
    8609         4569 :     case ADDR_EXPR:
    8610         4569 :       {
    8611         4569 :         switch (TREE_CODE (_p1))
    8612              :           {
    8613            0 :           CASE_CONVERT:
    8614            0 :             {
    8615            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    8616            0 :               switch (TREE_CODE (_q30))
    8617              :                 {
    8618            0 :                 case ADDR_EXPR:
    8619            0 :                   {
    8620            0 :                     {
    8621            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    8622            0 :                       tree res = generic_simplify_286 (loc, type, _p0, _p1, captures, GT_EXPR);
    8623            0 :                       if (res) return res;
    8624              :                     }
    8625            0 :                     break;
    8626              :                   }
    8627              :                 default:;
    8628              :                 }
    8629              :               break;
    8630              :             }
    8631         4264 :           case ADDR_EXPR:
    8632         4264 :             {
    8633         4264 :               {
    8634         4264 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    8635         4264 :                 tree res = generic_simplify_286 (loc, type, _p0, _p1, captures, GT_EXPR);
    8636         4264 :                 if (res) return res;
    8637              :               }
    8638          702 :               break;
    8639              :             }
    8640              :           default:;
    8641              :           }
    8642              :         break;
    8643              :       }
    8644       297089 :     case CALL_EXPR:
    8645       297089 :       switch (get_call_combined_fn (_p0))
    8646              :         {
    8647            1 :         case CFN_BUILT_IN_SQRTF:
    8648            1 :           if (call_expr_nargs (_p0) == 1)
    8649              :     {
    8650            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8651            1 :               switch (TREE_CODE (_p1))
    8652              :                 {
    8653            1 :                 case REAL_CST:
    8654            1 :                   {
    8655            1 :                     {
    8656            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8657            1 :                       tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GT_EXPR);
    8658            1 :                       if (res) return res;
    8659              :                     }
    8660            0 :                     break;
    8661              :                   }
    8662            0 :                 case CALL_EXPR:
    8663            0 :                   switch (get_call_combined_fn (_p1))
    8664              :                     {
    8665            0 :                     case CFN_BUILT_IN_SQRTF:
    8666            0 :                       if (call_expr_nargs (_p1) == 1)
    8667              :     {
    8668            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8669            0 :                           {
    8670            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8671            0 :                             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GT_EXPR);
    8672            0 :                             if (res) return res;
    8673              :                           }
    8674              :                         }
    8675              :                       break;
    8676              :                     default:;
    8677              :                     }
    8678              :                   break;
    8679              :                 default:;
    8680              :                 }
    8681              :             }
    8682              :           break;
    8683            0 :         case CFN_BUILT_IN_SQRTL:
    8684            0 :           if (call_expr_nargs (_p0) == 1)
    8685              :     {
    8686            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8687            0 :               switch (TREE_CODE (_p1))
    8688              :                 {
    8689            0 :                 case REAL_CST:
    8690            0 :                   {
    8691            0 :                     {
    8692            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8693            0 :                       tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GT_EXPR);
    8694            0 :                       if (res) return res;
    8695              :                     }
    8696            0 :                     break;
    8697              :                   }
    8698            0 :                 case CALL_EXPR:
    8699            0 :                   switch (get_call_combined_fn (_p1))
    8700              :                     {
    8701            0 :                     case CFN_BUILT_IN_SQRTL:
    8702            0 :                       if (call_expr_nargs (_p1) == 1)
    8703              :     {
    8704            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8705            0 :                           {
    8706            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8707            0 :                             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GT_EXPR);
    8708            0 :                             if (res) return res;
    8709              :                           }
    8710              :                         }
    8711              :                       break;
    8712              :                     default:;
    8713              :                     }
    8714              :                   break;
    8715              :                 default:;
    8716              :                 }
    8717              :             }
    8718              :           break;
    8719            3 :         case CFN_BUILT_IN_SQRT:
    8720            3 :           if (call_expr_nargs (_p0) == 1)
    8721              :     {
    8722            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8723            3 :               switch (TREE_CODE (_p1))
    8724              :                 {
    8725            3 :                 case REAL_CST:
    8726            3 :                   {
    8727            3 :                     {
    8728            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8729            3 :                       tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GT_EXPR);
    8730            3 :                       if (res) return res;
    8731              :                     }
    8732            0 :                     break;
    8733              :                   }
    8734            0 :                 case CALL_EXPR:
    8735            0 :                   switch (get_call_combined_fn (_p1))
    8736              :                     {
    8737            0 :                     case CFN_BUILT_IN_SQRT:
    8738            0 :                       if (call_expr_nargs (_p1) == 1)
    8739              :     {
    8740            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8741            0 :                           {
    8742            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8743            0 :                             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GT_EXPR);
    8744            0 :                             if (res) return res;
    8745              :                           }
    8746              :                         }
    8747              :                       break;
    8748              :                     default:;
    8749              :                     }
    8750              :                   break;
    8751              :                 default:;
    8752              :                 }
    8753              :             }
    8754              :           break;
    8755            0 :         case CFN_SQRT:
    8756            0 :           if (call_expr_nargs (_p0) == 1)
    8757              :     {
    8758            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8759            0 :               switch (TREE_CODE (_p1))
    8760              :                 {
    8761            0 :                 case REAL_CST:
    8762            0 :                   {
    8763            0 :                     {
    8764            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8765            0 :                       tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_SQRT, GT_EXPR);
    8766            0 :                       if (res) return res;
    8767              :                     }
    8768            0 :                     break;
    8769              :                   }
    8770            0 :                 case CALL_EXPR:
    8771            0 :                   switch (get_call_combined_fn (_p1))
    8772              :                     {
    8773            0 :                     case CFN_SQRT:
    8774            0 :                       if (call_expr_nargs (_p1) == 1)
    8775              :     {
    8776            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8777            0 :                           {
    8778            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8779            0 :                             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, CFN_SQRT, GT_EXPR);
    8780            0 :                             if (res) return res;
    8781              :                           }
    8782              :                         }
    8783              :                       break;
    8784              :                     default:;
    8785              :                     }
    8786              :                   break;
    8787              :                 default:;
    8788              :                 }
    8789              :             }
    8790              :           break;
    8791              :         default:;
    8792              :         }
    8793              :       break;
    8794     16790920 :     default:;
    8795              :     }
    8796     16790920 :   if (uniform_integer_cst_p (_p1))
    8797              :     {
    8798     11278431 :       {
    8799     11278431 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    8800     11278431 :         tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, GT_EXPR);
    8801     11278431 :         if (res) return res;
    8802              :       }
    8803              :     }
    8804     15815052 :   switch (TREE_CODE (_p0))
    8805              :     {
    8806      1108316 :     CASE_CONVERT:
    8807      1108316 :       {
    8808      1108316 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8809      1108316 :         switch (TREE_CODE (_q20))
    8810              :           {
    8811            1 :           case NE_EXPR:
    8812            1 :             {
    8813            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8814            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8815            1 :               if (integer_zerop (_q31))
    8816              :                 {
    8817            1 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    8818              :                     {
    8819            1 :                       {
    8820            1 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    8821            1 :                         if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    8822              : )
    8823              :                           {
    8824            1 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1641;
    8825            1 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1641;
    8826            1 :                             {
    8827            1 :                               tree _r;
    8828            1 :                               _r =  constant_boolean_node (false, type);
    8829            1 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1002, __FILE__, __LINE__, true);
    8830            1 :                               return _r;
    8831              :                             }
    8832              : next_after_fail1641:;
    8833              :                           }
    8834              :                       }
    8835              :                     }
    8836              :                 }
    8837              :               break;
    8838              :             }
    8839        50264 :           case PLUS_EXPR:
    8840        50264 :             {
    8841        50264 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8842        50264 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8843        50264 :               switch (TREE_CODE (_q30))
    8844              :                 {
    8845        34056 :                 CASE_CONVERT:
    8846        34056 :                   {
    8847        34056 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8848        34056 :                     switch (TREE_CODE (_q31))
    8849              :                       {
    8850        34052 :                       case INTEGER_CST:
    8851        34052 :                         {
    8852        34052 :                           if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    8853              :                             {
    8854            2 :                               {
    8855            2 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    8856            2 :                                 tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    8857            2 :                                 if (res) return res;
    8858              :                               }
    8859              :                             }
    8860              :                           break;
    8861              :                         }
    8862              :                       default:;
    8863              :                       }
    8864              :                     break;
    8865              :                   }
    8866              :                 default:;
    8867              :                 }
    8868              :               break;
    8869              :             }
    8870              :           default:;
    8871              :           }
    8872              :         break;
    8873              :       }
    8874     15815049 :     default:;
    8875              :     }
    8876     15815049 :   switch (TREE_CODE (_p1))
    8877              :     {
    8878       618535 :     CASE_CONVERT:
    8879       618535 :       {
    8880       618535 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8881       618535 :         switch (TREE_CODE (_q30))
    8882              :           {
    8883         3351 :           case PLUS_EXPR:
    8884         3351 :             {
    8885         3351 :               tree _q40 = TREE_OPERAND (_q30, 0);
    8886         3351 :               tree _q41 = TREE_OPERAND (_q30, 1);
    8887         3351 :               switch (TREE_CODE (_q40))
    8888              :                 {
    8889         3292 :                 CASE_CONVERT:
    8890         3292 :                   {
    8891         3292 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    8892         3292 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    8893              :                       {
    8894            0 :                         switch (TREE_CODE (_q41))
    8895              :                           {
    8896            0 :                           case INTEGER_CST:
    8897            0 :                             {
    8898            0 :                               {
    8899            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
    8900            0 :                                 tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    8901            0 :                                 if (res) return res;
    8902              :                               }
    8903            0 :                               break;
    8904              :                             }
    8905              :                           default:;
    8906              :                           }
    8907              :                       }
    8908              :                     break;
    8909              :                   }
    8910              :                 default:;
    8911              :                 }
    8912              :               break;
    8913              :             }
    8914              :           default:;
    8915              :           }
    8916              :         break;
    8917              :       }
    8918       111532 :     case PLUS_EXPR:
    8919       111532 :       {
    8920       111532 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8921       111532 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8922       111532 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8923              :           {
    8924            4 :             switch (TREE_CODE (_q31))
    8925              :               {
    8926            4 :               case INTEGER_CST:
    8927            4 :                 {
    8928            4 :                   {
    8929            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
    8930            4 :                     tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    8931            4 :                     if (res) return res;
    8932              :                   }
    8933            0 :                   break;
    8934              :                 }
    8935              :               default:;
    8936              :               }
    8937              :           }
    8938              :         break;
    8939              :       }
    8940     15815045 :     default:;
    8941              :     }
    8942     15815045 :   switch (TREE_CODE (_p0))
    8943              :     {
    8944       656644 :     case MINUS_EXPR:
    8945       656644 :       {
    8946       656644 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8947       656644 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8948       656644 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8949              :           {
    8950         7606 :             {
    8951         7606 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8952         7606 :               tree res = generic_simplify_396 (loc, type, _p0, _p1, captures, GT_EXPR);
    8953         7606 :               if (res) return res;
    8954              :             }
    8955              :           }
    8956              :         break;
    8957              :       }
    8958     15807451 :     default:;
    8959              :     }
    8960     15807451 :   switch (TREE_CODE (_p1))
    8961              :     {
    8962       111528 :     case PLUS_EXPR:
    8963       111528 :       {
    8964       111528 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8965       111528 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8966       111528 :         switch (TREE_CODE (_q30))
    8967              :           {
    8968            3 :           case MINUS_EXPR:
    8969            3 :             {
    8970            3 :               tree _q40 = TREE_OPERAND (_q30, 0);
    8971            3 :               tree _q41 = TREE_OPERAND (_q30, 1);
    8972            3 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    8973              :                 {
    8974            0 :                   if (integer_minus_onep (_q31))
    8975              :                     {
    8976            0 :                       {
    8977            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    8978            0 :                         tree res = generic_simplify_408 (loc, type, _p0, _p1, captures, LT_EXPR);
    8979            0 :                         if (res) return res;
    8980              :                       }
    8981              :                     }
    8982              :                 }
    8983              :               break;
    8984              :             }
    8985              :           default:;
    8986              :           }
    8987              :         break;
    8988              :       }
    8989     15807451 :     default:;
    8990              :     }
    8991     15807451 :   switch (TREE_CODE (_p0))
    8992              :     {
    8993           83 :     case REALPART_EXPR:
    8994           83 :       {
    8995           83 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8996           83 :         switch (TREE_CODE (_q20))
    8997              :           {
    8998            0 :           case CALL_EXPR:
    8999            0 :             switch (get_call_combined_fn (_q20))
    9000              :               {
    9001            0 :               case CFN_SUB_OVERFLOW:
    9002            0 :                 if (call_expr_nargs (_q20) == 2)
    9003              :     {
    9004            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    9005            0 :                     tree _q31 = CALL_EXPR_ARG (_q20, 1);
    9006            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9007              :                       {
    9008            0 :                         {
    9009            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    9010            0 :                           tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
    9011            0 :                           if (res) return res;
    9012              :                         }
    9013              :                       }
    9014              :                   }
    9015              :                 break;
    9016              :               default:;
    9017              :               }
    9018              :             break;
    9019              :           default:;
    9020              :           }
    9021              :         break;
    9022              :       }
    9023     15807451 :     default:;
    9024              :     }
    9025     15807451 :   switch (TREE_CODE (_p1))
    9026              :     {
    9027           20 :     case REALPART_EXPR:
    9028           20 :       {
    9029           20 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9030           20 :         switch (TREE_CODE (_q30))
    9031              :           {
    9032            0 :           case CALL_EXPR:
    9033            0 :             switch (get_call_combined_fn (_q30))
    9034              :               {
    9035            0 :               case CFN_ADD_OVERFLOW:
    9036            0 :                 if (call_expr_nargs (_q30) == 2)
    9037              :     {
    9038            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
    9039            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
    9040            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    9041              :                       {
    9042            0 :                         {
    9043            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
    9044            0 :                           tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    9045            0 :                           if (res) return res;
    9046              :                         }
    9047              :                       }
    9048            0 :                     if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    9049              :                       {
    9050            0 :                         {
    9051            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q40 };
    9052            0 :                           tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    9053            0 :                           if (res) return res;
    9054              :                         }
    9055              :                       }
    9056              :                   }
    9057              :                 break;
    9058              :               default:;
    9059              :               }
    9060              :             break;
    9061              :           default:;
    9062              :           }
    9063              :         break;
    9064              :       }
    9065         1025 :     case TRUNC_DIV_EXPR:
    9066         1025 :       {
    9067         1025 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9068         1025 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9069         1025 :         if (integer_all_onesp (_q30))
    9070              :           {
    9071            0 :             {
    9072            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    9073            0 :               tree res = generic_simplify_411 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    9074            0 :               if (res) return res;
    9075              :             }
    9076              :           }
    9077              :         break;
    9078              :       }
    9079     15807451 :     default:;
    9080              :     }
    9081     15807451 :   switch (TREE_CODE (_p0))
    9082              :     {
    9083       215302 :     case MULT_EXPR:
    9084       215302 :       {
    9085       215302 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9086       215302 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9087       215302 :         switch (TREE_CODE (_q21))
    9088              :           {
    9089        22279 :           case REAL_CST:
    9090        22279 :             {
    9091        22279 :               switch (TREE_CODE (_p1))
    9092              :                 {
    9093           58 :                 case REAL_CST:
    9094           58 :                   {
    9095           58 :                     {
    9096           58 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9097           58 :                       tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    9098           58 :                       if (res) return res;
    9099              :                     }
    9100           57 :                     break;
    9101              :                   }
    9102              :                 default:;
    9103              :                 }
    9104              :               break;
    9105              :             }
    9106              :           default:;
    9107              :           }
    9108              :         break;
    9109              :       }
    9110      1997057 :     case PLUS_EXPR:
    9111      1997057 :       {
    9112      1997057 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9113      1997057 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9114      1997057 :         switch (TREE_CODE (_q21))
    9115              :           {
    9116      1797741 :           case INTEGER_CST:
    9117      1797741 :             {
    9118      1797741 :               switch (TREE_CODE (_p1))
    9119              :                 {
    9120      1249074 :                 case INTEGER_CST:
    9121      1249074 :                   {
    9122      1249074 :                     {
    9123      1249074 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9124      1249074 :                       tree res = generic_simplify_402 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, GT_EXPR, LT_EXPR);
    9125      1249074 :                       if (res) return res;
    9126              :                     }
    9127       805594 :                     break;
    9128              :                   }
    9129              :                 default:;
    9130              :                 }
    9131              :               break;
    9132              :             }
    9133              :           default:;
    9134              :           }
    9135              :         break;
    9136              :       }
    9137       649050 :     case MINUS_EXPR:
    9138       649050 :       {
    9139       649050 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9140       649050 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9141       649050 :         switch (TREE_CODE (_q21))
    9142              :           {
    9143         2224 :           case INTEGER_CST:
    9144         2224 :             {
    9145         2224 :               switch (TREE_CODE (_p1))
    9146              :                 {
    9147         2076 :                 case INTEGER_CST:
    9148         2076 :                   {
    9149         2076 :                     {
    9150         2076 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9151         2076 :                       tree res = generic_simplify_402 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, GT_EXPR, LT_EXPR);
    9152         2076 :                       if (res) return res;
    9153              :                     }
    9154         1918 :                     break;
    9155              :                   }
    9156              :                 default:;
    9157              :                 }
    9158              :               break;
    9159              :             }
    9160       648892 :           default:;
    9161              :           }
    9162       648892 :         switch (TREE_CODE (_q20))
    9163              :           {
    9164       553522 :           case INTEGER_CST:
    9165       553522 :             {
    9166       553522 :               switch (TREE_CODE (_p1))
    9167              :                 {
    9168       550721 :                 case INTEGER_CST:
    9169       550721 :                   {
    9170       550721 :                     {
    9171       550721 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9172       550721 :                       tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    9173       550721 :                       if (res) return res;
    9174              :                     }
    9175            0 :                     break;
    9176              :                   }
    9177              :                 default:;
    9178              :                 }
    9179              :               break;
    9180              :             }
    9181              :           default:;
    9182              :           }
    9183              :         break;
    9184              :       }
    9185       268250 :     case CALL_EXPR:
    9186       268250 :       switch (get_call_combined_fn (_p0))
    9187              :         {
    9188            4 :         case CFN_BUILT_IN_CTZ:
    9189            4 :           if (call_expr_nargs (_p0) == 1)
    9190              :     {
    9191            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9192            4 :               switch (TREE_CODE (_p1))
    9193              :                 {
    9194            4 :                 case INTEGER_CST:
    9195            4 :                   {
    9196            4 :                     {
    9197            4 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9198            4 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZ);
    9199            4 :                       if (res) return res;
    9200              :                     }
    9201            0 :                     break;
    9202              :                   }
    9203              :                 default:;
    9204              :                 }
    9205              :             }
    9206              :           break;
    9207           12 :         case CFN_BUILT_IN_FFS:
    9208           12 :           if (call_expr_nargs (_p0) == 1)
    9209              :     {
    9210           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9211           12 :               switch (TREE_CODE (_p1))
    9212              :                 {
    9213           12 :                 case INTEGER_CST:
    9214           12 :                   {
    9215           12 :                     {
    9216           12 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9217           12 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFS);
    9218           12 :                       if (res) return res;
    9219              :                     }
    9220            6 :                     break;
    9221              :                   }
    9222              :                 default:;
    9223              :                 }
    9224              :             }
    9225              :           break;
    9226            0 :         case CFN_BUILT_IN_FFSIMAX:
    9227            0 :           if (call_expr_nargs (_p0) == 1)
    9228              :     {
    9229            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9230            0 :               switch (TREE_CODE (_p1))
    9231              :                 {
    9232            0 :                 case INTEGER_CST:
    9233            0 :                   {
    9234            0 :                     {
    9235            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9236            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSIMAX);
    9237            0 :                       if (res) return res;
    9238              :                     }
    9239            0 :                     break;
    9240              :                   }
    9241              :                 default:;
    9242              :                 }
    9243              :             }
    9244              :           break;
    9245           75 :         case CFN_BUILT_IN_POPCOUNT:
    9246           75 :           if (call_expr_nargs (_p0) == 1)
    9247              :     {
    9248           75 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9249           75 :               if (integer_zerop (_p1))
    9250              :                 {
    9251           36 :                   {
    9252           36 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9253           36 :                     tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNT);
    9254           36 :                     if (res) return res;
    9255              :                   }
    9256              :                 }
    9257              :             }
    9258              :           break;
    9259            2 :         case CFN_BUILT_IN_CTZL:
    9260            2 :           if (call_expr_nargs (_p0) == 1)
    9261              :     {
    9262            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9263            2 :               switch (TREE_CODE (_p1))
    9264              :                 {
    9265            2 :                 case INTEGER_CST:
    9266            2 :                   {
    9267            2 :                     {
    9268            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9269            2 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZL);
    9270            2 :                       if (res) return res;
    9271              :                     }
    9272            0 :                     break;
    9273              :                   }
    9274              :                 default:;
    9275              :                 }
    9276              :             }
    9277              :           break;
    9278            8 :         case CFN_BUILT_IN_FFSL:
    9279            8 :           if (call_expr_nargs (_p0) == 1)
    9280              :     {
    9281            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9282            8 :               switch (TREE_CODE (_p1))
    9283              :                 {
    9284            8 :                 case INTEGER_CST:
    9285            8 :                   {
    9286            8 :                     {
    9287            8 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9288            8 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSL);
    9289            8 :                       if (res) return res;
    9290              :                     }
    9291            4 :                     break;
    9292              :                   }
    9293              :                 default:;
    9294              :                 }
    9295              :             }
    9296              :           break;
    9297            3 :         case CFN_BUILT_IN_POPCOUNTLL:
    9298            3 :           if (call_expr_nargs (_p0) == 1)
    9299              :     {
    9300            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9301            3 :               if (integer_zerop (_p1))
    9302              :                 {
    9303            0 :                   {
    9304            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9305            0 :                     tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    9306            0 :                     if (res) return res;
    9307              :                   }
    9308              :                 }
    9309              :             }
    9310              :           break;
    9311            0 :         case CFN_BUILT_IN_CTZIMAX:
    9312            0 :           if (call_expr_nargs (_p0) == 1)
    9313              :     {
    9314            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9315            0 :               switch (TREE_CODE (_p1))
    9316              :                 {
    9317            0 :                 case INTEGER_CST:
    9318            0 :                   {
    9319            0 :                     {
    9320            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9321            0 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZIMAX);
    9322            0 :                       if (res) return res;
    9323              :                     }
    9324            0 :                     break;
    9325              :                   }
    9326              :                 default:;
    9327              :                 }
    9328              :             }
    9329              :           break;
    9330            0 :         case CFN_POPCOUNT:
    9331            0 :           if (call_expr_nargs (_p0) == 1)
    9332              :     {
    9333            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9334            0 :               if (integer_zerop (_p1))
    9335              :                 {
    9336            0 :                   {
    9337            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9338            0 :                     tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_POPCOUNT);
    9339            0 :                     if (res) return res;
    9340              :                   }
    9341              :                 }
    9342              :             }
    9343              :           break;
    9344            0 :         case CFN_CTZ:
    9345            0 :           if (call_expr_nargs (_p0) == 2)
    9346              :     {
    9347            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9348            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    9349            0 :               switch (TREE_CODE (_p1))
    9350              :                 {
    9351            0 :                 case INTEGER_CST:
    9352            0 :                   {
    9353            0 :                     {
    9354            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9355            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
    9356            0 :                       if (res) return res;
    9357              :                     }
    9358            0 :                     break;
    9359              :                   }
    9360              :                 default:;
    9361              :                 }
    9362              :             }
    9363            0 :           if (call_expr_nargs (_p0) == 1)
    9364              :     {
    9365            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9366            0 :               switch (TREE_CODE (_p1))
    9367              :                 {
    9368            0 :                 case INTEGER_CST:
    9369            0 :                   {
    9370            0 :                     {
    9371            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9372            0 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_CTZ);
    9373            0 :                       if (res) return res;
    9374              :                     }
    9375            0 :                     break;
    9376              :                   }
    9377              :                 default:;
    9378              :                 }
    9379              :             }
    9380              :           break;
    9381            0 :         case CFN_FFS:
    9382            0 :           if (call_expr_nargs (_p0) == 1)
    9383              :     {
    9384            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9385            0 :               switch (TREE_CODE (_p1))
    9386              :                 {
    9387            0 :                 case INTEGER_CST:
    9388            0 :                   {
    9389            0 :                     {
    9390            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9391            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_FFS);
    9392            0 :                       if (res) return res;
    9393              :                     }
    9394            0 :                     break;
    9395              :                   }
    9396              :                 default:;
    9397              :                 }
    9398              :             }
    9399              :           break;
    9400            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
    9401            0 :           if (call_expr_nargs (_p0) == 1)
    9402              :     {
    9403            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9404            0 :               if (integer_zerop (_p1))
    9405              :                 {
    9406            0 :                   {
    9407            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9408            0 :                     tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9409            0 :                     if (res) return res;
    9410              :                   }
    9411              :                 }
    9412              :             }
    9413              :           break;
    9414            3 :         case CFN_BUILT_IN_POPCOUNTL:
    9415            3 :           if (call_expr_nargs (_p0) == 1)
    9416              :     {
    9417            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9418            3 :               if (integer_zerop (_p1))
    9419              :                 {
    9420            0 :                   {
    9421            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9422            0 :                     tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTL);
    9423            0 :                     if (res) return res;
    9424              :                   }
    9425              :                 }
    9426              :             }
    9427              :           break;
    9428           18 :         case CFN_BUILT_IN_CTZLL:
    9429           18 :           if (call_expr_nargs (_p0) == 1)
    9430              :     {
    9431           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9432           18 :               switch (TREE_CODE (_p1))
    9433              :                 {
    9434           18 :                 case INTEGER_CST:
    9435           18 :                   {
    9436           18 :                     {
    9437           18 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9438           18 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZLL);
    9439           18 :                       if (res) return res;
    9440              :                     }
    9441           16 :                     break;
    9442              :                   }
    9443              :                 default:;
    9444              :                 }
    9445              :             }
    9446              :           break;
    9447            9 :         case CFN_BUILT_IN_FFSLL:
    9448            9 :           if (call_expr_nargs (_p0) == 1)
    9449              :     {
    9450            9 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9451            9 :               switch (TREE_CODE (_p1))
    9452              :                 {
    9453            9 :                 case INTEGER_CST:
    9454            9 :                   {
    9455            9 :                     {
    9456            9 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9457            9 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSLL);
    9458            9 :                       if (res) return res;
    9459              :                     }
    9460            4 :                     break;
    9461              :                   }
    9462              :                 default:;
    9463              :                 }
    9464              :             }
    9465              :           break;
    9466              :         default:;
    9467              :         }
    9468              :       break;
    9469              :     default:;
    9470              :     }
    9471              :   return NULL_TREE;
    9472              : }
    9473              : 
    9474              : tree
    9475      6789036 : generic_simplify_BIT_AND_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    9476              : {
    9477      6789036 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    9478      6789036 :   switch (TREE_CODE (_p0))
    9479              :     {
    9480        35054 :     case LSHIFT_EXPR:
    9481        35054 :       {
    9482        35054 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9483        35054 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9484        35054 :         switch (TREE_CODE (_p1))
    9485              :           {
    9486            1 :           case LSHIFT_EXPR:
    9487            1 :             {
    9488            1 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9489            1 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9490            1 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9491              :                 {
    9492            1 :                   {
    9493            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9494            1 :                     tree res = generic_simplify_3 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
    9495            1 :                     if (res) return res;
    9496              :                   }
    9497              :                 }
    9498              :               break;
    9499              :             }
    9500              :           default:;
    9501              :           }
    9502              :         break;
    9503              :       }
    9504        81799 :     case RSHIFT_EXPR:
    9505        81799 :       {
    9506        81799 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9507        81799 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9508        81799 :         switch (TREE_CODE (_p1))
    9509              :           {
    9510            2 :           case RSHIFT_EXPR:
    9511            2 :             {
    9512            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9513            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9514            2 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9515              :                 {
    9516            2 :                   {
    9517            2 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9518            2 :                     tree res = generic_simplify_4 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
    9519            2 :                     if (res) return res;
    9520              :                   }
    9521              :                 }
    9522              :               break;
    9523              :             }
    9524              :           default:;
    9525              :           }
    9526              :         break;
    9527              :       }
    9528      2016799 :     CASE_CONVERT:
    9529      2016799 :       {
    9530      2016799 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9531      2016799 :         switch (TREE_CODE (_p1))
    9532              :           {
    9533       811055 :           CASE_CONVERT:
    9534       811055 :             {
    9535       811055 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9536       811055 :               {
    9537       811055 :                 tree _q40_pops[1];
    9538       811055 :                 if (tree_maybe_bit_not (_q40, _q40_pops))
    9539              :                   {
    9540          250 :                     tree _q50 = _q40_pops[0];
    9541          250 :                     {
    9542          250 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    9543          250 :                       tree res = generic_simplify_449 (loc, type, _p0, _p1, captures);
    9544          250 :                       if (res) return res;
    9545              :                     }
    9546              :                   }
    9547              :               }
    9548       811055 :               break;
    9549              :             }
    9550      2016799 :           default:;
    9551              :           }
    9552      2016799 :         {
    9553      2016799 :           tree _q20_pops[1];
    9554      2016799 :           if (tree_maybe_bit_not (_q20, _q20_pops))
    9555              :             {
    9556          427 :               tree _q30 = _q20_pops[0];
    9557          427 :               switch (TREE_CODE (_p1))
    9558              :                 {
    9559          254 :                 CASE_CONVERT:
    9560          254 :                   {
    9561          254 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    9562          254 :                     {
    9563          254 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    9564          254 :                       tree res = generic_simplify_449 (loc, type, _p0, _p1, captures);
    9565          254 :                       if (res) return res;
    9566              :                     }
    9567          254 :                     break;
    9568              :                   }
    9569              :                 default:;
    9570              :                 }
    9571              :             }
    9572              :         }
    9573      2016799 :         break;
    9574              :       }
    9575      6789033 :     default:;
    9576              :     }
    9577      6789033 :   {
    9578      6789033 :     tree _p1_pops[1];
    9579      6789033 :     if (tree_maybe_bit_not (_p1, _p1_pops))
    9580              :       {
    9581      4839279 :         tree _q30 = _p1_pops[0];
    9582      4839279 :         {
    9583      4839279 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9584      4839279 :           tree res = generic_simplify_449 (loc, type, _p0, _p1, captures);
    9585      4839279 :           if (res) return res;
    9586              :         }
    9587              :       }
    9588              :   }
    9589      6789017 :   {
    9590      6789017 :     tree _p0_pops[1];
    9591      6789017 :     if (tree_maybe_bit_not (_p0, _p0_pops))
    9592              :       {
    9593        70955 :         tree _q20 = _p0_pops[0];
    9594        70955 :         {
    9595        70955 :           tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
    9596        70955 :           tree res = generic_simplify_449 (loc, type, _p0, _p1, captures);
    9597        70955 :           if (res) return res;
    9598              :         }
    9599              :       }
    9600              :   }
    9601      6788918 :   switch (TREE_CODE (_p1))
    9602              :     {
    9603        21312 :     case PLUS_EXPR:
    9604        21312 :       {
    9605        21312 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9606        21312 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9607        21312 :         switch (TREE_CODE (_q30))
    9608              :           {
    9609          163 :           case LSHIFT_EXPR:
    9610          163 :             {
    9611          163 :               tree _q40 = TREE_OPERAND (_q30, 0);
    9612          163 :               tree _q41 = TREE_OPERAND (_q30, 1);
    9613          163 :               if (integer_onep (_q40))
    9614              :                 {
    9615          163 :                   if (integer_minus_onep (_q31))
    9616              :                     {
    9617          163 :                       {
    9618          163 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q41 };
    9619          163 :                         if (TYPE_UNSIGNED (type)
    9620              : )
    9621              :                           {
    9622          163 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1674;
    9623          163 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1674;
    9624          163 :                             {
    9625          163 :                               tree res_op0;
    9626          163 :                               res_op0 = captures[0];
    9627          163 :                               tree res_op1;
    9628          163 :                               {
    9629          163 :                                 tree _o1[1], _r1;
    9630          163 :                                 {
    9631          163 :                                   tree _o2[2], _r2;
    9632          163 :                                   _o2[0] =  build_all_ones_cst (type);
    9633          163 :                                   _o2[1] = captures[3];
    9634          163 :                                   _r2 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9635          163 :                                   _o1[0] = _r2;
    9636              :                                 }
    9637          163 :                                 _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    9638          163 :                                 res_op1 = _r1;
    9639              :                               }
    9640          163 :                               tree _r;
    9641          163 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    9642          163 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1013, __FILE__, __LINE__, true);
    9643          163 :                               return _r;
    9644              :                             }
    9645            0 : next_after_fail1674:;
    9646              :                           }
    9647              :                       }
    9648              :                     }
    9649              :                 }
    9650              :               break;
    9651              :             }
    9652              :           default:;
    9653              :           }
    9654              :         break;
    9655              :       }
    9656      6788755 :     default:;
    9657              :     }
    9658      6788755 :   switch (TREE_CODE (_p0))
    9659              :     {
    9660       304670 :     case PLUS_EXPR:
    9661       304670 :       {
    9662       304670 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9663       304670 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9664       304670 :         switch (TREE_CODE (_q20))
    9665              :           {
    9666          169 :           case LSHIFT_EXPR:
    9667          169 :             {
    9668          169 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9669          169 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9670          169 :               if (integer_onep (_q30))
    9671              :                 {
    9672          162 :                   if (integer_minus_onep (_q21))
    9673              :                     {
    9674          162 :                       {
    9675          162 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q31 };
    9676          162 :                         if (TYPE_UNSIGNED (type)
    9677              : )
    9678              :                           {
    9679          134 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1675;
    9680          134 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1675;
    9681          134 :                             {
    9682          134 :                               tree res_op0;
    9683          134 :                               res_op0 = captures[0];
    9684          134 :                               tree res_op1;
    9685          134 :                               {
    9686          134 :                                 tree _o1[1], _r1;
    9687          134 :                                 {
    9688          134 :                                   tree _o2[2], _r2;
    9689          134 :                                   _o2[0] =  build_all_ones_cst (type);
    9690          134 :                                   _o2[1] = captures[3];
    9691          134 :                                   _r2 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9692          134 :                                   _o1[0] = _r2;
    9693              :                                 }
    9694          134 :                                 _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    9695          134 :                                 res_op1 = _r1;
    9696              :                               }
    9697          134 :                               tree _r;
    9698          134 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    9699          134 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1013, __FILE__, __LINE__, true);
    9700          134 :                               return _r;
    9701              :                             }
    9702           28 : next_after_fail1675:;
    9703              :                           }
    9704              :                       }
    9705              :                     }
    9706              :                 }
    9707              :               break;
    9708              :             }
    9709              :           default:;
    9710              :           }
    9711              :         break;
    9712              :       }
    9713         1871 :     case EQ_EXPR:
    9714         1871 :       {
    9715         1871 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9716         1871 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9717         1871 :         if (integer_zerop (_q21))
    9718              :           {
    9719          753 :             switch (TREE_CODE (_p1))
    9720              :               {
    9721           68 :               case EQ_EXPR:
    9722           68 :                 {
    9723           68 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9724           68 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9725           68 :                   if (integer_zerop (_q51))
    9726              :                     {
    9727           29 :                       {
    9728           29 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9729           29 :                         tree res = generic_simplify_111 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, EQ_EXPR);
    9730           29 :                         if (res) return res;
    9731              :                       }
    9732              :                     }
    9733              :                   break;
    9734              :                 }
    9735              :               default:;
    9736              :               }
    9737              :           }
    9738         1842 :         if (integer_all_onesp (_q21))
    9739              :           {
    9740            0 :             switch (TREE_CODE (_p1))
    9741              :               {
    9742            0 :               case EQ_EXPR:
    9743            0 :                 {
    9744            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9745            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9746            0 :                   if (integer_all_onesp (_q51))
    9747              :                     {
    9748            0 :                       {
    9749            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9750            0 :                         tree res = generic_simplify_112 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, EQ_EXPR);
    9751            0 :                         if (res) return res;
    9752              :                       }
    9753              :                     }
    9754              :                   break;
    9755              :                 }
    9756              :               default:;
    9757              :               }
    9758              :           }
    9759         1842 :         switch (TREE_CODE (_p1))
    9760              :           {
    9761            8 :           case BIT_IOR_EXPR:
    9762            8 :             {
    9763            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9764            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9765            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9766              :                 {
    9767            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9768              :                     {
    9769            0 :                       {
    9770            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9771            0 :                         tree res = generic_simplify_450 (loc, type, _p0, _p1, captures);
    9772            0 :                         if (res) return res;
    9773              :                       }
    9774              :                     }
    9775              :                 }
    9776            8 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9777              :                 {
    9778            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9779              :                     {
    9780            0 :                       {
    9781            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9782            0 :                         tree res = generic_simplify_450 (loc, type, _p0, _p1, captures);
    9783            0 :                         if (res) return res;
    9784              :                       }
    9785              :                     }
    9786              :                 }
    9787              :               break;
    9788              :             }
    9789         1842 :           default:;
    9790              :           }
    9791         1842 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9792              :           {
    9793           12 :             {
    9794           12 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9795           12 :               tree res = generic_simplify_451 (loc, type, _p0, _p1, captures);
    9796           12 :               if (res) return res;
    9797              :             }
    9798              :           }
    9799         1842 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9800              :           {
    9801            8 :             {
    9802            8 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9803            8 :               tree res = generic_simplify_451 (loc, type, _p0, _p1, captures);
    9804            8 :               if (res) return res;
    9805              :             }
    9806              :           }
    9807              :         break;
    9808              :       }
    9809         1615 :     case BIT_IOR_EXPR:
    9810         1615 :       {
    9811         1615 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9812         1615 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9813         1615 :         switch (TREE_CODE (_p1))
    9814              :           {
    9815          169 :           case BIT_NOT_EXPR:
    9816          169 :             {
    9817          169 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9818          169 :               switch (TREE_CODE (_q50))
    9819              :                 {
    9820            6 :                 case BIT_XOR_EXPR:
    9821            6 :                   {
    9822            6 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    9823            6 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    9824            6 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9825              :                       {
    9826            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    9827              :                           {
    9828            0 :                             {
    9829            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9830            0 :                               tree res = generic_simplify_452 (loc, type, _p0, _p1, captures);
    9831            0 :                               if (res) return res;
    9832              :                             }
    9833              :                           }
    9834              :                       }
    9835            6 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    9836              :                       {
    9837            0 :                         if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
    9838              :                           {
    9839            0 :                             {
    9840            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9841            0 :                               tree res = generic_simplify_452 (loc, type, _p0, _p1, captures);
    9842            0 :                               if (res) return res;
    9843              :                             }
    9844              :                           }
    9845              :                       }
    9846              :                     break;
    9847              :                   }
    9848              :                 default:;
    9849              :                 }
    9850              :               break;
    9851              :             }
    9852           24 :           case EQ_EXPR:
    9853           24 :             {
    9854           24 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9855           24 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9856           24 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9857              :                 {
    9858            8 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9859              :                     {
    9860            8 :                       {
    9861            8 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9862            8 :                         tree res = generic_simplify_450 (loc, type, _p0, _p1, captures);
    9863            8 :                         if (res) return res;
    9864              :                       }
    9865              :                     }
    9866              :                 }
    9867           24 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9868              :                 {
    9869            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9870              :                     {
    9871            0 :                       {
    9872            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9873            0 :                         tree res = generic_simplify_450 (loc, type, _p0, _p1, captures);
    9874            0 :                         if (res) return res;
    9875              :                       }
    9876              :                     }
    9877              :                 }
    9878              :               break;
    9879              :             }
    9880         1615 :           default:;
    9881              :           }
    9882         1615 :       {
    9883         1615 :         tree _p1_pops[1];
    9884         1615 :         if (tree_nop_convert (_p1, _p1_pops))
    9885              :           {
    9886          139 :             tree _q50 = _p1_pops[0];
    9887          139 :             switch (TREE_CODE (_q50))
    9888              :               {
    9889            0 :               case EQ_EXPR:
    9890            0 :                 {
    9891            0 :                   tree _q60 = TREE_OPERAND (_q50, 0);
    9892            0 :                   tree _q61 = TREE_OPERAND (_q50, 1);
    9893            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9894              :                     {
    9895            0 :                       if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    9896              :                         {
    9897            0 :                           {
    9898            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9899            0 :                             tree res = generic_simplify_450 (loc, type, _p0, _p1, captures);
    9900            0 :                             if (res) return res;
    9901              :                           }
    9902              :                         }
    9903              :                     }
    9904            0 :                   if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    9905              :                     {
    9906            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
    9907              :                         {
    9908            0 :                           {
    9909            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9910            0 :                             tree res = generic_simplify_450 (loc, type, _p0, _p1, captures);
    9911            0 :                             if (res) return res;
    9912              :                           }
    9913              :                         }
    9914              :                     }
    9915              :                   break;
    9916              :                 }
    9917              :               default:;
    9918              :               }
    9919              :           }
    9920              :       }
    9921         1615 :         break;
    9922              :       }
    9923        67082 :     case BIT_NOT_EXPR:
    9924        67082 :       {
    9925        67082 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9926        67082 :         switch (TREE_CODE (_q20))
    9927              :           {
    9928          140 :           case BIT_XOR_EXPR:
    9929          140 :             {
    9930          140 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9931          140 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9932          140 :               switch (TREE_CODE (_p1))
    9933              :                 {
    9934           48 :                 case BIT_IOR_EXPR:
    9935           48 :                   {
    9936           48 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    9937           48 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    9938           48 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    9939              :                       {
    9940            6 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    9941              :                           {
    9942            0 :                             {
    9943            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    9944            0 :                               tree res = generic_simplify_452 (loc, type, _p0, _p1, captures);
    9945            0 :                               if (res) return res;
    9946              :                             }
    9947              :                           }
    9948              :                       }
    9949           48 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    9950              :                       {
    9951            3 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9952              :                           {
    9953            0 :                             {
    9954            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    9955            0 :                               tree res = generic_simplify_452 (loc, type, _p0, _p1, captures);
    9956            0 :                               if (res) return res;
    9957              :                             }
    9958              :                           }
    9959              :                       }
    9960              :                     break;
    9961              :                   }
    9962          140 :                 default:;
    9963              :                 }
    9964          140 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9965              :                 {
    9966            1 :                   {
    9967            1 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    9968            1 :                     tree res = generic_simplify_453 (loc, type, _p0, _p1, captures);
    9969            1 :                     if (res) return res;
    9970              :                   }
    9971              :                 }
    9972          139 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    9973              :                 {
    9974            0 :                   {
    9975            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    9976            0 :                     tree res = generic_simplify_453 (loc, type, _p0, _p1, captures);
    9977            0 :                     if (res) return res;
    9978              :                   }
    9979              :                 }
    9980              :               break;
    9981              :             }
    9982              :           default:;
    9983              :           }
    9984              :         break;
    9985              :       }
    9986      6788591 :     default:;
    9987              :     }
    9988      6788591 : {
    9989      6788591 :   tree _p0_pops[1];
    9990      6788591 :   if (tree_nop_convert (_p0, _p0_pops))
    9991              :     {
    9992      1420238 :       tree _q20 = _p0_pops[0];
    9993      1420238 :       switch (TREE_CODE (_q20))
    9994              :         {
    9995            0 :         case EQ_EXPR:
    9996            0 :           {
    9997            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    9998            0 :             tree _q31 = TREE_OPERAND (_q20, 1);
    9999            0 :             switch (TREE_CODE (_p1))
   10000              :               {
   10001            0 :               case BIT_IOR_EXPR:
   10002            0 :                 {
   10003            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
   10004            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
   10005            0 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   10006              :                     {
   10007            0 :                       if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
   10008              :                         {
   10009            0 :                           {
   10010            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   10011            0 :                             tree res = generic_simplify_450 (loc, type, _p0, _p1, captures);
   10012            0 :                             if (res) return res;
   10013              :                           }
   10014              :                         }
   10015              :                     }
   10016            0 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
   10017              :                     {
   10018            0 :                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   10019              :                         {
   10020            0 :                           {
   10021            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
   10022            0 :                             tree res = generic_simplify_450 (loc, type, _p0, _p1, captures);
   10023            0 :                             if (res) return res;
   10024              :                           }
   10025              :                         }
   10026              :                     }
   10027              :                   break;
   10028              :                 }
   10029            0 :               default:;
   10030              :               }
   10031            0 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   10032              :               {
   10033            0 :                 {
   10034            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   10035            0 :                   tree res = generic_simplify_451 (loc, type, _p0, _p1, captures);
   10036            0 :                   if (res) return res;
   10037              :                 }
   10038              :               }
   10039            0 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
   10040              :               {
   10041            0 :                 {
   10042            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
   10043            0 :                   tree res = generic_simplify_451 (loc, type, _p0, _p1, captures);
   10044            0 :                   if (res) return res;
   10045              :                 }
   10046              :               }
   10047              :             break;
   10048              :           }
   10049              :         default:;
   10050              :         }
   10051              :     }
   10052              : }
   10053      6788591 :   switch (TREE_CODE (_p1))
   10054              :     {
   10055        52934 :     case BIT_NOT_EXPR:
   10056        52934 :       {
   10057        52934 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10058        52934 :         switch (TREE_CODE (_q30))
   10059              :           {
   10060            6 :           case BIT_XOR_EXPR:
   10061            6 :             {
   10062            6 :               tree _q40 = TREE_OPERAND (_q30, 0);
   10063            6 :               tree _q41 = TREE_OPERAND (_q30, 1);
   10064            6 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10065              :                 {
   10066            0 :                   {
   10067            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   10068            0 :                     tree res = generic_simplify_453 (loc, type, _p0, _p1, captures);
   10069            0 :                     if (res) return res;
   10070              :                   }
   10071              :                 }
   10072            6 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
   10073              :                 {
   10074            0 :                   {
   10075            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
   10076            0 :                     tree res = generic_simplify_453 (loc, type, _p0, _p1, captures);
   10077            0 :                     if (res) return res;
   10078              :                   }
   10079              :                 }
   10080              :               break;
   10081              :             }
   10082              :           default:;
   10083              :           }
   10084              :         break;
   10085              :       }
   10086      6788591 :     default:;
   10087              :     }
   10088      6788591 :   switch (TREE_CODE (_p0))
   10089              :     {
   10090       304536 :     case PLUS_EXPR:
   10091       304536 :       {
   10092       304536 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10093       304536 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10094       304536 :         if (integer_minus_onep (_q21))
   10095              :           {
   10096       110998 :             switch (TREE_CODE (_p1))
   10097              :               {
   10098        10566 :               case NEGATE_EXPR:
   10099        10566 :                 {
   10100        10566 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10101        10566 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10102              :                     {
   10103            9 :                       {
   10104            9 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10105            9 :                         tree res = generic_simplify_8 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   10106            9 :                         if (res) return res;
   10107              :                       }
   10108              :                     }
   10109              :                   break;
   10110              :                 }
   10111              :               default:;
   10112              :               }
   10113              :           }
   10114              :         break;
   10115              :       }
   10116        47185 :     case NEGATE_EXPR:
   10117        47185 :       {
   10118        47185 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10119        47185 :         switch (TREE_CODE (_p1))
   10120              :           {
   10121           26 :           case PLUS_EXPR:
   10122           26 :             {
   10123           26 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10124           26 :               tree _q41 = TREE_OPERAND (_p1, 1);
   10125           26 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   10126              :                 {
   10127            0 :                   if (integer_minus_onep (_q41))
   10128              :                     {
   10129            0 :                       {
   10130            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10131            0 :                         tree res = generic_simplify_9 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   10132            0 :                         if (res) return res;
   10133              :                       }
   10134              :                     }
   10135              :                 }
   10136              :               break;
   10137              :             }
   10138            0 :           case MINUS_EXPR:
   10139            0 :             {
   10140            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10141            0 :               tree _q41 = TREE_OPERAND (_p1, 1);
   10142            0 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   10143              :                 {
   10144            0 :                   if (integer_onep (_q41))
   10145              :                     {
   10146            0 :                       {
   10147            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10148            0 :                         tree res = generic_simplify_10 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   10149            0 :                         if (res) return res;
   10150              :                       }
   10151              :                     }
   10152              :                 }
   10153              :               break;
   10154              :             }
   10155              :           default:;
   10156              :           }
   10157              :         break;
   10158              :       }
   10159       685506 :     case MINUS_EXPR:
   10160       685506 :       {
   10161       685506 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10162       685506 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10163       685506 :         if (integer_onep (_q21))
   10164              :           {
   10165          805 :             switch (TREE_CODE (_p1))
   10166              :               {
   10167            0 :               case NEGATE_EXPR:
   10168            0 :                 {
   10169            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10170            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10171              :                     {
   10172            0 :                       {
   10173            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10174            0 :                         tree res = generic_simplify_11 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   10175            0 :                         if (res) return res;
   10176              :                       }
   10177              :                     }
   10178              :                   break;
   10179              :                 }
   10180              :               default:;
   10181              :               }
   10182              :           }
   10183              :         break;
   10184              :       }
   10185      6788582 :     default:;
   10186              :     }
   10187      6788582 :   switch (TREE_CODE (_p1))
   10188              :     {
   10189         1780 :     case EQ_EXPR:
   10190         1780 :       {
   10191         1780 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10192         1780 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10193         1780 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   10194              :           {
   10195            1 :             {
   10196            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
   10197            1 :               tree res = generic_simplify_451 (loc, type, _p0, _p1, captures);
   10198            1 :               if (res) return res;
   10199              :             }
   10200              :           }
   10201         1780 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
   10202              :           {
   10203            0 :             {
   10204            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
   10205            0 :               tree res = generic_simplify_451 (loc, type, _p0, _p1, captures);
   10206            0 :               if (res) return res;
   10207              :             }
   10208              :           }
   10209              :         break;
   10210              :       }
   10211          257 :     case BIT_XOR_EXPR:
   10212          257 :       {
   10213          257 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10214          257 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10215          257 :         {
   10216          257 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
   10217          257 :           tree res = generic_simplify_454 (loc, type, _p0, _p1, captures);
   10218          257 :           if (res) return res;
   10219              :         }
   10220          256 :         {
   10221          256 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
   10222          256 :           tree res = generic_simplify_454 (loc, type, _p0, _p1, captures);
   10223          256 :           if (res) return res;
   10224              :         }
   10225          256 :         break;
   10226              :       }
   10227      6788581 :     default:;
   10228              :     }
   10229      6788581 : {
   10230      6788581 :   tree _p1_pops[1];
   10231      6788581 :   if (tree_nop_convert (_p1, _p1_pops))
   10232              :     {
   10233       966985 :       tree _q30 = _p1_pops[0];
   10234       966985 :       switch (TREE_CODE (_q30))
   10235              :         {
   10236            0 :         case EQ_EXPR:
   10237            0 :           {
   10238            0 :             tree _q40 = TREE_OPERAND (_q30, 0);
   10239            0 :             tree _q41 = TREE_OPERAND (_q30, 1);
   10240            0 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10241              :               {
   10242            0 :                 {
   10243            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   10244            0 :                   tree res = generic_simplify_451 (loc, type, _p0, _p1, captures);
   10245            0 :                   if (res) return res;
   10246              :                 }
   10247              :               }
   10248            0 :             if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
   10249              :               {
   10250            0 :                 {
   10251            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
   10252            0 :                   tree res = generic_simplify_451 (loc, type, _p0, _p1, captures);
   10253            0 :                   if (res) return res;
   10254              :                 }
   10255              :               }
   10256              :             break;
   10257              :           }
   10258              :         default:;
   10259              :         }
   10260              :     }
   10261              : }
   10262      6788581 :   switch (TREE_CODE (_p0))
   10263              :     {
   10264        62573 :     case BIT_XOR_EXPR:
   10265        62573 :       {
   10266        62573 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10267        62573 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10268        62573 :         {
   10269        62573 :           tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10270        62573 :           tree res = generic_simplify_454 (loc, type, _p0, _p1, captures);
   10271        62573 :           if (res) return res;
   10272              :         }
   10273        62573 :         {
   10274        62573 :           tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
   10275        62573 :           tree res = generic_simplify_454 (loc, type, _p0, _p1, captures);
   10276        62573 :           if (res) return res;
   10277              :         }
   10278        62573 :         switch (TREE_CODE (_p1))
   10279              :           {
   10280          152 :           case BIT_XOR_EXPR:
   10281          152 :             {
   10282          152 :               tree _q50 = TREE_OPERAND (_p1, 0);
   10283          152 :               tree _q51 = TREE_OPERAND (_p1, 1);
   10284          152 :               switch (TREE_CODE (_q50))
   10285              :                 {
   10286            3 :                 case BIT_XOR_EXPR:
   10287            3 :                   {
   10288            3 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   10289            3 :                     tree _q61 = TREE_OPERAND (_q50, 1);
   10290            3 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   10291              :                       {
   10292            2 :                         if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   10293              :                           {
   10294            1 :                             {
   10295            1 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q61 };
   10296            1 :                               tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
   10297            1 :                               if (res) return res;
   10298              :                             }
   10299              :                           }
   10300              :                       }
   10301            2 :                     if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
   10302              :                       {
   10303            0 :                         if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   10304              :                           {
   10305            0 :                             {
   10306            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q60 };
   10307            0 :                               tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
   10308            0 :                               if (res) return res;
   10309              :                             }
   10310              :                           }
   10311              :                       }
   10312            2 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10313              :                       {
   10314            1 :                         if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   10315              :                           {
   10316            1 :                             {
   10317            1 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q61 };
   10318            1 :                               tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
   10319            1 :                               if (res) return res;
   10320              :                             }
   10321              :                           }
   10322              :                       }
   10323            1 :                     if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   10324              :                       {
   10325            1 :                         if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   10326              :                           {
   10327            0 :                             {
   10328            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q60 };
   10329            0 :                               tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
   10330            0 :                               if (res) return res;
   10331              :                             }
   10332              :                           }
   10333              :                       }
   10334              :                     break;
   10335              :                   }
   10336          150 :                 default:;
   10337              :                 }
   10338          150 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10339              :                 {
   10340           47 :                   switch (TREE_CODE (_q51))
   10341              :                     {
   10342            0 :                     case BIT_XOR_EXPR:
   10343            0 :                       {
   10344            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
   10345            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
   10346            0 :                         if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   10347              :                           {
   10348            0 :                             {
   10349            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q71 };
   10350            0 :                               tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
   10351            0 :                               if (res) return res;
   10352              :                             }
   10353              :                           }
   10354            0 :                         if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
   10355              :                           {
   10356            0 :                             {
   10357            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q70 };
   10358            0 :                               tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
   10359            0 :                               if (res) return res;
   10360              :                             }
   10361              :                           }
   10362              :                         break;
   10363              :                       }
   10364              :                     default:;
   10365              :                     }
   10366              :                 }
   10367          150 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   10368              :                 {
   10369            0 :                   switch (TREE_CODE (_q51))
   10370              :                     {
   10371            0 :                     case BIT_XOR_EXPR:
   10372            0 :                       {
   10373            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
   10374            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
   10375            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   10376              :                           {
   10377            0 :                             {
   10378            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q71 };
   10379            0 :                               tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
   10380            0 :                               if (res) return res;
   10381              :                             }
   10382              :                           }
   10383            0 :                         if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
   10384              :                           {
   10385            0 :                             {
   10386            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q70 };
   10387            0 :                               tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
   10388            0 :                               if (res) return res;
   10389              :                             }
   10390              :                           }
   10391              :                         break;
   10392              :                       }
   10393              :                     default:;
   10394              :                     }
   10395              :                 }
   10396              :               break;
   10397              :             }
   10398        62571 :           default:;
   10399              :           }
   10400        62571 :         switch (TREE_CODE (_q20))
   10401              :           {
   10402           11 :           case BIT_XOR_EXPR:
   10403           11 :             {
   10404           11 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10405           11 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10406           11 :               switch (TREE_CODE (_p1))
   10407              :                 {
   10408            0 :                 case BIT_XOR_EXPR:
   10409            0 :                   {
   10410            0 :                     tree _q70 = TREE_OPERAND (_p1, 0);
   10411            0 :                     tree _q71 = TREE_OPERAND (_p1, 1);
   10412            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   10413              :                       {
   10414            0 :                         if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   10415              :                           {
   10416            0 :                             {
   10417            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _p0, _q20, _q31 };
   10418            0 :                               tree res = generic_simplify_456 (loc, type, _p0, _p1, captures);
   10419            0 :                               if (res) return res;
   10420              :                             }
   10421              :                           }
   10422            0 :                         if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   10423              :                           {
   10424            0 :                             {
   10425            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _p0, _q20, _q30 };
   10426            0 :                               tree res = generic_simplify_456 (loc, type, _p0, _p1, captures);
   10427            0 :                               if (res) return res;
   10428              :                             }
   10429              :                           }
   10430              :                       }
   10431            0 :                     if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   10432              :                       {
   10433            0 :                         if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
   10434              :                           {
   10435            0 :                             {
   10436            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _p0, _q20, _q31 };
   10437            0 :                               tree res = generic_simplify_456 (loc, type, _p0, _p1, captures);
   10438            0 :                               if (res) return res;
   10439              :                             }
   10440              :                           }
   10441              :                       }
   10442            0 :                     if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
   10443              :                       {
   10444            0 :                         if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
   10445              :                           {
   10446            0 :                             {
   10447            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _p0, _q20, _q30 };
   10448            0 :                               tree res = generic_simplify_456 (loc, type, _p0, _p1, captures);
   10449            0 :                               if (res) return res;
   10450              :                             }
   10451              :                           }
   10452              :                       }
   10453              :                     break;
   10454              :                   }
   10455              :                 default:;
   10456              :                 }
   10457              :               break;
   10458              :             }
   10459        62571 :           default:;
   10460              :           }
   10461        62571 :         switch (TREE_CODE (_q21))
   10462              :           {
   10463            0 :           case BIT_XOR_EXPR:
   10464            0 :             {
   10465            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10466            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10467            0 :               switch (TREE_CODE (_p1))
   10468              :                 {
   10469            0 :                 case BIT_XOR_EXPR:
   10470            0 :                   {
   10471            0 :                     tree _q70 = TREE_OPERAND (_p1, 0);
   10472            0 :                     tree _q71 = TREE_OPERAND (_p1, 1);
   10473            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   10474              :                       {
   10475            0 :                         if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
   10476              :                           {
   10477            0 :                             {
   10478            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _p0, _q21, _q41 };
   10479            0 :                               tree res = generic_simplify_456 (loc, type, _p0, _p1, captures);
   10480            0 :                               if (res) return res;
   10481              :                             }
   10482              :                           }
   10483            0 :                         if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
   10484              :                           {
   10485            0 :                             {
   10486            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _p0, _q21, _q40 };
   10487            0 :                               tree res = generic_simplify_456 (loc, type, _p0, _p1, captures);
   10488            0 :                               if (res) return res;
   10489              :                             }
   10490              :                           }
   10491              :                       }
   10492            0 :                     if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
   10493              :                       {
   10494            0 :                         if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
   10495              :                           {
   10496            0 :                             {
   10497            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _p0, _q21, _q41 };
   10498            0 :                               tree res = generic_simplify_456 (loc, type, _p0, _p1, captures);
   10499            0 :                               if (res) return res;
   10500              :                             }
   10501              :                           }
   10502              :                       }
   10503            0 :                     if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
   10504              :                       {
   10505            0 :                         if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
   10506              :                           {
   10507            0 :                             {
   10508            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _p0, _q21, _q40 };
   10509            0 :                               tree res = generic_simplify_456 (loc, type, _p0, _p1, captures);
   10510            0 :                               if (res) return res;
   10511              :                             }
   10512              :                           }
   10513              :                       }
   10514              :                     break;
   10515              :                   }
   10516              :                 default:;
   10517              :                 }
   10518              :               break;
   10519              :             }
   10520              :           default:;
   10521              :           }
   10522              :         break;
   10523              :       }
   10524        67080 :     case BIT_NOT_EXPR:
   10525        67080 :       {
   10526        67080 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10527        67080 :         switch (TREE_CODE (_q20))
   10528              :           {
   10529          188 :           case SSA_NAME:
   10530          188 :             {
   10531          188 :               switch (TREE_CODE (_p1))
   10532              :                 {
   10533          188 :                 case INTEGER_CST:
   10534          188 :                   {
   10535          188 :                     {
   10536          188 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10537          376 :                       if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
   10538          564 :  && wi::bit_and_not (get_nonzero_bits (captures[0]), wi::to_wide (captures[1])) == 0
   10539              : )
   10540              :                         {
   10541           14 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1676;
   10542           14 :                           {
   10543           14 :                             tree res_op0;
   10544           14 :                             res_op0 = captures[0];
   10545           14 :                             tree res_op1;
   10546           14 :                             res_op1 = captures[1];
   10547           14 :                             tree _r;
   10548           14 :                             _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
   10549           14 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1014, __FILE__, __LINE__, true);
   10550           14 :                             return _r;
   10551              :                           }
   10552            0 : next_after_fail1676:;
   10553              :                         }
   10554              :                     }
   10555          174 :                     break;
   10556              :                   }
   10557              :                 default:;
   10558              :                 }
   10559              :               break;
   10560              :             }
   10561              :           default:;
   10562              :           }
   10563              :         break;
   10564              :       }
   10565       304527 :     case PLUS_EXPR:
   10566       304527 :       {
   10567       304527 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10568       304527 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10569       304527 :         switch (TREE_CODE (_q20))
   10570              :           {
   10571           24 :           case BIT_AND_EXPR:
   10572           24 :             {
   10573           24 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10574           24 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10575           24 :               switch (TREE_CODE (_q31))
   10576              :                 {
   10577           20 :                 case INTEGER_CST:
   10578           20 :                   {
   10579           20 :                     switch (TREE_CODE (_p1))
   10580              :                       {
   10581           20 :                       case INTEGER_CST:
   10582           20 :                         {
   10583           20 :                           {
   10584           20 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10585           20 :                             tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, PLUS_EXPR);
   10586           20 :                             if (res) return res;
   10587              :                           }
   10588           12 :                           break;
   10589              :                         }
   10590              :                       default:;
   10591              :                       }
   10592              :                     break;
   10593              :                   }
   10594              :                 default:;
   10595              :                 }
   10596              :               break;
   10597              :             }
   10598           64 :           case BIT_IOR_EXPR:
   10599           64 :             {
   10600           64 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10601           64 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10602           64 :               switch (TREE_CODE (_q31))
   10603              :                 {
   10604           52 :                 case INTEGER_CST:
   10605           52 :                   {
   10606           52 :                     switch (TREE_CODE (_p1))
   10607              :                       {
   10608           52 :                       case INTEGER_CST:
   10609           52 :                         {
   10610           52 :                           {
   10611           52 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10612           52 :                             tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, PLUS_EXPR);
   10613           52 :                             if (res) return res;
   10614              :                           }
   10615           48 :                           break;
   10616              :                         }
   10617              :                       default:;
   10618              :                       }
   10619              :                     break;
   10620              :                   }
   10621              :                 default:;
   10622              :                 }
   10623              :               break;
   10624              :             }
   10625           24 :           case BIT_XOR_EXPR:
   10626           24 :             {
   10627           24 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10628           24 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10629           24 :               switch (TREE_CODE (_q31))
   10630              :                 {
   10631            4 :                 case INTEGER_CST:
   10632            4 :                   {
   10633            4 :                     switch (TREE_CODE (_p1))
   10634              :                       {
   10635            4 :                       case INTEGER_CST:
   10636            4 :                         {
   10637            4 :                           {
   10638            4 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10639            4 :                             tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, PLUS_EXPR);
   10640            4 :                             if (res) return res;
   10641              :                           }
   10642            0 :                           break;
   10643              :                         }
   10644              :                       default:;
   10645              :                       }
   10646              :                     break;
   10647              :                   }
   10648              :                 default:;
   10649              :                 }
   10650              :               break;
   10651              :             }
   10652       304511 :           default:;
   10653              :           }
   10654       304511 :         switch (TREE_CODE (_q21))
   10655              :           {
   10656            0 :           case BIT_AND_EXPR:
   10657            0 :             {
   10658            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10659            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10660            0 :               switch (TREE_CODE (_q41))
   10661              :                 {
   10662            0 :                 case INTEGER_CST:
   10663            0 :                   {
   10664            0 :                     switch (TREE_CODE (_p1))
   10665              :                       {
   10666            0 :                       case INTEGER_CST:
   10667            0 :                         {
   10668            0 :                           {
   10669            0 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10670            0 :                             tree res = generic_simplify_458 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, PLUS_EXPR);
   10671            0 :                             if (res) return res;
   10672              :                           }
   10673            0 :                           break;
   10674              :                         }
   10675              :                       default:;
   10676              :                       }
   10677              :                     break;
   10678              :                   }
   10679              :                 default:;
   10680              :                 }
   10681              :               break;
   10682              :             }
   10683            0 :           case BIT_IOR_EXPR:
   10684            0 :             {
   10685            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10686            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10687            0 :               switch (TREE_CODE (_q41))
   10688              :                 {
   10689            0 :                 case INTEGER_CST:
   10690            0 :                   {
   10691            0 :                     switch (TREE_CODE (_p1))
   10692              :                       {
   10693            0 :                       case INTEGER_CST:
   10694            0 :                         {
   10695            0 :                           {
   10696            0 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10697            0 :                             tree res = generic_simplify_458 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, PLUS_EXPR);
   10698            0 :                             if (res) return res;
   10699              :                           }
   10700            0 :                           break;
   10701              :                         }
   10702              :                       default:;
   10703              :                       }
   10704              :                     break;
   10705              :                   }
   10706              :                 default:;
   10707              :                 }
   10708              :               break;
   10709              :             }
   10710            0 :           case BIT_XOR_EXPR:
   10711            0 :             {
   10712            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10713            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10714            0 :               switch (TREE_CODE (_q41))
   10715              :                 {
   10716            0 :                 case INTEGER_CST:
   10717            0 :                   {
   10718            0 :                     switch (TREE_CODE (_p1))
   10719              :                       {
   10720            0 :                       case INTEGER_CST:
   10721            0 :                         {
   10722            0 :                           {
   10723            0 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10724            0 :                             tree res = generic_simplify_458 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, PLUS_EXPR);
   10725            0 :                             if (res) return res;
   10726              :                           }
   10727            0 :                           break;
   10728              :                         }
   10729              :                       default:;
   10730              :                       }
   10731              :                     break;
   10732              :                   }
   10733              :                 default:;
   10734              :                 }
   10735              :               break;
   10736              :             }
   10737       304511 :           default:;
   10738              :           }
   10739       304511 :         switch (TREE_CODE (_p1))
   10740              :           {
   10741       219963 :           case INTEGER_CST:
   10742       219963 :             {
   10743       219963 :               {
   10744       219963 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10745       219963 :                 tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, PLUS_EXPR);
   10746       219963 :                 if (res) return res;
   10747              :               }
   10748        92029 :               break;
   10749              :             }
   10750              :           default:;
   10751              :           }
   10752              :         break;
   10753              :       }
   10754       685506 :     case MINUS_EXPR:
   10755       685506 :       {
   10756       685506 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10757       685506 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10758       685506 :         switch (TREE_CODE (_q20))
   10759              :           {
   10760            4 :           case BIT_AND_EXPR:
   10761            4 :             {
   10762            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10763            4 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10764            4 :               switch (TREE_CODE (_q31))
   10765              :                 {
   10766            2 :                 case INTEGER_CST:
   10767            2 :                   {
   10768            2 :                     switch (TREE_CODE (_p1))
   10769              :                       {
   10770            2 :                       case INTEGER_CST:
   10771            2 :                         {
   10772            2 :                           {
   10773            2 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10774            2 :                             tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, MINUS_EXPR);
   10775            2 :                             if (res) return res;
   10776              :                           }
   10777            0 :                           break;
   10778              :                         }
   10779              :                       default:;
   10780              :                       }
   10781              :                     break;
   10782              :                   }
   10783              :                 default:;
   10784              :                 }
   10785              :               break;
   10786              :             }
   10787            4 :           case BIT_IOR_EXPR:
   10788            4 :             {
   10789            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10790            4 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10791            4 :               switch (TREE_CODE (_q31))
   10792              :                 {
   10793            2 :                 case INTEGER_CST:
   10794            2 :                   {
   10795            2 :                     switch (TREE_CODE (_p1))
   10796              :                       {
   10797            2 :                       case INTEGER_CST:
   10798            2 :                         {
   10799            2 :                           {
   10800            2 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10801            2 :                             tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, MINUS_EXPR);
   10802            2 :                             if (res) return res;
   10803              :                           }
   10804            0 :                           break;
   10805              :                         }
   10806              :                       default:;
   10807              :                       }
   10808              :                     break;
   10809              :                   }
   10810              :                 default:;
   10811              :                 }
   10812              :               break;
   10813              :             }
   10814            4 :           case BIT_XOR_EXPR:
   10815            4 :             {
   10816            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10817            4 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10818            4 :               switch (TREE_CODE (_q31))
   10819              :                 {
   10820            2 :                 case INTEGER_CST:
   10821            2 :                   {
   10822            2 :                     switch (TREE_CODE (_p1))
   10823              :                       {
   10824            2 :                       case INTEGER_CST:
   10825            2 :                         {
   10826            2 :                           {
   10827            2 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10828            2 :                             tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, MINUS_EXPR);
   10829            2 :                             if (res) return res;
   10830              :                           }
   10831            0 :                           break;
   10832              :                         }
   10833              :                       default:;
   10834              :                       }
   10835              :                     break;
   10836              :                   }
   10837              :                 default:;
   10838              :                 }
   10839              :               break;
   10840              :             }
   10841       685500 :           default:;
   10842              :           }
   10843       685500 :         switch (TREE_CODE (_q21))
   10844              :           {
   10845          350 :           case BIT_AND_EXPR:
   10846          350 :             {
   10847          350 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10848          350 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10849          350 :               switch (TREE_CODE (_q41))
   10850              :                 {
   10851          348 :                 case INTEGER_CST:
   10852          348 :                   {
   10853          348 :                     switch (TREE_CODE (_p1))
   10854              :                       {
   10855          348 :                       case INTEGER_CST:
   10856          348 :                         {
   10857          348 :                           {
   10858          348 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10859          348 :                             tree res = generic_simplify_458 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, MINUS_EXPR);
   10860          348 :                             if (res) return res;
   10861              :                           }
   10862            1 :                           break;
   10863              :                         }
   10864              :                       default:;
   10865              :                       }
   10866              :                     break;
   10867              :                   }
   10868              :                 default:;
   10869              :                 }
   10870              :               break;
   10871              :             }
   10872            4 :           case BIT_IOR_EXPR:
   10873            4 :             {
   10874            4 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10875            4 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10876            4 :               switch (TREE_CODE (_q41))
   10877              :                 {
   10878            2 :                 case INTEGER_CST:
   10879            2 :                   {
   10880            2 :                     switch (TREE_CODE (_p1))
   10881              :                       {
   10882            2 :                       case INTEGER_CST:
   10883            2 :                         {
   10884            2 :                           {
   10885            2 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10886            2 :                             tree res = generic_simplify_458 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, MINUS_EXPR);
   10887            2 :                             if (res) return res;
   10888              :                           }
   10889            0 :                           break;
   10890              :                         }
   10891              :                       default:;
   10892              :                       }
   10893              :                     break;
   10894              :                   }
   10895              :                 default:;
   10896              :                 }
   10897              :               break;
   10898              :             }
   10899            4 :           case BIT_XOR_EXPR:
   10900            4 :             {
   10901            4 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10902            4 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10903            4 :               switch (TREE_CODE (_q41))
   10904              :                 {
   10905            2 :                 case INTEGER_CST:
   10906            2 :                   {
   10907            2 :                     switch (TREE_CODE (_p1))
   10908              :                       {
   10909            2 :                       case INTEGER_CST:
   10910            2 :                         {
   10911            2 :                           {
   10912            2 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10913            2 :                             tree res = generic_simplify_458 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, MINUS_EXPR);
   10914            2 :                             if (res) return res;
   10915              :                           }
   10916            0 :                           break;
   10917              :                         }
   10918              :                       default:;
   10919              :                       }
   10920              :                     break;
   10921              :                   }
   10922              :                 default:;
   10923              :                 }
   10924              :               break;
   10925              :             }
   10926       685149 :           default:;
   10927              :           }
   10928       685149 :         switch (TREE_CODE (_p1))
   10929              :           {
   10930       684947 :           case INTEGER_CST:
   10931       684947 :             {
   10932       684947 :               {
   10933       684947 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10934       684947 :                 tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, MINUS_EXPR);
   10935       684947 :                 if (res) return res;
   10936              :               }
   10937       492001 :               break;
   10938              :             }
   10939              :           default:;
   10940              :           }
   10941              :         break;
   10942              :       }
   10943        47185 :     case NEGATE_EXPR:
   10944        47185 :       {
   10945        47185 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10946        47185 :         switch (TREE_CODE (_q20))
   10947              :           {
   10948           25 :           case BIT_AND_EXPR:
   10949           25 :             {
   10950           25 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10951           25 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10952           25 :               switch (TREE_CODE (_q31))
   10953              :                 {
   10954           21 :                 case INTEGER_CST:
   10955           21 :                   {
   10956           21 :                     switch (TREE_CODE (_p1))
   10957              :                       {
   10958           11 :                       case INTEGER_CST:
   10959           11 :                         {
   10960           11 :                           {
   10961           11 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
   10962           11 :                             tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   10963           11 :                             if (res) return res;
   10964              :                           }
   10965            8 :                           break;
   10966              :                         }
   10967              :                       default:;
   10968              :                       }
   10969              :                     break;
   10970              :                   }
   10971              :                 default:;
   10972              :                 }
   10973              :               break;
   10974              :             }
   10975           44 :           case BIT_IOR_EXPR:
   10976           44 :             {
   10977           44 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10978           44 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10979           44 :               switch (TREE_CODE (_q31))
   10980              :                 {
   10981            2 :                 case INTEGER_CST:
   10982            2 :                   {
   10983            2 :                     switch (TREE_CODE (_p1))
   10984              :                       {
   10985            2 :                       case INTEGER_CST:
   10986            2 :                         {
   10987            2 :                           {
   10988            2 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
   10989            2 :                             tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
   10990            2 :                             if (res) return res;
   10991              :                           }
   10992            0 :                           break;
   10993              :                         }
   10994              :                       default:;
   10995              :                       }
   10996              :                     break;
   10997              :                   }
   10998              :                 default:;
   10999              :                 }
   11000              :               break;
   11001              :             }
   11002            4 :           case BIT_XOR_EXPR:
   11003            4 :             {
   11004            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11005            4 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11006            4 :               switch (TREE_CODE (_q31))
   11007              :                 {
   11008            2 :                 case INTEGER_CST:
   11009            2 :                   {
   11010            2 :                     switch (TREE_CODE (_p1))
   11011              :                       {
   11012            2 :                       case INTEGER_CST:
   11013            2 :                         {
   11014            2 :                           {
   11015            2 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
   11016            2 :                             tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
   11017            2 :                             if (res) return res;
   11018              :                           }
   11019            0 :                           break;
   11020              :                         }
   11021              :                       default:;
   11022              :                       }
   11023              :                     break;
   11024              :                   }
   11025              :                 default:;
   11026              :                 }
   11027              :               break;
   11028              :             }
   11029        47178 :           default:;
   11030              :           }
   11031        47178 :       if (tree_zero_one_valued_p (_q20))
   11032              :         {
   11033           21 :           {
   11034           21 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11035           21 :             tree res = generic_simplify_461 (loc, type, _p0, _p1, captures);
   11036           21 :             if (res) return res;
   11037              :           }
   11038              :         }
   11039              :         break;
   11040              :       }
   11041      6467284 :     default:;
   11042              :     }
   11043      6467284 :   if (integer_zerop (_p1))
   11044              :     {
   11045         3886 :       {
   11046         3886 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11047         3886 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1677;
   11048         3886 :         {
   11049         3886 :           tree _r;
   11050         3886 :           _r = captures[1];
   11051         3886 :           if (TREE_SIDE_EFFECTS (captures[0]))
   11052           51 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11053         3886 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1015, __FILE__, __LINE__, true);
   11054         3886 :           return _r;
   11055              :         }
   11056            0 : next_after_fail1677:;
   11057              :       }
   11058              :     }
   11059      6463398 :   if (integer_all_onesp (_p1))
   11060              :     {
   11061        45574 :       {
   11062        45574 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11063        45574 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1678;
   11064        45574 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1678;
   11065        45574 :         {
   11066        45574 :           tree res_op0;
   11067        45574 :           res_op0 = captures[0];
   11068        45574 :           tree _r;
   11069        45574 :           _r = non_lvalue_loc (loc, res_op0);
   11070        45574 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1016, __FILE__, __LINE__, true);
   11071        45574 :           return _r;
   11072              :         }
   11073              : next_after_fail1678:;
   11074              :       }
   11075              :     }
   11076      6417824 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11077              :     {
   11078          131 :       {
   11079          131 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11080          131 :         tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11081          131 :         if (res) return res;
   11082              :       }
   11083              :     }
   11084      6417693 :   switch (TREE_CODE (_p1))
   11085              :     {
   11086        52934 :     case BIT_NOT_EXPR:
   11087        52934 :       {
   11088        52934 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11089        52934 :         switch (TREE_CODE (_q30))
   11090              :           {
   11091           13 :           case BIT_AND_EXPR:
   11092           13 :             {
   11093           13 :               tree _q40 = TREE_OPERAND (_q30, 0);
   11094           13 :               tree _q41 = TREE_OPERAND (_q30, 1);
   11095           13 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   11096              :                 {
   11097            0 :                   {
   11098            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q41 };
   11099            0 :                     tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11100            0 :                     if (res) return res;
   11101              :                   }
   11102              :                 }
   11103           13 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
   11104              :                 {
   11105            0 :                   {
   11106            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
   11107            0 :                     tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11108            0 :                     if (res) return res;
   11109              :                   }
   11110              :                 }
   11111              :               break;
   11112              :             }
   11113              :           default:;
   11114              :           }
   11115              :         break;
   11116              :       }
   11117      6417693 :     default:;
   11118              :     }
   11119      6417693 :   switch (TREE_CODE (_p0))
   11120              :     {
   11121        67050 :     case BIT_NOT_EXPR:
   11122        67050 :       {
   11123        67050 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11124        67050 :         switch (TREE_CODE (_q20))
   11125              :           {
   11126           28 :           case BIT_AND_EXPR:
   11127           28 :             {
   11128           28 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11129           28 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11130           28 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   11131              :                 {
   11132            4 :                   {
   11133            4 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q20, _q31 };
   11134            4 :                     tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11135            4 :                     if (res) return res;
   11136              :                   }
   11137              :                 }
   11138           24 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
   11139              :                 {
   11140            3 :                   {
   11141            3 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q20, _q30 };
   11142            3 :                     tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11143            3 :                     if (res) return res;
   11144              :                   }
   11145              :                 }
   11146           21 :               switch (TREE_CODE (_p1))
   11147              :                 {
   11148            0 :                 case BIT_IOR_EXPR:
   11149            0 :                   {
   11150            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11151            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   11152            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11153              :                       {
   11154            0 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
   11155              :                           {
   11156            0 :                             {
   11157            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   11158            0 :                               tree res = generic_simplify_462 (loc, type, _p0, _p1, captures);
   11159            0 :                               if (res) return res;
   11160              :                             }
   11161              :                           }
   11162              :                       }
   11163              :                     break;
   11164              :                   }
   11165              :                 default:;
   11166              :                 }
   11167              :               break;
   11168              :             }
   11169        67043 :           default:;
   11170              :           }
   11171        67043 :         switch (TREE_CODE (_p1))
   11172              :           {
   11173        27699 :           CASE_CONVERT:
   11174        27699 :             {
   11175        27699 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11176        27699 :               switch (TREE_CODE (_q40))
   11177              :                 {
   11178            0 :                 case BIT_NOT_EXPR:
   11179            0 :                   {
   11180            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   11181            0 :                     {
   11182            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   11183            0 :                       tree res = generic_simplify_133 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11184            0 :                       if (res) return res;
   11185              :                     }
   11186            0 :                     break;
   11187              :                   }
   11188              :                 default:;
   11189              :                 }
   11190              :               break;
   11191              :             }
   11192           44 :           case BIT_NOT_EXPR:
   11193           44 :             {
   11194           44 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11195           44 :               {
   11196           44 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11197           44 :                 tree res = generic_simplify_133 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11198           44 :                 if (res) return res;
   11199              :               }
   11200            0 :               break;
   11201              :             }
   11202              :           default:;
   11203              :           }
   11204              :         break;
   11205              :       }
   11206         1585 :     case BIT_IOR_EXPR:
   11207         1585 :       {
   11208         1585 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11209         1585 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11210         1585 :         switch (TREE_CODE (_p1))
   11211              :           {
   11212          169 :           case BIT_NOT_EXPR:
   11213          169 :             {
   11214          169 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11215          169 :               switch (TREE_CODE (_q50))
   11216              :                 {
   11217            0 :                 case BIT_AND_EXPR:
   11218            0 :                   {
   11219            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   11220            0 :                     tree _q61 = TREE_OPERAND (_q50, 1);
   11221            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11222              :                       {
   11223            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
   11224              :                           {
   11225            0 :                             {
   11226            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   11227            0 :                               tree res = generic_simplify_462 (loc, type, _p0, _p1, captures);
   11228            0 :                               if (res) return res;
   11229              :                             }
   11230              :                           }
   11231              :                       }
   11232              :                     break;
   11233              :                   }
   11234              :                 default:;
   11235              :                 }
   11236              :               break;
   11237              :             }
   11238            2 :           case BIT_XOR_EXPR:
   11239            2 :             {
   11240            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11241            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11242            2 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11243              :                 {
   11244            0 :                   {
   11245            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
   11246            0 :                     tree res = generic_simplify_463 (loc, type, _p0, _p1, captures);
   11247            0 :                     if (res) return res;
   11248              :                   }
   11249              :                 }
   11250            2 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11251              :                 {
   11252            2 :                   {
   11253            2 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
   11254            2 :                     tree res = generic_simplify_463 (loc, type, _p0, _p1, captures);
   11255            2 :                     if (res) return res;
   11256              :                   }
   11257              :                 }
   11258            2 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11259              :                 {
   11260            0 :                   {
   11261            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
   11262            0 :                     tree res = generic_simplify_463 (loc, type, _p0, _p1, captures);
   11263            0 :                     if (res) return res;
   11264              :                   }
   11265              :                 }
   11266            2 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11267              :                 {
   11268            0 :                   {
   11269            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
   11270            0 :                     tree res = generic_simplify_463 (loc, type, _p0, _p1, captures);
   11271            0 :                     if (res) return res;
   11272              :                   }
   11273              :                 }
   11274              :               break;
   11275              :             }
   11276         1585 :           default:;
   11277              :           }
   11278         1585 :         switch (TREE_CODE (_q20))
   11279              :           {
   11280          127 :           case BIT_NOT_EXPR:
   11281          127 :             {
   11282          127 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11283          127 :               switch (TREE_CODE (_p1))
   11284              :                 {
   11285            2 :                 case BIT_IOR_EXPR:
   11286            2 :                   {
   11287            2 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11288            2 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   11289            2 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11290              :                       {
   11291            0 :                         switch (TREE_CODE (_q61))
   11292              :                           {
   11293            0 :                           case BIT_NOT_EXPR:
   11294            0 :                             {
   11295            0 :                               tree _q80 = TREE_OPERAND (_q61, 0);
   11296            0 :                               if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11297              :                                 {
   11298            0 :                                   {
   11299            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
   11300            0 :                                     tree res = generic_simplify_464 (loc, type, _p0, _p1, captures);
   11301            0 :                                     if (res) return res;
   11302              :                                   }
   11303              :                                 }
   11304              :                               break;
   11305              :                             }
   11306              :                           default:;
   11307              :                           }
   11308              :                       }
   11309            2 :                     switch (TREE_CODE (_q60))
   11310              :                       {
   11311            2 :                       case BIT_NOT_EXPR:
   11312            2 :                         {
   11313            2 :                           tree _q70 = TREE_OPERAND (_q60, 0);
   11314            2 :                           if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   11315              :                             {
   11316            2 :                               if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   11317              :                                 {
   11318            2 :                                   {
   11319            2 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
   11320            2 :                                     tree res = generic_simplify_464 (loc, type, _p0, _p1, captures);
   11321            2 :                                     if (res) return res;
   11322              :                                   }
   11323              :                                 }
   11324              :                             }
   11325              :                           break;
   11326              :                         }
   11327              :                       default:;
   11328              :                       }
   11329              :                     break;
   11330              :                   }
   11331              :                 default:;
   11332              :                 }
   11333              :               break;
   11334              :             }
   11335         1583 :           default:;
   11336              :           }
   11337         1583 :         switch (TREE_CODE (_q21))
   11338              :           {
   11339            0 :           case BIT_NOT_EXPR:
   11340            0 :             {
   11341            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   11342            0 :               switch (TREE_CODE (_p1))
   11343              :                 {
   11344            0 :                 case BIT_IOR_EXPR:
   11345            0 :                   {
   11346            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11347            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   11348            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   11349              :                       {
   11350            0 :                         switch (TREE_CODE (_q61))
   11351              :                           {
   11352            0 :                           case BIT_NOT_EXPR:
   11353            0 :                             {
   11354            0 :                               tree _q80 = TREE_OPERAND (_q61, 0);
   11355            0 :                               if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11356              :                                 {
   11357            0 :                                   {
   11358            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
   11359            0 :                                     tree res = generic_simplify_464 (loc, type, _p0, _p1, captures);
   11360            0 :                                     if (res) return res;
   11361              :                                   }
   11362              :                                 }
   11363              :                               break;
   11364              :                             }
   11365              :                           default:;
   11366              :                           }
   11367              :                       }
   11368            0 :                     switch (TREE_CODE (_q60))
   11369              :                       {
   11370            0 :                       case BIT_NOT_EXPR:
   11371            0 :                         {
   11372            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
   11373            0 :                           if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   11374              :                             {
   11375            0 :                               if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   11376              :                                 {
   11377            0 :                                   {
   11378            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
   11379            0 :                                     tree res = generic_simplify_464 (loc, type, _p0, _p1, captures);
   11380            0 :                                     if (res) return res;
   11381              :                                   }
   11382              :                                 }
   11383              :                             }
   11384              :                           break;
   11385              :                         }
   11386              :                       default:;
   11387              :                       }
   11388              :                     break;
   11389              :                   }
   11390              :                 default:;
   11391              :                 }
   11392              :               break;
   11393              :             }
   11394              :           default:;
   11395              :           }
   11396              :         break;
   11397              :       }
   11398        62515 :     case BIT_XOR_EXPR:
   11399        62515 :       {
   11400        62515 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11401        62515 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11402        62515 :         switch (TREE_CODE (_p1))
   11403              :           {
   11404          133 :           case BIT_IOR_EXPR:
   11405          133 :             {
   11406          133 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11407          133 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11408          133 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11409              :                 {
   11410           18 :                   {
   11411           18 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q20, _q21 };
   11412           18 :                     tree res = generic_simplify_463 (loc, type, _p0, _p1, captures);
   11413           18 :                     if (res) return res;
   11414              :                   }
   11415              :                 }
   11416          133 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11417              :                 {
   11418           33 :                   {
   11419           33 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q21, _q20 };
   11420           33 :                     tree res = generic_simplify_463 (loc, type, _p0, _p1, captures);
   11421           33 :                     if (res) return res;
   11422              :                   }
   11423              :                 }
   11424          133 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11425              :                 {
   11426           30 :                   {
   11427           30 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q20, _q21 };
   11428           30 :                     tree res = generic_simplify_463 (loc, type, _p0, _p1, captures);
   11429           30 :                     if (res) return res;
   11430              :                   }
   11431              :                 }
   11432          133 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11433              :                 {
   11434           21 :                   {
   11435           21 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q21, _q20 };
   11436           21 :                     tree res = generic_simplify_463 (loc, type, _p0, _p1, captures);
   11437           21 :                     if (res) return res;
   11438              :                   }
   11439              :                 }
   11440              :               break;
   11441              :             }
   11442        62515 :           default:;
   11443              :           }
   11444        62515 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   11445              :           {
   11446           31 :             {
   11447           31 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   11448           31 :               tree res = generic_simplify_29 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_XOR_EXPR);
   11449           31 :               if (res) return res;
   11450              :             }
   11451              :           }
   11452        62484 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   11453              :           {
   11454            2 :             {
   11455            2 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   11456            2 :               tree res = generic_simplify_29 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_XOR_EXPR);
   11457            2 :               if (res) return res;
   11458              :             }
   11459              :           }
   11460              :         break;
   11461              :       }
   11462      1978743 :     CASE_CONVERT:
   11463      1978743 :       {
   11464      1978743 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11465      1978743 :         switch (TREE_CODE (_q20))
   11466              :           {
   11467          164 :           case BIT_NOT_EXPR:
   11468          164 :             {
   11469          164 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11470          164 :               switch (TREE_CODE (_p1))
   11471              :                 {
   11472           34 :                 CASE_CONVERT:
   11473           34 :                   {
   11474           34 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   11475           34 :                     switch (TREE_CODE (_q50))
   11476              :                       {
   11477            0 :                       case BIT_NOT_EXPR:
   11478            0 :                         {
   11479            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
   11480            0 :                           {
   11481            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
   11482            0 :                             tree res = generic_simplify_133 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11483            0 :                             if (res) return res;
   11484              :                           }
   11485            0 :                           break;
   11486              :                         }
   11487              :                       default:;
   11488              :                       }
   11489              :                     break;
   11490              :                   }
   11491            1 :                 case BIT_NOT_EXPR:
   11492            1 :                   {
   11493            1 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   11494            1 :                     {
   11495            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
   11496            1 :                       tree res = generic_simplify_133 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11497            1 :                       if (res) return res;
   11498              :                     }
   11499            0 :                     break;
   11500              :                   }
   11501              :                 default:;
   11502              :                 }
   11503              :               break;
   11504              :             }
   11505              :           default:;
   11506              :           }
   11507              :         break;
   11508              :       }
   11509      6417606 :     default:;
   11510              :     }
   11511      6417606 :   switch (TREE_CODE (_p1))
   11512              :     {
   11513          254 :     case BIT_XOR_EXPR:
   11514          254 :       {
   11515          254 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11516          254 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11517          254 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
   11518              :           {
   11519            0 :             {
   11520            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   11521            0 :               tree res = generic_simplify_29 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_XOR_EXPR);
   11522            0 :               if (res) return res;
   11523              :             }
   11524              :           }
   11525          254 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   11526              :           {
   11527            1 :             {
   11528            1 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
   11529            1 :               tree res = generic_simplify_29 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_XOR_EXPR);
   11530            1 :               if (res) return res;
   11531              :             }
   11532              :           }
   11533              :         break;
   11534              :       }
   11535      6417605 :     default:;
   11536              :     }
   11537      6417605 :   switch (TREE_CODE (_p0))
   11538              :     {
   11539      1978742 :     CASE_CONVERT:
   11540      1978742 :       {
   11541      1978742 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11542      1978742 :         switch (TREE_CODE (_q20))
   11543              :           {
   11544          171 :           case BIT_IOR_EXPR:
   11545          171 :             {
   11546          171 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11547          171 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11548          171 :               switch (TREE_CODE (_p1))
   11549              :                 {
   11550           12 :                 CASE_CONVERT:
   11551           12 :                   {
   11552           12 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11553           12 :                     switch (TREE_CODE (_q60))
   11554              :                       {
   11555            0 :                       case BIT_IOR_EXPR:
   11556            0 :                         {
   11557            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
   11558            0 :                           tree _q71 = TREE_OPERAND (_q60, 1);
   11559            0 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
   11560              :                             {
   11561            0 :                               {
   11562            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
   11563            0 :                                 tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11564            0 :                                 if (res) return res;
   11565              :                               }
   11566              :                             }
   11567            0 :                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
   11568              :                             {
   11569            0 :                               {
   11570            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
   11571            0 :                                 tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11572            0 :                                 if (res) return res;
   11573              :                               }
   11574              :                             }
   11575            0 :                           if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
   11576              :                             {
   11577            0 :                               {
   11578            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
   11579            0 :                                 tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11580            0 :                                 if (res) return res;
   11581              :                               }
   11582              :                             }
   11583            0 :                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
   11584              :                             {
   11585            0 :                               {
   11586            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
   11587            0 :                                 tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11588            0 :                                 if (res) return res;
   11589              :                               }
   11590              :                             }
   11591              :                           break;
   11592              :                         }
   11593              :                       default:;
   11594              :                       }
   11595              :                     break;
   11596              :                   }
   11597              :                 default:;
   11598              :                 }
   11599              :               break;
   11600              :             }
   11601           40 :           case BIT_AND_EXPR:
   11602           40 :             {
   11603           40 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11604           40 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11605           40 :               switch (TREE_CODE (_p1))
   11606              :                 {
   11607            0 :                 CASE_CONVERT:
   11608            0 :                   {
   11609            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11610            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
   11611              :                       {
   11612            0 :                         {
   11613            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
   11614            0 :                           tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11615            0 :                           if (res) return res;
   11616              :                         }
   11617              :                       }
   11618            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
   11619              :                       {
   11620            0 :                         {
   11621            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
   11622            0 :                           tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11623            0 :                           if (res) return res;
   11624              :                         }
   11625              :                       }
   11626              :                     break;
   11627              :                   }
   11628           40 :                 default:;
   11629              :                 }
   11630           40 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
   11631              :                 {
   11632            0 :                   {
   11633            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
   11634            0 :                     tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11635            0 :                     if (res) return res;
   11636              :                   }
   11637              :                 }
   11638           40 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
   11639              :                 {
   11640            0 :                   {
   11641            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
   11642            0 :                     tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11643            0 :                     if (res) return res;
   11644              :                   }
   11645              :                 }
   11646              :               break;
   11647              :             }
   11648      1978742 :           default:;
   11649              :           }
   11650      1978742 :         switch (TREE_CODE (_p1))
   11651              :           {
   11652       811055 :           CASE_CONVERT:
   11653       811055 :             {
   11654       811055 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11655       811055 :               switch (TREE_CODE (_q40))
   11656              :                 {
   11657            0 :                 case BIT_AND_EXPR:
   11658            0 :                   {
   11659            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   11660            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   11661            0 :                     if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
   11662              :                       {
   11663            0 :                         {
   11664            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q51, _q20 };
   11665            0 :                           tree res = generic_simplify_135 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11666            0 :                           if (res) return res;
   11667              :                         }
   11668              :                       }
   11669            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
   11670              :                       {
   11671            0 :                         {
   11672            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q51, _q50, _q20 };
   11673            0 :                           tree res = generic_simplify_135 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11674            0 :                           if (res) return res;
   11675              :                         }
   11676              :                       }
   11677              :                     break;
   11678              :                   }
   11679              :                 default:;
   11680              :                 }
   11681              :               break;
   11682              :             }
   11683           47 :           case BIT_AND_EXPR:
   11684           47 :             {
   11685           47 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11686           47 :               tree _q41 = TREE_OPERAND (_p1, 1);
   11687           47 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
   11688              :                 {
   11689            0 :                   {
   11690            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _q20 };
   11691            0 :                     tree res = generic_simplify_135 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11692            0 :                     if (res) return res;
   11693              :                   }
   11694              :                 }
   11695           47 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
   11696              :                 {
   11697            0 :                   {
   11698            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _q20 };
   11699            0 :                     tree res = generic_simplify_135 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11700            0 :                     if (res) return res;
   11701              :                   }
   11702              :                 }
   11703              :               break;
   11704              :             }
   11705              :           default:;
   11706              :           }
   11707              :         break;
   11708              :       }
   11709         1583 :     case BIT_IOR_EXPR:
   11710         1583 :       {
   11711         1583 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11712         1583 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11713         1583 :         switch (TREE_CODE (_p1))
   11714              :           {
   11715            9 :           case BIT_IOR_EXPR:
   11716            9 :             {
   11717            9 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11718            9 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11719            9 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
   11720              :                 {
   11721            0 :                   {
   11722            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
   11723            0 :                     tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11724            0 :                     if (res) return res;
   11725              :                   }
   11726              :                 }
   11727            9 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
   11728              :                 {
   11729            0 :                   {
   11730            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
   11731            0 :                     tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11732            0 :                     if (res) return res;
   11733              :                   }
   11734              :                 }
   11735            9 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
   11736              :                 {
   11737            0 :                   {
   11738            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
   11739            0 :                     tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11740            0 :                     if (res) return res;
   11741              :                   }
   11742              :                 }
   11743            9 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q21, 0))
   11744              :                 {
   11745            0 :                   {
   11746            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
   11747            0 :                     tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11748            0 :                     if (res) return res;
   11749              :                   }
   11750              :                 }
   11751              :               break;
   11752              :             }
   11753              :           default:;
   11754              :           }
   11755              :         break;
   11756              :       }
   11757      6417605 :     default:;
   11758              :     }
   11759      6417605 :   switch (TREE_CODE (_p1))
   11760              :     {
   11761       959074 :     CASE_CONVERT:
   11762       959074 :       {
   11763       959074 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11764       959074 :         switch (TREE_CODE (_q30))
   11765              :           {
   11766            8 :           case BIT_AND_EXPR:
   11767            8 :             {
   11768            8 :               tree _q40 = TREE_OPERAND (_q30, 0);
   11769            8 :               tree _q41 = TREE_OPERAND (_q30, 1);
   11770            8 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
   11771              :                 {
   11772            0 :                   {
   11773            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0 };
   11774            0 :                     tree res = generic_simplify_135 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11775            0 :                     if (res) return res;
   11776              :                   }
   11777              :                 }
   11778            8 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
   11779              :                 {
   11780            0 :                   {
   11781            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _p0 };
   11782            0 :                     tree res = generic_simplify_135 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11783            0 :                     if (res) return res;
   11784              :                   }
   11785              :                 }
   11786              :               break;
   11787              :             }
   11788              :           default:;
   11789              :           }
   11790              :         break;
   11791              :       }
   11792      6417605 :     default:;
   11793              :     }
   11794      6417605 :   switch (TREE_CODE (_p0))
   11795              :     {
   11796         1591 :     case BIT_AND_EXPR:
   11797         1591 :       {
   11798         1591 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11799         1591 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11800         1591 :         switch (TREE_CODE (_p1))
   11801              :           {
   11802           82 :           CASE_CONVERT:
   11803           82 :             {
   11804           82 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11805           82 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
   11806              :                 {
   11807            0 :                   {
   11808            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
   11809            0 :                     tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11810            0 :                     if (res) return res;
   11811              :                   }
   11812              :                 }
   11813           82 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
   11814              :                 {
   11815            0 :                   {
   11816            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
   11817            0 :                     tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11818            0 :                     if (res) return res;
   11819              :                   }
   11820              :                 }
   11821              :               break;
   11822              :             }
   11823         1591 :           default:;
   11824              :           }
   11825         1591 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
   11826              :           {
   11827            0 :             {
   11828            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
   11829            0 :               tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11830            0 :               if (res) return res;
   11831              :             }
   11832              :           }
   11833         1591 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
   11834              :           {
   11835            0 :             {
   11836            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
   11837            0 :               tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11838            0 :               if (res) return res;
   11839              :             }
   11840              :           }
   11841         1591 :         {
   11842         1591 :           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11843         1591 :           tree res = generic_simplify_465 (loc, type, _p0, _p1, captures);
   11844         1591 :           if (res) return res;
   11845              :         }
   11846         1583 :         switch (TREE_CODE (_p1))
   11847              :           {
   11848           82 :           CASE_CONVERT:
   11849           82 :             {
   11850           82 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11851           82 :               switch (TREE_CODE (_q50))
   11852              :                 {
   11853            8 :                 case BIT_AND_EXPR:
   11854            8 :                   {
   11855            8 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   11856            8 :                     tree _q61 = TREE_OPERAND (_q50, 1);
   11857            8 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11858              :                       {
   11859            0 :                         {
   11860            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q61 };
   11861            0 :                           tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11862            0 :                           if (res) return res;
   11863              :                         }
   11864              :                       }
   11865            8 :                     if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   11866              :                       {
   11867            0 :                         {
   11868            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q60 };
   11869            0 :                           tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11870            0 :                           if (res) return res;
   11871              :                         }
   11872              :                       }
   11873            8 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   11874              :                       {
   11875            0 :                         {
   11876            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q61 };
   11877            0 :                           tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11878            0 :                           if (res) return res;
   11879              :                         }
   11880              :                       }
   11881            8 :                     if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
   11882              :                       {
   11883            0 :                         {
   11884            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q60 };
   11885            0 :                           tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11886            0 :                           if (res) return res;
   11887              :                         }
   11888              :                       }
   11889              :                     break;
   11890              :                   }
   11891              :                 default:;
   11892              :                 }
   11893              :               break;
   11894              :             }
   11895           12 :           case BIT_AND_EXPR:
   11896           12 :             {
   11897           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11898           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11899           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11900              :                 {
   11901            0 :                   {
   11902            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q51 };
   11903            0 :                     tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11904            0 :                     if (res) return res;
   11905              :                   }
   11906              :                 }
   11907           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11908              :                 {
   11909            0 :                   {
   11910            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50 };
   11911            0 :                     tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11912            0 :                     if (res) return res;
   11913              :                   }
   11914              :                 }
   11915           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11916              :                 {
   11917            0 :                   {
   11918            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q51 };
   11919            0 :                     tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11920            0 :                     if (res) return res;
   11921              :                   }
   11922              :                 }
   11923           12 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11924              :                 {
   11925            0 :                   {
   11926            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q50 };
   11927            0 :                     tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11928            0 :                     if (res) return res;
   11929              :                   }
   11930              :                 }
   11931              :               break;
   11932              :             }
   11933              :           default:;
   11934              :           }
   11935              :         break;
   11936              :       }
   11937      6417597 :     default:;
   11938              :     }
   11939      6417597 :   switch (TREE_CODE (_p1))
   11940              :     {
   11941           76 :     case BIT_AND_EXPR:
   11942           76 :       {
   11943           76 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11944           76 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11945           76 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
   11946              :           {
   11947            0 :             {
   11948            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
   11949            0 :               tree res = generic_simplify_135 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11950            0 :               if (res) return res;
   11951              :             }
   11952              :           }
   11953           76 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
   11954              :           {
   11955            0 :             {
   11956            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
   11957            0 :               tree res = generic_simplify_135 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11958            0 :               if (res) return res;
   11959              :             }
   11960              :           }
   11961           76 :         {
   11962           76 :           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
   11963           76 :           tree res = generic_simplify_465 (loc, type, _p0, _p1, captures);
   11964           76 :           if (res) return res;
   11965              :         }
   11966           76 :         break;
   11967              :       }
   11968      6417597 :     default:;
   11969              :     }
   11970      6417597 :   switch (TREE_CODE (_p0))
   11971              :     {
   11972      1978742 :     CASE_CONVERT:
   11973      1978742 :       {
   11974      1978742 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11975      1978742 :         switch (TREE_CODE (_q20))
   11976              :           {
   11977           40 :           case BIT_AND_EXPR:
   11978           40 :             {
   11979           40 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11980           40 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11981           40 :               switch (TREE_CODE (_p1))
   11982              :                 {
   11983            0 :                 CASE_CONVERT:
   11984            0 :                   {
   11985            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11986            0 :                     switch (TREE_CODE (_q60))
   11987              :                       {
   11988            0 :                       case BIT_AND_EXPR:
   11989            0 :                         {
   11990            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
   11991            0 :                           tree _q71 = TREE_OPERAND (_q60, 1);
   11992            0 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   11993              :                             {
   11994            0 :                               {
   11995            0 :                                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q71 };
   11996            0 :                                 tree res = generic_simplify_139 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11997            0 :                                 if (res) return res;
   11998              :                               }
   11999              :                             }
   12000            0 :                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   12001              :                             {
   12002            0 :                               {
   12003            0 :                                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q70 };
   12004            0 :                                 tree res = generic_simplify_139 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   12005            0 :                                 if (res) return res;
   12006              :                               }
   12007              :                             }
   12008            0 :                           if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
   12009              :                             {
   12010            0 :                               {
   12011            0 :                                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q71 };
   12012            0 :                                 tree res = generic_simplify_139 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   12013            0 :                                 if (res) return res;
   12014              :                               }
   12015              :                             }
   12016            0 :                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   12017              :                             {
   12018            0 :                               {
   12019            0 :                                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q70 };
   12020            0 :                                 tree res = generic_simplify_139 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   12021            0 :                                 if (res) return res;
   12022              :                               }
   12023              :                             }
   12024              :                           break;
   12025              :                         }
   12026              :                       default:;
   12027              :                       }
   12028              :                     break;
   12029              :                   }
   12030            0 :                 case BIT_AND_EXPR:
   12031            0 :                   {
   12032            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   12033            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   12034            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12035              :                       {
   12036            0 :                         {
   12037            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q61 };
   12038            0 :                           tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   12039            0 :                           if (res) return res;
   12040              :                         }
   12041              :                       }
   12042            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   12043              :                       {
   12044            0 :                         {
   12045            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q60 };
   12046            0 :                           tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   12047            0 :                           if (res) return res;
   12048              :                         }
   12049              :                       }
   12050            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
   12051              :                       {
   12052            0 :                         {
   12053            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q61 };
   12054            0 :                           tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   12055            0 :                           if (res) return res;
   12056              :                         }
   12057              :                       }
   12058            0 :                     if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
   12059              :                       {
   12060            0 :                         {
   12061            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q60 };
   12062            0 :                           tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   12063            0 :                           if (res) return res;
   12064              :                         }
   12065              :                       }
   12066              :                     break;
   12067              :                   }
   12068              :                 default:;
   12069              :                 }
   12070              :               break;
   12071              :             }
   12072      1978742 :           default:;
   12073              :           }
   12074      1978742 :         switch (TREE_CODE (_p1))
   12075              :           {
   12076       811055 :           CASE_CONVERT:
   12077       811055 :             {
   12078       811055 :               tree _q40 = TREE_OPERAND (_p1, 0);
   12079       811055 :               {
   12080       811055 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   12081       811055 :                 tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   12082       811055 :                 if (res) return res;
   12083              :               }
   12084       811055 :               break;
   12085              :             }
   12086      1978742 :           default:;
   12087              :           }
   12088      1978742 :         {
   12089      1978742 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
   12090      1978742 :           tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   12091      1978742 :           if (res) return res;
   12092              :         }
   12093      1978742 :         break;
   12094              :       }
   12095         1583 :     case BIT_IOR_EXPR:
   12096         1583 :       {
   12097         1583 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12098         1583 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12099         1583 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12100              :           {
   12101            2 :             {
   12102            2 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   12103            2 :               tree res = generic_simplify_141 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12104            2 :               if (res) return res;
   12105              :             }
   12106              :           }
   12107         1581 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   12108              :           {
   12109            4 :             {
   12110            4 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   12111            4 :               tree res = generic_simplify_141 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12112            4 :               if (res) return res;
   12113              :             }
   12114              :           }
   12115         1577 :         switch (TREE_CODE (_p1))
   12116              :           {
   12117            1 :           case BIT_AND_EXPR:
   12118            1 :             {
   12119            1 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12120            1 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12121            1 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12122              :                 {
   12123            1 :                   {
   12124            1 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51 };
   12125            1 :                     tree res = generic_simplify_142 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12126            1 :                     if (res) return res;
   12127              :                   }
   12128              :                 }
   12129            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12130              :                 {
   12131            0 :                   {
   12132            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50 };
   12133            0 :                     tree res = generic_simplify_142 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12134            0 :                     if (res) return res;
   12135              :                   }
   12136              :                 }
   12137            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12138              :                 {
   12139            0 :                   {
   12140            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51 };
   12141            0 :                     tree res = generic_simplify_142 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12142            0 :                     if (res) return res;
   12143              :                   }
   12144              :                 }
   12145            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12146              :                 {
   12147            0 :                   {
   12148            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50 };
   12149            0 :                     tree res = generic_simplify_142 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12150            0 :                     if (res) return res;
   12151              :                   }
   12152              :                 }
   12153              :               break;
   12154              :             }
   12155          169 :           case BIT_NOT_EXPR:
   12156          169 :             {
   12157          169 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12158          169 :               switch (TREE_CODE (_q50))
   12159              :                 {
   12160            9 :                 case BIT_IOR_EXPR:
   12161            9 :                   {
   12162            9 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   12163            9 :                     tree _q61 = TREE_OPERAND (_q50, 1);
   12164            9 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   12165              :                       {
   12166            0 :                         {
   12167            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q61 };
   12168            0 :                           tree res = generic_simplify_143 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12169            0 :                           if (res) return res;
   12170              :                         }
   12171              :                       }
   12172            9 :                     if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
   12173              :                       {
   12174            1 :                         {
   12175            1 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q60 };
   12176            1 :                           tree res = generic_simplify_143 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12177            1 :                           if (res) return res;
   12178              :                         }
   12179              :                       }
   12180            8 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   12181              :                       {
   12182            0 :                         {
   12183            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q61 };
   12184            0 :                           tree res = generic_simplify_143 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12185            0 :                           if (res) return res;
   12186              :                         }
   12187              :                       }
   12188            8 :                     if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   12189              :                       {
   12190            0 :                         {
   12191            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q60 };
   12192            0 :                           tree res = generic_simplify_143 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12193            0 :                           if (res) return res;
   12194              :                         }
   12195              :                       }
   12196              :                     break;
   12197              :                   }
   12198              :                 default:;
   12199              :                 }
   12200              :               break;
   12201              :             }
   12202              :           default:;
   12203              :           }
   12204              :         break;
   12205              :       }
   12206      6417589 :     default:;
   12207              :     }
   12208      6417589 :   switch (TREE_CODE (_p1))
   12209              :     {
   12210          476 :     case BIT_IOR_EXPR:
   12211          476 :       {
   12212          476 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12213          476 :         tree _q31 = TREE_OPERAND (_p1, 1);
   12214          476 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12215              :           {
   12216            0 :             {
   12217            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
   12218            0 :               tree res = generic_simplify_141 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12219            0 :               if (res) return res;
   12220              :             }
   12221              :           }
   12222          476 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
   12223              :           {
   12224            0 :             {
   12225            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
   12226            0 :               tree res = generic_simplify_141 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12227            0 :               if (res) return res;
   12228              :             }
   12229              :           }
   12230              :         break;
   12231              :       }
   12232      6417589 :     default:;
   12233              :     }
   12234      6417589 :   switch (TREE_CODE (_p0))
   12235              :     {
   12236         1583 :     case BIT_AND_EXPR:
   12237         1583 :       {
   12238         1583 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12239         1583 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12240         1583 :         switch (TREE_CODE (_p1))
   12241              :           {
   12242           16 :           case BIT_IOR_EXPR:
   12243           16 :             {
   12244           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12245           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12246           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12247              :                 {
   12248            0 :                   {
   12249            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q51, _p0, _q21 };
   12250            0 :                     tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12251            0 :                     if (res) return res;
   12252              :                   }
   12253              :                 }
   12254           16 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12255              :                 {
   12256            0 :                   {
   12257            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q51, _p0, _q20 };
   12258            0 :                     tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12259            0 :                     if (res) return res;
   12260              :                   }
   12261              :                 }
   12262           16 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12263              :                 {
   12264            0 :                   {
   12265            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q50, _p0, _q21 };
   12266            0 :                     tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12267            0 :                     if (res) return res;
   12268              :                   }
   12269              :                 }
   12270           16 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12271              :                 {
   12272            0 :                   {
   12273            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20 };
   12274            0 :                     tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12275            0 :                     if (res) return res;
   12276              :                   }
   12277              :                 }
   12278              :               break;
   12279              :             }
   12280              :           default:;
   12281              :           }
   12282              :         break;
   12283              :       }
   12284        66999 :     case BIT_NOT_EXPR:
   12285        66999 :       {
   12286        66999 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12287        66999 :         switch (TREE_CODE (_q20))
   12288              :           {
   12289           11 :           case BIT_IOR_EXPR:
   12290           11 :             {
   12291           11 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12292           11 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12293           11 :               switch (TREE_CODE (_p1))
   12294              :                 {
   12295            0 :                 case BIT_IOR_EXPR:
   12296            0 :                   {
   12297            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   12298            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   12299            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   12300              :                       {
   12301            0 :                         {
   12302            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q30, _p0, _q31 };
   12303            0 :                           tree res = generic_simplify_145 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12304            0 :                           if (res) return res;
   12305              :                         }
   12306              :                       }
   12307            0 :                     if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
   12308              :                       {
   12309            0 :                         {
   12310            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q31, _p0, _q30 };
   12311            0 :                           tree res = generic_simplify_145 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12312            0 :                           if (res) return res;
   12313              :                         }
   12314              :                       }
   12315            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12316              :                       {
   12317            0 :                         {
   12318            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q61, _q30, _p0, _q31 };
   12319            0 :                           tree res = generic_simplify_145 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12320            0 :                           if (res) return res;
   12321              :                         }
   12322              :                       }
   12323            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
   12324              :                       {
   12325            0 :                         {
   12326            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q61, _q31, _p0, _q30 };
   12327            0 :                           tree res = generic_simplify_145 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12328            0 :                           if (res) return res;
   12329              :                         }
   12330              :                       }
   12331              :                     break;
   12332              :                   }
   12333           11 :                 default:;
   12334              :                 }
   12335           11 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   12336              :                 {
   12337            0 :                   {
   12338            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   12339            0 :                     tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12340            0 :                     if (res) return res;
   12341              :                   }
   12342              :                 }
   12343           11 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
   12344              :                 {
   12345            1 :                   {
   12346            1 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
   12347            1 :                     tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12348            1 :                     if (res) return res;
   12349              :                   }
   12350              :                 }
   12351              :               break;
   12352              :             }
   12353              :           default:;
   12354              :           }
   12355              :         break;
   12356              :       }
   12357      6417588 :     default:;
   12358              :     }
   12359      6417588 :   switch (TREE_CODE (_p1))
   12360              :     {
   12361        52888 :     case BIT_NOT_EXPR:
   12362        52888 :       {
   12363        52888 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12364        52888 :         switch (TREE_CODE (_q30))
   12365              :           {
   12366            8 :           case BIT_IOR_EXPR:
   12367            8 :             {
   12368            8 :               tree _q40 = TREE_OPERAND (_q30, 0);
   12369            8 :               tree _q41 = TREE_OPERAND (_q30, 1);
   12370            8 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   12371              :                 {
   12372            0 :                   {
   12373            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   12374            0 :                     tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12375            0 :                     if (res) return res;
   12376              :                   }
   12377              :                 }
   12378            8 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
   12379              :                 {
   12380            0 :                   {
   12381            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
   12382            0 :                     tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12383            0 :                     if (res) return res;
   12384              :                   }
   12385              :                 }
   12386              :               break;
   12387              :             }
   12388              :           default:;
   12389              :           }
   12390              :         break;
   12391              :       }
   12392      6417588 :     default:;
   12393              :     }
   12394      6417588 :   switch (TREE_CODE (_p0))
   12395              :     {
   12396         1575 :     case BIT_IOR_EXPR:
   12397         1575 :       {
   12398         1575 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12399         1575 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12400         1575 :         {
   12401         1575 :           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12402         1575 :           tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, BIT_AND_EXPR);
   12403         1575 :           if (res) return res;
   12404              :         }
   12405         1570 :         {
   12406         1570 :           tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12407         1570 :           tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, BIT_AND_EXPR);
   12408         1570 :           if (res) return res;
   12409              :         }
   12410         1570 :         if (CONSTANT_CLASS_P (_q21))
   12411              :           {
   12412          459 :             if (CONSTANT_CLASS_P (_p1))
   12413              :               {
   12414           25 :                 {
   12415           25 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12416           25 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1679;
   12417           25 :                   {
   12418           25 :                     if (! tree_invariant_p (captures[2])) goto next_after_fail1679;
   12419           25 :                     tree res_op0;
   12420           25 :                     {
   12421           25 :                       tree _o1[2], _r1;
   12422           25 :                       _o1[0] = captures[0];
   12423           25 :                       _o1[1] = unshare_expr (captures[2]);
   12424           25 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12425           25 :                       res_op0 = _r1;
   12426              :                     }
   12427           25 :                     tree res_op1;
   12428           25 :                     {
   12429           25 :                       tree _o1[2], _r1;
   12430           25 :                       _o1[0] = captures[1];
   12431           25 :                       _o1[1] = captures[2];
   12432           25 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12433           25 :                       if (EXPR_P (_r1))
   12434            0 :                         goto next_after_fail1679;
   12435           25 :                       res_op1 = _r1;
   12436              :                     }
   12437           25 :                     tree _r;
   12438           25 :                     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
   12439           25 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1017, __FILE__, __LINE__, true);
   12440           25 :                     return _r;
   12441              :                   }
   12442            0 : next_after_fail1679:;
   12443              :                 }
   12444              :               }
   12445              :           }
   12446              :         break;
   12447              :       }
   12448      6417558 :     default:;
   12449              :     }
   12450      6417558 :   switch (TREE_CODE (_p1))
   12451              :     {
   12452          476 :     case BIT_IOR_EXPR:
   12453          476 :       {
   12454          476 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12455          476 :         tree _q31 = TREE_OPERAND (_p1, 1);
   12456          476 :         {
   12457          476 :           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
   12458          476 :           tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, BIT_AND_EXPR);
   12459          476 :           if (res) return res;
   12460              :         }
   12461          476 :         {
   12462          476 :           tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
   12463          476 :           tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, BIT_AND_EXPR);
   12464          476 :           if (res) return res;
   12465              :         }
   12466          475 :         break;
   12467              :       }
   12468      6417557 :     default:;
   12469              :     }
   12470      6417557 :   switch (TREE_CODE (_p0))
   12471              :     {
   12472         1583 :     case BIT_AND_EXPR:
   12473         1583 :       {
   12474         1583 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12475         1583 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12476         1583 :         if (CONSTANT_CLASS_P (_q21))
   12477              :           {
   12478          508 :             if (CONSTANT_CLASS_P (_p1))
   12479              :               {
   12480          441 :                 {
   12481          441 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12482          441 :                   tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   12483          441 :                   if (res) return res;
   12484              :                 }
   12485              :               }
   12486              :           }
   12487              :         break;
   12488              :       }
   12489      6417116 :     default:;
   12490              :     }
   12491      6417116 :   {
   12492      6417116 :     tree _p1_pops[1];
   12493      6417116 :     if (tree_logical_inverted_value (_p1, _p1_pops))
   12494              :       {
   12495          897 :         tree _q30 = _p1_pops[0];
   12496          897 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12497              :           {
   12498            1 :             {
   12499            1 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   12500            1 :               tree res = generic_simplify_466 (loc, type, _p0, _p1, captures);
   12501            1 :               if (res) return res;
   12502              :             }
   12503              :           }
   12504              :       }
   12505              :   }
   12506      6417115 :   switch (TREE_CODE (_p0))
   12507              :     {
   12508      1978742 :     CASE_CONVERT:
   12509      1978742 :       {
   12510      1978742 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12511      1978742 :         switch (TREE_CODE (_q20))
   12512              :           {
   12513         6051 :           case NEGATE_EXPR:
   12514         6051 :             {
   12515         6051 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12516         6051 :               if (tree_zero_one_valued_p (_q30))
   12517              :                 {
   12518            2 :                   {
   12519            2 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
   12520            2 :                     tree res = generic_simplify_461 (loc, type, _p0, _p1, captures);
   12521            2 :                     if (res) return res;
   12522              :                   }
   12523              :                 }
   12524              :               break;
   12525              :             }
   12526              :           default:;
   12527              :           }
   12528              :         break;
   12529              :       }
   12530      6417113 :     default:;
   12531              :     }
   12532      6417113 : {
   12533      6417113 :   tree _p0_pops[1];
   12534      6417113 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   12535              :     {
   12536          526 :       tree _q20 = _p0_pops[0];
   12537          526 :       if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12538              :         {
   12539           12 :           {
   12540           12 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   12541           12 :             tree res = generic_simplify_466 (loc, type, _p0, _p1, captures);
   12542           12 :             if (res) return res;
   12543              :           }
   12544              :         }
   12545              :     }
   12546              : }
   12547      6417101 :   switch (TREE_CODE (_p1))
   12548              :     {
   12549       959074 :     CASE_CONVERT:
   12550       959074 :       {
   12551       959074 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12552       959074 :         switch (TREE_CODE (_q30))
   12553              :           {
   12554          108 :           case NEGATE_EXPR:
   12555          108 :             {
   12556          108 :               tree _q40 = TREE_OPERAND (_q30, 0);
   12557          108 :               if (tree_zero_one_valued_p (_q40))
   12558              :                 {
   12559           18 :                   {
   12560           18 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
   12561           18 :                     tree res = generic_simplify_461 (loc, type, _p0, _p1, captures);
   12562           18 :                     if (res) return res;
   12563              :                   }
   12564              :                 }
   12565              :               break;
   12566              :             }
   12567              :           default:;
   12568              :           }
   12569              :         break;
   12570              :       }
   12571        10735 :     case NEGATE_EXPR:
   12572        10735 :       {
   12573        10735 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12574        10735 :         if (tree_zero_one_valued_p (_q30))
   12575              :           {
   12576           24 :             {
   12577           24 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
   12578           24 :               tree res = generic_simplify_461 (loc, type, _p0, _p1, captures);
   12579           24 :               if (res) return res;
   12580              :             }
   12581              :           }
   12582              :         break;
   12583              :       }
   12584      6417059 :     default:;
   12585              :     }
   12586      6417059 :   switch (TREE_CODE (_p0))
   12587              :     {
   12588        47144 :     case NEGATE_EXPR:
   12589        47144 :       {
   12590        47144 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12591        47144 :         switch (TREE_CODE (_q20))
   12592              :           {
   12593         5463 :           CASE_CONVERT:
   12594         5463 :             {
   12595         5463 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12596         5463 :               switch (TREE_CODE (_q30))
   12597              :                 {
   12598            0 :                 case LT_EXPR:
   12599            0 :                   {
   12600            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12601            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12602            0 :                     {
   12603            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12604            0 :                       tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, LT_EXPR);
   12605            0 :                       if (res) return res;
   12606              :                     }
   12607            0 :                     break;
   12608              :                   }
   12609            0 :                 case LE_EXPR:
   12610            0 :                   {
   12611            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12612            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12613            0 :                     {
   12614            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12615            0 :                       tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, LE_EXPR);
   12616            0 :                       if (res) return res;
   12617              :                     }
   12618            0 :                     break;
   12619              :                   }
   12620            0 :                 case EQ_EXPR:
   12621            0 :                   {
   12622            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12623            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12624            0 :                     {
   12625            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12626            0 :                       tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, EQ_EXPR);
   12627            0 :                       if (res) return res;
   12628              :                     }
   12629            0 :                     break;
   12630              :                   }
   12631            0 :                 case NE_EXPR:
   12632            0 :                   {
   12633            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12634            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12635            0 :                     {
   12636            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12637            0 :                       tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, NE_EXPR);
   12638            0 :                       if (res) return res;
   12639              :                     }
   12640            0 :                     break;
   12641              :                   }
   12642            0 :                 case GE_EXPR:
   12643            0 :                   {
   12644            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12645            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12646            0 :                     {
   12647            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12648            0 :                       tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, GE_EXPR);
   12649            0 :                       if (res) return res;
   12650              :                     }
   12651            0 :                     break;
   12652              :                   }
   12653            0 :                 case GT_EXPR:
   12654            0 :                   {
   12655            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12656            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12657            0 :                     {
   12658            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12659            0 :                       tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, GT_EXPR);
   12660            0 :                       if (res) return res;
   12661              :                     }
   12662            0 :                     break;
   12663              :                   }
   12664            0 :                 case UNORDERED_EXPR:
   12665            0 :                   {
   12666            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12667            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12668            0 :                     {
   12669            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12670            0 :                       tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
   12671            0 :                       if (res) return res;
   12672              :                     }
   12673            0 :                     break;
   12674              :                   }
   12675            0 :                 case ORDERED_EXPR:
   12676            0 :                   {
   12677            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12678            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12679            0 :                     {
   12680            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12681            0 :                       tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
   12682            0 :                       if (res) return res;
   12683              :                     }
   12684            0 :                     break;
   12685              :                   }
   12686            0 :                 case UNLT_EXPR:
   12687            0 :                   {
   12688            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12689            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12690            0 :                     {
   12691            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12692            0 :                       tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   12693            0 :                       if (res) return res;
   12694              :                     }
   12695            0 :                     break;
   12696              :                   }
   12697            0 :                 case UNLE_EXPR:
   12698            0 :                   {
   12699            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12700            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12701            0 :                     {
   12702            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12703            0 :                       tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, UNLE_EXPR);
   12704            0 :                       if (res) return res;
   12705              :                     }
   12706            0 :                     break;
   12707              :                   }
   12708            0 :                 case UNGT_EXPR:
   12709            0 :                   {
   12710            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12711            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12712            0 :                     {
   12713            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12714            0 :                       tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, UNGT_EXPR);
   12715            0 :                       if (res) return res;
   12716              :                     }
   12717            0 :                     break;
   12718              :                   }
   12719            0 :                 case UNGE_EXPR:
   12720            0 :                   {
   12721            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12722            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12723            0 :                     {
   12724            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12725            0 :                       tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, UNGE_EXPR);
   12726            0 :                       if (res) return res;
   12727              :                     }
   12728            0 :                     break;
   12729              :                   }
   12730            0 :                 case UNEQ_EXPR:
   12731            0 :                   {
   12732            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12733            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12734            0 :                     {
   12735            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12736            0 :                       tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
   12737            0 :                       if (res) return res;
   12738              :                     }
   12739            0 :                     break;
   12740              :                   }
   12741            0 :                 case LTGT_EXPR:
   12742            0 :                   {
   12743            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12744            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12745            0 :                     {
   12746            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12747            0 :                       tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, LTGT_EXPR);
   12748            0 :                       if (res) return res;
   12749              :                     }
   12750            0 :                     break;
   12751              :                   }
   12752              :                 default:;
   12753              :                 }
   12754              :               break;
   12755              :             }
   12756              :           default:;
   12757              :           }
   12758              :         break;
   12759              :       }
   12760      6417059 :     default:;
   12761              :     }
   12762      6417059 :   switch (TREE_CODE (_p1))
   12763              :     {
   12764        10711 :     case NEGATE_EXPR:
   12765        10711 :       {
   12766        10711 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12767        10711 :         switch (TREE_CODE (_q30))
   12768              :           {
   12769           65 :           CASE_CONVERT:
   12770           65 :             {
   12771           65 :               tree _q40 = TREE_OPERAND (_q30, 0);
   12772           65 :               switch (TREE_CODE (_q40))
   12773              :                 {
   12774            0 :                 case LT_EXPR:
   12775            0 :                   {
   12776            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12777            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12778            0 :                     {
   12779            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12780            0 :                       tree res = generic_simplify_468 (loc, type, _p0, _p1, captures, LT_EXPR);
   12781            0 :                       if (res) return res;
   12782              :                     }
   12783            0 :                     break;
   12784              :                   }
   12785            0 :                 case LE_EXPR:
   12786            0 :                   {
   12787            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12788            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12789            0 :                     {
   12790            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12791            0 :                       tree res = generic_simplify_468 (loc, type, _p0, _p1, captures, LE_EXPR);
   12792            0 :                       if (res) return res;
   12793              :                     }
   12794            0 :                     break;
   12795              :                   }
   12796            0 :                 case EQ_EXPR:
   12797            0 :                   {
   12798            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12799            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12800            0 :                     {
   12801            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12802            0 :                       tree res = generic_simplify_468 (loc, type, _p0, _p1, captures, EQ_EXPR);
   12803            0 :                       if (res) return res;
   12804              :                     }
   12805            0 :                     break;
   12806              :                   }
   12807            0 :                 case NE_EXPR:
   12808            0 :                   {
   12809            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12810            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12811            0 :                     {
   12812            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12813            0 :                       tree res = generic_simplify_468 (loc, type, _p0, _p1, captures, NE_EXPR);
   12814            0 :                       if (res) return res;
   12815              :                     }
   12816            0 :                     break;
   12817              :                   }
   12818            0 :                 case GE_EXPR:
   12819            0 :                   {
   12820            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12821            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12822            0 :                     {
   12823            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12824            0 :                       tree res = generic_simplify_468 (loc, type, _p0, _p1, captures, GE_EXPR);
   12825            0 :                       if (res) return res;
   12826              :                     }
   12827            0 :                     break;
   12828              :                   }
   12829            0 :                 case GT_EXPR:
   12830            0 :                   {
   12831            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12832            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12833            0 :                     {
   12834            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12835            0 :                       tree res = generic_simplify_468 (loc, type, _p0, _p1, captures, GT_EXPR);
   12836            0 :                       if (res) return res;
   12837              :                     }
   12838            0 :                     break;
   12839              :                   }
   12840            0 :                 case UNORDERED_EXPR:
   12841            0 :                   {
   12842            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12843            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12844            0 :                     {
   12845            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12846            0 :                       tree res = generic_simplify_468 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
   12847            0 :                       if (res) return res;
   12848              :                     }
   12849            0 :                     break;
   12850              :                   }
   12851            0 :                 case ORDERED_EXPR:
   12852            0 :                   {
   12853            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12854            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12855            0 :                     {
   12856            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12857            0 :                       tree res = generic_simplify_468 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
   12858            0 :                       if (res) return res;
   12859              :                     }
   12860            0 :                     break;
   12861              :                   }
   12862            0 :                 case UNLT_EXPR:
   12863            0 :                   {
   12864            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12865            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12866            0 :                     {
   12867            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12868            0 :                       tree res = generic_simplify_468 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   12869            0 :                       if (res) return res;
   12870              :                     }
   12871            0 :                     break;
   12872              :                   }
   12873            0 :                 case UNLE_EXPR:
   12874            0 :                   {
   12875            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12876            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12877            0 :                     {
   12878            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12879            0 :                       tree res = generic_simplify_468 (loc, type, _p0, _p1, captures, UNLE_EXPR);
   12880            0 :                       if (res) return res;
   12881              :                     }
   12882            0 :                     break;
   12883              :                   }
   12884            0 :                 case UNGT_EXPR:
   12885            0 :                   {
   12886            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12887            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12888            0 :                     {
   12889            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12890            0 :                       tree res = generic_simplify_468 (loc, type, _p0, _p1, captures, UNGT_EXPR);
   12891            0 :                       if (res) return res;
   12892              :                     }
   12893            0 :                     break;
   12894              :                   }
   12895            0 :                 case UNGE_EXPR:
   12896            0 :                   {
   12897            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12898            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12899            0 :                     {
   12900            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12901            0 :                       tree res = generic_simplify_468 (loc, type, _p0, _p1, captures, UNGE_EXPR);
   12902            0 :                       if (res) return res;
   12903              :                     }
   12904            0 :                     break;
   12905              :                   }
   12906            0 :                 case UNEQ_EXPR:
   12907            0 :                   {
   12908            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12909            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12910            0 :                     {
   12911            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12912            0 :                       tree res = generic_simplify_468 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
   12913            0 :                       if (res) return res;
   12914              :                     }
   12915            0 :                     break;
   12916              :                   }
   12917            0 :                 case LTGT_EXPR:
   12918            0 :                   {
   12919            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12920            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12921            0 :                     {
   12922            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12923            0 :                       tree res = generic_simplify_468 (loc, type, _p0, _p1, captures, LTGT_EXPR);
   12924            0 :                       if (res) return res;
   12925              :                     }
   12926            0 :                     break;
   12927              :                   }
   12928              :                 default:;
   12929              :                 }
   12930              :               break;
   12931              :             }
   12932              :           default:;
   12933              :           }
   12934              :         break;
   12935              :       }
   12936      6417059 :     default:;
   12937              :     }
   12938      6417059 :   switch (TREE_CODE (_p0))
   12939              :     {
   12940      1978738 :     CASE_CONVERT:
   12941      1978738 :       {
   12942      1978738 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12943      1978738 :         switch (TREE_CODE (_p1))
   12944              :           {
   12945       910845 :           case INTEGER_CST:
   12946       910845 :             {
   12947       910845 :               {
   12948       910845 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12949       910845 :                 tree res = generic_simplify_469 (loc, type, _p0, _p1, captures);
   12950       910845 :                 if (res) return res;
   12951              :               }
   12952       905384 :               break;
   12953              :             }
   12954              :           default:;
   12955              :           }
   12956              :         break;
   12957              :       }
   12958      6411598 :     default:;
   12959              :     }
   12960      6411598 :   switch (TREE_CODE (_p1))
   12961              :     {
   12962      4405910 :     case INTEGER_CST:
   12963      4405910 :       {
   12964      4405910 :         {
   12965      4405910 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   12966      4405910 :           tree res = generic_simplify_469 (loc, type, _p0, _p1, captures);
   12967      4405910 :           if (res) return res;
   12968              :         }
   12969      4405910 :         break;
   12970              :       }
   12971      6411598 :     default:;
   12972              :     }
   12973      6411598 :   switch (TREE_CODE (_p0))
   12974              :     {
   12975          356 :     case GT_EXPR:
   12976          356 :       {
   12977          356 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12978          356 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12979          356 :         switch (TREE_CODE (_p1))
   12980              :           {
   12981           59 :           case EQ_EXPR:
   12982           59 :             {
   12983           59 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12984           59 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12985           59 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12986              :                 {
   12987            8 :                   if (tree_min_value (_q51))
   12988              :                     {
   12989            4 :                       {
   12990            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   12991            4 :                         tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, EQ_EXPR);
   12992            4 :                         if (res) return res;
   12993              :                       }
   12994              :                     }
   12995              :                 }
   12996           55 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12997              :                 {
   12998            0 :                   if (tree_max_value (_q51))
   12999              :                     {
   13000            0 :                       {
   13001            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   13002            0 :                         tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13003            0 :                         if (res) return res;
   13004              :                       }
   13005              :                     }
   13006              :                 }
   13007              :               break;
   13008              :             }
   13009            4 :           case NE_EXPR:
   13010            4 :             {
   13011            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13012            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13013            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13014              :                 {
   13015            4 :                   if (tree_min_value (_q51))
   13016              :                     {
   13017            4 :                       {
   13018            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   13019            4 :                         tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, NE_EXPR);
   13020            4 :                         if (res) return res;
   13021              :                       }
   13022              :                     }
   13023              :                 }
   13024            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13025              :                 {
   13026            0 :                   if (tree_max_value (_q51))
   13027              :                     {
   13028            0 :                       {
   13029            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   13030            0 :                         tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, NE_EXPR);
   13031            0 :                         if (res) return res;
   13032              :                       }
   13033              :                     }
   13034              :                 }
   13035              :               break;
   13036              :             }
   13037          348 :           default:;
   13038              :           }
   13039          348 :         switch (TREE_CODE (_q20))
   13040              :           {
   13041            0 :           CASE_CONVERT:
   13042            0 :             {
   13043            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13044            0 :               switch (TREE_CODE (_p1))
   13045              :                 {
   13046            0 :                 case EQ_EXPR:
   13047            0 :                   {
   13048            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13049            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13050            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13051              :                       {
   13052            0 :                         {
   13053            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   13054            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13055            0 :                           if (res) return res;
   13056              :                         }
   13057              :                       }
   13058            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   13059              :                       {
   13060            0 :                         {
   13061            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   13062            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13063            0 :                           if (res) return res;
   13064              :                         }
   13065              :                       }
   13066              :                     break;
   13067              :                   }
   13068            0 :                 case NE_EXPR:
   13069            0 :                   {
   13070            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13071            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13072            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13073              :                       {
   13074            0 :                         {
   13075            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   13076            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13077            0 :                           if (res) return res;
   13078              :                         }
   13079              :                       }
   13080            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   13081              :                       {
   13082            0 :                         {
   13083            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   13084            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13085            0 :                           if (res) return res;
   13086              :                         }
   13087              :                       }
   13088              :                     break;
   13089              :                   }
   13090              :                 default:;
   13091              :                 }
   13092              :               break;
   13093              :             }
   13094          348 :           default:;
   13095              :           }
   13096          348 :         switch (TREE_CODE (_q21))
   13097              :           {
   13098            0 :           CASE_CONVERT:
   13099            0 :             {
   13100            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   13101            0 :               switch (TREE_CODE (_p1))
   13102              :                 {
   13103            0 :                 case EQ_EXPR:
   13104            0 :                   {
   13105            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13106            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13107            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   13108              :                       {
   13109            0 :                         {
   13110            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   13111            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13112            0 :                           if (res) return res;
   13113              :                         }
   13114              :                       }
   13115            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   13116              :                       {
   13117            0 :                         {
   13118            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   13119            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13120            0 :                           if (res) return res;
   13121              :                         }
   13122              :                       }
   13123              :                     break;
   13124              :                   }
   13125            0 :                 case NE_EXPR:
   13126            0 :                   {
   13127            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13128            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13129            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   13130              :                       {
   13131            0 :                         {
   13132            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   13133            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13134            0 :                           if (res) return res;
   13135              :                         }
   13136              :                       }
   13137            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   13138              :                       {
   13139            0 :                         {
   13140            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   13141            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13142            0 :                           if (res) return res;
   13143              :                         }
   13144              :                       }
   13145              :                     break;
   13146              :                   }
   13147              :                 default:;
   13148              :                 }
   13149              :               break;
   13150              :             }
   13151          348 :           default:;
   13152              :           }
   13153          348 :         switch (TREE_CODE (_p1))
   13154              :           {
   13155           55 :           case EQ_EXPR:
   13156           55 :             {
   13157           55 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13158           55 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13159           55 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13160              :                 {
   13161            4 :                   {
   13162            4 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   13163            4 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13164            4 :                     if (res) return res;
   13165              :                   }
   13166              :                 }
   13167           55 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13168              :                 {
   13169            0 :                   {
   13170            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   13171            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13172            0 :                     if (res) return res;
   13173              :                   }
   13174              :                 }
   13175           55 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13176              :                 {
   13177            0 :                   {
   13178            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   13179            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13180            0 :                     if (res) return res;
   13181              :                   }
   13182              :                 }
   13183           55 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13184              :                 {
   13185            0 :                   {
   13186            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   13187            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13188            0 :                     if (res) return res;
   13189              :                   }
   13190              :                 }
   13191              :               break;
   13192              :             }
   13193            0 :           case NE_EXPR:
   13194            0 :             {
   13195            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13196            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13197            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13198              :                 {
   13199            0 :                   {
   13200            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   13201            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13202            0 :                     if (res) return res;
   13203              :                   }
   13204              :                 }
   13205            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13206              :                 {
   13207            0 :                   {
   13208            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   13209            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13210            0 :                     if (res) return res;
   13211              :                   }
   13212              :                 }
   13213            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13214              :                 {
   13215            0 :                   {
   13216            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   13217            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13218            0 :                     if (res) return res;
   13219              :                   }
   13220              :                 }
   13221            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13222              :                 {
   13223            0 :                   {
   13224            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   13225            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13226            0 :                     if (res) return res;
   13227              :                   }
   13228              :                 }
   13229              :               break;
   13230              :             }
   13231           67 :           case LT_EXPR:
   13232           67 :             {
   13233           67 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13234           67 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13235           67 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13236              :                 {
   13237            4 :                   {
   13238            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13239            4 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
   13240            4 :                     if (res) return res;
   13241              :                   }
   13242              :                 }
   13243           67 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13244              :                 {
   13245            0 :                   {
   13246            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13247            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
   13248            0 :                     if (res) return res;
   13249              :                   }
   13250              :                 }
   13251           67 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13252              :                 {
   13253            0 :                   {
   13254            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13255            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
   13256            0 :                     if (res) return res;
   13257              :                   }
   13258              :                 }
   13259           67 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13260              :                 {
   13261            4 :                   {
   13262            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13263            4 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
   13264            4 :                     if (res) return res;
   13265              :                   }
   13266              :                 }
   13267              :               break;
   13268              :             }
   13269           72 :           case LE_EXPR:
   13270           72 :             {
   13271           72 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13272           72 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13273           72 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13274              :                 {
   13275           23 :                   {
   13276           23 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13277           23 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
   13278           23 :                     if (res) return res;
   13279              :                   }
   13280              :                 }
   13281           72 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13282              :                 {
   13283            0 :                   {
   13284            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13285            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
   13286            0 :                     if (res) return res;
   13287              :                   }
   13288              :                 }
   13289           72 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13290              :                 {
   13291            0 :                   {
   13292            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13293            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
   13294            0 :                     if (res) return res;
   13295              :                   }
   13296              :                 }
   13297           72 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13298              :                 {
   13299            0 :                   {
   13300            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13301            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
   13302            0 :                     if (res) return res;
   13303              :                   }
   13304              :                 }
   13305              :               break;
   13306              :             }
   13307           85 :           case GT_EXPR:
   13308           85 :             {
   13309           85 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13310           85 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13311           85 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13312              :                 {
   13313            0 :                   {
   13314            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13315            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
   13316            0 :                     if (res) return res;
   13317              :                   }
   13318              :                 }
   13319           85 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13320              :                 {
   13321            0 :                   {
   13322            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13323            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
   13324            0 :                     if (res) return res;
   13325              :                   }
   13326              :                 }
   13327           85 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13328              :                 {
   13329            0 :                   {
   13330            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13331            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
   13332            0 :                     if (res) return res;
   13333              :                   }
   13334              :                 }
   13335           85 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13336              :                 {
   13337           35 :                   {
   13338           35 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13339           35 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
   13340           35 :                     if (res) return res;
   13341              :                   }
   13342              :                 }
   13343              :               break;
   13344              :             }
   13345            0 :           case GE_EXPR:
   13346            0 :             {
   13347            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13348            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13349            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13350              :                 {
   13351            0 :                   {
   13352            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13353            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
   13354            0 :                     if (res) return res;
   13355              :                   }
   13356              :                 }
   13357            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13358              :                 {
   13359            0 :                   {
   13360            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13361            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
   13362            0 :                     if (res) return res;
   13363              :                   }
   13364              :                 }
   13365            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13366              :                 {
   13367            0 :                   {
   13368            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13369            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
   13370            0 :                     if (res) return res;
   13371              :                   }
   13372              :                 }
   13373            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13374              :                 {
   13375            0 :                   {
   13376            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13377            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
   13378            0 :                     if (res) return res;
   13379              :                   }
   13380              :                 }
   13381              :               break;
   13382              :             }
   13383              :           default:;
   13384              :           }
   13385              :         break;
   13386              :       }
   13387           92 :     case LT_EXPR:
   13388           92 :       {
   13389           92 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13390           92 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13391           92 :         switch (TREE_CODE (_p1))
   13392              :           {
   13393           35 :           case EQ_EXPR:
   13394           35 :             {
   13395           35 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13396           35 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13397           35 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13398              :                 {
   13399            0 :                   if (tree_min_value (_q51))
   13400              :                     {
   13401            0 :                       {
   13402            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   13403            0 :                         tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13404            0 :                         if (res) return res;
   13405              :                       }
   13406              :                     }
   13407              :                 }
   13408           35 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13409              :                 {
   13410            4 :                   if (tree_max_value (_q51))
   13411              :                     {
   13412            4 :                       {
   13413            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   13414            4 :                         tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13415            4 :                         if (res) return res;
   13416              :                       }
   13417              :                     }
   13418              :                 }
   13419              :               break;
   13420              :             }
   13421            6 :           case NE_EXPR:
   13422            6 :             {
   13423            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13424            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13425            6 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13426              :                 {
   13427            0 :                   if (tree_min_value (_q51))
   13428              :                     {
   13429            0 :                       {
   13430            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   13431            0 :                         tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, NE_EXPR);
   13432            0 :                         if (res) return res;
   13433              :                       }
   13434              :                     }
   13435              :                 }
   13436            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13437              :                 {
   13438            4 :                   if (tree_max_value (_q51))
   13439              :                     {
   13440            4 :                       {
   13441            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   13442            4 :                         tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, NE_EXPR);
   13443            4 :                         if (res) return res;
   13444              :                       }
   13445              :                     }
   13446              :                 }
   13447              :               break;
   13448              :             }
   13449           84 :           default:;
   13450              :           }
   13451           84 :         switch (TREE_CODE (_q20))
   13452              :           {
   13453            8 :           CASE_CONVERT:
   13454            8 :             {
   13455            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13456            8 :               switch (TREE_CODE (_p1))
   13457              :                 {
   13458            0 :                 case EQ_EXPR:
   13459            0 :                   {
   13460            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13461            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13462            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13463              :                       {
   13464            0 :                         {
   13465            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   13466            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13467            0 :                           if (res) return res;
   13468              :                         }
   13469              :                       }
   13470            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   13471              :                       {
   13472            0 :                         {
   13473            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   13474            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13475            0 :                           if (res) return res;
   13476              :                         }
   13477              :                       }
   13478              :                     break;
   13479              :                   }
   13480            0 :                 case NE_EXPR:
   13481            0 :                   {
   13482            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13483            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13484            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13485              :                       {
   13486            0 :                         {
   13487            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   13488            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13489            0 :                           if (res) return res;
   13490              :                         }
   13491              :                       }
   13492            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   13493              :                       {
   13494            0 :                         {
   13495            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   13496            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13497            0 :                           if (res) return res;
   13498              :                         }
   13499              :                       }
   13500              :                     break;
   13501              :                   }
   13502              :                 default:;
   13503              :                 }
   13504              :               break;
   13505              :             }
   13506           84 :           default:;
   13507              :           }
   13508           84 :         switch (TREE_CODE (_q21))
   13509              :           {
   13510            5 :           CASE_CONVERT:
   13511            5 :             {
   13512            5 :               tree _q40 = TREE_OPERAND (_q21, 0);
   13513            5 :               switch (TREE_CODE (_p1))
   13514              :                 {
   13515            0 :                 case EQ_EXPR:
   13516            0 :                   {
   13517            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13518            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13519            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   13520              :                       {
   13521            0 :                         {
   13522            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   13523            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13524            0 :                           if (res) return res;
   13525              :                         }
   13526              :                       }
   13527            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   13528              :                       {
   13529            0 :                         {
   13530            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   13531            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13532            0 :                           if (res) return res;
   13533              :                         }
   13534              :                       }
   13535              :                     break;
   13536              :                   }
   13537            0 :                 case NE_EXPR:
   13538            0 :                   {
   13539            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13540            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13541            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   13542              :                       {
   13543            0 :                         {
   13544            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   13545            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13546            0 :                           if (res) return res;
   13547              :                         }
   13548              :                       }
   13549            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   13550              :                       {
   13551            0 :                         {
   13552            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   13553            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13554            0 :                           if (res) return res;
   13555              :                         }
   13556              :                       }
   13557              :                     break;
   13558              :                   }
   13559              :                 default:;
   13560              :                 }
   13561              :               break;
   13562              :             }
   13563           84 :           default:;
   13564              :           }
   13565           84 :         switch (TREE_CODE (_p1))
   13566              :           {
   13567           31 :           case EQ_EXPR:
   13568           31 :             {
   13569           31 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13570           31 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13571           31 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13572              :                 {
   13573            0 :                   {
   13574            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   13575            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13576            0 :                     if (res) return res;
   13577              :                   }
   13578              :                 }
   13579           31 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13580              :                 {
   13581            0 :                   {
   13582            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   13583            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13584            0 :                     if (res) return res;
   13585              :                   }
   13586              :                 }
   13587           31 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13588              :                 {
   13589            0 :                   {
   13590            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   13591            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13592            0 :                     if (res) return res;
   13593              :                   }
   13594              :                 }
   13595           31 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13596              :                 {
   13597            0 :                   {
   13598            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   13599            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13600            0 :                     if (res) return res;
   13601              :                   }
   13602              :                 }
   13603              :               break;
   13604              :             }
   13605            2 :           case NE_EXPR:
   13606            2 :             {
   13607            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13608            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13609            2 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13610              :                 {
   13611            0 :                   {
   13612            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   13613            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13614            0 :                     if (res) return res;
   13615              :                   }
   13616              :                 }
   13617            2 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13618              :                 {
   13619            0 :                   {
   13620            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   13621            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13622            0 :                     if (res) return res;
   13623              :                   }
   13624              :                 }
   13625            2 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13626              :                 {
   13627            0 :                   {
   13628            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   13629            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13630            0 :                     if (res) return res;
   13631              :                   }
   13632              :                 }
   13633            2 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13634              :                 {
   13635            2 :                   {
   13636            2 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   13637            2 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13638            2 :                     if (res) return res;
   13639              :                   }
   13640              :                 }
   13641              :               break;
   13642              :             }
   13643            8 :           case LT_EXPR:
   13644            8 :             {
   13645            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13646            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13647            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13648              :                 {
   13649            0 :                   {
   13650            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13651            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
   13652            0 :                     if (res) return res;
   13653              :                   }
   13654              :                 }
   13655            8 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13656              :                 {
   13657            0 :                   {
   13658            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13659            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
   13660            0 :                     if (res) return res;
   13661              :                   }
   13662              :                 }
   13663            8 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13664              :                 {
   13665            0 :                   {
   13666            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13667            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
   13668            0 :                     if (res) return res;
   13669              :                   }
   13670              :                 }
   13671            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13672              :                 {
   13673            0 :                   {
   13674            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13675            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
   13676            0 :                     if (res) return res;
   13677              :                   }
   13678              :                 }
   13679              :               break;
   13680              :             }
   13681            0 :           case LE_EXPR:
   13682            0 :             {
   13683            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13684            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13685            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13686              :                 {
   13687            0 :                   {
   13688            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13689            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
   13690            0 :                     if (res) return res;
   13691              :                   }
   13692              :                 }
   13693            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13694              :                 {
   13695            0 :                   {
   13696            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13697            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
   13698            0 :                     if (res) return res;
   13699              :                   }
   13700              :                 }
   13701            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13702              :                 {
   13703            0 :                   {
   13704            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13705            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
   13706            0 :                     if (res) return res;
   13707              :                   }
   13708              :                 }
   13709            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13710              :                 {
   13711            0 :                   {
   13712            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13713            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
   13714            0 :                     if (res) return res;
   13715              :                   }
   13716              :                 }
   13717              :               break;
   13718              :             }
   13719            5 :           case GT_EXPR:
   13720            5 :             {
   13721            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13722            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13723            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13724              :                 {
   13725            4 :                   {
   13726            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13727            4 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
   13728            4 :                     if (res) return res;
   13729              :                   }
   13730              :                 }
   13731            1 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13732              :                 {
   13733            0 :                   {
   13734            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13735            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
   13736            0 :                     if (res) return res;
   13737              :                   }
   13738              :                 }
   13739            1 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13740              :                 {
   13741            0 :                   {
   13742            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13743            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
   13744            0 :                     if (res) return res;
   13745              :                   }
   13746              :                 }
   13747            1 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13748              :                 {
   13749            0 :                   {
   13750            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13751            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
   13752            0 :                     if (res) return res;
   13753              :                   }
   13754              :                 }
   13755              :               break;
   13756              :             }
   13757            0 :           case GE_EXPR:
   13758            0 :             {
   13759            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13760            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13761            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13762              :                 {
   13763            0 :                   {
   13764            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13765            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
   13766            0 :                     if (res) return res;
   13767              :                   }
   13768              :                 }
   13769            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13770              :                 {
   13771            0 :                   {
   13772            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13773            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
   13774            0 :                     if (res) return res;
   13775              :                   }
   13776              :                 }
   13777            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13778              :                 {
   13779            0 :                   {
   13780            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13781            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
   13782            0 :                     if (res) return res;
   13783              :                   }
   13784              :                 }
   13785            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13786              :                 {
   13787            0 :                   {
   13788            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13789            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
   13790            0 :                     if (res) return res;
   13791              :                   }
   13792              :                 }
   13793              :               break;
   13794              :             }
   13795              :           default:;
   13796              :           }
   13797              :         break;
   13798              :       }
   13799         1072 :     case EQ_EXPR:
   13800         1072 :       {
   13801         1072 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13802         1072 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13803         1072 :         if (tree_min_value (_q21))
   13804              :           {
   13805           40 :             switch (TREE_CODE (_p1))
   13806              :               {
   13807            0 :               case GT_EXPR:
   13808            0 :                 {
   13809            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13810            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13811            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13812              :                     {
   13813            0 :                       {
   13814            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
   13815            0 :                         tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13816            0 :                         if (res) return res;
   13817              :                       }
   13818              :                     }
   13819              :                   break;
   13820              :                 }
   13821           14 :               case LT_EXPR:
   13822           14 :                 {
   13823           14 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13824           14 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13825           14 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13826              :                     {
   13827            0 :                       {
   13828            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
   13829            0 :                         tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13830            0 :                         if (res) return res;
   13831              :                       }
   13832              :                     }
   13833              :                   break;
   13834              :                 }
   13835            0 :               case LE_EXPR:
   13836            0 :                 {
   13837            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13838            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13839            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13840              :                     {
   13841            0 :                       {
   13842            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
   13843            0 :                         tree res = generic_simplify_476 (loc, type, _p0, _p1, captures);
   13844            0 :                         if (res) return res;
   13845              :                       }
   13846              :                     }
   13847              :                   break;
   13848              :                 }
   13849            0 :               case GE_EXPR:
   13850            0 :                 {
   13851            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13852            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13853            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13854              :                     {
   13855            0 :                       {
   13856            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
   13857            0 :                         tree res = generic_simplify_476 (loc, type, _p0, _p1, captures);
   13858            0 :                         if (res) return res;
   13859              :                       }
   13860              :                     }
   13861              :                   break;
   13862              :                 }
   13863              :               default:;
   13864              :               }
   13865              :           }
   13866         1072 :         if (tree_max_value (_q21))
   13867              :           {
   13868            0 :             switch (TREE_CODE (_p1))
   13869              :               {
   13870            0 :               case LT_EXPR:
   13871            0 :                 {
   13872            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13873            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13874            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13875              :                     {
   13876            0 :                       {
   13877            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
   13878            0 :                         tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13879            0 :                         if (res) return res;
   13880              :                       }
   13881              :                     }
   13882              :                   break;
   13883              :                 }
   13884            0 :               case GT_EXPR:
   13885            0 :                 {
   13886            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13887            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13888            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13889              :                     {
   13890            0 :                       {
   13891            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
   13892            0 :                         tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13893            0 :                         if (res) return res;
   13894              :                       }
   13895              :                     }
   13896              :                   break;
   13897              :                 }
   13898            0 :               case GE_EXPR:
   13899            0 :                 {
   13900            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13901            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13902            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13903              :                     {
   13904            0 :                       {
   13905            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
   13906            0 :                         tree res = generic_simplify_478 (loc, type, _p0, _p1, captures);
   13907            0 :                         if (res) return res;
   13908              :                       }
   13909              :                     }
   13910              :                   break;
   13911              :                 }
   13912            0 :               case LE_EXPR:
   13913            0 :                 {
   13914            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13915            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13916            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13917              :                     {
   13918            0 :                       {
   13919            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
   13920            0 :                         tree res = generic_simplify_478 (loc, type, _p0, _p1, captures);
   13921            0 :                         if (res) return res;
   13922              :                       }
   13923              :                     }
   13924              :                   break;
   13925              :                 }
   13926              :               default:;
   13927              :               }
   13928              :           }
   13929         1072 :         switch (TREE_CODE (_p1))
   13930              :           {
   13931          537 :           case EQ_EXPR:
   13932          537 :             {
   13933          537 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13934          537 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13935          537 :               switch (TREE_CODE (_q50))
   13936              :                 {
   13937            0 :                 CASE_CONVERT:
   13938            0 :                   {
   13939            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   13940            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13941              :                       {
   13942            0 :                         {
   13943            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   13944            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   13945            0 :                           if (res) return res;
   13946              :                         }
   13947              :                       }
   13948            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   13949              :                       {
   13950            0 :                         {
   13951            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   13952            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   13953            0 :                           if (res) return res;
   13954              :                         }
   13955              :                       }
   13956              :                     break;
   13957              :                   }
   13958          537 :                 default:;
   13959              :                 }
   13960          537 :               switch (TREE_CODE (_q51))
   13961              :                 {
   13962            0 :                 CASE_CONVERT:
   13963            0 :                   {
   13964            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   13965            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   13966              :                       {
   13967            0 :                         {
   13968            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   13969            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   13970            0 :                           if (res) return res;
   13971              :                         }
   13972              :                       }
   13973            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   13974              :                       {
   13975            0 :                         {
   13976            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   13977            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   13978            0 :                           if (res) return res;
   13979              :                         }
   13980              :                       }
   13981              :                     break;
   13982              :                   }
   13983              :                 default:;
   13984              :                 }
   13985              :               break;
   13986              :             }
   13987           33 :           case NE_EXPR:
   13988           33 :             {
   13989           33 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13990           33 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13991           33 :               switch (TREE_CODE (_q50))
   13992              :                 {
   13993            0 :                 CASE_CONVERT:
   13994            0 :                   {
   13995            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   13996            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13997              :                       {
   13998            0 :                         {
   13999            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14000            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14001            0 :                           if (res) return res;
   14002              :                         }
   14003              :                       }
   14004            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14005              :                       {
   14006            0 :                         {
   14007            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14008            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14009            0 :                           if (res) return res;
   14010              :                         }
   14011              :                       }
   14012              :                     break;
   14013              :                   }
   14014           33 :                 default:;
   14015              :                 }
   14016           33 :               switch (TREE_CODE (_q51))
   14017              :                 {
   14018            0 :                 CASE_CONVERT:
   14019            0 :                   {
   14020            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14021            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14022              :                       {
   14023            0 :                         {
   14024            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14025            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14026            0 :                           if (res) return res;
   14027              :                         }
   14028              :                       }
   14029            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14030              :                       {
   14031            0 :                         {
   14032            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14033            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14034            0 :                           if (res) return res;
   14035              :                         }
   14036              :                       }
   14037              :                     break;
   14038              :                   }
   14039              :                 default:;
   14040              :                 }
   14041              :               break;
   14042              :             }
   14043           19 :           case LT_EXPR:
   14044           19 :             {
   14045           19 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14046           19 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14047           19 :               switch (TREE_CODE (_q50))
   14048              :                 {
   14049            0 :                 CASE_CONVERT:
   14050            0 :                   {
   14051            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14052            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14053              :                       {
   14054            0 :                         {
   14055            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14056            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14057            0 :                           if (res) return res;
   14058              :                         }
   14059              :                       }
   14060            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14061              :                       {
   14062            0 :                         {
   14063            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14064            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14065            0 :                           if (res) return res;
   14066              :                         }
   14067              :                       }
   14068              :                     break;
   14069              :                   }
   14070           19 :                 default:;
   14071              :                 }
   14072           19 :               switch (TREE_CODE (_q51))
   14073              :                 {
   14074            0 :                 CASE_CONVERT:
   14075            0 :                   {
   14076            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14077            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14078              :                       {
   14079            0 :                         {
   14080            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14081            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14082            0 :                           if (res) return res;
   14083              :                         }
   14084              :                       }
   14085            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14086              :                       {
   14087            0 :                         {
   14088            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14089            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14090            0 :                           if (res) return res;
   14091              :                         }
   14092              :                       }
   14093              :                     break;
   14094              :                   }
   14095              :                 default:;
   14096              :                 }
   14097              :               break;
   14098              :             }
   14099           12 :           case GT_EXPR:
   14100           12 :             {
   14101           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14102           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14103           12 :               switch (TREE_CODE (_q50))
   14104              :                 {
   14105            0 :                 CASE_CONVERT:
   14106            0 :                   {
   14107            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14108            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14109              :                       {
   14110            0 :                         {
   14111            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14112            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14113            0 :                           if (res) return res;
   14114              :                         }
   14115              :                       }
   14116            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14117              :                       {
   14118            0 :                         {
   14119            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14120            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14121            0 :                           if (res) return res;
   14122              :                         }
   14123              :                       }
   14124              :                     break;
   14125              :                   }
   14126           12 :                 default:;
   14127              :                 }
   14128           12 :               switch (TREE_CODE (_q51))
   14129              :                 {
   14130            0 :                 CASE_CONVERT:
   14131            0 :                   {
   14132            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14133            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14134              :                       {
   14135            0 :                         {
   14136            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14137            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14138            0 :                           if (res) return res;
   14139              :                         }
   14140              :                       }
   14141            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14142              :                       {
   14143            0 :                         {
   14144            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14145            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14146            0 :                           if (res) return res;
   14147              :                         }
   14148              :                       }
   14149              :                     break;
   14150              :                   }
   14151              :                 default:;
   14152              :                 }
   14153              :               break;
   14154              :             }
   14155           36 :           case LE_EXPR:
   14156           36 :             {
   14157           36 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14158           36 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14159           36 :               switch (TREE_CODE (_q50))
   14160              :                 {
   14161           12 :                 CASE_CONVERT:
   14162           12 :                   {
   14163           12 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14164           12 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14165              :                       {
   14166            0 :                         {
   14167            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14168            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14169            0 :                           if (res) return res;
   14170              :                         }
   14171              :                       }
   14172           12 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14173              :                       {
   14174            0 :                         {
   14175            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14176            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14177            0 :                           if (res) return res;
   14178              :                         }
   14179              :                       }
   14180              :                     break;
   14181              :                   }
   14182           36 :                 default:;
   14183              :                 }
   14184           36 :               switch (TREE_CODE (_q51))
   14185              :                 {
   14186            0 :                 CASE_CONVERT:
   14187            0 :                   {
   14188            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14189            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14190              :                       {
   14191            0 :                         {
   14192            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14193            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14194            0 :                           if (res) return res;
   14195              :                         }
   14196              :                       }
   14197            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14198              :                       {
   14199            0 :                         {
   14200            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14201            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14202            0 :                           if (res) return res;
   14203              :                         }
   14204              :                       }
   14205              :                     break;
   14206              :                   }
   14207              :                 default:;
   14208              :                 }
   14209              :               break;
   14210              :             }
   14211            4 :           case GE_EXPR:
   14212            4 :             {
   14213            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14214            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14215            4 :               switch (TREE_CODE (_q50))
   14216              :                 {
   14217            0 :                 CASE_CONVERT:
   14218            0 :                   {
   14219            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14220            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14221              :                       {
   14222            0 :                         {
   14223            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14224            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14225            0 :                           if (res) return res;
   14226              :                         }
   14227              :                       }
   14228            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14229              :                       {
   14230            0 :                         {
   14231            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14232            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14233            0 :                           if (res) return res;
   14234              :                         }
   14235              :                       }
   14236              :                     break;
   14237              :                   }
   14238            4 :                 default:;
   14239              :                 }
   14240            4 :               switch (TREE_CODE (_q51))
   14241              :                 {
   14242            0 :                 CASE_CONVERT:
   14243            0 :                   {
   14244            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14245            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14246              :                       {
   14247            0 :                         {
   14248            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14249            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14250            0 :                           if (res) return res;
   14251              :                         }
   14252              :                       }
   14253            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14254              :                       {
   14255            0 :                         {
   14256            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14257            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14258            0 :                           if (res) return res;
   14259              :                         }
   14260              :                       }
   14261              :                     break;
   14262              :                   }
   14263              :                 default:;
   14264              :                 }
   14265              :               break;
   14266              :             }
   14267         1072 :           default:;
   14268              :           }
   14269         1072 :         switch (TREE_CODE (_q20))
   14270              :           {
   14271            0 :           CASE_CONVERT:
   14272            0 :             {
   14273            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14274            0 :               switch (TREE_CODE (_p1))
   14275              :                 {
   14276            0 :                 case EQ_EXPR:
   14277            0 :                   {
   14278            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   14279            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   14280            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14281              :                       {
   14282            0 :                         {
   14283            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   14284            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14285            0 :                           if (res) return res;
   14286              :                         }
   14287              :                       }
   14288            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   14289              :                       {
   14290            0 :                         {
   14291            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   14292            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14293            0 :                           if (res) return res;
   14294              :                         }
   14295              :                       }
   14296              :                     break;
   14297              :                   }
   14298            0 :                 case NE_EXPR:
   14299            0 :                   {
   14300            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   14301            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   14302            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14303              :                       {
   14304            0 :                         {
   14305            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   14306            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14307            0 :                           if (res) return res;
   14308              :                         }
   14309              :                       }
   14310            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   14311              :                       {
   14312            0 :                         {
   14313            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   14314            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14315            0 :                           if (res) return res;
   14316              :                         }
   14317              :                       }
   14318              :                     break;
   14319              :                   }
   14320              :                 default:;
   14321              :                 }
   14322              :               break;
   14323              :             }
   14324         1072 :           default:;
   14325              :           }
   14326         1072 :         switch (TREE_CODE (_q21))
   14327              :           {
   14328            0 :           CASE_CONVERT:
   14329            0 :             {
   14330            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   14331            0 :               switch (TREE_CODE (_p1))
   14332              :                 {
   14333            0 :                 case EQ_EXPR:
   14334            0 :                   {
   14335            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   14336            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   14337            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   14338              :                       {
   14339            0 :                         {
   14340            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   14341            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14342            0 :                           if (res) return res;
   14343              :                         }
   14344              :                       }
   14345            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   14346              :                       {
   14347            0 :                         {
   14348            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   14349            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14350            0 :                           if (res) return res;
   14351              :                         }
   14352              :                       }
   14353              :                     break;
   14354              :                   }
   14355            0 :                 case NE_EXPR:
   14356            0 :                   {
   14357            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   14358            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   14359            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   14360              :                       {
   14361            0 :                         {
   14362            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   14363            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14364            0 :                           if (res) return res;
   14365              :                         }
   14366              :                       }
   14367            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   14368              :                       {
   14369            0 :                         {
   14370            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   14371            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14372            0 :                           if (res) return res;
   14373              :                         }
   14374              :                       }
   14375              :                     break;
   14376              :                   }
   14377              :                 default:;
   14378              :                 }
   14379              :               break;
   14380              :             }
   14381         1072 :           default:;
   14382              :           }
   14383         1072 :         switch (TREE_CODE (_p1))
   14384              :           {
   14385          537 :           case EQ_EXPR:
   14386          537 :             {
   14387          537 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14388          537 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14389          537 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14390              :                 {
   14391            0 :                   {
   14392            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14393            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14394            0 :                     if (res) return res;
   14395              :                   }
   14396            0 :                   {
   14397            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   14398            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14399            0 :                     if (res) return res;
   14400              :                   }
   14401              :                 }
   14402          537 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14403              :                 {
   14404            0 :                   {
   14405            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14406            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14407            0 :                     if (res) return res;
   14408              :                   }
   14409              :                 }
   14410          537 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14411              :                 {
   14412            0 :                   {
   14413            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14414            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14415            0 :                     if (res) return res;
   14416              :                   }
   14417            0 :                   {
   14418            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   14419            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14420            0 :                     if (res) return res;
   14421              :                   }
   14422              :                 }
   14423          537 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14424              :                 {
   14425          178 :                   {
   14426          178 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14427          178 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14428          178 :                     if (res) return res;
   14429              :                   }
   14430          178 :                   {
   14431          178 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   14432          178 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14433          178 :                     if (res) return res;
   14434              :                   }
   14435              :                 }
   14436          537 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14437              :                 {
   14438            0 :                   {
   14439            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   14440            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14441            0 :                     if (res) return res;
   14442              :                   }
   14443              :                 }
   14444              :               break;
   14445              :             }
   14446           33 :           case NE_EXPR:
   14447           33 :             {
   14448           33 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14449           33 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14450           33 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14451              :                 {
   14452            0 :                   {
   14453            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14454            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14455            0 :                     if (res) return res;
   14456              :                   }
   14457            0 :                   {
   14458            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   14459            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14460            0 :                     if (res) return res;
   14461              :                   }
   14462              :                 }
   14463           33 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14464              :                 {
   14465            0 :                   {
   14466            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14467            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14468            0 :                     if (res) return res;
   14469              :                   }
   14470              :                 }
   14471           33 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14472              :                 {
   14473            0 :                   {
   14474            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14475            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14476            0 :                     if (res) return res;
   14477              :                   }
   14478            0 :                   {
   14479            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   14480            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14481            0 :                     if (res) return res;
   14482              :                   }
   14483              :                 }
   14484           33 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14485              :                 {
   14486           11 :                   {
   14487           11 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14488           11 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14489           11 :                     if (res) return res;
   14490              :                   }
   14491           11 :                   {
   14492           11 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   14493           11 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14494           11 :                     if (res) return res;
   14495              :                   }
   14496              :                 }
   14497           33 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14498              :                 {
   14499            0 :                   {
   14500            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   14501            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14502            0 :                     if (res) return res;
   14503              :                   }
   14504              :                 }
   14505              :               break;
   14506              :             }
   14507           19 :           case LT_EXPR:
   14508           19 :             {
   14509           19 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14510           19 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14511           19 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14512              :                 {
   14513            0 :                   {
   14514            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14515            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14516            0 :                     if (res) return res;
   14517              :                   }
   14518              :                 }
   14519           19 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14520              :                 {
   14521            0 :                   {
   14522            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14523            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14524            0 :                     if (res) return res;
   14525              :                   }
   14526              :                 }
   14527           19 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14528              :                 {
   14529            0 :                   {
   14530            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14531            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14532            0 :                     if (res) return res;
   14533              :                   }
   14534              :                 }
   14535           19 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14536              :                 {
   14537            0 :                   {
   14538            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14539            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14540            0 :                     if (res) return res;
   14541              :                   }
   14542              :                 }
   14543              :               break;
   14544              :             }
   14545           12 :           case GT_EXPR:
   14546           12 :             {
   14547           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14548           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14549           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14550              :                 {
   14551            0 :                   {
   14552            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14553            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14554            0 :                     if (res) return res;
   14555              :                   }
   14556              :                 }
   14557           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14558              :                 {
   14559            0 :                   {
   14560            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14561            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14562            0 :                     if (res) return res;
   14563              :                   }
   14564              :                 }
   14565           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14566              :                 {
   14567            0 :                   {
   14568            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14569            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14570            0 :                     if (res) return res;
   14571              :                   }
   14572              :                 }
   14573           12 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14574              :                 {
   14575            0 :                   {
   14576            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14577            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14578            0 :                     if (res) return res;
   14579              :                   }
   14580              :                 }
   14581              :               break;
   14582              :             }
   14583           36 :           case LE_EXPR:
   14584           36 :             {
   14585           36 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14586           36 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14587           36 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14588              :                 {
   14589            0 :                   {
   14590            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14591            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14592            0 :                     if (res) return res;
   14593              :                   }
   14594              :                 }
   14595           36 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14596              :                 {
   14597            0 :                   {
   14598            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14599            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14600            0 :                     if (res) return res;
   14601              :                   }
   14602              :                 }
   14603           36 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14604              :                 {
   14605            0 :                   {
   14606            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14607            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14608            0 :                     if (res) return res;
   14609              :                   }
   14610              :                 }
   14611           36 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14612              :                 {
   14613            0 :                   {
   14614            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14615            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14616            0 :                     if (res) return res;
   14617              :                   }
   14618              :                 }
   14619              :               break;
   14620              :             }
   14621            4 :           case GE_EXPR:
   14622            4 :             {
   14623            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14624            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14625            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14626              :                 {
   14627            0 :                   {
   14628            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14629            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14630            0 :                     if (res) return res;
   14631              :                   }
   14632              :                 }
   14633            4 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14634              :                 {
   14635            0 :                   {
   14636            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14637            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14638            0 :                     if (res) return res;
   14639              :                   }
   14640              :                 }
   14641            4 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14642              :                 {
   14643            0 :                   {
   14644            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14645            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14646            0 :                     if (res) return res;
   14647              :                   }
   14648              :                 }
   14649            4 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14650              :                 {
   14651            0 :                   {
   14652            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14653            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14654            0 :                     if (res) return res;
   14655              :                   }
   14656              :                 }
   14657              :               break;
   14658              :             }
   14659              :           default:;
   14660              :           }
   14661              :         break;
   14662              :       }
   14663          139 :     case NE_EXPR:
   14664          139 :       {
   14665          139 :         tree _q20 = TREE_OPERAND (_p0, 0);
   14666          139 :         tree _q21 = TREE_OPERAND (_p0, 1);
   14667          139 :         if (tree_min_value (_q21))
   14668              :           {
   14669           16 :             switch (TREE_CODE (_p1))
   14670              :               {
   14671            0 :               case GT_EXPR:
   14672            0 :                 {
   14673            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14674            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14675            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14676              :                     {
   14677            0 :                       {
   14678            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
   14679            0 :                         tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, NE_EXPR);
   14680            0 :                         if (res) return res;
   14681              :                       }
   14682              :                     }
   14683              :                   break;
   14684              :                 }
   14685            0 :               case LT_EXPR:
   14686            0 :                 {
   14687            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14688            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14689            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14690              :                     {
   14691            0 :                       {
   14692            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
   14693            0 :                         tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, NE_EXPR);
   14694            0 :                         if (res) return res;
   14695              :                       }
   14696              :                     }
   14697              :                   break;
   14698              :                 }
   14699            3 :               case GE_EXPR:
   14700            3 :                 {
   14701            3 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14702            3 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14703            3 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14704              :                     {
   14705            3 :                       {
   14706            3 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
   14707            3 :                         tree res = generic_simplify_481 (loc, type, _p0, _p1, captures);
   14708            3 :                         if (res) return res;
   14709              :                       }
   14710              :                     }
   14711              :                   break;
   14712              :                 }
   14713            0 :               case LE_EXPR:
   14714            0 :                 {
   14715            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14716            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14717            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14718              :                     {
   14719            0 :                       {
   14720            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q51 };
   14721            0 :                         tree res = generic_simplify_481 (loc, type, _p0, _p1, captures);
   14722            0 :                         if (res) return res;
   14723              :                       }
   14724              :                     }
   14725              :                   break;
   14726              :                 }
   14727              :               default:;
   14728              :               }
   14729              :           }
   14730          136 :         if (tree_max_value (_q21))
   14731              :           {
   14732            0 :             switch (TREE_CODE (_p1))
   14733              :               {
   14734            0 :               case LT_EXPR:
   14735            0 :                 {
   14736            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14737            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14738            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14739              :                     {
   14740            0 :                       {
   14741            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
   14742            0 :                         tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, NE_EXPR);
   14743            0 :                         if (res) return res;
   14744              :                       }
   14745              :                     }
   14746              :                   break;
   14747              :                 }
   14748            0 :               case GT_EXPR:
   14749            0 :                 {
   14750            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14751            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14752            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14753              :                     {
   14754            0 :                       {
   14755            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
   14756            0 :                         tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, NE_EXPR);
   14757            0 :                         if (res) return res;
   14758              :                       }
   14759              :                     }
   14760              :                   break;
   14761              :                 }
   14762              :               default:;
   14763              :               }
   14764              :           }
   14765          136 :         switch (TREE_CODE (_p1))
   14766              :           {
   14767           20 :           case EQ_EXPR:
   14768           20 :             {
   14769           20 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14770           20 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14771           20 :               switch (TREE_CODE (_q50))
   14772              :                 {
   14773            0 :                 CASE_CONVERT:
   14774            0 :                   {
   14775            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14776            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14777              :                       {
   14778            0 :                         {
   14779            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14780            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14781            0 :                           if (res) return res;
   14782              :                         }
   14783              :                       }
   14784            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14785              :                       {
   14786            0 :                         {
   14787            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14788            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14789            0 :                           if (res) return res;
   14790              :                         }
   14791              :                       }
   14792              :                     break;
   14793              :                   }
   14794           20 :                 default:;
   14795              :                 }
   14796           20 :               switch (TREE_CODE (_q51))
   14797              :                 {
   14798            0 :                 CASE_CONVERT:
   14799            0 :                   {
   14800            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14801            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14802              :                       {
   14803            0 :                         {
   14804            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14805            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14806            0 :                           if (res) return res;
   14807              :                         }
   14808              :                       }
   14809            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14810              :                       {
   14811            0 :                         {
   14812            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14813            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14814            0 :                           if (res) return res;
   14815              :                         }
   14816              :                       }
   14817              :                     break;
   14818              :                   }
   14819              :                 default:;
   14820              :                 }
   14821              :               break;
   14822              :             }
   14823            3 :           case NE_EXPR:
   14824            3 :             {
   14825            3 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14826            3 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14827            3 :               switch (TREE_CODE (_q50))
   14828              :                 {
   14829            0 :                 CASE_CONVERT:
   14830            0 :                   {
   14831            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14832            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14833              :                       {
   14834            0 :                         {
   14835            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14836            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14837            0 :                           if (res) return res;
   14838              :                         }
   14839              :                       }
   14840            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14841              :                       {
   14842            0 :                         {
   14843            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14844            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14845            0 :                           if (res) return res;
   14846              :                         }
   14847              :                       }
   14848              :                     break;
   14849              :                   }
   14850            3 :                 default:;
   14851              :                 }
   14852            3 :               switch (TREE_CODE (_q51))
   14853              :                 {
   14854            0 :                 CASE_CONVERT:
   14855            0 :                   {
   14856            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14857            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14858              :                       {
   14859            0 :                         {
   14860            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14861            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14862            0 :                           if (res) return res;
   14863              :                         }
   14864              :                       }
   14865            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14866              :                       {
   14867            0 :                         {
   14868            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14869            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14870            0 :                           if (res) return res;
   14871              :                         }
   14872              :                       }
   14873              :                     break;
   14874              :                   }
   14875              :                 default:;
   14876              :                 }
   14877              :               break;
   14878              :             }
   14879            0 :           case LT_EXPR:
   14880            0 :             {
   14881            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14882            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14883            0 :               switch (TREE_CODE (_q50))
   14884              :                 {
   14885            0 :                 CASE_CONVERT:
   14886            0 :                   {
   14887            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14888            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14889              :                       {
   14890            0 :                         {
   14891            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14892            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   14893            0 :                           if (res) return res;
   14894              :                         }
   14895              :                       }
   14896            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14897              :                       {
   14898            0 :                         {
   14899            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14900            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   14901            0 :                           if (res) return res;
   14902              :                         }
   14903              :                       }
   14904              :                     break;
   14905              :                   }
   14906            0 :                 default:;
   14907              :                 }
   14908            0 :               switch (TREE_CODE (_q51))
   14909              :                 {
   14910            0 :                 CASE_CONVERT:
   14911            0 :                   {
   14912            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14913            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14914              :                       {
   14915            0 :                         {
   14916            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14917            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   14918            0 :                           if (res) return res;
   14919              :                         }
   14920              :                       }
   14921            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14922              :                       {
   14923            0 :                         {
   14924            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14925            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   14926            0 :                           if (res) return res;
   14927              :                         }
   14928              :                       }
   14929              :                     break;
   14930              :                   }
   14931              :                 default:;
   14932              :                 }
   14933              :               break;
   14934              :             }
   14935            4 :           case GT_EXPR:
   14936            4 :             {
   14937            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14938            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14939            4 :               switch (TREE_CODE (_q50))
   14940              :                 {
   14941            0 :                 CASE_CONVERT:
   14942            0 :                   {
   14943            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14944            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14945              :                       {
   14946            0 :                         {
   14947            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14948            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   14949            0 :                           if (res) return res;
   14950              :                         }
   14951              :                       }
   14952            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14953              :                       {
   14954            0 :                         {
   14955            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14956            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   14957            0 :                           if (res) return res;
   14958              :                         }
   14959              :                       }
   14960              :                     break;
   14961              :                   }
   14962            4 :                 default:;
   14963              :                 }
   14964            4 :               switch (TREE_CODE (_q51))
   14965              :                 {
   14966            0 :                 CASE_CONVERT:
   14967            0 :                   {
   14968            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14969            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14970              :                       {
   14971            0 :                         {
   14972            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14973            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   14974            0 :                           if (res) return res;
   14975              :                         }
   14976              :                       }
   14977            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14978              :                       {
   14979            0 :                         {
   14980            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14981            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   14982            0 :                           if (res) return res;
   14983              :                         }
   14984              :                       }
   14985              :                     break;
   14986              :                   }
   14987              :                 default:;
   14988              :                 }
   14989              :               break;
   14990              :             }
   14991            0 :           case LE_EXPR:
   14992            0 :             {
   14993            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14994            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14995            0 :               switch (TREE_CODE (_q50))
   14996              :                 {
   14997            0 :                 CASE_CONVERT:
   14998            0 :                   {
   14999            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   15000            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   15001              :                       {
   15002            0 :                         {
   15003            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15004            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15005            0 :                           if (res) return res;
   15006              :                         }
   15007              :                       }
   15008            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   15009              :                       {
   15010            0 :                         {
   15011            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15012            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15013            0 :                           if (res) return res;
   15014              :                         }
   15015              :                       }
   15016              :                     break;
   15017              :                   }
   15018            0 :                 default:;
   15019              :                 }
   15020            0 :               switch (TREE_CODE (_q51))
   15021              :                 {
   15022            0 :                 CASE_CONVERT:
   15023            0 :                   {
   15024            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   15025            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   15026              :                       {
   15027            0 :                         {
   15028            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15029            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15030            0 :                           if (res) return res;
   15031              :                         }
   15032              :                       }
   15033            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   15034              :                       {
   15035            0 :                         {
   15036            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15037            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15038            0 :                           if (res) return res;
   15039              :                         }
   15040              :                       }
   15041              :                     break;
   15042              :                   }
   15043              :                 default:;
   15044              :                 }
   15045              :               break;
   15046              :             }
   15047           14 :           case GE_EXPR:
   15048           14 :             {
   15049           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15050           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15051           14 :               switch (TREE_CODE (_q50))
   15052              :                 {
   15053            0 :                 CASE_CONVERT:
   15054            0 :                   {
   15055            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   15056            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   15057              :                       {
   15058            0 :                         {
   15059            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15060            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15061            0 :                           if (res) return res;
   15062              :                         }
   15063              :                       }
   15064            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   15065              :                       {
   15066            0 :                         {
   15067            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15068            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15069            0 :                           if (res) return res;
   15070              :                         }
   15071              :                       }
   15072              :                     break;
   15073              :                   }
   15074           14 :                 default:;
   15075              :                 }
   15076           14 :               switch (TREE_CODE (_q51))
   15077              :                 {
   15078            0 :                 CASE_CONVERT:
   15079            0 :                   {
   15080            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   15081            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   15082              :                       {
   15083            0 :                         {
   15084            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15085            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15086            0 :                           if (res) return res;
   15087              :                         }
   15088              :                       }
   15089            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   15090              :                       {
   15091            0 :                         {
   15092            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15093            0 :                           tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15094            0 :                           if (res) return res;
   15095              :                         }
   15096              :                       }
   15097              :                     break;
   15098              :                   }
   15099              :                 default:;
   15100              :                 }
   15101              :               break;
   15102              :             }
   15103          136 :           default:;
   15104              :           }
   15105          136 :         switch (TREE_CODE (_q20))
   15106              :           {
   15107            0 :           CASE_CONVERT:
   15108            0 :             {
   15109            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15110            0 :               switch (TREE_CODE (_p1))
   15111              :                 {
   15112            0 :                 case EQ_EXPR:
   15113            0 :                   {
   15114            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15115            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15116            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15117              :                       {
   15118            0 :                         {
   15119            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   15120            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   15121            0 :                           if (res) return res;
   15122              :                         }
   15123              :                       }
   15124            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   15125              :                       {
   15126            0 :                         {
   15127            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   15128            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   15129            0 :                           if (res) return res;
   15130              :                         }
   15131              :                       }
   15132              :                     break;
   15133              :                   }
   15134            0 :                 case NE_EXPR:
   15135            0 :                   {
   15136            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15137            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15138            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15139              :                       {
   15140            0 :                         {
   15141            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   15142            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15143            0 :                           if (res) return res;
   15144              :                         }
   15145              :                       }
   15146            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   15147              :                       {
   15148            0 :                         {
   15149            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   15150            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15151            0 :                           if (res) return res;
   15152              :                         }
   15153              :                       }
   15154              :                     break;
   15155              :                   }
   15156              :                 default:;
   15157              :                 }
   15158              :               break;
   15159              :             }
   15160          136 :           default:;
   15161              :           }
   15162          136 :         switch (TREE_CODE (_q21))
   15163              :           {
   15164            0 :           CASE_CONVERT:
   15165            0 :             {
   15166            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   15167            0 :               switch (TREE_CODE (_p1))
   15168              :                 {
   15169            0 :                 case EQ_EXPR:
   15170            0 :                   {
   15171            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15172            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15173            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   15174              :                       {
   15175            0 :                         {
   15176            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   15177            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   15178            0 :                           if (res) return res;
   15179              :                         }
   15180              :                       }
   15181            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   15182              :                       {
   15183            0 :                         {
   15184            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   15185            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   15186            0 :                           if (res) return res;
   15187              :                         }
   15188              :                       }
   15189              :                     break;
   15190              :                   }
   15191            0 :                 case NE_EXPR:
   15192            0 :                   {
   15193            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15194            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15195            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   15196              :                       {
   15197            0 :                         {
   15198            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   15199            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15200            0 :                           if (res) return res;
   15201              :                         }
   15202              :                       }
   15203            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   15204              :                       {
   15205            0 :                         {
   15206            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   15207            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15208            0 :                           if (res) return res;
   15209              :                         }
   15210              :                       }
   15211              :                     break;
   15212              :                   }
   15213              :                 default:;
   15214              :                 }
   15215              :               break;
   15216              :             }
   15217          136 :           default:;
   15218              :           }
   15219          136 :         switch (TREE_CODE (_p1))
   15220              :           {
   15221           20 :           case EQ_EXPR:
   15222           20 :             {
   15223           20 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15224           20 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15225           20 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15226              :                 {
   15227            0 :                   {
   15228            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15229            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   15230            0 :                     if (res) return res;
   15231              :                   }
   15232            0 :                   {
   15233            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   15234            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   15235            0 :                     if (res) return res;
   15236              :                   }
   15237              :                 }
   15238           20 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15239              :                 {
   15240            0 :                   {
   15241            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15242            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   15243            0 :                     if (res) return res;
   15244              :                   }
   15245              :                 }
   15246           20 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15247              :                 {
   15248            0 :                   {
   15249            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15250            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   15251            0 :                     if (res) return res;
   15252              :                   }
   15253            0 :                   {
   15254            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   15255            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   15256            0 :                     if (res) return res;
   15257              :                   }
   15258              :                 }
   15259           20 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15260              :                 {
   15261            4 :                   {
   15262            4 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15263            4 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   15264            4 :                     if (res) return res;
   15265              :                   }
   15266            4 :                   {
   15267            4 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   15268            4 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   15269            4 :                     if (res) return res;
   15270              :                   }
   15271              :                 }
   15272           20 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15273              :                 {
   15274            0 :                   {
   15275            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   15276            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   15277            0 :                     if (res) return res;
   15278              :                   }
   15279              :                 }
   15280              :               break;
   15281              :             }
   15282            3 :           case NE_EXPR:
   15283            3 :             {
   15284            3 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15285            3 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15286            3 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15287              :                 {
   15288            2 :                   {
   15289            2 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15290            2 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15291            2 :                     if (res) return res;
   15292              :                   }
   15293            2 :                   {
   15294            2 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   15295            2 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15296            2 :                     if (res) return res;
   15297              :                   }
   15298              :                 }
   15299            3 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15300              :                 {
   15301            0 :                   {
   15302            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15303            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15304            0 :                     if (res) return res;
   15305              :                   }
   15306              :                 }
   15307            3 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15308              :                 {
   15309            0 :                   {
   15310            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15311            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15312            0 :                     if (res) return res;
   15313              :                   }
   15314            0 :                   {
   15315            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   15316            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15317            0 :                     if (res) return res;
   15318              :                   }
   15319              :                 }
   15320            3 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15321              :                 {
   15322            0 :                   {
   15323            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15324            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15325            0 :                     if (res) return res;
   15326              :                   }
   15327            0 :                   {
   15328            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   15329            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15330            0 :                     if (res) return res;
   15331              :                   }
   15332              :                 }
   15333            3 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15334              :                 {
   15335            0 :                   {
   15336            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   15337            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15338            0 :                     if (res) return res;
   15339              :                   }
   15340              :                 }
   15341              :               break;
   15342              :             }
   15343            0 :           case LT_EXPR:
   15344            0 :             {
   15345            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15346            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15347            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15348              :                 {
   15349            0 :                   {
   15350            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15351            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   15352            0 :                     if (res) return res;
   15353              :                   }
   15354              :                 }
   15355            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15356              :                 {
   15357            0 :                   {
   15358            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15359            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   15360            0 :                     if (res) return res;
   15361              :                   }
   15362              :                 }
   15363            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15364              :                 {
   15365            0 :                   {
   15366            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15367            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   15368            0 :                     if (res) return res;
   15369              :                   }
   15370              :                 }
   15371            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15372              :                 {
   15373            0 :                   {
   15374            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15375            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   15376            0 :                     if (res) return res;
   15377              :                   }
   15378              :                 }
   15379              :               break;
   15380              :             }
   15381            4 :           case GT_EXPR:
   15382            4 :             {
   15383            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15384            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15385            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15386              :                 {
   15387            4 :                   {
   15388            4 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15389            4 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   15390            4 :                     if (res) return res;
   15391              :                   }
   15392              :                 }
   15393            4 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15394              :                 {
   15395            0 :                   {
   15396            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15397            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   15398            0 :                     if (res) return res;
   15399              :                   }
   15400              :                 }
   15401            4 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15402              :                 {
   15403            0 :                   {
   15404            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15405            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   15406            0 :                     if (res) return res;
   15407              :                   }
   15408              :                 }
   15409            4 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15410              :                 {
   15411            0 :                   {
   15412            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15413            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   15414            0 :                     if (res) return res;
   15415              :                   }
   15416              :                 }
   15417              :               break;
   15418              :             }
   15419            0 :           case LE_EXPR:
   15420            0 :             {
   15421            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15422            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15423            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15424              :                 {
   15425            0 :                   {
   15426            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15427            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15428            0 :                     if (res) return res;
   15429              :                   }
   15430              :                 }
   15431            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15432              :                 {
   15433            0 :                   {
   15434            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15435            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15436            0 :                     if (res) return res;
   15437              :                   }
   15438              :                 }
   15439            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15440              :                 {
   15441            0 :                   {
   15442            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15443            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15444            0 :                     if (res) return res;
   15445              :                   }
   15446              :                 }
   15447            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15448              :                 {
   15449            0 :                   {
   15450            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15451            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15452            0 :                     if (res) return res;
   15453              :                   }
   15454              :                 }
   15455              :               break;
   15456              :             }
   15457           14 :           case GE_EXPR:
   15458           14 :             {
   15459           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15460           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15461           14 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15462              :                 {
   15463            0 :                   {
   15464            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15465            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15466            0 :                     if (res) return res;
   15467              :                   }
   15468              :                 }
   15469           14 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15470              :                 {
   15471            0 :                   {
   15472            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15473            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15474            0 :                     if (res) return res;
   15475              :                   }
   15476              :                 }
   15477           14 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15478              :                 {
   15479            0 :                   {
   15480            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15481            0 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15482            0 :                     if (res) return res;
   15483              :                   }
   15484              :                 }
   15485           14 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15486              :                 {
   15487           14 :                   {
   15488           14 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15489           14 :                     tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15490           14 :                     if (res) return res;
   15491              :                   }
   15492              :                 }
   15493              :               break;
   15494              :             }
   15495              :           default:;
   15496              :           }
   15497              :         break;
   15498              :       }
   15499           36 :     case LE_EXPR:
   15500           36 :       {
   15501           36 :         tree _q20 = TREE_OPERAND (_p0, 0);
   15502           36 :         tree _q21 = TREE_OPERAND (_p0, 1);
   15503           36 :         switch (TREE_CODE (_p1))
   15504              :           {
   15505           16 :           case EQ_EXPR:
   15506           16 :             {
   15507           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15508           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15509           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15510              :                 {
   15511            4 :                   if (tree_min_value (_q51))
   15512              :                     {
   15513            4 :                       {
   15514            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15515            4 :                         tree res = generic_simplify_482 (loc, type, _p0, _p1, captures);
   15516            4 :                         if (res) return res;
   15517              :                       }
   15518              :                     }
   15519              :                 }
   15520           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15521              :                 {
   15522            0 :                   if (tree_max_value (_q51))
   15523              :                     {
   15524            0 :                       {
   15525            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   15526            0 :                         tree res = generic_simplify_483 (loc, type, _p0, _p1, captures);
   15527            0 :                         if (res) return res;
   15528              :                       }
   15529              :                     }
   15530              :                 }
   15531              :               break;
   15532              :             }
   15533            0 :           case NE_EXPR:
   15534            0 :             {
   15535            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15536            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15537            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15538              :                 {
   15539            0 :                   if (tree_min_value (_q51))
   15540              :                     {
   15541            0 :                       {
   15542            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _p0, _q21 };
   15543            0 :                         tree res = generic_simplify_484 (loc, type, _p0, _p1, captures);
   15544            0 :                         if (res) return res;
   15545              :                       }
   15546              :                     }
   15547              :                 }
   15548              :               break;
   15549              :             }
   15550           32 :           default:;
   15551              :           }
   15552           32 :         switch (TREE_CODE (_q20))
   15553              :           {
   15554            0 :           CASE_CONVERT:
   15555            0 :             {
   15556            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15557            0 :               switch (TREE_CODE (_p1))
   15558              :                 {
   15559            0 :                 case EQ_EXPR:
   15560            0 :                   {
   15561            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15562            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15563            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15564              :                       {
   15565            0 :                         {
   15566            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   15567            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15568            0 :                           if (res) return res;
   15569              :                         }
   15570              :                       }
   15571            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   15572              :                       {
   15573            0 :                         {
   15574            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   15575            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15576            0 :                           if (res) return res;
   15577              :                         }
   15578              :                       }
   15579              :                     break;
   15580              :                   }
   15581            0 :                 case NE_EXPR:
   15582            0 :                   {
   15583            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15584            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15585            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15586              :                       {
   15587            0 :                         {
   15588            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   15589            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15590            0 :                           if (res) return res;
   15591              :                         }
   15592              :                       }
   15593            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   15594              :                       {
   15595            0 :                         {
   15596            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   15597            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15598            0 :                           if (res) return res;
   15599              :                         }
   15600              :                       }
   15601              :                     break;
   15602              :                   }
   15603              :                 default:;
   15604              :                 }
   15605              :               break;
   15606              :             }
   15607           32 :           default:;
   15608              :           }
   15609           32 :         switch (TREE_CODE (_q21))
   15610              :           {
   15611            0 :           CASE_CONVERT:
   15612            0 :             {
   15613            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   15614            0 :               switch (TREE_CODE (_p1))
   15615              :                 {
   15616            0 :                 case EQ_EXPR:
   15617            0 :                   {
   15618            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15619            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15620            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   15621              :                       {
   15622            0 :                         {
   15623            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   15624            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15625            0 :                           if (res) return res;
   15626              :                         }
   15627              :                       }
   15628            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   15629              :                       {
   15630            0 :                         {
   15631            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   15632            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15633            0 :                           if (res) return res;
   15634              :                         }
   15635              :                       }
   15636              :                     break;
   15637              :                   }
   15638            0 :                 case NE_EXPR:
   15639            0 :                   {
   15640            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15641            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15642            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   15643              :                       {
   15644            0 :                         {
   15645            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   15646            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15647            0 :                           if (res) return res;
   15648              :                         }
   15649              :                       }
   15650            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   15651              :                       {
   15652            0 :                         {
   15653            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   15654            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15655            0 :                           if (res) return res;
   15656              :                         }
   15657              :                       }
   15658              :                     break;
   15659              :                   }
   15660              :                 default:;
   15661              :                 }
   15662              :               break;
   15663              :             }
   15664           32 :           default:;
   15665              :           }
   15666           32 :         switch (TREE_CODE (_p1))
   15667              :           {
   15668           12 :           case EQ_EXPR:
   15669           12 :             {
   15670           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15671           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15672           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15673              :                 {
   15674            0 :                   {
   15675            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   15676            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15677            0 :                     if (res) return res;
   15678              :                   }
   15679              :                 }
   15680           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15681              :                 {
   15682            0 :                   {
   15683            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   15684            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15685            0 :                     if (res) return res;
   15686              :                   }
   15687              :                 }
   15688           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15689              :                 {
   15690            0 :                   {
   15691            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   15692            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15693            0 :                     if (res) return res;
   15694              :                   }
   15695              :                 }
   15696           12 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15697              :                 {
   15698            0 :                   {
   15699            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   15700            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15701            0 :                     if (res) return res;
   15702              :                   }
   15703              :                 }
   15704              :               break;
   15705              :             }
   15706            0 :           case NE_EXPR:
   15707            0 :             {
   15708            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15709            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15710            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15711              :                 {
   15712            0 :                   {
   15713            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   15714            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15715            0 :                     if (res) return res;
   15716              :                   }
   15717              :                 }
   15718            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15719              :                 {
   15720            0 :                   {
   15721            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   15722            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15723            0 :                     if (res) return res;
   15724              :                   }
   15725              :                 }
   15726            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15727              :                 {
   15728            0 :                   {
   15729            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   15730            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15731            0 :                     if (res) return res;
   15732              :                   }
   15733              :                 }
   15734            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15735              :                 {
   15736            0 :                   {
   15737            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   15738            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15739            0 :                     if (res) return res;
   15740              :                   }
   15741              :                 }
   15742              :               break;
   15743              :             }
   15744            0 :           case LT_EXPR:
   15745            0 :             {
   15746            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15747            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15748            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15749              :                 {
   15750            0 :                   {
   15751            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   15752            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
   15753            0 :                     if (res) return res;
   15754              :                   }
   15755              :                 }
   15756            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15757              :                 {
   15758            0 :                   {
   15759            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   15760            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
   15761            0 :                     if (res) return res;
   15762              :                   }
   15763              :                 }
   15764            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15765              :                 {
   15766            0 :                   {
   15767            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   15768            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
   15769            0 :                     if (res) return res;
   15770              :                   }
   15771              :                 }
   15772            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15773              :                 {
   15774            0 :                   {
   15775            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   15776            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
   15777            0 :                     if (res) return res;
   15778              :                   }
   15779              :                 }
   15780              :               break;
   15781              :             }
   15782            5 :           case LE_EXPR:
   15783            5 :             {
   15784            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15785            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15786            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15787              :                 {
   15788            0 :                   {
   15789            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   15790            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
   15791            0 :                     if (res) return res;
   15792              :                   }
   15793              :                 }
   15794            5 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15795              :                 {
   15796            0 :                   {
   15797            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   15798            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
   15799            0 :                     if (res) return res;
   15800              :                   }
   15801              :                 }
   15802            5 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15803              :                 {
   15804            0 :                   {
   15805            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   15806            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
   15807            0 :                     if (res) return res;
   15808              :                   }
   15809              :                 }
   15810            5 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15811              :                 {
   15812            4 :                   {
   15813            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   15814            4 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
   15815            4 :                     if (res) return res;
   15816              :                   }
   15817              :                 }
   15818              :               break;
   15819              :             }
   15820            4 :           case GT_EXPR:
   15821            4 :             {
   15822            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15823            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15824            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15825              :                 {
   15826            0 :                   {
   15827            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   15828            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
   15829            0 :                     if (res) return res;
   15830              :                   }
   15831              :                 }
   15832            4 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15833              :                 {
   15834            0 :                   {
   15835            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   15836            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
   15837            0 :                     if (res) return res;
   15838              :                   }
   15839              :                 }
   15840            4 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15841              :                 {
   15842            0 :                   {
   15843            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   15844            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
   15845            0 :                     if (res) return res;
   15846              :                   }
   15847              :                 }
   15848            4 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15849              :                 {
   15850            0 :                   {
   15851            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   15852            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
   15853            0 :                     if (res) return res;
   15854              :                   }
   15855              :                 }
   15856              :               break;
   15857              :             }
   15858            0 :           case GE_EXPR:
   15859            0 :             {
   15860            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15861            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15862            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15863              :                 {
   15864            0 :                   {
   15865            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   15866            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
   15867            0 :                     if (res) return res;
   15868              :                   }
   15869              :                 }
   15870            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15871              :                 {
   15872            0 :                   {
   15873            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   15874            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
   15875            0 :                     if (res) return res;
   15876              :                   }
   15877              :                 }
   15878            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15879              :                 {
   15880            0 :                   {
   15881            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   15882            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
   15883            0 :                     if (res) return res;
   15884              :                   }
   15885              :                 }
   15886            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15887              :                 {
   15888            0 :                   {
   15889            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   15890            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
   15891            0 :                     if (res) return res;
   15892              :                   }
   15893              :                 }
   15894              :               break;
   15895              :             }
   15896              :           default:;
   15897              :           }
   15898              :         break;
   15899              :       }
   15900           78 :     case GE_EXPR:
   15901           78 :       {
   15902           78 :         tree _q20 = TREE_OPERAND (_p0, 0);
   15903           78 :         tree _q21 = TREE_OPERAND (_p0, 1);
   15904           78 :         switch (TREE_CODE (_p1))
   15905              :           {
   15906           10 :           case EQ_EXPR:
   15907           10 :             {
   15908           10 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15909           10 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15910           10 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15911              :                 {
   15912            0 :                   if (tree_min_value (_q51))
   15913              :                     {
   15914            0 :                       {
   15915            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   15916            0 :                         tree res = generic_simplify_482 (loc, type, _p0, _p1, captures);
   15917            0 :                         if (res) return res;
   15918              :                       }
   15919              :                     }
   15920              :                 }
   15921           10 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15922              :                 {
   15923            4 :                   if (tree_max_value (_q51))
   15924              :                     {
   15925            4 :                       {
   15926            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15927            4 :                         tree res = generic_simplify_483 (loc, type, _p0, _p1, captures);
   15928            4 :                         if (res) return res;
   15929              :                       }
   15930              :                     }
   15931              :                 }
   15932              :               break;
   15933              :             }
   15934            0 :           case NE_EXPR:
   15935            0 :             {
   15936            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15937            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15938            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15939              :                 {
   15940            0 :                   if (tree_min_value (_q51))
   15941              :                     {
   15942            0 :                       {
   15943            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _p0, _q20 };
   15944            0 :                         tree res = generic_simplify_484 (loc, type, _p0, _p1, captures);
   15945            0 :                         if (res) return res;
   15946              :                       }
   15947              :                     }
   15948              :                 }
   15949              :               break;
   15950              :             }
   15951           74 :           default:;
   15952              :           }
   15953           74 :         switch (TREE_CODE (_q20))
   15954              :           {
   15955            4 :           CASE_CONVERT:
   15956            4 :             {
   15957            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15958            4 :               switch (TREE_CODE (_p1))
   15959              :                 {
   15960            0 :                 case EQ_EXPR:
   15961            0 :                   {
   15962            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15963            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15964            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15965              :                       {
   15966            0 :                         {
   15967            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   15968            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15969            0 :                           if (res) return res;
   15970              :                         }
   15971              :                       }
   15972            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   15973              :                       {
   15974            0 :                         {
   15975            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   15976            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15977            0 :                           if (res) return res;
   15978              :                         }
   15979              :                       }
   15980              :                     break;
   15981              :                   }
   15982            0 :                 case NE_EXPR:
   15983            0 :                   {
   15984            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15985            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15986            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15987              :                       {
   15988            0 :                         {
   15989            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   15990            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15991            0 :                           if (res) return res;
   15992              :                         }
   15993              :                       }
   15994            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   15995              :                       {
   15996            0 :                         {
   15997            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   15998            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15999            0 :                           if (res) return res;
   16000              :                         }
   16001              :                       }
   16002              :                     break;
   16003              :                   }
   16004              :                 default:;
   16005              :                 }
   16006              :               break;
   16007              :             }
   16008           74 :           default:;
   16009              :           }
   16010           74 :         switch (TREE_CODE (_q21))
   16011              :           {
   16012            0 :           CASE_CONVERT:
   16013            0 :             {
   16014            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   16015            0 :               switch (TREE_CODE (_p1))
   16016              :                 {
   16017            0 :                 case EQ_EXPR:
   16018            0 :                   {
   16019            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   16020            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   16021            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   16022              :                       {
   16023            0 :                         {
   16024            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   16025            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   16026            0 :                           if (res) return res;
   16027              :                         }
   16028              :                       }
   16029            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   16030              :                       {
   16031            0 :                         {
   16032            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   16033            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   16034            0 :                           if (res) return res;
   16035              :                         }
   16036              :                       }
   16037              :                     break;
   16038              :                   }
   16039            0 :                 case NE_EXPR:
   16040            0 :                   {
   16041            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   16042            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   16043            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   16044              :                       {
   16045            0 :                         {
   16046            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   16047            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   16048            0 :                           if (res) return res;
   16049              :                         }
   16050              :                       }
   16051            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   16052              :                       {
   16053            0 :                         {
   16054            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   16055            0 :                           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   16056            0 :                           if (res) return res;
   16057              :                         }
   16058              :                       }
   16059              :                     break;
   16060              :                   }
   16061              :                 default:;
   16062              :                 }
   16063              :               break;
   16064              :             }
   16065           74 :           default:;
   16066              :           }
   16067           74 :         switch (TREE_CODE (_p1))
   16068              :           {
   16069            6 :           case EQ_EXPR:
   16070            6 :             {
   16071            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16072            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16073            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16074              :                 {
   16075            0 :                   {
   16076            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   16077            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   16078            0 :                     if (res) return res;
   16079              :                   }
   16080              :                 }
   16081            6 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16082              :                 {
   16083            0 :                   {
   16084            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   16085            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   16086            0 :                     if (res) return res;
   16087              :                   }
   16088              :                 }
   16089            6 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16090              :                 {
   16091            0 :                   {
   16092            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   16093            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   16094            0 :                     if (res) return res;
   16095              :                   }
   16096              :                 }
   16097            6 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16098              :                 {
   16099            0 :                   {
   16100            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   16101            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   16102            0 :                     if (res) return res;
   16103              :                   }
   16104              :                 }
   16105              :               break;
   16106              :             }
   16107            0 :           case NE_EXPR:
   16108            0 :             {
   16109            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16110            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16111            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16112              :                 {
   16113            0 :                   {
   16114            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   16115            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   16116            0 :                     if (res) return res;
   16117              :                   }
   16118              :                 }
   16119            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16120              :                 {
   16121            0 :                   {
   16122            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   16123            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   16124            0 :                     if (res) return res;
   16125              :                   }
   16126              :                 }
   16127            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16128              :                 {
   16129            0 :                   {
   16130            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   16131            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   16132            0 :                     if (res) return res;
   16133              :                   }
   16134              :                 }
   16135            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16136              :                 {
   16137            0 :                   {
   16138            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   16139            0 :                     tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   16140            0 :                     if (res) return res;
   16141              :                   }
   16142              :                 }
   16143              :               break;
   16144              :             }
   16145           12 :           case LT_EXPR:
   16146           12 :             {
   16147           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16148           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16149           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16150              :                 {
   16151           12 :                   {
   16152           12 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   16153           12 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
   16154           12 :                     if (res) return res;
   16155              :                   }
   16156              :                 }
   16157           11 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16158              :                 {
   16159            0 :                   {
   16160            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   16161            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
   16162            0 :                     if (res) return res;
   16163              :                   }
   16164              :                 }
   16165           11 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16166              :                 {
   16167            0 :                   {
   16168            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   16169            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
   16170            0 :                     if (res) return res;
   16171              :                   }
   16172              :                 }
   16173           11 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16174              :                 {
   16175            0 :                   {
   16176            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   16177            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
   16178            0 :                     if (res) return res;
   16179              :                   }
   16180              :                 }
   16181              :               break;
   16182              :             }
   16183           17 :           case LE_EXPR:
   16184           17 :             {
   16185           17 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16186           17 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16187           17 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16188              :                 {
   16189           14 :                   {
   16190           14 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   16191           14 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
   16192           14 :                     if (res) return res;
   16193              :                   }
   16194              :                 }
   16195           17 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16196              :                 {
   16197            0 :                   {
   16198            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   16199            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
   16200            0 :                     if (res) return res;
   16201              :                   }
   16202              :                 }
   16203           17 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16204              :                 {
   16205            0 :                   {
   16206            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   16207            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
   16208            0 :                     if (res) return res;
   16209              :                   }
   16210              :                 }
   16211           17 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16212              :                 {
   16213            0 :                   {
   16214            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   16215            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
   16216            0 :                     if (res) return res;
   16217              :                   }
   16218              :                 }
   16219              :               break;
   16220              :             }
   16221            0 :           case GT_EXPR:
   16222            0 :             {
   16223            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16224            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16225            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16226              :                 {
   16227            0 :                   {
   16228            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   16229            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
   16230            0 :                     if (res) return res;
   16231              :                   }
   16232              :                 }
   16233            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16234              :                 {
   16235            0 :                   {
   16236            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   16237            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
   16238            0 :                     if (res) return res;
   16239              :                   }
   16240              :                 }
   16241            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16242              :                 {
   16243            0 :                   {
   16244            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   16245            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
   16246            0 :                     if (res) return res;
   16247              :                   }
   16248              :                 }
   16249            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16250              :                 {
   16251            0 :                   {
   16252            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   16253            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
   16254            0 :                     if (res) return res;
   16255              :                   }
   16256              :                 }
   16257              :               break;
   16258              :             }
   16259           11 :           case GE_EXPR:
   16260           11 :             {
   16261           11 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16262           11 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16263           11 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16264              :                 {
   16265            7 :                   {
   16266            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   16267            7 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
   16268            7 :                     if (res) return res;
   16269              :                   }
   16270              :                 }
   16271           11 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16272              :                 {
   16273            0 :                   {
   16274            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   16275            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
   16276            0 :                     if (res) return res;
   16277              :                   }
   16278              :                 }
   16279           11 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16280              :                 {
   16281            4 :                   {
   16282            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   16283            4 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
   16284            4 :                     if (res) return res;
   16285              :                   }
   16286              :                 }
   16287           11 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16288              :                 {
   16289            0 :                   {
   16290            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   16291            0 :                     tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
   16292            0 :                     if (res) return res;
   16293              :                   }
   16294              :                 }
   16295              :               break;
   16296              :             }
   16297              :           default:;
   16298              :           }
   16299              :         break;
   16300              :       }
   16301            0 :     case MIN_EXPR:
   16302            0 :       {
   16303            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16304            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16305            0 :         switch (TREE_CODE (_p1))
   16306              :           {
   16307            0 :           case MAX_EXPR:
   16308            0 :             {
   16309            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16310            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16311            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16312              :                 {
   16313            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16314              :                     {
   16315            0 :                       {
   16316            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   16317            0 :                         if (!HONOR_NANS (captures[0])
   16318              : )
   16319              :                           {
   16320            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1680;
   16321            0 :                             {
   16322            0 :                               tree res_op0;
   16323            0 :                               res_op0 = captures[0];
   16324            0 :                               tree res_op1;
   16325            0 :                               res_op1 = captures[1];
   16326            0 :                               tree _r;
   16327            0 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   16328            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
   16329            0 :                               return _r;
   16330              :                             }
   16331            0 : next_after_fail1680:;
   16332              :                           }
   16333              :                       }
   16334              :                     }
   16335              :                 }
   16336            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16337              :                 {
   16338            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16339              :                     {
   16340            0 :                       {
   16341            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   16342            0 :                         if (!HONOR_NANS (captures[0])
   16343              : )
   16344              :                           {
   16345            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1681;
   16346            0 :                             {
   16347            0 :                               tree res_op0;
   16348            0 :                               res_op0 = captures[0];
   16349            0 :                               tree res_op1;
   16350            0 :                               res_op1 = captures[1];
   16351            0 :                               tree _r;
   16352            0 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   16353            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
   16354            0 :                               return _r;
   16355              :                             }
   16356            0 : next_after_fail1681:;
   16357              :                           }
   16358              :                       }
   16359              :                     }
   16360              :                 }
   16361              :               break;
   16362              :             }
   16363              :           default:;
   16364              :           }
   16365              :         break;
   16366              :       }
   16367           80 :     case MAX_EXPR:
   16368           80 :       {
   16369           80 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16370           80 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16371           80 :         switch (TREE_CODE (_p1))
   16372              :           {
   16373            0 :           case MIN_EXPR:
   16374            0 :             {
   16375            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16376            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16377            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16378              :                 {
   16379            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16380              :                     {
   16381            0 :                       {
   16382            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   16383            0 :                         if (!HONOR_NANS (captures[0])
   16384              : )
   16385              :                           {
   16386            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1682;
   16387            0 :                             {
   16388            0 :                               tree res_op0;
   16389            0 :                               res_op0 = captures[0];
   16390            0 :                               tree res_op1;
   16391            0 :                               res_op1 = captures[1];
   16392            0 :                               tree _r;
   16393            0 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   16394            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
   16395            0 :                               return _r;
   16396              :                             }
   16397            0 : next_after_fail1682:;
   16398              :                           }
   16399              :                       }
   16400              :                     }
   16401              :                 }
   16402            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16403              :                 {
   16404            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16405              :                     {
   16406            0 :                       {
   16407            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   16408            0 :                         if (!HONOR_NANS (captures[0])
   16409              : )
   16410              :                           {
   16411            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1683;
   16412            0 :                             {
   16413            0 :                               tree res_op0;
   16414            0 :                               res_op0 = captures[0];
   16415            0 :                               tree res_op1;
   16416            0 :                               res_op1 = captures[1];
   16417            0 :                               tree _r;
   16418            0 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   16419            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
   16420            0 :                               return _r;
   16421              :                             }
   16422            0 : next_after_fail1683:;
   16423              :                           }
   16424              :                       }
   16425              :                     }
   16426              :                 }
   16427              :               break;
   16428              :             }
   16429              :           default:;
   16430              :           }
   16431              :         break;
   16432              :       }
   16433       123236 :     case MULT_EXPR:
   16434       123236 :       {
   16435       123236 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16436       123236 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16437       123236 :         if (tree_zero_one_valued_p (_q20))
   16438              :           {
   16439            4 :             {
   16440            4 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   16441            4 :               tree res = generic_simplify_485 (loc, type, _p0, _p1, captures);
   16442            4 :               if (res) return res;
   16443              :             }
   16444              :           }
   16445       123234 :         if (tree_zero_one_valued_p (_q21))
   16446              :           {
   16447            0 :             {
   16448            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1 };
   16449            0 :               tree res = generic_simplify_485 (loc, type, _p0, _p1, captures);
   16450            0 :               if (res) return res;
   16451              :             }
   16452              :           }
   16453              :         break;
   16454              :       }
   16455      6411564 :     default:;
   16456              :     }
   16457      6411564 :   switch (TREE_CODE (_p1))
   16458              :     {
   16459           26 :     case MULT_EXPR:
   16460           26 :       {
   16461           26 :         tree _q30 = TREE_OPERAND (_p1, 0);
   16462           26 :         tree _q31 = TREE_OPERAND (_p1, 1);
   16463           26 :         if (tree_zero_one_valued_p (_q30))
   16464              :           {
   16465            0 :             {
   16466            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
   16467            0 :               tree res = generic_simplify_485 (loc, type, _p0, _p1, captures);
   16468            0 :               if (res) return res;
   16469              :             }
   16470              :           }
   16471           26 :         if (tree_zero_one_valued_p (_q31))
   16472              :           {
   16473            0 :             {
   16474            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
   16475            0 :               tree res = generic_simplify_485 (loc, type, _p0, _p1, captures);
   16476            0 :               if (res) return res;
   16477              :             }
   16478              :           }
   16479              :         break;
   16480              :       }
   16481      6411564 :     default:;
   16482              :     }
   16483      6411564 :   switch (TREE_CODE (_p0))
   16484              :     {
   16485        34368 :     case LSHIFT_EXPR:
   16486        34368 :       {
   16487        34368 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16488        34368 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16489        34368 :         switch (TREE_CODE (_q20))
   16490              :           {
   16491         5263 :           case INTEGER_CST:
   16492         5263 :             {
   16493         5263 :               if (integer_onep (_p1))
   16494              :                 {
   16495           44 :                   {
   16496           44 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   16497           44 :                     if ((wi::to_wide (captures[0]) & 1) != 0
   16498              : )
   16499              :                       {
   16500           40 :                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1684;
   16501           40 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1684;
   16502           40 :                         {
   16503           40 :                           tree res_op0;
   16504           40 :                           {
   16505           40 :                             tree _o1[2], _r1;
   16506           40 :                             _o1[0] = captures[1];
   16507           40 :                             _o1[1] =  build_zero_cst (TREE_TYPE (captures[1]));
   16508           40 :                             _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
   16509           40 :                             res_op0 = _r1;
   16510              :                           }
   16511           40 :                           tree _r;
   16512           40 :                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   16513           40 :                           if (TREE_SIDE_EFFECTS (captures[0]))
   16514            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   16515           40 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1018, __FILE__, __LINE__, true);
   16516           40 :                           return _r;
   16517              :                         }
   16518            0 : next_after_fail1684:;
   16519              :                       }
   16520              :                     else
   16521              :                       {
   16522            4 :                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1685;
   16523            4 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1685;
   16524            4 :                         {
   16525            4 :                           tree _r;
   16526            4 :                           _r =  build_zero_cst (type);
   16527            4 :                           if (TREE_SIDE_EFFECTS (captures[0]))
   16528            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   16529            4 :                           if (TREE_SIDE_EFFECTS (captures[1]))
   16530            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   16531            4 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1019, __FILE__, __LINE__, true);
   16532            4 :                           return _r;
   16533              :                         }
   16534            0 : next_after_fail1685:;
   16535              :                       }
   16536              :                   }
   16537              :                 }
   16538              :               break;
   16539              :             }
   16540         5411 :           CASE_CONVERT:
   16541         5411 :             {
   16542         5411 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16543         5411 :               switch (TREE_CODE (_q21))
   16544              :                 {
   16545         5307 :                 case INTEGER_CST:
   16546         5307 :                   {
   16547         5307 :                     switch (TREE_CODE (_p1))
   16548              :                       {
   16549         5307 :                       case INTEGER_CST:
   16550         5307 :                         {
   16551         5307 :                           {
   16552         5307 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21, _p1 };
   16553         5307 :                             tree res = generic_simplify_486 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
   16554         5307 :                             if (res) return res;
   16555              :                           }
   16556         4651 :                           break;
   16557              :                         }
   16558              :                       default:;
   16559              :                       }
   16560              :                     break;
   16561              :                   }
   16562              :                 default:;
   16563              :                 }
   16564              :               break;
   16565              :             }
   16566        33668 :           default:;
   16567              :           }
   16568        33668 :         switch (TREE_CODE (_q21))
   16569              :           {
   16570        28044 :           case INTEGER_CST:
   16571        28044 :             {
   16572        28044 :               switch (TREE_CODE (_p1))
   16573              :                 {
   16574        28007 :                 case INTEGER_CST:
   16575        28007 :                   {
   16576        28007 :                     {
   16577        28007 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21, _p1 };
   16578        28007 :                       tree res = generic_simplify_487 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
   16579        28007 :                       if (res) return res;
   16580              :                     }
   16581        17191 :                     break;
   16582              :                   }
   16583              :                 default:;
   16584              :                 }
   16585              :               break;
   16586              :             }
   16587              :           default:;
   16588              :           }
   16589              :         break;
   16590              :       }
   16591      1973277 :     CASE_CONVERT:
   16592      1973277 :       {
   16593      1973277 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16594      1973277 :         switch (TREE_CODE (_q20))
   16595              :           {
   16596        74787 :           case LSHIFT_EXPR:
   16597        74787 :             {
   16598        74787 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16599        74787 :               tree _q31 = TREE_OPERAND (_q20, 1);
   16600        74787 :               switch (TREE_CODE (_q30))
   16601              :                 {
   16602          147 :                 CASE_CONVERT:
   16603          147 :                   {
   16604          147 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   16605          147 :                     switch (TREE_CODE (_q31))
   16606              :                       {
   16607           79 :                       case INTEGER_CST:
   16608           79 :                         {
   16609           79 :                           switch (TREE_CODE (_p1))
   16610              :                             {
   16611           79 :                             case INTEGER_CST:
   16612           79 :                               {
   16613           79 :                                 {
   16614           79 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31, _p1 };
   16615           79 :                                   tree res = generic_simplify_488 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
   16616           79 :                                   if (res) return res;
   16617              :                                 }
   16618           79 :                                 break;
   16619              :                               }
   16620              :                             default:;
   16621              :                             }
   16622              :                           break;
   16623              :                         }
   16624              :                       default:;
   16625              :                       }
   16626              :                     break;
   16627              :                   }
   16628        74787 :                 default:;
   16629              :                 }
   16630        74787 :               switch (TREE_CODE (_q31))
   16631              :                 {
   16632           79 :                 case INTEGER_CST:
   16633           79 :                   {
   16634           79 :                     switch (TREE_CODE (_p1))
   16635              :                       {
   16636           79 :                       case INTEGER_CST:
   16637           79 :                         {
   16638           79 :                           {
   16639           79 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q31, _p1 };
   16640           79 :                             tree res = generic_simplify_489 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
   16641           79 :                             if (res) return res;
   16642              :                           }
   16643           79 :                           break;
   16644              :                         }
   16645              :                       default:;
   16646              :                       }
   16647              :                     break;
   16648              :                   }
   16649              :                 default:;
   16650              :                 }
   16651              :               break;
   16652              :             }
   16653       112558 :           case RSHIFT_EXPR:
   16654       112558 :             {
   16655       112558 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16656       112558 :               tree _q31 = TREE_OPERAND (_q20, 1);
   16657       112558 :               switch (TREE_CODE (_q30))
   16658              :                 {
   16659        32578 :                 CASE_CONVERT:
   16660        32578 :                   {
   16661        32578 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   16662        32578 :                     switch (TREE_CODE (_q31))
   16663              :                       {
   16664        32451 :                       case INTEGER_CST:
   16665        32451 :                         {
   16666        32451 :                           switch (TREE_CODE (_p1))
   16667              :                             {
   16668        32451 :                             case INTEGER_CST:
   16669        32451 :                               {
   16670        32451 :                                 {
   16671        32451 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31, _p1 };
   16672        32451 :                                   tree res = generic_simplify_488 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
   16673        32451 :                                   if (res) return res;
   16674              :                                 }
   16675        32394 :                                 break;
   16676              :                               }
   16677              :                             default:;
   16678              :                             }
   16679              :                           break;
   16680              :                         }
   16681        32521 :                       default:;
   16682              :                       }
   16683        32521 :                     switch (TREE_CODE (_q40))
   16684              :                       {
   16685            2 :                       case CALL_EXPR:
   16686            2 :                         switch (get_call_combined_fn (_q40))
   16687              :                           {
   16688            0 :                           case CFN_BUILT_IN_BSWAP128:
   16689            0 :                             if (call_expr_nargs (_q40) == 1)
   16690              :     {
   16691            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16692            0 :                                 switch (TREE_CODE (_q31))
   16693              :                                   {
   16694            0 :                                   case INTEGER_CST:
   16695            0 :                                     {
   16696            0 :                                       switch (TREE_CODE (_p1))
   16697              :                                         {
   16698            0 :                                         case INTEGER_CST:
   16699            0 :                                           {
   16700            0 :                                             {
   16701            0 :                                               tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
   16702            0 :                                               tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   16703            0 :                                               if (res) return res;
   16704              :                                             }
   16705            0 :                                             break;
   16706              :                                           }
   16707              :                                         default:;
   16708              :                                         }
   16709              :                                       break;
   16710              :                                     }
   16711              :                                   default:;
   16712              :                                   }
   16713              :                               }
   16714              :                             break;
   16715            2 :                           case CFN_BUILT_IN_BSWAP16:
   16716            2 :                             if (call_expr_nargs (_q40) == 1)
   16717              :     {
   16718            2 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16719            2 :                                 switch (TREE_CODE (_q31))
   16720              :                                   {
   16721            2 :                                   case INTEGER_CST:
   16722            2 :                                     {
   16723            2 :                                       switch (TREE_CODE (_p1))
   16724              :                                         {
   16725            2 :                                         case INTEGER_CST:
   16726            2 :                                           {
   16727            2 :                                             {
   16728            2 :                                               tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
   16729            2 :                                               tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   16730            2 :                                               if (res) return res;
   16731              :                                             }
   16732            0 :                                             break;
   16733              :                                           }
   16734              :                                         default:;
   16735              :                                         }
   16736              :                                       break;
   16737              :                                     }
   16738              :                                   default:;
   16739              :                                   }
   16740              :                               }
   16741              :                             break;
   16742            0 :                           case CFN_BUILT_IN_BSWAP32:
   16743            0 :                             if (call_expr_nargs (_q40) == 1)
   16744              :     {
   16745            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16746            0 :                                 switch (TREE_CODE (_q31))
   16747              :                                   {
   16748            0 :                                   case INTEGER_CST:
   16749            0 :                                     {
   16750            0 :                                       switch (TREE_CODE (_p1))
   16751              :                                         {
   16752            0 :                                         case INTEGER_CST:
   16753            0 :                                           {
   16754            0 :                                             {
   16755            0 :                                               tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
   16756            0 :                                               tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   16757            0 :                                               if (res) return res;
   16758              :                                             }
   16759            0 :                                             break;
   16760              :                                           }
   16761              :                                         default:;
   16762              :                                         }
   16763              :                                       break;
   16764              :                                     }
   16765              :                                   default:;
   16766              :                                   }
   16767              :                               }
   16768              :                             break;
   16769            0 :                           case CFN_BUILT_IN_BSWAP64:
   16770            0 :                             if (call_expr_nargs (_q40) == 1)
   16771              :     {
   16772            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16773            0 :                                 switch (TREE_CODE (_q31))
   16774              :                                   {
   16775            0 :                                   case INTEGER_CST:
   16776            0 :                                     {
   16777            0 :                                       switch (TREE_CODE (_p1))
   16778              :                                         {
   16779            0 :                                         case INTEGER_CST:
   16780            0 :                                           {
   16781            0 :                                             {
   16782            0 :                                               tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
   16783            0 :                                               tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   16784            0 :                                               if (res) return res;
   16785              :                                             }
   16786            0 :                                             break;
   16787              :                                           }
   16788              :                                         default:;
   16789              :                                         }
   16790              :                                       break;
   16791              :                                     }
   16792              :                                   default:;
   16793              :                                   }
   16794              :                               }
   16795              :                             break;
   16796              :                           default:;
   16797              :                           }
   16798              :                         break;
   16799              :                       default:;
   16800              :                       }
   16801              :                     break;
   16802              :                   }
   16803       112499 :                 default:;
   16804              :                 }
   16805       112499 :               switch (TREE_CODE (_q31))
   16806              :                 {
   16807        39017 :                 case INTEGER_CST:
   16808        39017 :                   {
   16809        39017 :                     switch (TREE_CODE (_p1))
   16810              :                       {
   16811        38945 :                       case INTEGER_CST:
   16812        38945 :                         {
   16813        38945 :                           {
   16814        38945 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q31, _p1 };
   16815        38945 :                             tree res = generic_simplify_489 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
   16816        38945 :                             if (res) return res;
   16817              :                           }
   16818        38873 :                           break;
   16819              :                         }
   16820              :                       default:;
   16821              :                       }
   16822              :                     break;
   16823              :                   }
   16824       112427 :                 default:;
   16825              :                 }
   16826       112427 :               switch (TREE_CODE (_q30))
   16827              :                 {
   16828           80 :                 case CALL_EXPR:
   16829           80 :                   switch (get_call_combined_fn (_q30))
   16830              :                     {
   16831            0 :                     case CFN_BUILT_IN_BSWAP128:
   16832            0 :                       if (call_expr_nargs (_q30) == 1)
   16833              :     {
   16834            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16835            0 :                           switch (TREE_CODE (_q31))
   16836              :                             {
   16837            0 :                             case INTEGER_CST:
   16838            0 :                               {
   16839            0 :                                 switch (TREE_CODE (_p1))
   16840              :                                   {
   16841            0 :                                   case INTEGER_CST:
   16842            0 :                                     {
   16843            0 :                                       {
   16844            0 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
   16845            0 :                                         tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   16846            0 :                                         if (res) return res;
   16847              :                                       }
   16848            0 :                                       break;
   16849              :                                     }
   16850              :                                   default:;
   16851              :                                   }
   16852              :                                 break;
   16853              :                               }
   16854              :                             default:;
   16855              :                             }
   16856              :                         }
   16857              :                       break;
   16858            9 :                     case CFN_BUILT_IN_BSWAP16:
   16859            9 :                       if (call_expr_nargs (_q30) == 1)
   16860              :     {
   16861            9 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16862            9 :                           switch (TREE_CODE (_q31))
   16863              :                             {
   16864            9 :                             case INTEGER_CST:
   16865            9 :                               {
   16866            9 :                                 switch (TREE_CODE (_p1))
   16867              :                                   {
   16868            9 :                                   case INTEGER_CST:
   16869            9 :                                     {
   16870            9 :                                       {
   16871            9 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
   16872            9 :                                         tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   16873            9 :                                         if (res) return res;
   16874              :                                       }
   16875            0 :                                       break;
   16876              :                                     }
   16877              :                                   default:;
   16878              :                                   }
   16879              :                                 break;
   16880              :                               }
   16881              :                             default:;
   16882              :                             }
   16883              :                         }
   16884              :                       break;
   16885            0 :                     case CFN_BUILT_IN_BSWAP32:
   16886            0 :                       if (call_expr_nargs (_q30) == 1)
   16887              :     {
   16888            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16889            0 :                           switch (TREE_CODE (_q31))
   16890              :                             {
   16891            0 :                             case INTEGER_CST:
   16892            0 :                               {
   16893            0 :                                 switch (TREE_CODE (_p1))
   16894              :                                   {
   16895            0 :                                   case INTEGER_CST:
   16896            0 :                                     {
   16897            0 :                                       {
   16898            0 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
   16899            0 :                                         tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   16900            0 :                                         if (res) return res;
   16901              :                                       }
   16902            0 :                                       break;
   16903              :                                     }
   16904              :                                   default:;
   16905              :                                   }
   16906              :                                 break;
   16907              :                               }
   16908              :                             default:;
   16909              :                             }
   16910              :                         }
   16911              :                       break;
   16912           71 :                     case CFN_BUILT_IN_BSWAP64:
   16913           71 :                       if (call_expr_nargs (_q30) == 1)
   16914              :     {
   16915           71 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16916           71 :                           switch (TREE_CODE (_q31))
   16917              :                             {
   16918           70 :                             case INTEGER_CST:
   16919           70 :                               {
   16920           70 :                                 switch (TREE_CODE (_p1))
   16921              :                                   {
   16922           70 :                                   case INTEGER_CST:
   16923           70 :                                     {
   16924           70 :                                       {
   16925           70 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
   16926           70 :                                         tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   16927           70 :                                         if (res) return res;
   16928              :                                       }
   16929            0 :                                       break;
   16930              :                                     }
   16931              :                                   default:;
   16932              :                                   }
   16933              :                                 break;
   16934              :                               }
   16935              :                             default:;
   16936              :                             }
   16937              :                         }
   16938              :                       break;
   16939              :                     default:;
   16940              :                     }
   16941              :                   break;
   16942              :                 default:;
   16943              :                 }
   16944              :               break;
   16945              :             }
   16946        29816 :           case CALL_EXPR:
   16947        29816 :             switch (get_call_combined_fn (_q20))
   16948              :               {
   16949            0 :               case CFN_BUILT_IN_BSWAP128:
   16950            0 :                 if (call_expr_nargs (_q20) == 1)
   16951              :     {
   16952            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   16953            0 :                     switch (TREE_CODE (_p1))
   16954              :                       {
   16955            0 :                       case INTEGER_CST:
   16956            0 :                         {
   16957            0 :                           {
   16958            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   16959            0 :                             tree res = generic_simplify_491 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   16960            0 :                             if (res) return res;
   16961              :                           }
   16962            0 :                           break;
   16963              :                         }
   16964              :                       default:;
   16965              :                       }
   16966              :                   }
   16967              :                 break;
   16968           10 :               case CFN_BUILT_IN_BSWAP16:
   16969           10 :                 if (call_expr_nargs (_q20) == 1)
   16970              :     {
   16971           10 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   16972           10 :                     switch (TREE_CODE (_p1))
   16973              :                       {
   16974           10 :                       case INTEGER_CST:
   16975           10 :                         {
   16976           10 :                           {
   16977           10 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   16978           10 :                             tree res = generic_simplify_491 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   16979           10 :                             if (res) return res;
   16980              :                           }
   16981            0 :                           break;
   16982              :                         }
   16983              :                       default:;
   16984              :                       }
   16985              :                   }
   16986              :                 break;
   16987            4 :               case CFN_BUILT_IN_BSWAP32:
   16988            4 :                 if (call_expr_nargs (_q20) == 1)
   16989              :     {
   16990            4 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   16991            4 :                     switch (TREE_CODE (_p1))
   16992              :                       {
   16993            4 :                       case INTEGER_CST:
   16994            4 :                         {
   16995            4 :                           {
   16996            4 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   16997            4 :                             tree res = generic_simplify_491 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   16998            4 :                             if (res) return res;
   16999              :                           }
   17000            0 :                           break;
   17001              :                         }
   17002              :                       default:;
   17003              :                       }
   17004              :                   }
   17005              :                 break;
   17006            4 :               case CFN_BUILT_IN_BSWAP64:
   17007            4 :                 if (call_expr_nargs (_q20) == 1)
   17008              :     {
   17009            4 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17010            4 :                     switch (TREE_CODE (_p1))
   17011              :                       {
   17012            4 :                       case INTEGER_CST:
   17013            4 :                         {
   17014            4 :                           {
   17015            4 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   17016            4 :                             tree res = generic_simplify_491 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   17017            4 :                             if (res) return res;
   17018              :                           }
   17019            0 :                           break;
   17020              :                         }
   17021              :                       default:;
   17022              :                       }
   17023              :                   }
   17024              :                 break;
   17025              :               default:;
   17026              :               }
   17027              :             break;
   17028              :           default:;
   17029              :           }
   17030              :         break;
   17031              :       }
   17032        79781 :     case RSHIFT_EXPR:
   17033        79781 :       {
   17034        79781 :         tree _q20 = TREE_OPERAND (_p0, 0);
   17035        79781 :         tree _q21 = TREE_OPERAND (_p0, 1);
   17036        79781 :         switch (TREE_CODE (_q20))
   17037              :           {
   17038        28721 :           CASE_CONVERT:
   17039        28721 :             {
   17040        28721 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17041        28721 :               switch (TREE_CODE (_q21))
   17042              :                 {
   17043        25458 :                 case INTEGER_CST:
   17044        25458 :                   {
   17045        25458 :                     switch (TREE_CODE (_p1))
   17046              :                       {
   17047        25458 :                       case INTEGER_CST:
   17048        25458 :                         {
   17049        25458 :                           {
   17050        25458 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21, _p1 };
   17051        25458 :                             tree res = generic_simplify_486 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
   17052        25458 :                             if (res) return res;
   17053              :                           }
   17054        25134 :                           break;
   17055              :                         }
   17056              :                       default:;
   17057              :                       }
   17058              :                     break;
   17059              :                   }
   17060        28397 :                 default:;
   17061              :                 }
   17062        28397 :               switch (TREE_CODE (_q30))
   17063              :                 {
   17064           22 :                 case CALL_EXPR:
   17065           22 :                   switch (get_call_combined_fn (_q30))
   17066              :                     {
   17067            0 :                     case CFN_BUILT_IN_BSWAP128:
   17068            0 :                       if (call_expr_nargs (_q30) == 1)
   17069              :     {
   17070            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   17071            0 :                           switch (TREE_CODE (_q21))
   17072              :                             {
   17073            0 :                             case INTEGER_CST:
   17074            0 :                               {
   17075            0 :                                 switch (TREE_CODE (_p1))
   17076              :                                   {
   17077            0 :                                   case INTEGER_CST:
   17078            0 :                                     {
   17079            0 :                                       {
   17080            0 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
   17081            0 :                                         tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   17082            0 :                                         if (res) return res;
   17083              :                                       }
   17084            0 :                                       break;
   17085              :                                     }
   17086              :                                   default:;
   17087              :                                   }
   17088              :                                 break;
   17089              :                               }
   17090              :                             default:;
   17091              :                             }
   17092              :                         }
   17093              :                       break;
   17094            1 :                     case CFN_BUILT_IN_BSWAP16:
   17095            1 :                       if (call_expr_nargs (_q30) == 1)
   17096              :     {
   17097            1 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   17098            1 :                           switch (TREE_CODE (_q21))
   17099              :                             {
   17100            0 :                             case INTEGER_CST:
   17101            0 :                               {
   17102            0 :                                 switch (TREE_CODE (_p1))
   17103              :                                   {
   17104            0 :                                   case INTEGER_CST:
   17105            0 :                                     {
   17106            0 :                                       {
   17107            0 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
   17108            0 :                                         tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   17109            0 :                                         if (res) return res;
   17110              :                                       }
   17111            0 :                                       break;
   17112              :                                     }
   17113              :                                   default:;
   17114              :                                   }
   17115              :                                 break;
   17116              :                               }
   17117              :                             default:;
   17118              :                             }
   17119              :                         }
   17120              :                       break;
   17121            9 :                     case CFN_BUILT_IN_BSWAP32:
   17122            9 :                       if (call_expr_nargs (_q30) == 1)
   17123              :     {
   17124            9 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   17125            9 :                           switch (TREE_CODE (_q21))
   17126              :                             {
   17127            9 :                             case INTEGER_CST:
   17128            9 :                               {
   17129            9 :                                 switch (TREE_CODE (_p1))
   17130              :                                   {
   17131            9 :                                   case INTEGER_CST:
   17132            9 :                                     {
   17133            9 :                                       {
   17134            9 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
   17135            9 :                                         tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   17136            9 :                                         if (res) return res;
   17137              :                                       }
   17138            0 :                                       break;
   17139              :                                     }
   17140              :                                   default:;
   17141              :                                   }
   17142              :                                 break;
   17143              :                               }
   17144              :                             default:;
   17145              :                             }
   17146              :                         }
   17147              :                       break;
   17148           12 :                     case CFN_BUILT_IN_BSWAP64:
   17149           12 :                       if (call_expr_nargs (_q30) == 1)
   17150              :     {
   17151           12 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   17152           12 :                           switch (TREE_CODE (_q21))
   17153              :                             {
   17154           12 :                             case INTEGER_CST:
   17155           12 :                               {
   17156           12 :                                 switch (TREE_CODE (_p1))
   17157              :                                   {
   17158           12 :                                   case INTEGER_CST:
   17159           12 :                                     {
   17160           12 :                                       {
   17161           12 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
   17162           12 :                                         tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   17163           12 :                                         if (res) return res;
   17164              :                                       }
   17165            0 :                                       break;
   17166              :                                     }
   17167              :                                   default:;
   17168              :                                   }
   17169              :                                 break;
   17170              :                               }
   17171              :                             default:;
   17172              :                             }
   17173              :                         }
   17174              :                       break;
   17175              :                     default:;
   17176              :                     }
   17177              :                   break;
   17178              :                 default:;
   17179              :                 }
   17180              :               break;
   17181              :             }
   17182        79436 :           default:;
   17183              :           }
   17184        79436 :         switch (TREE_CODE (_q21))
   17185              :           {
   17186        34593 :           case INTEGER_CST:
   17187        34593 :             {
   17188        34593 :               switch (TREE_CODE (_p1))
   17189              :                 {
   17190        34448 :                 case INTEGER_CST:
   17191        34448 :                   {
   17192        34448 :                     {
   17193        34448 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21, _p1 };
   17194        34448 :                       tree res = generic_simplify_487 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
   17195        34448 :                       if (res) return res;
   17196              :                     }
   17197        32605 :                     break;
   17198              :                   }
   17199              :                 default:;
   17200              :                 }
   17201              :               break;
   17202              :             }
   17203        77593 :           default:;
   17204              :           }
   17205        77593 :         switch (TREE_CODE (_q20))
   17206              :           {
   17207          140 :           case CALL_EXPR:
   17208          140 :             switch (get_call_combined_fn (_q20))
   17209              :               {
   17210            0 :               case CFN_BUILT_IN_BSWAP128:
   17211            0 :                 if (call_expr_nargs (_q20) == 1)
   17212              :     {
   17213            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17214            0 :                     switch (TREE_CODE (_q21))
   17215              :                       {
   17216            0 :                       case INTEGER_CST:
   17217            0 :                         {
   17218            0 :                           switch (TREE_CODE (_p1))
   17219              :                             {
   17220            0 :                             case INTEGER_CST:
   17221            0 :                               {
   17222            0 :                                 {
   17223            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
   17224            0 :                                   tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   17225            0 :                                   if (res) return res;
   17226              :                                 }
   17227            0 :                                 break;
   17228              :                               }
   17229              :                             default:;
   17230              :                             }
   17231              :                           break;
   17232              :                         }
   17233              :                       default:;
   17234              :                       }
   17235              :                   }
   17236              :                 break;
   17237            0 :               case CFN_BUILT_IN_BSWAP16:
   17238            0 :                 if (call_expr_nargs (_q20) == 1)
   17239              :     {
   17240            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17241            0 :                     switch (TREE_CODE (_q21))
   17242              :                       {
   17243            0 :                       case INTEGER_CST:
   17244            0 :                         {
   17245            0 :                           switch (TREE_CODE (_p1))
   17246              :                             {
   17247            0 :                             case INTEGER_CST:
   17248            0 :                               {
   17249            0 :                                 {
   17250            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
   17251            0 :                                   tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   17252            0 :                                   if (res) return res;
   17253              :                                 }
   17254            0 :                                 break;
   17255              :                               }
   17256              :                             default:;
   17257              :                             }
   17258              :                           break;
   17259              :                         }
   17260              :                       default:;
   17261              :                       }
   17262              :                   }
   17263              :                 break;
   17264           60 :               case CFN_BUILT_IN_BSWAP32:
   17265           60 :                 if (call_expr_nargs (_q20) == 1)
   17266              :     {
   17267           60 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17268           60 :                     switch (TREE_CODE (_q21))
   17269              :                       {
   17270           59 :                       case INTEGER_CST:
   17271           59 :                         {
   17272           59 :                           switch (TREE_CODE (_p1))
   17273              :                             {
   17274           59 :                             case INTEGER_CST:
   17275           59 :                               {
   17276           59 :                                 {
   17277           59 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
   17278           59 :                                   tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   17279           59 :                                   if (res) return res;
   17280              :                                 }
   17281            0 :                                 break;
   17282              :                               }
   17283              :                             default:;
   17284              :                             }
   17285              :                           break;
   17286              :                         }
   17287              :                       default:;
   17288              :                       }
   17289              :                   }
   17290              :                 break;
   17291           73 :               case CFN_BUILT_IN_BSWAP64:
   17292           73 :                 if (call_expr_nargs (_q20) == 1)
   17293              :     {
   17294           73 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17295           73 :                     switch (TREE_CODE (_q21))
   17296              :                       {
   17297           73 :                       case INTEGER_CST:
   17298           73 :                         {
   17299           73 :                           switch (TREE_CODE (_p1))
   17300              :                             {
   17301           73 :                             case INTEGER_CST:
   17302           73 :                               {
   17303           73 :                                 {
   17304           73 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
   17305           73 :                                   tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   17306           73 :                                   if (res) return res;
   17307              :                                 }
   17308            0 :                                 break;
   17309              :                               }
   17310              :                             default:;
   17311              :                             }
   17312              :                           break;
   17313              :                         }
   17314              :                       default:;
   17315              :                       }
   17316              :                   }
   17317              :                 break;
   17318              :               default:;
   17319              :               }
   17320              :             break;
   17321              :           default:;
   17322              :           }
   17323              :         break;
   17324              :       }
   17325           65 :     case VEC_COND_EXPR:
   17326           65 :       {
   17327           65 :         tree _q20 = TREE_OPERAND (_p0, 0);
   17328           65 :         tree _q21 = TREE_OPERAND (_p0, 1);
   17329           65 :         tree _q22 = TREE_OPERAND (_p0, 2);
   17330           65 :         switch (TREE_CODE (_p1))
   17331              :           {
   17332           47 :           case VEC_COND_EXPR:
   17333           47 :             {
   17334           47 :               tree _q60 = TREE_OPERAND (_p1, 0);
   17335           47 :               tree _q61 = TREE_OPERAND (_p1, 1);
   17336           47 :               tree _q62 = TREE_OPERAND (_p1, 2);
   17337           47 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   17338              :                 {
   17339            0 :                   {
   17340            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   17341            0 :                     if (VECTOR_TYPE_P (type)
   17342            0 :  && (TREE_CODE_CLASS (BIT_AND_EXPR) != tcc_comparison
   17343              :  || types_match (type, TREE_TYPE (captures[2]))
   17344              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   17345              :  || (optimize_vectors_before_lowering_p ()
   17346              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   17347              : )
   17348              :                       {
   17349            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1686;
   17350            0 :                         {
   17351            0 :                           tree res_op0;
   17352            0 :                           res_op0 = captures[1];
   17353            0 :                           tree res_op1;
   17354            0 :                           {
   17355            0 :                             tree _o1[2], _r1;
   17356            0 :                             _o1[0] = captures[2];
   17357            0 :                             _o1[1] = captures[5];
   17358            0 :                             _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   17359            0 :                             if (EXPR_P (_r1))
   17360            0 :                               goto next_after_fail1686;
   17361            0 :                             res_op1 = _r1;
   17362              :                           }
   17363            0 :                           tree res_op2;
   17364            0 :                           {
   17365            0 :                             tree _o1[2], _r1;
   17366            0 :                             _o1[0] = captures[3];
   17367            0 :                             _o1[1] = captures[6];
   17368            0 :                             _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   17369            0 :                             if (EXPR_P (_r1))
   17370            0 :                               goto next_after_fail1686;
   17371            0 :                             res_op2 = _r1;
   17372              :                           }
   17373            0 :                           tree _r;
   17374            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17375            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
   17376            0 :                           return _r;
   17377              :                         }
   17378            0 : next_after_fail1686:;
   17379              :                       }
   17380              :                   }
   17381              :                 }
   17382              :               break;
   17383              :             }
   17384           65 :           default:;
   17385              :           }
   17386           65 :         if (integer_minus_onep (_q21))
   17387              :           {
   17388           65 :             if (integer_zerop (_q22))
   17389              :               {
   17390           65 :                 switch (TREE_CODE (_p1))
   17391              :                   {
   17392           47 :                   case VEC_COND_EXPR:
   17393           47 :                     {
   17394           47 :                       tree _q60 = TREE_OPERAND (_p1, 0);
   17395           47 :                       tree _q61 = TREE_OPERAND (_p1, 1);
   17396           47 :                       tree _q62 = TREE_OPERAND (_p1, 2);
   17397           47 :                       if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
   17398              :                         {
   17399           47 :                           if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   17400              :                             {
   17401           47 :                               {
   17402           47 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17403           47 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17404           47 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17405              : )
   17406              :                                   {
   17407           47 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1687;
   17408           47 :                                     {
   17409           47 :                                       tree res_op0;
   17410           47 :                                       {
   17411           47 :                                         tree _o1[2], _r1;
   17412           47 :                                         _o1[0] = captures[0];
   17413           47 :                                         _o1[1] = captures[3];
   17414           47 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17415           47 :                                         res_op0 = _r1;
   17416              :                                       }
   17417           47 :                                       tree res_op1;
   17418           47 :                                       res_op1 = captures[1];
   17419           47 :                                       tree res_op2;
   17420           47 :                                       res_op2 = captures[2];
   17421           47 :                                       tree _r;
   17422           47 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17423           47 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17424           47 :                                       return _r;
   17425              :                                     }
   17426            0 : next_after_fail1687:;
   17427              :                                   }
   17428              :                               }
   17429            0 :                               {
   17430            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17431            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17432            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17433              : )
   17434              :                                   {
   17435            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1688;
   17436            0 :                                     {
   17437            0 :                                       tree res_op0;
   17438            0 :                                       {
   17439            0 :                                         tree _o1[2], _r1;
   17440            0 :                                         _o1[0] = captures[0];
   17441            0 :                                         _o1[1] = captures[3];
   17442            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17443            0 :                                         res_op0 = _r1;
   17444              :                                       }
   17445            0 :                                       tree res_op1;
   17446            0 :                                       res_op1 = captures[1];
   17447            0 :                                       tree res_op2;
   17448            0 :                                       res_op2 = captures[2];
   17449            0 :                                       tree _r;
   17450            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17451            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17452            0 :                                       return _r;
   17453              :                                     }
   17454            0 : next_after_fail1688:;
   17455              :                                   }
   17456              :                               }
   17457            0 :                               {
   17458            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17459            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17460            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17461              : )
   17462              :                                   {
   17463            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1689;
   17464            0 :                                     {
   17465            0 :                                       tree res_op0;
   17466            0 :                                       {
   17467            0 :                                         tree _o1[2], _r1;
   17468            0 :                                         _o1[0] = captures[0];
   17469            0 :                                         _o1[1] = captures[3];
   17470            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17471            0 :                                         res_op0 = _r1;
   17472              :                                       }
   17473            0 :                                       tree res_op1;
   17474            0 :                                       res_op1 = captures[1];
   17475            0 :                                       tree res_op2;
   17476            0 :                                       res_op2 = captures[2];
   17477            0 :                                       tree _r;
   17478            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17479            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17480            0 :                                       return _r;
   17481              :                                     }
   17482            0 : next_after_fail1689:;
   17483              :                                   }
   17484              :                               }
   17485            0 :                               {
   17486            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17487            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17488            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17489              : )
   17490              :                                   {
   17491            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1690;
   17492            0 :                                     {
   17493            0 :                                       tree res_op0;
   17494            0 :                                       {
   17495            0 :                                         tree _o1[2], _r1;
   17496            0 :                                         _o1[0] = captures[0];
   17497            0 :                                         _o1[1] = captures[3];
   17498            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17499            0 :                                         res_op0 = _r1;
   17500              :                                       }
   17501            0 :                                       tree res_op1;
   17502            0 :                                       res_op1 = captures[1];
   17503            0 :                                       tree res_op2;
   17504            0 :                                       res_op2 = captures[2];
   17505            0 :                                       tree _r;
   17506            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17507            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17508            0 :                                       return _r;
   17509              :                                     }
   17510            0 : next_after_fail1690:;
   17511              :                                   }
   17512              :                               }
   17513            0 :                               {
   17514            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17515            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17516            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17517              : )
   17518              :                                   {
   17519            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1691;
   17520            0 :                                     {
   17521            0 :                                       tree res_op0;
   17522            0 :                                       {
   17523            0 :                                         tree _o1[2], _r1;
   17524            0 :                                         _o1[0] = captures[0];
   17525            0 :                                         _o1[1] = captures[3];
   17526            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17527            0 :                                         res_op0 = _r1;
   17528              :                                       }
   17529            0 :                                       tree res_op1;
   17530            0 :                                       res_op1 = captures[1];
   17531            0 :                                       tree res_op2;
   17532            0 :                                       res_op2 = captures[2];
   17533            0 :                                       tree _r;
   17534            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17535            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17536            0 :                                       return _r;
   17537              :                                     }
   17538            0 : next_after_fail1691:;
   17539              :                                   }
   17540              :                               }
   17541            0 :                               {
   17542            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17543            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17544            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17545              : )
   17546              :                                   {
   17547            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1692;
   17548            0 :                                     {
   17549            0 :                                       tree res_op0;
   17550            0 :                                       {
   17551            0 :                                         tree _o1[2], _r1;
   17552            0 :                                         _o1[0] = captures[0];
   17553            0 :                                         _o1[1] = captures[3];
   17554            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17555            0 :                                         res_op0 = _r1;
   17556              :                                       }
   17557            0 :                                       tree res_op1;
   17558            0 :                                       res_op1 = captures[1];
   17559            0 :                                       tree res_op2;
   17560            0 :                                       res_op2 = captures[2];
   17561            0 :                                       tree _r;
   17562            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17563            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17564            0 :                                       return _r;
   17565              :                                     }
   17566            0 : next_after_fail1692:;
   17567              :                                   }
   17568              :                               }
   17569            0 :                               {
   17570            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17571            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17572            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17573              : )
   17574              :                                   {
   17575            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1693;
   17576            0 :                                     {
   17577            0 :                                       tree res_op0;
   17578            0 :                                       {
   17579            0 :                                         tree _o1[2], _r1;
   17580            0 :                                         _o1[0] = captures[0];
   17581            0 :                                         _o1[1] = captures[3];
   17582            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17583            0 :                                         res_op0 = _r1;
   17584              :                                       }
   17585            0 :                                       tree res_op1;
   17586            0 :                                       res_op1 = captures[1];
   17587            0 :                                       tree res_op2;
   17588            0 :                                       res_op2 = captures[2];
   17589            0 :                                       tree _r;
   17590            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17591            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17592            0 :                                       return _r;
   17593              :                                     }
   17594            0 : next_after_fail1693:;
   17595              :                                   }
   17596              :                               }
   17597            0 :                               {
   17598            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17599            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17600            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17601              : )
   17602              :                                   {
   17603            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1694;
   17604            0 :                                     {
   17605            0 :                                       tree res_op0;
   17606            0 :                                       {
   17607            0 :                                         tree _o1[2], _r1;
   17608            0 :                                         _o1[0] = captures[0];
   17609            0 :                                         _o1[1] = captures[3];
   17610            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17611            0 :                                         res_op0 = _r1;
   17612              :                                       }
   17613            0 :                                       tree res_op1;
   17614            0 :                                       res_op1 = captures[1];
   17615            0 :                                       tree res_op2;
   17616            0 :                                       res_op2 = captures[2];
   17617            0 :                                       tree _r;
   17618            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17619            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17620            0 :                                       return _r;
   17621              :                                     }
   17622            0 : next_after_fail1694:;
   17623              :                                   }
   17624              :                               }
   17625            0 :                               {
   17626            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17627            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17628            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17629              : )
   17630              :                                   {
   17631            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1695;
   17632            0 :                                     {
   17633            0 :                                       tree res_op0;
   17634            0 :                                       {
   17635            0 :                                         tree _o1[2], _r1;
   17636            0 :                                         _o1[0] = captures[0];
   17637            0 :                                         _o1[1] = captures[3];
   17638            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17639            0 :                                         res_op0 = _r1;
   17640              :                                       }
   17641            0 :                                       tree res_op1;
   17642            0 :                                       res_op1 = captures[1];
   17643            0 :                                       tree res_op2;
   17644            0 :                                       res_op2 = captures[2];
   17645            0 :                                       tree _r;
   17646            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17647            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17648            0 :                                       return _r;
   17649              :                                     }
   17650            0 : next_after_fail1695:;
   17651              :                                   }
   17652              :                               }
   17653            0 :                               {
   17654            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17655            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17656            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17657              : )
   17658              :                                   {
   17659            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1696;
   17660            0 :                                     {
   17661            0 :                                       tree res_op0;
   17662            0 :                                       {
   17663            0 :                                         tree _o1[2], _r1;
   17664            0 :                                         _o1[0] = captures[0];
   17665            0 :                                         _o1[1] = captures[3];
   17666            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17667            0 :                                         res_op0 = _r1;
   17668              :                                       }
   17669            0 :                                       tree res_op1;
   17670            0 :                                       res_op1 = captures[1];
   17671            0 :                                       tree res_op2;
   17672            0 :                                       res_op2 = captures[2];
   17673            0 :                                       tree _r;
   17674            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17675            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17676            0 :                                       return _r;
   17677              :                                     }
   17678            0 : next_after_fail1696:;
   17679              :                                   }
   17680              :                               }
   17681            0 :                               {
   17682            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17683            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17684            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17685              : )
   17686              :                                   {
   17687            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1697;
   17688            0 :                                     {
   17689            0 :                                       tree res_op0;
   17690            0 :                                       {
   17691            0 :                                         tree _o1[2], _r1;
   17692            0 :                                         _o1[0] = captures[0];
   17693            0 :                                         _o1[1] = captures[3];
   17694            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17695            0 :                                         res_op0 = _r1;
   17696              :                                       }
   17697            0 :                                       tree res_op1;
   17698            0 :                                       res_op1 = captures[1];
   17699            0 :                                       tree res_op2;
   17700            0 :                                       res_op2 = captures[2];
   17701            0 :                                       tree _r;
   17702            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17703            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17704            0 :                                       return _r;
   17705              :                                     }
   17706            0 : next_after_fail1697:;
   17707              :                                   }
   17708              :                               }
   17709            0 :                               {
   17710            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17711            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17712            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17713              : )
   17714              :                                   {
   17715            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1698;
   17716            0 :                                     {
   17717            0 :                                       tree res_op0;
   17718            0 :                                       {
   17719            0 :                                         tree _o1[2], _r1;
   17720            0 :                                         _o1[0] = captures[0];
   17721            0 :                                         _o1[1] = captures[3];
   17722            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17723            0 :                                         res_op0 = _r1;
   17724              :                                       }
   17725            0 :                                       tree res_op1;
   17726            0 :                                       res_op1 = captures[1];
   17727            0 :                                       tree res_op2;
   17728            0 :                                       res_op2 = captures[2];
   17729            0 :                                       tree _r;
   17730            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17731            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17732            0 :                                       return _r;
   17733              :                                     }
   17734            0 : next_after_fail1698:;
   17735              :                                   }
   17736              :                               }
   17737            0 :                               {
   17738            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17739            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17740            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17741              : )
   17742              :                                   {
   17743            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1699;
   17744            0 :                                     {
   17745            0 :                                       tree res_op0;
   17746            0 :                                       {
   17747            0 :                                         tree _o1[2], _r1;
   17748            0 :                                         _o1[0] = captures[0];
   17749            0 :                                         _o1[1] = captures[3];
   17750            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17751            0 :                                         res_op0 = _r1;
   17752              :                                       }
   17753            0 :                                       tree res_op1;
   17754            0 :                                       res_op1 = captures[1];
   17755            0 :                                       tree res_op2;
   17756            0 :                                       res_op2 = captures[2];
   17757            0 :                                       tree _r;
   17758            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17759            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17760            0 :                                       return _r;
   17761              :                                     }
   17762            0 : next_after_fail1699:;
   17763              :                                   }
   17764              :                               }
   17765            0 :                               {
   17766            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17767            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17768            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17769              : )
   17770              :                                   {
   17771            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1700;
   17772            0 :                                     {
   17773            0 :                                       tree res_op0;
   17774            0 :                                       {
   17775            0 :                                         tree _o1[2], _r1;
   17776            0 :                                         _o1[0] = captures[0];
   17777            0 :                                         _o1[1] = captures[3];
   17778            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17779            0 :                                         res_op0 = _r1;
   17780              :                                       }
   17781            0 :                                       tree res_op1;
   17782            0 :                                       res_op1 = captures[1];
   17783            0 :                                       tree res_op2;
   17784            0 :                                       res_op2 = captures[2];
   17785            0 :                                       tree _r;
   17786            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17787            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17788            0 :                                       return _r;
   17789              :                                     }
   17790            0 : next_after_fail1700:;
   17791              :                                   }
   17792              :                               }
   17793            0 :                               {
   17794            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17795            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17796            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17797              : )
   17798              :                                   {
   17799            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1701;
   17800            0 :                                     {
   17801            0 :                                       tree res_op0;
   17802            0 :                                       {
   17803            0 :                                         tree _o1[2], _r1;
   17804            0 :                                         _o1[0] = captures[0];
   17805            0 :                                         _o1[1] = captures[3];
   17806            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17807            0 :                                         res_op0 = _r1;
   17808              :                                       }
   17809            0 :                                       tree res_op1;
   17810            0 :                                       res_op1 = captures[1];
   17811            0 :                                       tree res_op2;
   17812            0 :                                       res_op2 = captures[2];
   17813            0 :                                       tree _r;
   17814            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17815            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17816            0 :                                       return _r;
   17817              :                                     }
   17818            0 : next_after_fail1701:;
   17819              :                                   }
   17820              :                               }
   17821            0 :                               {
   17822            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17823            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17824            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17825              : )
   17826              :                                   {
   17827            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1702;
   17828            0 :                                     {
   17829            0 :                                       tree res_op0;
   17830            0 :                                       {
   17831            0 :                                         tree _o1[2], _r1;
   17832            0 :                                         _o1[0] = captures[0];
   17833            0 :                                         _o1[1] = captures[3];
   17834            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17835            0 :                                         res_op0 = _r1;
   17836              :                                       }
   17837            0 :                                       tree res_op1;
   17838            0 :                                       res_op1 = captures[1];
   17839            0 :                                       tree res_op2;
   17840            0 :                                       res_op2 = captures[2];
   17841            0 :                                       tree _r;
   17842            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17843            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17844            0 :                                       return _r;
   17845              :                                     }
   17846            0 : next_after_fail1702:;
   17847              :                                   }
   17848              :                               }
   17849            0 :                               {
   17850            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17851            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17852            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17853              : )
   17854              :                                   {
   17855            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1703;
   17856            0 :                                     {
   17857            0 :                                       tree res_op0;
   17858            0 :                                       {
   17859            0 :                                         tree _o1[2], _r1;
   17860            0 :                                         _o1[0] = captures[0];
   17861            0 :                                         _o1[1] = captures[3];
   17862            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17863            0 :                                         res_op0 = _r1;
   17864              :                                       }
   17865            0 :                                       tree res_op1;
   17866            0 :                                       res_op1 = captures[1];
   17867            0 :                                       tree res_op2;
   17868            0 :                                       res_op2 = captures[2];
   17869            0 :                                       tree _r;
   17870            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17871            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17872            0 :                                       return _r;
   17873              :                                     }
   17874            0 : next_after_fail1703:;
   17875              :                                   }
   17876              :                               }
   17877            0 :                               {
   17878            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17879            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17880            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17881              : )
   17882              :                                   {
   17883            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1704;
   17884            0 :                                     {
   17885            0 :                                       tree res_op0;
   17886            0 :                                       {
   17887            0 :                                         tree _o1[2], _r1;
   17888            0 :                                         _o1[0] = captures[0];
   17889            0 :                                         _o1[1] = captures[3];
   17890            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17891            0 :                                         res_op0 = _r1;
   17892              :                                       }
   17893            0 :                                       tree res_op1;
   17894            0 :                                       res_op1 = captures[1];
   17895            0 :                                       tree res_op2;
   17896            0 :                                       res_op2 = captures[2];
   17897            0 :                                       tree _r;
   17898            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17899            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17900            0 :                                       return _r;
   17901              :                                     }
   17902            0 : next_after_fail1704:;
   17903              :                                   }
   17904              :                               }
   17905            0 :                               {
   17906            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17907            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17908            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17909              : )
   17910              :                                   {
   17911            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1705;
   17912            0 :                                     {
   17913            0 :                                       tree res_op0;
   17914            0 :                                       {
   17915            0 :                                         tree _o1[2], _r1;
   17916            0 :                                         _o1[0] = captures[0];
   17917            0 :                                         _o1[1] = captures[3];
   17918            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17919            0 :                                         res_op0 = _r1;
   17920              :                                       }
   17921            0 :                                       tree res_op1;
   17922            0 :                                       res_op1 = captures[1];
   17923            0 :                                       tree res_op2;
   17924            0 :                                       res_op2 = captures[2];
   17925            0 :                                       tree _r;
   17926            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17927            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17928            0 :                                       return _r;
   17929              :                                     }
   17930            0 : next_after_fail1705:;
   17931              :                                   }
   17932              :                               }
   17933            0 :                               {
   17934            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17935            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17936            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17937              : )
   17938              :                                   {
   17939            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1706;
   17940            0 :                                     {
   17941            0 :                                       tree res_op0;
   17942            0 :                                       {
   17943            0 :                                         tree _o1[2], _r1;
   17944            0 :                                         _o1[0] = captures[0];
   17945            0 :                                         _o1[1] = captures[3];
   17946            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17947            0 :                                         res_op0 = _r1;
   17948              :                                       }
   17949            0 :                                       tree res_op1;
   17950            0 :                                       res_op1 = captures[1];
   17951            0 :                                       tree res_op2;
   17952            0 :                                       res_op2 = captures[2];
   17953            0 :                                       tree _r;
   17954            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17955            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17956            0 :                                       return _r;
   17957              :                                     }
   17958            0 : next_after_fail1706:;
   17959              :                                   }
   17960              :                               }
   17961            0 :                               {
   17962            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17963            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17964            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17965              : )
   17966              :                                   {
   17967            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1707;
   17968            0 :                                     {
   17969            0 :                                       tree res_op0;
   17970            0 :                                       {
   17971            0 :                                         tree _o1[2], _r1;
   17972            0 :                                         _o1[0] = captures[0];
   17973            0 :                                         _o1[1] = captures[3];
   17974            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17975            0 :                                         res_op0 = _r1;
   17976              :                                       }
   17977            0 :                                       tree res_op1;
   17978            0 :                                       res_op1 = captures[1];
   17979            0 :                                       tree res_op2;
   17980            0 :                                       res_op2 = captures[2];
   17981            0 :                                       tree _r;
   17982            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17983            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   17984            0 :                                       return _r;
   17985              :                                     }
   17986            0 : next_after_fail1707:;
   17987              :                                   }
   17988              :                               }
   17989            0 :                               {
   17990            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17991            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17992            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17993              : )
   17994              :                                   {
   17995            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1708;
   17996            0 :                                     {
   17997            0 :                                       tree res_op0;
   17998            0 :                                       {
   17999            0 :                                         tree _o1[2], _r1;
   18000            0 :                                         _o1[0] = captures[0];
   18001            0 :                                         _o1[1] = captures[3];
   18002            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18003            0 :                                         res_op0 = _r1;
   18004              :                                       }
   18005            0 :                                       tree res_op1;
   18006            0 :                                       res_op1 = captures[1];
   18007            0 :                                       tree res_op2;
   18008            0 :                                       res_op2 = captures[2];
   18009            0 :                                       tree _r;
   18010            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18011            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   18012            0 :                                       return _r;
   18013              :                                     }
   18014            0 : next_after_fail1708:;
   18015              :                                   }
   18016              :                               }
   18017            0 :                               {
   18018            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18019            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18020            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18021              : )
   18022              :                                   {
   18023            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1709;
   18024            0 :                                     {
   18025            0 :                                       tree res_op0;
   18026            0 :                                       {
   18027            0 :                                         tree _o1[2], _r1;
   18028            0 :                                         _o1[0] = captures[0];
   18029            0 :                                         _o1[1] = captures[3];
   18030            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18031            0 :                                         res_op0 = _r1;
   18032              :                                       }
   18033            0 :                                       tree res_op1;
   18034            0 :                                       res_op1 = captures[1];
   18035            0 :                                       tree res_op2;
   18036            0 :                                       res_op2 = captures[2];
   18037            0 :                                       tree _r;
   18038            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18039            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   18040            0 :                                       return _r;
   18041              :                                     }
   18042            0 : next_after_fail1709:;
   18043              :                                   }
   18044              :                               }
   18045            0 :                               {
   18046            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18047            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18048            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18049              : )
   18050              :                                   {
   18051            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1710;
   18052            0 :                                     {
   18053            0 :                                       tree res_op0;
   18054            0 :                                       {
   18055            0 :                                         tree _o1[2], _r1;
   18056            0 :                                         _o1[0] = captures[0];
   18057            0 :                                         _o1[1] = captures[3];
   18058            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18059            0 :                                         res_op0 = _r1;
   18060              :                                       }
   18061            0 :                                       tree res_op1;
   18062            0 :                                       res_op1 = captures[1];
   18063            0 :                                       tree res_op2;
   18064            0 :                                       res_op2 = captures[2];
   18065            0 :                                       tree _r;
   18066            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18067            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   18068            0 :                                       return _r;
   18069              :                                     }
   18070            0 : next_after_fail1710:;
   18071              :                                   }
   18072              :                               }
   18073            0 :                               {
   18074            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18075            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18076            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18077              : )
   18078              :                                   {
   18079            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1711;
   18080            0 :                                     {
   18081            0 :                                       tree res_op0;
   18082            0 :                                       {
   18083            0 :                                         tree _o1[2], _r1;
   18084            0 :                                         _o1[0] = captures[0];
   18085            0 :                                         _o1[1] = captures[3];
   18086            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18087            0 :                                         res_op0 = _r1;
   18088              :                                       }
   18089            0 :                                       tree res_op1;
   18090            0 :                                       res_op1 = captures[1];
   18091            0 :                                       tree res_op2;
   18092            0 :                                       res_op2 = captures[2];
   18093            0 :                                       tree _r;
   18094            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18095            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   18096            0 :                                       return _r;
   18097              :                                     }
   18098            0 : next_after_fail1711:;
   18099              :                                   }
   18100              :                               }
   18101            0 :                               {
   18102            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18103            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18104            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18105              : )
   18106              :                                   {
   18107            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1712;
   18108            0 :                                     {
   18109            0 :                                       tree res_op0;
   18110            0 :                                       {
   18111            0 :                                         tree _o1[2], _r1;
   18112            0 :                                         _o1[0] = captures[0];
   18113            0 :                                         _o1[1] = captures[3];
   18114            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18115            0 :                                         res_op0 = _r1;
   18116              :                                       }
   18117            0 :                                       tree res_op1;
   18118            0 :                                       res_op1 = captures[1];
   18119            0 :                                       tree res_op2;
   18120            0 :                                       res_op2 = captures[2];
   18121            0 :                                       tree _r;
   18122            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18123            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   18124            0 :                                       return _r;
   18125              :                                     }
   18126            0 : next_after_fail1712:;
   18127              :                                   }
   18128              :                               }
   18129            0 :                               {
   18130            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18131            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18132            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18133              : )
   18134              :                                   {
   18135            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1713;
   18136            0 :                                     {
   18137            0 :                                       tree res_op0;
   18138            0 :                                       {
   18139            0 :                                         tree _o1[2], _r1;
   18140            0 :                                         _o1[0] = captures[0];
   18141            0 :                                         _o1[1] = captures[3];
   18142            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18143            0 :                                         res_op0 = _r1;
   18144              :                                       }
   18145            0 :                                       tree res_op1;
   18146            0 :                                       res_op1 = captures[1];
   18147            0 :                                       tree res_op2;
   18148            0 :                                       res_op2 = captures[2];
   18149            0 :                                       tree _r;
   18150            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18151            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   18152            0 :                                       return _r;
   18153              :                                     }
   18154            0 : next_after_fail1713:;
   18155              :                                   }
   18156              :                               }
   18157            0 :                               {
   18158            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18159            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18160            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18161              : )
   18162              :                                   {
   18163            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1714;
   18164            0 :                                     {
   18165            0 :                                       tree res_op0;
   18166            0 :                                       {
   18167            0 :                                         tree _o1[2], _r1;
   18168            0 :                                         _o1[0] = captures[0];
   18169            0 :                                         _o1[1] = captures[3];
   18170            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18171            0 :                                         res_op0 = _r1;
   18172              :                                       }
   18173            0 :                                       tree res_op1;
   18174            0 :                                       res_op1 = captures[1];
   18175            0 :                                       tree res_op2;
   18176            0 :                                       res_op2 = captures[2];
   18177            0 :                                       tree _r;
   18178            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18179            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   18180            0 :                                       return _r;
   18181              :                                     }
   18182            0 : next_after_fail1714:;
   18183              :                                   }
   18184              :                               }
   18185            0 :                               {
   18186            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18187            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18188            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18189              : )
   18190              :                                   {
   18191            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1715;
   18192            0 :                                     {
   18193            0 :                                       tree res_op0;
   18194            0 :                                       {
   18195            0 :                                         tree _o1[2], _r1;
   18196            0 :                                         _o1[0] = captures[0];
   18197            0 :                                         _o1[1] = captures[3];
   18198            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18199            0 :                                         res_op0 = _r1;
   18200              :                                       }
   18201            0 :                                       tree res_op1;
   18202            0 :                                       res_op1 = captures[1];
   18203            0 :                                       tree res_op2;
   18204            0 :                                       res_op2 = captures[2];
   18205            0 :                                       tree _r;
   18206            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18207            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   18208            0 :                                       return _r;
   18209              :                                     }
   18210            0 : next_after_fail1715:;
   18211              :                                   }
   18212              :                               }
   18213            0 :                               {
   18214            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18215            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18216            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18217              : )
   18218              :                                   {
   18219            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1716;
   18220            0 :                                     {
   18221            0 :                                       tree res_op0;
   18222            0 :                                       {
   18223            0 :                                         tree _o1[2], _r1;
   18224            0 :                                         _o1[0] = captures[0];
   18225            0 :                                         _o1[1] = captures[3];
   18226            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18227            0 :                                         res_op0 = _r1;
   18228              :                                       }
   18229            0 :                                       tree res_op1;
   18230            0 :                                       res_op1 = captures[1];
   18231            0 :                                       tree res_op2;
   18232            0 :                                       res_op2 = captures[2];
   18233            0 :                                       tree _r;
   18234            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18235            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   18236            0 :                                       return _r;
   18237              :                                     }
   18238            0 : next_after_fail1716:;
   18239              :                                   }
   18240              :                               }
   18241            0 :                               {
   18242            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18243            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18244            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18245              : )
   18246              :                                   {
   18247            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1717;
   18248            0 :                                     {
   18249            0 :                                       tree res_op0;
   18250            0 :                                       {
   18251            0 :                                         tree _o1[2], _r1;
   18252            0 :                                         _o1[0] = captures[0];
   18253            0 :                                         _o1[1] = captures[3];
   18254            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18255            0 :                                         res_op0 = _r1;
   18256              :                                       }
   18257            0 :                                       tree res_op1;
   18258            0 :                                       res_op1 = captures[1];
   18259            0 :                                       tree res_op2;
   18260            0 :                                       res_op2 = captures[2];
   18261            0 :                                       tree _r;
   18262            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18263            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   18264            0 :                                       return _r;
   18265              :                                     }
   18266            0 : next_after_fail1717:;
   18267              :                                   }
   18268              :                               }
   18269            0 :                               {
   18270            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18271            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18272            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18273              : )
   18274              :                                   {
   18275            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1718;
   18276            0 :                                     {
   18277            0 :                                       tree res_op0;
   18278            0 :                                       {
   18279            0 :                                         tree _o1[2], _r1;
   18280            0 :                                         _o1[0] = captures[0];
   18281            0 :                                         _o1[1] = captures[3];
   18282            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18283            0 :                                         res_op0 = _r1;
   18284              :                                       }
   18285            0 :                                       tree res_op1;
   18286            0 :                                       res_op1 = captures[1];
   18287            0 :                                       tree res_op2;
   18288            0 :                                       res_op2 = captures[2];
   18289            0 :                                       tree _r;
   18290            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18291            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   18292            0 :                                       return _r;
   18293              :                                     }
   18294            0 : next_after_fail1718:;
   18295              :                                   }
   18296              :                               }
   18297            0 :                               {
   18298            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18299            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18300            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18301              : )
   18302              :                                   {
   18303            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1719;
   18304            0 :                                     {
   18305            0 :                                       tree res_op0;
   18306            0 :                                       {
   18307            0 :                                         tree _o1[2], _r1;
   18308            0 :                                         _o1[0] = captures[0];
   18309            0 :                                         _o1[1] = captures[3];
   18310            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18311            0 :                                         res_op0 = _r1;
   18312              :                                       }
   18313            0 :                                       tree res_op1;
   18314            0 :                                       res_op1 = captures[1];
   18315            0 :                                       tree res_op2;
   18316            0 :                                       res_op2 = captures[2];
   18317            0 :                                       tree _r;
   18318            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18319            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   18320            0 :                                       return _r;
   18321              :                                     }
   18322            0 : next_after_fail1719:;
   18323              :                                   }
   18324              :                               }
   18325            0 :                               {
   18326            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18327            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18328            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18329              : )
   18330              :                                   {
   18331            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1720;
   18332            0 :                                     {
   18333            0 :                                       tree res_op0;
   18334            0 :                                       {
   18335            0 :                                         tree _o1[2], _r1;
   18336            0 :                                         _o1[0] = captures[0];
   18337            0 :                                         _o1[1] = captures[3];
   18338            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18339            0 :                                         res_op0 = _r1;
   18340              :                                       }
   18341            0 :                                       tree res_op1;
   18342            0 :                                       res_op1 = captures[1];
   18343            0 :                                       tree res_op2;
   18344            0 :                                       res_op2 = captures[2];
   18345            0 :                                       tree _r;
   18346            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18347            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   18348            0 :                                       return _r;
   18349              :                                     }
   18350            0 : next_after_fail1720:;
   18351              :                                   }
   18352              :                               }
   18353              :                             }
   18354              :                         }
   18355              :                       break;
   18356              :                     }
   18357              :                   default:;
   18358              :                   }
   18359              :               }
   18360              :           }
   18361           18 :         {
   18362           18 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   18363           18 :           if (VECTOR_TYPE_P (type)
   18364           18 :  && (TREE_CODE_CLASS (BIT_AND_EXPR) != tcc_comparison
   18365              :  || types_match (type, TREE_TYPE (captures[2]))
   18366              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   18367              :  || (optimize_vectors_before_lowering_p ()
   18368              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   18369              : )
   18370              :             {
   18371           18 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1721;
   18372           18 :               {
   18373           18 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1721;
   18374           14 :                 tree res_op0;
   18375           14 :                 res_op0 = captures[1];
   18376           14 :                 tree res_op1;
   18377           14 :                 {
   18378           14 :                   tree _o1[2], _r1;
   18379           14 :                   _o1[0] = captures[2];
   18380           14 :                   _o1[1] = unshare_expr (captures[4]);
   18381           14 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   18382           14 :                   if (EXPR_P (_r1))
   18383            0 :                     goto next_after_fail1721;
   18384           14 :                   res_op1 = _r1;
   18385              :                 }
   18386           14 :                 tree res_op2;
   18387           14 :                 {
   18388           14 :                   tree _o1[2], _r1;
   18389           14 :                   _o1[0] = captures[3];
   18390           14 :                   _o1[1] = captures[4];
   18391           14 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   18392           14 :                   if (EXPR_P (_r1))
   18393            0 :                     goto next_after_fail1721;
   18394           14 :                   res_op2 = _r1;
   18395              :                 }
   18396           14 :                 tree _r;
   18397           14 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18398           14 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
   18399           14 :                 return _r;
   18400              :               }
   18401            4 : next_after_fail1721:;
   18402              :             }
   18403              :         }
   18404            4 :         break;
   18405              :       }
   18406       200552 :     case CALL_EXPR:
   18407       200552 :       switch (get_call_combined_fn (_p0))
   18408              :         {
   18409            0 :         case CFN_BUILT_IN_BSWAP128:
   18410            0 :           if (call_expr_nargs (_p0) == 1)
   18411              :     {
   18412            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18413            0 :               switch (TREE_CODE (_p1))
   18414              :                 {
   18415            0 :                 case INTEGER_CST:
   18416            0 :                   {
   18417            0 :                     {
   18418            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   18419            0 :                       tree res = generic_simplify_491 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   18420            0 :                       if (res) return res;
   18421              :                     }
   18422            0 :                     break;
   18423              :                   }
   18424              :                 default:;
   18425              :                 }
   18426              :             }
   18427              :           break;
   18428            0 :         case CFN_BUILT_IN_BSWAP16:
   18429            0 :           if (call_expr_nargs (_p0) == 1)
   18430              :     {
   18431            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18432            0 :               switch (TREE_CODE (_p1))
   18433              :                 {
   18434            0 :                 case INTEGER_CST:
   18435            0 :                   {
   18436            0 :                     {
   18437            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   18438            0 :                       tree res = generic_simplify_491 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   18439            0 :                       if (res) return res;
   18440              :                     }
   18441            0 :                     break;
   18442              :                   }
   18443              :                 default:;
   18444              :                 }
   18445              :             }
   18446              :           break;
   18447           10 :         case CFN_BUILT_IN_BSWAP32:
   18448           10 :           if (call_expr_nargs (_p0) == 1)
   18449              :     {
   18450           10 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18451           10 :               switch (TREE_CODE (_p1))
   18452              :                 {
   18453            9 :                 case INTEGER_CST:
   18454            9 :                   {
   18455            9 :                     {
   18456            9 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   18457            9 :                       tree res = generic_simplify_491 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   18458            9 :                       if (res) return res;
   18459              :                     }
   18460            1 :                     break;
   18461              :                   }
   18462              :                 default:;
   18463              :                 }
   18464              :             }
   18465              :           break;
   18466            8 :         case CFN_BUILT_IN_BSWAP64:
   18467            8 :           if (call_expr_nargs (_p0) == 1)
   18468              :     {
   18469            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18470            8 :               switch (TREE_CODE (_p1))
   18471              :                 {
   18472            7 :                 case INTEGER_CST:
   18473            7 :                   {
   18474            7 :                     {
   18475            7 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   18476            7 :                       tree res = generic_simplify_491 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   18477            7 :                       if (res) return res;
   18478              :                     }
   18479            1 :                     break;
   18480              :                   }
   18481              :                 default:;
   18482              :                 }
   18483              :             }
   18484              :           break;
   18485              :         default:;
   18486              :         }
   18487              :       break;
   18488      6397425 :     default:;
   18489              :     }
   18490      6397425 :   switch (TREE_CODE (_p1))
   18491              :     {
   18492            1 :     case VEC_COND_EXPR:
   18493            1 :       {
   18494            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
   18495            1 :         tree _q31 = TREE_OPERAND (_p1, 1);
   18496            1 :         tree _q32 = TREE_OPERAND (_p1, 2);
   18497            1 :         {
   18498            1 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   18499            1 :           if (VECTOR_TYPE_P (type)
   18500            1 :  && (TREE_CODE_CLASS (BIT_AND_EXPR) != tcc_comparison
   18501              :  || types_match (type, TREE_TYPE (captures[3]))
   18502              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   18503              :  || (optimize_vectors_before_lowering_p ()
   18504              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   18505              : )
   18506              :             {
   18507            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1722;
   18508            1 :               {
   18509            1 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1722;
   18510            0 :                 tree res_op0;
   18511            0 :                 res_op0 = captures[2];
   18512            0 :                 tree res_op1;
   18513            0 :                 {
   18514            0 :                   tree _o1[2], _r1;
   18515            0 :                   _o1[0] = unshare_expr (captures[0]);
   18516            0 :                   _o1[1] = captures[3];
   18517            0 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   18518            0 :                   if (EXPR_P (_r1))
   18519            0 :                     goto next_after_fail1722;
   18520            0 :                   res_op1 = _r1;
   18521              :                 }
   18522            0 :                 tree res_op2;
   18523            0 :                 {
   18524            0 :                   tree _o1[2], _r1;
   18525            0 :                   _o1[0] = captures[0];
   18526            0 :                   _o1[1] = captures[4];
   18527            0 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   18528            0 :                   if (EXPR_P (_r1))
   18529            0 :                     goto next_after_fail1722;
   18530            0 :                   res_op2 = _r1;
   18531              :                 }
   18532            0 :                 tree _r;
   18533            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18534            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
   18535            0 :                 return _r;
   18536              :               }
   18537            1 : next_after_fail1722:;
   18538              :             }
   18539              :         }
   18540            1 :         break;
   18541              :       }
   18542      6397425 :     default:;
   18543              :     }
   18544      6397425 :   switch (TREE_CODE (_p0))
   18545              :     {
   18546            0 :     case ORDERED_EXPR:
   18547            0 :       {
   18548            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18549            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18550            0 :         switch (TREE_CODE (_p1))
   18551              :           {
   18552            0 :           case NE_EXPR:
   18553            0 :             {
   18554            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18555            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18556            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18557              :                 {
   18558            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18559              :                     {
   18560            0 :                       {
   18561            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   18562            0 :                         tree res = generic_simplify_492 (loc, type, _p0, _p1, captures);
   18563            0 :                         if (res) return res;
   18564              :                       }
   18565              :                     }
   18566              :                 }
   18567              :               break;
   18568              :             }
   18569            0 :           default:;
   18570              :           }
   18571            0 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
   18572              :           {
   18573            0 :             switch (TREE_CODE (_p1))
   18574              :               {
   18575            0 :               case ORDERED_EXPR:
   18576            0 :                 {
   18577            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   18578            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   18579            0 :                   if ((_q51 == _q50 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q50, 0) && types_match (_q51, _q50)))
   18580              :                     {
   18581            0 :                       {
   18582            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   18583            0 :                         if (types_match (captures[0], captures[1])
   18584              : )
   18585              :                           {
   18586            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1723;
   18587            0 :                             {
   18588            0 :                               tree res_op0;
   18589            0 :                               res_op0 = captures[0];
   18590            0 :                               tree res_op1;
   18591            0 :                               res_op1 = captures[1];
   18592            0 :                               tree _r;
   18593            0 :                               _r = fold_build2_loc (loc, ORDERED_EXPR, type, res_op0, res_op1);
   18594            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1020, __FILE__, __LINE__, true);
   18595            0 :                               return _r;
   18596              :                             }
   18597            0 : next_after_fail1723:;
   18598              :                           }
   18599              :                       }
   18600              :                     }
   18601            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18602              :                     {
   18603            0 :                       {
   18604            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q51 };
   18605            0 :                         tree res = generic_simplify_493 (loc, type, _p0, _p1, captures);
   18606            0 :                         if (res) return res;
   18607              :                       }
   18608              :                     }
   18609            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18610              :                     {
   18611            0 :                       {
   18612            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
   18613            0 :                         tree res = generic_simplify_493 (loc, type, _p0, _p1, captures);
   18614            0 :                         if (res) return res;
   18615              :                       }
   18616              :                     }
   18617              :                   break;
   18618              :                 }
   18619              :               default:;
   18620              :               }
   18621              :           }
   18622            0 :         switch (TREE_CODE (_p1))
   18623              :           {
   18624            0 :           case ORDERED_EXPR:
   18625            0 :             {
   18626            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18627            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18628            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18629              :                 {
   18630            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18631              :                     {
   18632            0 :                       {
   18633            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   18634            0 :                         tree res = generic_simplify_494 (loc, type, _p0, _p1, captures);
   18635            0 :                         if (res) return res;
   18636              :                       }
   18637              :                     }
   18638              :                 }
   18639            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18640              :                 {
   18641            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18642              :                     {
   18643            0 :                       {
   18644            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q21, _p0, _q20 };
   18645            0 :                         tree res = generic_simplify_494 (loc, type, _p0, _p1, captures);
   18646            0 :                         if (res) return res;
   18647              :                       }
   18648              :                     }
   18649              :                 }
   18650              :               break;
   18651              :             }
   18652              :           default:;
   18653              :           }
   18654              :         break;
   18655              :       }
   18656          136 :     case NE_EXPR:
   18657          136 :       {
   18658          136 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18659          136 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18660          136 :         switch (TREE_CODE (_p1))
   18661              :           {
   18662            0 :           case ORDERED_EXPR:
   18663            0 :             {
   18664            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18665            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18666            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18667              :                 {
   18668            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18669              :                     {
   18670            0 :                       {
   18671            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   18672            0 :                         tree res = generic_simplify_492 (loc, type, _p0, _p1, captures);
   18673            0 :                         if (res) return res;
   18674              :                       }
   18675              :                     }
   18676              :                 }
   18677              :               break;
   18678              :             }
   18679              :           default:;
   18680              :           }
   18681              :         break;
   18682              :       }
   18683       492164 :     case MINUS_EXPR:
   18684       492164 :       {
   18685       492164 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18686       492164 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18687       492164 :         switch (TREE_CODE (_q20))
   18688              :           {
   18689       426856 :           CASE_CONVERT:
   18690       426856 :             {
   18691       426856 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18692       426856 :               switch (TREE_CODE (_q21))
   18693              :                 {
   18694       422317 :                 CASE_CONVERT:
   18695       422317 :                   {
   18696       422317 :                     tree _q50 = TREE_OPERAND (_q21, 0);
   18697       422317 :                     switch (TREE_CODE (_p1))
   18698              :                       {
   18699       422293 :                       case INTEGER_CST:
   18700       422293 :                         {
   18701       422293 :                           {
   18702       422293 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1 };
   18703       422293 :                             tree res = generic_simplify_495 (loc, type, _p0, _p1, captures, MINUS_EXPR);
   18704       422293 :                             if (res) return res;
   18705              :                           }
   18706       422283 :                           break;
   18707              :                         }
   18708              :                       default:;
   18709              :                       }
   18710              :                     break;
   18711              :                   }
   18712              :                 default:;
   18713              :                 }
   18714              :               break;
   18715              :             }
   18716              :           default:;
   18717              :           }
   18718              :         break;
   18719              :       }
   18720       175055 :     case PLUS_EXPR:
   18721       175055 :       {
   18722       175055 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18723       175055 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18724       175055 :         switch (TREE_CODE (_q20))
   18725              :           {
   18726        47915 :           CASE_CONVERT:
   18727        47915 :             {
   18728        47915 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18729        47915 :               switch (TREE_CODE (_q21))
   18730              :                 {
   18731          119 :                 CASE_CONVERT:
   18732          119 :                   {
   18733          119 :                     tree _q50 = TREE_OPERAND (_q21, 0);
   18734          119 :                     switch (TREE_CODE (_p1))
   18735              :                       {
   18736           60 :                       case INTEGER_CST:
   18737           60 :                         {
   18738           60 :                           {
   18739           60 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1 };
   18740           60 :                             tree res = generic_simplify_495 (loc, type, _p0, _p1, captures, PLUS_EXPR);
   18741           60 :                             if (res) return res;
   18742              :                           }
   18743           45 :                           break;
   18744              :                         }
   18745              :                       default:;
   18746              :                       }
   18747              :                     break;
   18748              :                   }
   18749              :                 default:;
   18750              :                 }
   18751              :               break;
   18752              :             }
   18753              :           default:;
   18754              :           }
   18755              :         break;
   18756              :       }
   18757           80 :     case LT_EXPR:
   18758           80 :       {
   18759           80 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18760           80 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18761           80 :         switch (TREE_CODE (_p1))
   18762              :           {
   18763            8 :           case LT_EXPR:
   18764            8 :             {
   18765            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18766            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18767            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18768              :                 {
   18769            0 :                   {
   18770            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   18771            0 :                     tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR);
   18772            0 :                     if (res) return res;
   18773              :                   }
   18774              :                 }
   18775            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18776              :                 {
   18777            0 :                   {
   18778            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   18779            0 :                     tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR);
   18780            0 :                     if (res) return res;
   18781              :                   }
   18782              :                 }
   18783              :               break;
   18784              :             }
   18785            1 :           case GT_EXPR:
   18786            1 :             {
   18787            1 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18788            1 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18789            1 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18790              :                 {
   18791            0 :                   {
   18792            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   18793            0 :                     tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR);
   18794            0 :                     if (res) return res;
   18795              :                   }
   18796              :                 }
   18797            1 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18798              :                 {
   18799            0 :                   {
   18800            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   18801            0 :                     tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR);
   18802            0 :                     if (res) return res;
   18803              :                   }
   18804              :                 }
   18805              :               break;
   18806              :             }
   18807              :           default:;
   18808              :           }
   18809              :         break;
   18810              :       }
   18811           32 :     case LE_EXPR:
   18812           32 :       {
   18813           32 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18814           32 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18815           32 :         switch (TREE_CODE (_p1))
   18816              :           {
   18817            5 :           case LE_EXPR:
   18818            5 :             {
   18819            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18820            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18821            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18822              :                 {
   18823            0 :                   {
   18824            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   18825            0 :                     tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR);
   18826            0 :                     if (res) return res;
   18827              :                   }
   18828              :                 }
   18829            5 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18830              :                 {
   18831            4 :                   {
   18832            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   18833            4 :                     tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR);
   18834            4 :                     if (res) return res;
   18835              :                   }
   18836              :                 }
   18837              :               break;
   18838              :             }
   18839            0 :           case GE_EXPR:
   18840            0 :             {
   18841            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18842            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18843            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18844              :                 {
   18845            0 :                   {
   18846            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   18847            0 :                     tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR);
   18848            0 :                     if (res) return res;
   18849              :                   }
   18850              :                 }
   18851            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18852              :                 {
   18853            0 :                   {
   18854            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   18855            0 :                     tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR);
   18856            0 :                     if (res) return res;
   18857              :                   }
   18858              :                 }
   18859              :               break;
   18860              :             }
   18861              :           default:;
   18862              :           }
   18863              :         break;
   18864              :       }
   18865          348 :     case GT_EXPR:
   18866          348 :       {
   18867          348 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18868          348 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18869          348 :         switch (TREE_CODE (_p1))
   18870              :           {
   18871           85 :           case GT_EXPR:
   18872           85 :             {
   18873           85 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18874           85 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18875           85 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18876              :                 {
   18877            0 :                   {
   18878            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   18879            0 :                     tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR);
   18880            0 :                     if (res) return res;
   18881              :                   }
   18882              :                 }
   18883           85 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18884              :                 {
   18885           35 :                   {
   18886           35 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   18887           35 :                     tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR);
   18888           35 :                     if (res) return res;
   18889              :                   }
   18890              :                 }
   18891              :               break;
   18892              :             }
   18893           67 :           case LT_EXPR:
   18894           67 :             {
   18895           67 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18896           67 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18897           67 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18898              :                 {
   18899            0 :                   {
   18900            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   18901            0 :                     tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR);
   18902            0 :                     if (res) return res;
   18903              :                   }
   18904              :                 }
   18905           67 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18906              :                 {
   18907            0 :                   {
   18908            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   18909            0 :                     tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR);
   18910            0 :                     if (res) return res;
   18911              :                   }
   18912              :                 }
   18913              :               break;
   18914              :             }
   18915              :           default:;
   18916              :           }
   18917              :         break;
   18918              :       }
   18919           73 :     case GE_EXPR:
   18920           73 :       {
   18921           73 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18922           73 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18923           73 :         switch (TREE_CODE (_p1))
   18924              :           {
   18925           11 :           case GE_EXPR:
   18926           11 :             {
   18927           11 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18928           11 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18929           11 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18930              :                 {
   18931            7 :                   {
   18932            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   18933            7 :                     tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR);
   18934            7 :                     if (res) return res;
   18935              :                   }
   18936              :                 }
   18937           11 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18938              :                 {
   18939            0 :                   {
   18940            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   18941            0 :                     tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR);
   18942            0 :                     if (res) return res;
   18943              :                   }
   18944              :                 }
   18945              :               break;
   18946              :             }
   18947           17 :           case LE_EXPR:
   18948           17 :             {
   18949           17 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18950           17 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18951           17 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18952              :                 {
   18953            0 :                   {
   18954            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   18955            0 :                     tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR);
   18956            0 :                     if (res) return res;
   18957              :                   }
   18958              :                 }
   18959           17 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18960              :                 {
   18961            0 :                   {
   18962            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   18963            0 :                     tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR);
   18964            0 :                     if (res) return res;
   18965              :                   }
   18966              :                 }
   18967              :               break;
   18968              :             }
   18969              :           default:;
   18970              :           }
   18971              :         break;
   18972              :       }
   18973        47144 :     case NEGATE_EXPR:
   18974        47144 :       {
   18975        47144 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18976        47144 :         if (integer_onep (_p1))
   18977              :           {
   18978         1439 :             {
   18979         1439 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   18980         1439 :               if (!TYPE_OVERFLOW_SANITIZED (type)
   18981              : )
   18982              :                 {
   18983         1426 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1724;
   18984         1426 :                   {
   18985         1426 :                     tree res_op0;
   18986         1426 :                     res_op0 = captures[0];
   18987         1426 :                     tree res_op1;
   18988         1426 :                     res_op1 = captures[1];
   18989         1426 :                     tree _r;
   18990         1426 :                     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   18991         1426 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1021, __FILE__, __LINE__, true);
   18992         1426 :                     return _r;
   18993              :                   }
   18994            0 : next_after_fail1724:;
   18995              :                 }
   18996              :             }
   18997              :           }
   18998              :         break;
   18999              :       }
   19000            1 :     case VEC_PERM_EXPR:
   19001            1 :       {
   19002            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
   19003            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
   19004            1 :         tree _q22 = TREE_OPERAND (_p0, 2);
   19005            1 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
   19006              :           {
   19007            0 :             switch (TREE_CODE (_p1))
   19008              :               {
   19009            0 :               case VEC_PERM_EXPR:
   19010            0 :                 {
   19011            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
   19012            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
   19013            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
   19014            0 :                   if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
   19015              :                     {
   19016            0 :                       if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   19017              :                         {
   19018            0 :                           {
   19019            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
   19020            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
   19021              : )
   19022              :                               {
   19023            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1725;
   19024            0 :                                 {
   19025            0 :                                   tree res_op0;
   19026            0 :                                   {
   19027            0 :                                     tree _o1[2], _r1;
   19028            0 :                                     _o1[0] = captures[0];
   19029            0 :                                     _o1[1] = captures[2];
   19030            0 :                                     _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   19031            0 :                                     captures[3] = _r1;
   19032              :                                   }
   19033            0 :                                   res_op0 = unshare_expr (captures[3]);
   19034            0 :                                   tree res_op1;
   19035            0 :                                   res_op1 = captures[3];
   19036            0 :                                   tree res_op2;
   19037            0 :                                   res_op2 = captures[1];
   19038            0 :                                   tree _r;
   19039            0 :                                   _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
   19040            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   19041            0 :                                   return _r;
   19042              :                                 }
   19043            0 : next_after_fail1725:;
   19044              :                               }
   19045              :                           }
   19046              :                         }
   19047              :                     }
   19048              :                   break;
   19049              :                 }
   19050              :               default:;
   19051              :               }
   19052              :           }
   19053              :         break;
   19054              :       }
   19055       200538 :     case CALL_EXPR:
   19056       200538 :       switch (get_call_combined_fn (_p0))
   19057              :         {
   19058            1 :         case CFN_BUILT_IN_POPCOUNT:
   19059            1 :           if (call_expr_nargs (_p0) == 1)
   19060              :     {
   19061            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   19062            1 :               if (integer_onep (_p1))
   19063              :                 {
   19064            1 :                   {
   19065            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   19066            1 :                     tree res = generic_simplify_496 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT, CFN_BUILT_IN_PARITY);
   19067            1 :                     if (res) return res;
   19068              :                   }
   19069              :                 }
   19070              :             }
   19071              :           break;
   19072            1 :         case CFN_BUILT_IN_POPCOUNTLL:
   19073            1 :           if (call_expr_nargs (_p0) == 1)
   19074              :     {
   19075            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   19076            1 :               if (integer_onep (_p1))
   19077              :                 {
   19078            1 :                   {
   19079            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   19080            1 :                     tree res = generic_simplify_496 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL, CFN_BUILT_IN_PARITYLL);
   19081            1 :                     if (res) return res;
   19082              :                   }
   19083              :                 }
   19084              :             }
   19085              :           break;
   19086            0 :         case CFN_POPCOUNT:
   19087            0 :           if (call_expr_nargs (_p0) == 1)
   19088              :     {
   19089            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   19090            0 :               if (integer_onep (_p1))
   19091              :                 {
   19092            0 :                   {
   19093            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   19094            0 :                     tree res = generic_simplify_496 (loc, type, _p0, _p1, captures, CFN_POPCOUNT, CFN_PARITY);
   19095            0 :                     if (res) return res;
   19096              :                   }
   19097              :                 }
   19098              :             }
   19099              :           break;
   19100            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
   19101            0 :           if (call_expr_nargs (_p0) == 1)
   19102              :     {
   19103            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   19104            0 :               if (integer_onep (_p1))
   19105              :                 {
   19106            0 :                   {
   19107            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   19108            0 :                     tree res = generic_simplify_496 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX, CFN_BUILT_IN_PARITYIMAX);
   19109            0 :                     if (res) return res;
   19110              :                   }
   19111              :                 }
   19112              :             }
   19113              :           break;
   19114            1 :         case CFN_BUILT_IN_POPCOUNTL:
   19115            1 :           if (call_expr_nargs (_p0) == 1)
   19116              :     {
   19117            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   19118            1 :               if (integer_onep (_p1))
   19119              :                 {
   19120            1 :                   {
   19121            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   19122            1 :                     tree res = generic_simplify_496 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL, CFN_BUILT_IN_PARITYL);
   19123            1 :                     if (res) return res;
   19124              :                   }
   19125              :                 }
   19126              :             }
   19127              :           break;
   19128              :         default:;
   19129              :         }
   19130              :       break;
   19131              :     default:;
   19132              :     }
   19133              :   return NULL_TREE;
   19134              : }
   19135              : #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.